-1) {\n var c = this.connectionList.selection[1];\n disconnect(c.sourceObj, c.sourceAttrName, c.targetObj, c.targetMethodName);\n this.updateLists();\n this.displayInitialScript();\n } \n}","funcProperties":{"__isSmartRef__":true,"id":1187},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"1186":{"this":{"__isSmartRef__":true,"id":281}},"1187":{},"1188":{"varMapping":{"__isSmartRef__":true,"id":1189},"source":"function updateLists() {\n this.scriptList.setList(this.sortedScriptNamesOfObj(this.target));\n var scriptListItems = this.scriptList.getList();\n scriptListItems.unshift(\"-- ALL --\");\n this.scriptList.setList(scriptListItems);\n\n this.connectionList.setList(this.sortedConnectionNamesOfObj(this.target));\n var connectionListItems = this.connectionList.getList();\n connectionListItems.unshift(\"-- ALL --\");\n this.connectionList.setList(connectionListItems);\n}","funcProperties":{"__isSmartRef__":true,"id":1190},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"1189":{"this":{"__isSmartRef__":true,"id":281}},"1190":{},"1191":{"varMapping":{"__isSmartRef__":true,"id":1192},"source":"function displayInitialScript() {\n if (this.scriptList.getList().size() > 1) {\n this.scriptList.selectAt(0);\n } else if (this.connectionList.getList().size() > 1) {\n this.connectionList.selectAt(0);\n } else {\n this.scriptList.selectAt(0);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1193},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"1192":{"this":{"__isSmartRef__":true,"id":281}},"1193":{},"1194":{"varMapping":{"__isSmartRef__":true,"id":1195},"source":"function reset() {\n this.target = null;\n this.scriptPane.doitContext = null;\n this.scriptList.setList();\n this.connectionList.setList();\n this.scriptPane.setTextString(\"\");\n this.morphSelector.reset();\n}","funcProperties":{"__isSmartRef__":true,"id":1196},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"1195":{"this":{"__isSmartRef__":true,"id":281}},"1196":{},"1197":{"varMapping":{"__isSmartRef__":true,"id":1198},"source":"function selectChangedContent(source) {\n\n var addScriptRegex = /this\\.addScript\\s*\\(\\s*function\\s*([^\\(]*)/g;\n var addScriptMatches = [];\n var addScriptMatch = addScriptRegex.exec(source);\n while (addScriptMatch) {\n addScriptMatches.push(addScriptMatch[1]);\n addScriptMatch = addScriptRegex.exec(source);\n }\n \n // if scripts were added, select either a specific one or all\n if (addScriptMatches.length > 0) { \n if (addScriptMatches.length === 1) {\n var index = this.scriptList.getList().indexOf(addScriptMatches[0]);\n if (index > -1) { \n return this.scriptList.selectAt(index);\n }\n }\n return this.scriptList.selectAt(0);\n }\n\n var connectionRegex = \n /connect\\(\\s*([^,]*)\\s*,\\s*\"([^,]*)\"\\s*,\\s*([^,]*)\\s*,\\s*\"([^,]*)\"/g;\n var connectionMatches = [];\n var connectionMatch = connectionRegex.exec(source);\n while (connectionMatch) {\n connectionMatches.push(connectionMatch);\n connectionMatch = connectionRegex.exec(source);\n }\n\n // if connections were made, select either a specific one or all\n if (connectionMatches.length > 0) {\n if (connectionMatches.length === 1) {\n var match = connectionMatches[0];\n for (var i=0; i -1) {\n var c = selection[1];\n disconnect(c.sourceObj, c.sourceAttrName, c.targetObj, c.targetMethodName);\n editor.updateLists();\n editor.displayInitialScript();\n } \n }\n\n var message = 'Disconnect \"' + selection[0] +'\" connection?';\n var callback = disconnectConnection;\n\n var dialog = new lively.morphic.ConfirmDialog(message, callback);\n\n return this.world().openDialog(dialog);\n}","funcProperties":{"__isSmartRef__":true,"id":1397},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"1396":{"this":{"__isSmartRef__":true,"id":1343}},"1397":{"timestamp":{"__isSmartRef__":true,"id":1398},"user":"lauritz","categories":[]},"1398":{"isSerializedDate":true,"string":"Fri Nov 11 2011 01:46:54 GMT+0100 (CET)"},"1399":{"submorphs":[{"__isSmartRef__":true,"id":1400}],"scripts":[],"id":"AD65A811-30D7-4084-9A9B-81FB89A000AD","shape":{"__isSmartRef__":true,"id":1415},"grabbingEnabled":false,"droppingEnabled":false,"showsMorphMenu":true,"halosEnabled":true,"registeredForMouseEvents":true,"_Position":{"__isSmartRef__":true,"id":1431},"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":1418},"lighterFill":{"__isSmartRef__":true,"id":1432},"label":{"__isSmartRef__":true,"id":1400},"attributeConnections":[{"__isSmartRef__":true,"id":1441}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"showsHalos":false,"__SourceModuleName__":"Global.lively.morphic.Widgets","padding":{"__isSmartRef__":true,"id":1443},"name":"ObjectEditorRemoveScriptButton","partsBinMetaInfo":{"__isSmartRef__":true,"id":1444},"renderContextTable":{"__isSmartRef__":true,"id":1445},"priorExtent":{"__isSmartRef__":true,"id":1446},"owner":{"__isSmartRef__":true,"id":263},"eventHandler":{"__isSmartRef__":true,"id":1447},"isCopyMorphRef":true,"morphRefId":24,"draggingEnabled":false,"objectEditorPane":{"__isSmartRef__":true,"id":263},"distanceToDragEvent":{"__isSmartRef__":true,"id":1448},"derivationIds":[217,"FDC10087-12CF-4570-9211-8309CB6A9AA3","E18FC530-4B1F-4F08-8DA6-3866A3519E56","04A2AAC3-6A9E-40BB-9408-EBB2567EE63B","8C1A42CE-840C-4AAE-BD79-C93A445B9EBF","61FC11FA-B87E-4EFE-BD15-564D3178B68B","ED34F9B5-9E00-41B3-8313-D9C3D6B3B231","A7481F4B-D444-4B4F-BDA2-4F9F03AEC24D","7DDF7175-34FC-4521-A7C3-580A8BE63351","DEA39C05-FAD7-4882-AB3D-0EE12C3408F9","99186A50-1411-4B6F-B1CB-FF0742C20D7D","10F3E467-6BB8-4D07-BD17-8C50593FD6B8"],"_ClipMode":"visible","_Rotation":0,"_Scale":1,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1449},"__LivelyClassName__":"lively.morphic.Button"},"1400":{"submorphs":[],"scripts":[],"id":"0FE06642-B735-420F-8387-55147A58C56B","shape":{"__isSmartRef__":true,"id":1401},"grabbingEnabled":false,"droppingEnabled":false,"showsMorphMenu":false,"halosEnabled":true,"fixedWidth":true,"_MaxTextWidth":21,"_MaxTextHeight":null,"fixedHeight":true,"allowsInput":false,"registeredForMouseEvents":true,"_Position":{"__isSmartRef__":true,"id":1407},"textColor":{"__isSmartRef__":true,"id":1404},"owner":{"__isSmartRef__":true,"id":1399},"eventsAreIgnored":true,"__SourceModuleName__":"Global.lively.morphic.TextCore","textChunks":[{"__isSmartRef__":true,"id":1408}],"padding":{"__isSmartRef__":true,"id":1410},"_Padding":{"__isSmartRef__":true,"id":1411},"prevScroll":[0,0],"priorExtent":{"__isSmartRef__":true,"id":1412},"_FontFamily":"Helvetica, Sans-Serif","renderContextTable":{"__isSmartRef__":true,"id":1413},"_ClipMode":"hidden","_WhiteSpaceHandling":"pre-wrap","_Align":"center","eventHandler":{"__isSmartRef__":true,"id":1414},"_HandStyle":"default","_PointerEvents":"none","attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"_MinTextWidth":21,"_MinTextHeight":null,"draggingEnabled":false,"derivationIds":[218,"852A7BD9-52EE-4708-A2D5-1BDECF33C958","7B4F173E-9726-472A-9B30-530D4AA92AD9","CBA217F6-2832-4213-9ABE-47753C1A4180","E6B97D1D-95D5-4644-9359-1D08D42A51F4","4391A57E-70C2-4628-9828-DD668CCE546E","F0C6C298-3B8B-42B2-B5E9-E5B82F607B01","DF0CAF75-4247-4797-B1A0-AD7444391E2A","B4C4F09B-F663-47A1-B85F-461D5452F5F8","FD966AB1-4685-4151-9A38-B1B21B0237EF","CA91FC2C-D7CC-4123-AFD2-108F8F0C2E97","88F1581A-7AEF-4646-B7F9-3890CDDB8494"],"_Scale":1,"__LivelyClassName__":"lively.morphic.Text"},"1401":{"borderWidth":0,"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":{"__isSmartRef__":true,"id":1402},"_Extent":{"__isSmartRef__":true,"id":1403},"_BorderColor":{"__isSmartRef__":true,"id":1404},"renderContextTable":{"__isSmartRef__":true,"id":1405},"_ClipMode":"hidden","_Padding":{"__isSmartRef__":true,"id":1406},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1402":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1403":{"x":25,"y":20,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"1404":{"r":0,"g":0,"b":0,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1405":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"1406":{"x":2,"y":2,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"1407":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1408":{"style":{"__isSmartRef__":true,"id":1409},"chunkOwner":{"__isSmartRef__":true,"id":1400},"storedString":"-","__SourceModuleName__":"Global.lively.morphic.TextCore","__LivelyClassName__":"lively.morphic.TextChunk"},"1409":{"__SourceModuleName__":"Global.lively.morphic.TextCore","textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis"},"1410":{"x":5,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"1411":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"1412":{"x":25,"y":20,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1413":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML","updateText":"updateTextHTML","setTextExtent":"setTextExtentHTML","setMaxTextWidth":"setMaxTextWidthHTML","setMaxTextHeight":"setMaxTextHeightHTML","setMinTextWidth":"setMinTextWidthHTML","setMinTextHeight":"setMinTextHeightHTML","getTextExtent":"getTextExtentHTML","getTextString":"getTextStringHTML","ignoreTextEvents":"ignoreTextEventsHTML","unignoreTextEvents":"unignoreTextEventsHTML","enableTextEvents":"enableTextEventsHTML","setFontFamily":"setFontFamilyHTML","setFontSize":"setFontSizeHTML","setTextColor":"setTextColorHTML","setFontWeight":"setFontWeightHTML","setFontStyle":"setFontStyleHTML","setTextDecoration":"setTextDecorationHTML","setPadding":"setPaddingHTML","setAlign":"setAlignHTML","setVerticalAlign":"setVerticalAlignHTML","setDisplay":"setDisplayHTML","setWhiteSpaceHandling":"setWhiteSpaceHandlingHTML","focusMorph":"focusMorphHTML","setInputAllowed":"setInputAllowedHTML"},"1414":{"morph":{"__isSmartRef__":true,"id":1400},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1415":{"__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":{"__isSmartRef__":true,"id":1416},"_Extent":{"__isSmartRef__":true,"id":1417},"_Fill":{"__isSmartRef__":true,"id":1418},"_BorderWidth":1,"_BorderColor":{"__isSmartRef__":true,"id":1428},"_BorderRadius":5,"renderContextTable":{"__isSmartRef__":true,"id":1429},"_ClipMode":"visible","_Padding":{"__isSmartRef__":true,"id":1430},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1416":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1417":{"x":25,"y":20,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1418":{"stops":[{"__isSmartRef__":true,"id":1419},{"__isSmartRef__":true,"id":1421},{"__isSmartRef__":true,"id":1423},{"__isSmartRef__":true,"id":1425}],"vector":{"__isSmartRef__":true,"id":1427},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"1419":{"offset":0,"color":{"__isSmartRef__":true,"id":1420}},"1420":{"r":0.9600000000000001,"g":0.9600000000000001,"b":0.9600000000000001,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1421":{"offset":0.4,"color":{"__isSmartRef__":true,"id":1422}},"1422":{"r":0.8200000000000001,"g":0.8200000000000001,"b":0.8200000000000001,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1423":{"offset":0.6,"color":{"__isSmartRef__":true,"id":1424}},"1424":{"r":0.8200000000000001,"g":0.8200000000000001,"b":0.8200000000000001,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1425":{"offset":1,"color":{"__isSmartRef__":true,"id":1426}},"1426":{"r":0.94,"g":0.94,"b":0.94,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1427":{"x":0,"y":0,"width":0,"height":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"1428":{"r":0.839,"g":0.839,"b":0.839,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1429":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"1430":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"1431":{"x":160,"y":40,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1432":{"stops":[{"__isSmartRef__":true,"id":1433},{"__isSmartRef__":true,"id":1435},{"__isSmartRef__":true,"id":1437},{"__isSmartRef__":true,"id":1439}],"vector":{"__isSmartRef__":true,"id":1427},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"1433":{"offset":0,"color":{"__isSmartRef__":true,"id":1434}},"1434":{"r":0.98,"g":0.98,"b":0.98,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1435":{"offset":0.4,"color":{"__isSmartRef__":true,"id":1436}},"1436":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1437":{"offset":0.6,"color":{"__isSmartRef__":true,"id":1438}},"1438":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1439":{"offset":1,"color":{"__isSmartRef__":true,"id":1440}},"1440":{"r":0.97,"g":0.97,"b":0.97,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1441":{"sourceObj":{"__isSmartRef__":true,"id":1399},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":1399},"targetMethodName":"deleteSelectedScript","converter":null,"converterString":null,"updater":null,"updaterString":null,"varMapping":{"__isSmartRef__":true,"id":1442},"__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1442":{"source":{"__isSmartRef__":true,"id":1399},"target":{"__isSmartRef__":true,"id":1399}},"1443":{"x":5,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"1444":{"partsSpaceName":"PartsBin/Inputs/","__SourceModuleName__":"Global.lively.PartsBin","migrationLevel":2,"comment":"Simple button. Connect to 'fire' to trigger actions when the button is pressed.","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo"},"1445":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML"},"1446":{"x":30,"y":20,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1447":{"morph":{"__isSmartRef__":true,"id":1399},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1448":{"x":33.35839679439101,"y":-21.324811622839547,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1449":{"deleteSelectedScript":{"__isSmartRef__":true,"id":1450}},"1450":{"varMapping":{"__isSmartRef__":true,"id":1451},"source":"function deleteSelectedScript() {\n\n var editor = this.objectEditorPane;\n var selection = editor.scriptList.selection;\n\n if (!editor.target || editor.scriptList.getList().size() < 2) \n return; \n\n var deleteScript = function (confirmed) {\n if (!confirmed) return;\n \n if (selection && editor.target) {\n if (!editor.target.hasOwnProperty(selection)) \n return;\n delete editor.target[selection];\n editor.updateLists();\n editor.displayInitialScript();\n }\n }\n\n var message = 'Delete \"' + selection + '\" script?';\n var callback = deleteScript;\n\n var dialog = new lively.morphic.ConfirmDialog(message, callback);\n\n return this.world().openDialog(dialog);\n}","funcProperties":{"__isSmartRef__":true,"id":1452},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"1451":{"this":{"__isSmartRef__":true,"id":1399}},"1452":{"timestamp":{"__isSmartRef__":true,"id":1453},"user":"lauritz"},"1453":{"isSerializedDate":true,"string":"Thu Nov 17 2011 18:12:21 GMT+0100 (CET)"},"1454":{"submorphs":[{"__isSmartRef__":true,"id":1455}],"scripts":[],"id":"9EA03DD2-0A05-459E-9EC1-461DDAF3E886","shape":{"__isSmartRef__":true,"id":1471},"grabbingEnabled":false,"droppingEnabled":false,"showsMorphMenu":true,"halosEnabled":true,"registeredForMouseEvents":true,"_Position":{"__isSmartRef__":true,"id":1487},"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":1474},"lighterFill":{"__isSmartRef__":true,"id":1488},"label":{"__isSmartRef__":true,"id":1455},"attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"showsHalos":false,"__SourceModuleName__":"Global.lively.morphic.Widgets","padding":{"__isSmartRef__":true,"id":1497},"name":"ObjectEditorMorphSelector","partsBinMetaInfo":{"__isSmartRef__":true,"id":1498},"list":[],"renderContextTable":{"__isSmartRef__":true,"id":1499},"eventHandler":{"__isSmartRef__":true,"id":1500},"distanceToDragEvent":{"__isSmartRef__":true,"id":1501},"priorExtent":{"__isSmartRef__":true,"id":1502},"owner":{"__isSmartRef__":true,"id":263},"textString":"","selection":{"__isSmartRef__":true,"id":1503},"_ClipMode":"visible","prevScroll":[0,0],"listMorph":null,"derivationIds":[221,"4AC64FBA-95AC-42B2-A078-B6DA97889093","E26ED0E6-C4CE-4C82-94D5-175270E8459E","D292F2FC-C2B6-48AE-B779-8CC5868FFA49","53A862EB-032C-4BF0-9B21-58C7E0C0A9B2","CC4D188B-510F-48DE-A0E1-EC8D2CD63F9F","0CD057F2-3517-4849-A69E-1EF79B05ACE8","66EBBB7D-8FA7-4D43-AE78-A18DA3B970BA","A50C1893-4138-4E29-865B-92F53F76D08A","1EC5D2B9-3539-419A-8DD6-CE82DEABB02C","95DC06D5-F4C7-49E2-8A01-110D1B0AFBD0","672DEFAB-2BE5-4C60-9779-3B44694FBEB1"],"_Rotation":0,"_Scale":1,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1520},"__LivelyClassName__":"lively.morphic.Button"},"1455":{"submorphs":[],"scripts":[],"id":"E1C4B4DD-1157-4DDA-8A8E-41766492D58E","shape":{"__isSmartRef__":true,"id":1456},"grabbingEnabled":false,"droppingEnabled":false,"showsMorphMenu":false,"halosEnabled":true,"fixedWidth":true,"_MaxTextWidth":220,"_MaxTextHeight":null,"fixedHeight":true,"allowsInput":false,"registeredForMouseEvents":true,"_Position":{"__isSmartRef__":true,"id":1462},"textColor":{"__isSmartRef__":true,"id":1459},"owner":{"__isSmartRef__":true,"id":1454},"eventsAreIgnored":true,"__SourceModuleName__":"Global.lively.morphic.TextCore","textChunks":[{"__isSmartRef__":true,"id":1463}],"padding":{"__isSmartRef__":true,"id":1465},"_Padding":{"__isSmartRef__":true,"id":1465},"prevScroll":[0,0],"priorExtent":{"__isSmartRef__":true,"id":1466},"attributeConnections":[{"__isSmartRef__":true,"id":1467}],"doNotSerialize":["$$savedTextString"],"doNotCopyProperties":["$$savedTextString"],"renderContextTable":{"__isSmartRef__":true,"id":1468},"eventHandler":{"__isSmartRef__":true,"id":1469},"_HandStyle":"default","_PointerEvents":"none","_ClipMode":"hidden","_WhiteSpaceHandling":"pre-wrap","_MinTextWidth":220,"_MinTextHeight":null,"_Align":"left","_FontFamily":"Arial","_FontSize":10,"derivationIds":[222,"30F054A3-7658-405B-8098-B7D87AA8A9ED","556D6E07-45B7-42EC-A486-DE275EF0B034","06B0B080-467A-46CC-8B0D-9C0A9B9A71F1","5E2D96C9-BB9B-4735-8673-A79847435197","B48AA022-2022-4A2A-9090-4D884FB3DFD3","8B2F743A-98C5-45E1-B03C-5019114EAC47","D09C56C3-A2DC-4BDF-B8A1-6365138ECD01","74158C3D-B79E-43E7-B111-48701B10ACE2","B19E117B-E40F-4B9F-86AC-BFB2AAFD5336","4E3B3D72-E52C-44ED-AE32-78939BA1ECFD","2459D1F0-E49C-4882-AB4C-D78C1A496962"],"_TextColor":{"__isSmartRef__":true,"id":1470},"_Scale":1,"__LivelyClassName__":"lively.morphic.Text"},"1456":{"borderWidth":0,"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":{"__isSmartRef__":true,"id":1457},"_Extent":{"__isSmartRef__":true,"id":1458},"_BorderColor":{"__isSmartRef__":true,"id":1459},"renderContextTable":{"__isSmartRef__":true,"id":1460},"_ClipMode":"hidden","_Padding":{"__isSmartRef__":true,"id":1461},"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1457":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1458":{"x":220,"y":20,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"1459":{"r":0,"g":0,"b":0,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1460":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"1461":{"x":0,"y":3,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"1462":{"x":2,"y":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1463":{"style":{"__isSmartRef__":true,"id":1464},"chunkOwner":{"__isSmartRef__":true,"id":1455},"storedString":"Rectangle1","__SourceModuleName__":"Global.lively.morphic.TextCore","__LivelyClassName__":"lively.morphic.TextChunk"},"1464":{"__SourceModuleName__":"Global.lively.morphic.TextCore","__LivelyClassName__":"lively.morphic.TextEmphasis"},"1465":{"x":5,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"1466":{"x":220,"y":20,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1467":{"sourceObj":{"__isSmartRef__":true,"id":1455},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":1454},"targetMethodName":"selection","converter":null,"converterString":null,"updater":null,"updaterString":null,"__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1468":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML","updateText":"updateTextHTML","setTextExtent":"setTextExtentHTML","setMaxTextWidth":"setMaxTextWidthHTML","setMaxTextHeight":"setMaxTextHeightHTML","setMinTextWidth":"setMinTextWidthHTML","setMinTextHeight":"setMinTextHeightHTML","getTextExtent":"getTextExtentHTML","getTextString":"getTextStringHTML","ignoreTextEvents":"ignoreTextEventsHTML","unignoreTextEvents":"unignoreTextEventsHTML","enableTextEvents":"enableTextEventsHTML","setFontFamily":"setFontFamilyHTML","setFontSize":"setFontSizeHTML","setTextColor":"setTextColorHTML","setFontWeight":"setFontWeightHTML","setFontStyle":"setFontStyleHTML","setTextDecoration":"setTextDecorationHTML","setPadding":"setPaddingHTML","setAlign":"setAlignHTML","setVerticalAlign":"setVerticalAlignHTML","setDisplay":"setDisplayHTML","setWhiteSpaceHandling":"setWhiteSpaceHandlingHTML","focusMorph":"focusMorphHTML","setInputAllowed":"setInputAllowedHTML"},"1469":{"morph":{"__isSmartRef__":true,"id":1455},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1470":{"r":0,"g":0,"b":0,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1471":{"__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":{"__isSmartRef__":true,"id":1472},"_Extent":{"__isSmartRef__":true,"id":1473},"_Fill":{"__isSmartRef__":true,"id":1474},"_BorderWidth":1,"_BorderColor":{"__isSmartRef__":true,"id":1484},"_BorderRadius":5,"renderContextTable":{"__isSmartRef__":true,"id":1485},"_ClipMode":"visible","_Padding":{"__isSmartRef__":true,"id":1486},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1472":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1473":{"x":220,"y":20,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1474":{"stops":[{"__isSmartRef__":true,"id":1475},{"__isSmartRef__":true,"id":1477},{"__isSmartRef__":true,"id":1479},{"__isSmartRef__":true,"id":1481}],"vector":{"__isSmartRef__":true,"id":1483},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"1475":{"offset":0,"color":{"__isSmartRef__":true,"id":1476}},"1476":{"r":0.9600000000000001,"g":0.9600000000000001,"b":0.9600000000000001,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1477":{"offset":0.4,"color":{"__isSmartRef__":true,"id":1478}},"1478":{"r":0.8200000000000001,"g":0.8200000000000001,"b":0.8200000000000001,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1479":{"offset":0.6,"color":{"__isSmartRef__":true,"id":1480}},"1480":{"r":0.8200000000000001,"g":0.8200000000000001,"b":0.8200000000000001,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1481":{"offset":1,"color":{"__isSmartRef__":true,"id":1482}},"1482":{"r":0.94,"g":0.94,"b":0.94,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1483":{"x":0,"y":0,"width":0,"height":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"1484":{"r":0.839,"g":0.839,"b":0.839,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1485":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"1486":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"1487":{"x":240.1308656788165,"y":10,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1488":{"stops":[{"__isSmartRef__":true,"id":1489},{"__isSmartRef__":true,"id":1491},{"__isSmartRef__":true,"id":1493},{"__isSmartRef__":true,"id":1495}],"vector":{"__isSmartRef__":true,"id":1483},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"1489":{"offset":0,"color":{"__isSmartRef__":true,"id":1490}},"1490":{"r":0.98,"g":0.98,"b":0.98,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1491":{"offset":0.4,"color":{"__isSmartRef__":true,"id":1492}},"1492":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1493":{"offset":0.6,"color":{"__isSmartRef__":true,"id":1494}},"1494":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1495":{"offset":1,"color":{"__isSmartRef__":true,"id":1496}},"1496":{"r":0.97,"g":0.97,"b":0.97,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1497":{"x":5,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"1498":{"partsSpaceName":"PartsBin/Inputs/","__SourceModuleName__":"Global.lively.PartsBin","migrationLevel":2,"partName":"ChoiceButton","comment":"Click on it and you get a list of things to choose from.","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo"},"1499":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML"},"1500":{"morph":{"__isSmartRef__":true,"id":1454},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1501":{"x":122.93118375058827,"y":-11.582832083333244,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1502":{"x":220,"y":20,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1503":{"submorphs":[],"scripts":[],"id":181,"shape":{"__isSmartRef__":true,"id":1504},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_FontFamily":"Helvetica","registeredForMouseEvents":true,"_Position":{"__isSmartRef__":true,"id":1510},"_MaxTextWidth":580,"_MaxTextHeight":null,"textColor":{"__isSmartRef__":true,"id":1511},"showsHalos":false,"_FontSize":28,"__SourceModuleName__":"Global.lively.morphic.TextCore","name":"Title","partsBinMetaInfo":{"__isSmartRef__":true,"id":1512},"_TextColor":{"__isSmartRef__":true,"id":1513},"renderContextTable":{"__isSmartRef__":true,"id":1514},"textChunks":[{"__isSmartRef__":true,"id":1515}],"eventHandler":{"__isSmartRef__":true,"id":1517},"priorExtent":{"__isSmartRef__":true,"id":1518},"attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"_MinTextWidth":580,"_MinTextHeight":null,"_Rotation":0,"_Scale":1.002003004005006,"previousSelection":[35,35],"priorSelectionRange":[23,23],"charsReplaced":"WIP / Proof of Concept","lastFindLoc":22,"distanceToDragEvent":{"__isSmartRef__":true,"id":1519},"_ClipMode":"visible","_WhiteSpaceHandling":"pre-wrap","isCopyMorphRef":true,"morphRefId":2,"prevScroll":[0,0],"__LivelyClassName__":"lively.morphic.Text"},"1504":{"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":{"__isSmartRef__":true,"id":1505},"_Extent":{"__isSmartRef__":true,"id":1506},"_BorderWidth":0,"_BorderColor":{"__isSmartRef__":true,"id":1507},"renderContextTable":{"__isSmartRef__":true,"id":1508},"_ClipMode":"visible","_Padding":{"__isSmartRef__":true,"id":1509},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1505":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1506":{"x":580,"y":43,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1507":{"r":1,"g":1,"b":1,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1508":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClipMode":"setClipModeHTML"},"1509":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"1510":{"x":37,"y":23,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1511":{"r":0,"g":0,"b":0,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1512":{"partsSpaceName":"PartsBin/Worlds/","__SourceModuleName__":"Global.lively.PartsBin","comment":"For example a world title.","partName":"Title","migrationLevel":2,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo"},"1513":{"r":0,"g":0.309,"b":0.595,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1514":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML","updateText":"updateTextHTML","setTextExtent":"setTextExtentHTML","setMaxTextWidth":"setMaxTextWidthHTML","setMaxTextHeight":"setMaxTextHeightHTML","setMinTextWidth":"setMinTextWidthHTML","setMinTextHeight":"setMinTextHeightHTML","getTextExtent":"getTextExtentHTML","getTextString":"getTextStringHTML","ignoreTextEvents":"ignoreTextEventsHTML","unignoreTextEvents":"unignoreTextEventsHTML","enableTextEvents":"enableTextEventsHTML","setFontFamily":"setFontFamilyHTML","setFontSize":"setFontSizeHTML","setTextColor":"setTextColorHTML","setFontWeight":"setFontWeightHTML","setFontStyle":"setFontStyleHTML","setTextDecoration":"setTextDecorationHTML","setPadding":"setPaddingHTML","setAlign":"setAlignHTML","setVerticalAlign":"setVerticalAlignHTML","setDisplay":"setDisplayHTML","setWhiteSpaceHandling":"setWhiteSpaceHandlingHTML","focusMorph":"focusMorphHTML","setInputAllowed":"setInputAllowedHTML"},"1515":{"style":{"__isSmartRef__":true,"id":1516},"chunkOwner":{"__isSmartRef__":true,"id":1503},"__SourceModuleName__":"Global.lively.morphic.TextCore","storedString":"","__LivelyClassName__":"lively.morphic.TextChunk"},"1516":{"__SourceModuleName__":"Global.lively.morphic.TextCore","__LivelyClassName__":"lively.morphic.TextEmphasis"},"1517":{"morph":{"__isSmartRef__":true,"id":1503},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1518":{"x":580,"y":43,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1519":{"x":221,"y":-12,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1520":{"createListMorph":{"__isSmartRef__":true,"id":1521},"getList":{"__isSmartRef__":true,"id":1525},"removeList":{"__isSmartRef__":true,"id":1529},"reset":{"__isSmartRef__":true,"id":1533},"displayTopLevelMorphs":{"__isSmartRef__":true,"id":1537},"onMouseDown":{"__isSmartRef__":true,"id":1541},"setTargetOfPane":{"__isSmartRef__":true,"id":1549},"setTargetToListSelection":{"__isSmartRef__":true,"id":1553},"onBlur":{"__isSmartRef__":true,"id":1557},"setTarget":{"__isSmartRef__":true,"id":1565},"setTargetOnSelection":{"__isSmartRef__":true,"id":1569}},"1521":{"varMapping":{"__isSmartRef__":true,"id":1522},"source":"function createListMorph() {\n var items = this.getList();\n \n var height = Math.min(this.owner.getExtent().y, items.length * 17);\n var extent = new Rectangle(0, this.getExtent().y, this.getExtent().x, height);\n\n var listMorph = new lively.morphic.List(extent);\n listMorph.setList(items);\n listMorph.setFontSize(10);\n\n listMorph.disableGrabbing();\n listMorph.disableDragging();\n\n connect(listMorph, 'selection', this, 'setTargetToListSelection');\n \n return listMorph;\n}","funcProperties":{"__isSmartRef__":true,"id":1523},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"1522":{"this":{"__isSmartRef__":true,"id":1454}},"1523":{"timestamp":{"__isSmartRef__":true,"id":1524},"user":"lauritz","tags":[]},"1524":{"isSerializedDate":true,"string":"Tue Dec 13 2011 18:55:41 GMT+0100 (CET)"},"1525":{"varMapping":{"__isSmartRef__":true,"id":1526},"source":"function getList() {\n var worldEntry = {\n isListItem: true,\n selectionString: 'World',\n string: 'World',\n value: this.world()\n };\n var list = this.world().indentedListItemsOfMorphNames();\n list.unshift(worldEntry);\n return list;\n}","funcProperties":{"__isSmartRef__":true,"id":1527},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"1526":{"this":{"__isSmartRef__":true,"id":1454}},"1527":{"timestamp":{"__isSmartRef__":true,"id":1528},"user":"lauritz","tags":[]},"1528":{"isSerializedDate":true,"string":"Mon Nov 21 2011 23:12:23 GMT+0100 (CET)"},"1529":{"varMapping":{"__isSmartRef__":true,"id":1530},"source":"function removeList() {\n this.listMorph && this.listMorph.remove();\n this.listMorph = null;\n}","funcProperties":{"__isSmartRef__":true,"id":1531},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"1530":{"this":{"__isSmartRef__":true,"id":1454}},"1531":{"timestamp":{"__isSmartRef__":true,"id":1532},"user":"lauritz","tags":[]},"1532":{"isSerializedDate":true,"string":"Wed Dec 07 2011 05:51:07 GMT+0100 (CET)"},"1533":{"varMapping":{"__isSmartRef__":true,"id":1534},"source":"function reset() {\n this.list = [];\n this.setLabel('empty');\n this.label.setAlign('left');\n this.removeList();\n this.applyStyle({fixedWidth: true, fixedHeight: true, borderWidth: 1, overflow: 'visible'});\n}","funcProperties":{"__isSmartRef__":true,"id":1535},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"1534":{"this":{"__isSmartRef__":true,"id":1454}},"1535":{"timestamp":{"__isSmartRef__":true,"id":1536},"user":"lauritz","tags":[]},"1536":{"isSerializedDate":true,"string":"Wed Dec 07 2011 05:34:06 GMT+0100 (CET)"},"1537":{"varMapping":{"__isSmartRef__":true,"id":1538},"source":"function displayTopLevelMorphs() {\n var list = this.createListMorph(); \n if (this.getList().length === 0) return;\n this.addMorph(list);\n this.listMorph = list;\n}","funcProperties":{"__isSmartRef__":true,"id":1539},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"1538":{"this":{"__isSmartRef__":true,"id":1454}},"1539":{"timestamp":{"__isSmartRef__":true,"id":1540},"user":"lauritz","tags":[]},"1540":{"isSerializedDate":true,"string":"Tue Dec 13 2011 18:53:20 GMT+0100 (CET)"},"1541":{"varMapping":{"__isSmartRef__":true,"id":1542},"source":"function onMouseDown(evt) {\n if (evt.isCommandKey() || evt.isRightMouseButtonDown()) return $super(evt);\n if (this.listMorph) {\n // clicked on morph, not the list, not the list's scrollbar\n if (evt.target === this.renderContext().shapeNode)\n this.removeList();\n } else {\n this.displayTopLevelMorphs();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1547},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"1542":{"this":{"__isSmartRef__":true,"id":1454},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1543}},"1543":{"$super":{"__isSmartRef__":true,"id":1544}},"1544":{"varMapping":{"__isSmartRef__":true,"id":1545},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch(e) {\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1546},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"1545":{"obj":{"__isSmartRef__":true,"id":1454},"name":"onMouseDown"},"1546":{},"1547":{"timestamp":{"__isSmartRef__":true,"id":1548},"user":"lauritz","tags":[]},"1548":{"isSerializedDate":true,"string":"Wed Dec 07 2011 05:30:39 GMT+0100 (CET)"},"1549":{"varMapping":{"__isSmartRef__":true,"id":1550},"source":"function setTargetOfPane(selection) {\n this.owner.setTarget(selection);\n this.label.setAlign('left');\n}","funcProperties":{"__isSmartRef__":true,"id":1551},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"1550":{"this":{"__isSmartRef__":true,"id":1454}},"1551":{"timestamp":{"__isSmartRef__":true,"id":1552},"user":"lauritz","tags":[]},"1552":{"isSerializedDate":true,"string":"Wed Dec 07 2011 04:30:42 GMT+0100 (CET)"},"1553":{"varMapping":{"__isSmartRef__":true,"id":1554},"source":"function setTargetToListSelection() { \n var selection = this.listMorph.selection;\n this.removeList();\n if (!selection) return;\n if (this.owner.scriptPane.hasChanged()) {\n var that = this;\n var callback = function (confirmed) {\n if (confirmed) that.setTargetOfPane(selection);\n }\n this.owner.confirmUnsavedChanges(callback);\n } else {\n this.setTargetOfPane(selection);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1555},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"1554":{"this":{"__isSmartRef__":true,"id":1454}},"1555":{"timestamp":{"__isSmartRef__":true,"id":1556},"user":"lauritz","tags":[]},"1556":{"isSerializedDate":true,"string":"Wed Dec 07 2011 06:06:48 GMT+0100 (CET)"},"1557":{"varMapping":{"__isSmartRef__":true,"id":1558},"source":"function onBlur(evt) {\n $super(evt);\n \n // workaround - otherwise other morphs get this event\n var clickedMorph = evt && evt.world && evt.world.clickedOnMorph;\n if (clickedMorph && (clickedMorph !== this && clickedMorph !== this.listMorph)) {\n this.removeList();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1563},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"1558":{"this":{"__isSmartRef__":true,"id":1454},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1559}},"1559":{"$super":{"__isSmartRef__":true,"id":1560}},"1560":{"varMapping":{"__isSmartRef__":true,"id":1561},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch(e) {\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1562},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"1561":{"obj":{"__isSmartRef__":true,"id":1454},"name":"onBlur"},"1562":{},"1563":{"timestamp":{"__isSmartRef__":true,"id":1564},"user":"lauritz","tags":[]},"1564":{"isSerializedDate":true,"string":"Wed Dec 07 2011 05:30:08 GMT+0100 (CET)"},"1565":{"varMapping":{"__isSmartRef__":true,"id":1566},"source":"function setTarget(target) {\n this.label.setTextString(target.getName() || target.toString());\n}","funcProperties":{"__isSmartRef__":true,"id":1567},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"1566":{"this":{"__isSmartRef__":true,"id":1454}},"1567":{"timestamp":{"__isSmartRef__":true,"id":1568},"user":"lauritz","tags":[]},"1568":{"isSerializedDate":true,"string":"Wed Dec 07 2011 04:29:39 GMT+0100 (CET)"},"1569":{"varMapping":{"__isSmartRef__":true,"id":1570},"source":"function setTargetOnSelection() {\n if (this.listMorph && this.listMorph.renderContext() && this.listMorph.renderContext().listNode.value) {\n this.setTargetToListSelection();\n this.stopStepping();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1571},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"1570":{"this":{"__isSmartRef__":true,"id":1454}},"1571":{"timestamp":{"__isSmartRef__":true,"id":1572},"user":"lauritz","tags":[]},"1572":{"isSerializedDate":true,"string":"Wed Dec 07 2011 06:12:06 GMT+0100 (CET)"},"1573":{"submorphs":[],"scripts":[],"id":"1976D978-B432-4140-80AD-C3D2F44F2F74","shape":{"__isSmartRef__":true,"id":1574},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":false,"_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_Position":{"__isSmartRef__":true,"id":1580},"_MaxTextWidth":64.8979476392384,"_MaxTextHeight":null,"textColor":{"__isSmartRef__":true,"id":1577},"showsHalos":false,"_FontSize":9,"__SourceModuleName__":"Global.lively.morphic.TextCore","name":"ObjectEditorScriptsText1","partsBinMetaInfo":{"__isSmartRef__":true,"id":1581},"textChunks":[{"__isSmartRef__":true,"id":1582}],"charsReplaced":"Scripts","lastFindLoc":-7,"priorSelectionRange":[0,7],"prevScroll":[0,0],"priorExtent":{"__isSmartRef__":true,"id":1584},"renderContextTable":{"__isSmartRef__":true,"id":1585},"eventHandler":{"__isSmartRef__":true,"id":1586},"_WhiteSpaceHandling":"pre-wrap","attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"_MinTextWidth":64.8979476392384,"_MinTextHeight":null,"_ClipMode":"visible","draggingEnabled":false,"distanceToDragEvent":{"__isSmartRef__":true,"id":1587},"eventsAreIgnored":true,"owner":{"__isSmartRef__":true,"id":263},"isCopyMorphRef":true,"morphRefId":27,"derivationIds":[223,"5E3A69EF-26C1-4D0D-B04C-8C3894017F56","14AB1B91-3ED6-49AE-AA58-47D18B6C569F","991D4A54-1FC4-4BC7-AA82-F814AC52CDE3","DB9B19F7-4390-4CE5-9B1D-62177CB8D605","8F7B2EE9-9538-4044-B75B-6A12F3108B70","4B9F9B4B-C7D3-418D-9AC9-10503A4EBF8E","324EE422-8C94-43CE-B964-A3150830C25F","36D1ECF9-591F-426B-A4F6-B337D7DB053B","CB52849C-BE64-4053-8D07-758F969F84EB","F1C241D4-A689-4DB7-942F-ADB5F39D9CAA","F9D413A0-184F-47F5-9B55-D05D511915CB"],"_Rotation":0,"_Scale":1,"__LivelyClassName__":"lively.morphic.Text"},"1574":{"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":{"__isSmartRef__":true,"id":1575},"_Extent":{"__isSmartRef__":true,"id":1576},"_BorderWidth":0,"_BorderColor":{"__isSmartRef__":true,"id":1577},"renderContextTable":{"__isSmartRef__":true,"id":1578},"_ClipMode":"visible","_Padding":{"__isSmartRef__":true,"id":1579},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1575":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1576":{"x":64.8979476392384,"y":14,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"1577":{"r":0,"g":0,"b":0,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1578":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"1579":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"1580":{"x":198.16434648623274,"y":12.911539589748486,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1581":{"partsSpaceName":"PartsBin/NewWorld","__SourceModuleName__":"Global.lively.PartsBin","migrationLevel":1,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo"},"1582":{"style":{"__isSmartRef__":true,"id":1583},"chunkOwner":{"__isSmartRef__":true,"id":1573},"__SourceModuleName__":"Global.lively.morphic.TextCore","storedString":"Target:","__LivelyClassName__":"lively.morphic.TextChunk"},"1583":{"__SourceModuleName__":"Global.lively.morphic.TextCore","__LivelyClassName__":"lively.morphic.TextEmphasis"},"1584":{"x":64.8979476392384,"y":14,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1585":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML","updateText":"updateTextHTML","setTextExtent":"setTextExtentHTML","setMaxTextWidth":"setMaxTextWidthHTML","setMaxTextHeight":"setMaxTextHeightHTML","setMinTextWidth":"setMinTextWidthHTML","setMinTextHeight":"setMinTextHeightHTML","getTextExtent":"getTextExtentHTML","getTextString":"getTextStringHTML","ignoreTextEvents":"ignoreTextEventsHTML","unignoreTextEvents":"unignoreTextEventsHTML","enableTextEvents":"enableTextEventsHTML","setFontFamily":"setFontFamilyHTML","setFontSize":"setFontSizeHTML","setTextColor":"setTextColorHTML","setFontWeight":"setFontWeightHTML","setFontStyle":"setFontStyleHTML","setTextDecoration":"setTextDecorationHTML","setPadding":"setPaddingHTML","setAlign":"setAlignHTML","setVerticalAlign":"setVerticalAlignHTML","setDisplay":"setDisplayHTML","setWhiteSpaceHandling":"setWhiteSpaceHandlingHTML","focusMorph":"focusMorphHTML","setInputAllowed":"setInputAllowedHTML"},"1586":{"morph":{"__isSmartRef__":true,"id":1573},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1587":{"x":41.065989525935834,"y":-10.506047005169194,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1588":{"submorphs":[],"scripts":[],"id":"129D85BD-6C3F-4E23-9EC8-8CCE4C8B62BF","shape":{"__isSmartRef__":true,"id":1589},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":false,"_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_Position":{"__isSmartRef__":true,"id":1595},"_MaxTextWidth":64.8979476392384,"_MaxTextHeight":null,"textColor":{"__isSmartRef__":true,"id":1592},"showsHalos":false,"_FontSize":9,"__SourceModuleName__":"Global.lively.morphic.TextCore","name":"ObjectEditorScriptsText2","partsBinMetaInfo":{"__isSmartRef__":true,"id":1596},"textChunks":[{"__isSmartRef__":true,"id":1597}],"charsReplaced":"Scripts","lastFindLoc":-7,"priorSelectionRange":[0,7],"prevScroll":[0,0],"priorExtent":{"__isSmartRef__":true,"id":1599},"renderContextTable":{"__isSmartRef__":true,"id":1600},"eventHandler":{"__isSmartRef__":true,"id":1601},"_WhiteSpaceHandling":"pre-wrap","attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"_MinTextWidth":64.8979476392384,"_MinTextHeight":null,"_ClipMode":"visible","draggingEnabled":false,"distanceToDragEvent":{"__isSmartRef__":true,"id":1602},"eventsAreIgnored":true,"isCopyMorphRef":true,"morphRefId":27,"owner":{"__isSmartRef__":true,"id":263},"derivationIds":[224,"35EF8FE5-067D-45B6-AF21-77040F11D340","80DC09DD-22D4-4089-B5C3-857B32C9BE9B","EF080074-E6B9-47F3-A87F-26313B40C430","F6977801-C1A7-445C-9BF1-8A1019E202FB","8C9157AE-0343-4CFB-8186-1D5E05D2ECBE","DD3C23F8-6463-4EAE-959B-C486E27D9BDA","1E8D3752-D212-41F8-BC63-B094E0C80707","75C07D11-AE5D-4A36-B2D0-F2A6EA414E72","494AB1C0-2C09-49DE-B4AA-1F24DC7495FF","25199967-E3BA-4763-A704-37BD3152A5F7","8E4A5937-D1FA-4AF7-BD8D-B542C636CEF9"],"_Rotation":0,"_Scale":1,"__LivelyClassName__":"lively.morphic.Text"},"1589":{"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":{"__isSmartRef__":true,"id":1590},"_Extent":{"__isSmartRef__":true,"id":1591},"_BorderWidth":0,"_BorderColor":{"__isSmartRef__":true,"id":1592},"renderContextTable":{"__isSmartRef__":true,"id":1593},"_ClipMode":"visible","_Padding":{"__isSmartRef__":true,"id":1594},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1590":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1591":{"x":64.8979476392384,"y":14,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"1592":{"r":0,"g":0,"b":0,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1593":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"1594":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"1595":{"x":10,"y":12.911539589749026,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1596":{"partsSpaceName":"PartsBin/NewWorld","__SourceModuleName__":"Global.lively.PartsBin","migrationLevel":1,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo"},"1597":{"style":{"__isSmartRef__":true,"id":1598},"chunkOwner":{"__isSmartRef__":true,"id":1588},"__SourceModuleName__":"Global.lively.morphic.TextCore","storedString":"Tag:","__LivelyClassName__":"lively.morphic.TextChunk"},"1598":{"__SourceModuleName__":"Global.lively.morphic.TextCore","__LivelyClassName__":"lively.morphic.TextEmphasis"},"1599":{"x":64.8979476392384,"y":14,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1600":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML","updateText":"updateTextHTML","setTextExtent":"setTextExtentHTML","setMaxTextWidth":"setMaxTextWidthHTML","setMaxTextHeight":"setMaxTextHeightHTML","setMinTextWidth":"setMinTextWidthHTML","setMinTextHeight":"setMinTextHeightHTML","getTextExtent":"getTextExtentHTML","getTextString":"getTextStringHTML","ignoreTextEvents":"ignoreTextEventsHTML","unignoreTextEvents":"unignoreTextEventsHTML","enableTextEvents":"enableTextEventsHTML","setFontFamily":"setFontFamilyHTML","setFontSize":"setFontSizeHTML","setTextColor":"setTextColorHTML","setFontWeight":"setFontWeightHTML","setFontStyle":"setFontStyleHTML","setTextDecoration":"setTextDecorationHTML","setPadding":"setPaddingHTML","setAlign":"setAlignHTML","setVerticalAlign":"setVerticalAlignHTML","setDisplay":"setDisplayHTML","setWhiteSpaceHandling":"setWhiteSpaceHandlingHTML","focusMorph":"focusMorphHTML","setInputAllowed":"setInputAllowedHTML"},"1601":{"morph":{"__isSmartRef__":true,"id":1588},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1602":{"x":45.76052154281416,"y":-27.783027415339603,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1603":{"submorphs":[{"__isSmartRef__":true,"id":1604}],"scripts":[],"id":"266D245E-C4DE-44FE-81C7-DC15E7F2FE52","shape":{"__isSmartRef__":true,"id":1618},"grabbingEnabled":false,"droppingEnabled":false,"showsMorphMenu":true,"halosEnabled":true,"registeredForMouseEvents":true,"_Position":{"__isSmartRef__":true,"id":1634},"value":true,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":1635},"lighterFill":{"__isSmartRef__":true,"id":1621},"label":{"__isSmartRef__":true,"id":1604},"attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"showsHalos":false,"__SourceModuleName__":"Global.lively.morphic.Widgets","padding":{"__isSmartRef__":true,"id":1644},"name":"ObjectEditorTagChooser","partsBinMetaInfo":{"__isSmartRef__":true,"id":1645},"listMorph":null,"list":[],"renderContextTable":{"__isSmartRef__":true,"id":1646},"eventHandler":{"__isSmartRef__":true,"id":1647},"distanceToDragEvent":{"__isSmartRef__":true,"id":1648},"priorExtent":{"__isSmartRef__":true,"id":1649},"textString":"PartsBinBrowser","selection":"","_ClipMode":"visible","prevScroll":[0,0],"owner":{"__isSmartRef__":true,"id":263},"setTargetToListSelection":"all","savedTextString":"all","derivationIds":[225,"7F83847B-D0B1-4A31-8601-43424B97C858","E08FC110-71D7-4FFD-B4A8-08F8147B95BA","5534107D-C5C9-48DD-A1ED-B87E9D9B672C","0B89FA7A-768C-4062-98AE-C455E8DAFF19","799320C6-CFBA-40E7-B03D-64BFE9B78248","9B650AA3-271B-4E72-B230-51C6F64B7462","C95D3672-724C-4C2C-9CDD-EF308062F627","C66EBEEC-B7CE-4DD9-8BDF-905F071F965D","D68B143A-A712-4FD0-8803-62CCB4C7F763","ED802271-AE5C-4BE9-AC4E-7CED44BC864B","1BD989CB-146C-431F-8B15-9199C4CD5D32"],"_Rotation":0,"_Scale":1,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1650},"__LivelyClassName__":"lively.morphic.Button"},"1604":{"submorphs":[],"scripts":[],"id":"BB639FFD-6EE8-427B-9DE9-B4B459A16B1F","shape":{"__isSmartRef__":true,"id":1605},"grabbingEnabled":false,"droppingEnabled":false,"showsMorphMenu":false,"halosEnabled":true,"fixedWidth":true,"_MaxTextWidth":130,"_MaxTextHeight":null,"fixedHeight":true,"allowsInput":false,"registeredForMouseEvents":true,"_Position":{"__isSmartRef__":true,"id":1610},"textColor":{"__isSmartRef__":true,"id":1608},"owner":{"__isSmartRef__":true,"id":1603},"eventsAreIgnored":true,"__SourceModuleName__":"Global.lively.morphic.TextCore","textChunks":[{"__isSmartRef__":true,"id":1611}],"padding":{"__isSmartRef__":true,"id":1613},"_Padding":{"__isSmartRef__":true,"id":1613},"prevScroll":[0,0],"priorExtent":{"__isSmartRef__":true,"id":1614},"attributeConnections":[{"__isSmartRef__":true,"id":1615}],"doNotSerialize":["$$savedTextString"],"doNotCopyProperties":["$$savedTextString"],"renderContextTable":{"__isSmartRef__":true,"id":1616},"eventHandler":{"__isSmartRef__":true,"id":1617},"_HandStyle":"default","_PointerEvents":"none","_ClipMode":"hidden","_WhiteSpaceHandling":"pre-wrap","_MinTextWidth":130,"_MinTextHeight":null,"_Align":"left","_FontFamily":"Arial","_FontSize":10,"derivationIds":[226,"03DBF3F8-8EA2-4426-BA64-C4297DDAB015","B8F87302-BEC3-48CD-9BBA-6C7DBB6287E1","4AA6AE51-338B-4E3E-814B-9F99C693A2D5","08F6CE56-AD91-4C27-9429-C3DEA313696C","D39C963C-FD24-4498-A6D8-71E5102CE58A","132C2A9E-3466-4051-AAEA-6E485A91F408","DB8BC4A1-ED41-446B-AB6C-7E73DD857B5D","567FC668-A57C-41CB-8252-8912826B3144","D0B0775F-C8E7-49EB-BBB2-C7BB7DD464BF","AABED87D-D7C0-494A-8803-26F4601E35FF","696C3A2A-C695-4D17-A044-41A73436AB8D"],"_TextColor":{"__isSmartRef__":true,"id":1470},"_Scale":1,"__LivelyClassName__":"lively.morphic.Text"},"1605":{"borderWidth":0,"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":{"__isSmartRef__":true,"id":1606},"_Extent":{"__isSmartRef__":true,"id":1607},"_BorderColor":{"__isSmartRef__":true,"id":1608},"renderContextTable":{"__isSmartRef__":true,"id":1609},"_ClipMode":"hidden","_Padding":{"__isSmartRef__":true,"id":1461},"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1606":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1607":{"x":130,"y":20,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"1608":{"r":0,"g":0,"b":0,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1609":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"1610":{"x":2,"y":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1611":{"style":{"__isSmartRef__":true,"id":1612},"chunkOwner":{"__isSmartRef__":true,"id":1604},"storedString":"all","__SourceModuleName__":"Global.lively.morphic.TextCore","__LivelyClassName__":"lively.morphic.TextChunk"},"1612":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__SourceModuleName__":"Global.lively.morphic.TextCore","__LivelyClassName__":"lively.morphic.TextEmphasis"},"1613":{"x":5,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"1614":{"x":130,"y":20,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1615":{"sourceObj":{"__isSmartRef__":true,"id":1604},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":1603},"targetMethodName":"selection","converter":null,"converterString":null,"updater":null,"updaterString":null,"__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1616":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML","updateText":"updateTextHTML","setTextExtent":"setTextExtentHTML","setMaxTextWidth":"setMaxTextWidthHTML","setMaxTextHeight":"setMaxTextHeightHTML","setMinTextWidth":"setMinTextWidthHTML","setMinTextHeight":"setMinTextHeightHTML","getTextExtent":"getTextExtentHTML","getTextString":"getTextStringHTML","ignoreTextEvents":"ignoreTextEventsHTML","unignoreTextEvents":"unignoreTextEventsHTML","enableTextEvents":"enableTextEventsHTML","setFontFamily":"setFontFamilyHTML","setFontSize":"setFontSizeHTML","setTextColor":"setTextColorHTML","setFontWeight":"setFontWeightHTML","setFontStyle":"setFontStyleHTML","setTextDecoration":"setTextDecorationHTML","setPadding":"setPaddingHTML","setAlign":"setAlignHTML","setVerticalAlign":"setVerticalAlignHTML","setDisplay":"setDisplayHTML","setWhiteSpaceHandling":"setWhiteSpaceHandlingHTML","focusMorph":"focusMorphHTML","setInputAllowed":"setInputAllowedHTML"},"1617":{"morph":{"__isSmartRef__":true,"id":1604},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1618":{"__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":{"__isSmartRef__":true,"id":1619},"_Extent":{"__isSmartRef__":true,"id":1620},"_Fill":{"__isSmartRef__":true,"id":1621},"_BorderWidth":1,"_BorderColor":{"__isSmartRef__":true,"id":1631},"_BorderRadius":5,"renderContextTable":{"__isSmartRef__":true,"id":1632},"_ClipMode":"visible","_Padding":{"__isSmartRef__":true,"id":1633},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1619":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1620":{"x":130,"y":20,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1621":{"stops":[{"__isSmartRef__":true,"id":1622},{"__isSmartRef__":true,"id":1624},{"__isSmartRef__":true,"id":1626},{"__isSmartRef__":true,"id":1628}],"vector":{"__isSmartRef__":true,"id":1630},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"1622":{"offset":0,"color":{"__isSmartRef__":true,"id":1623}},"1623":{"r":0.98,"g":0.98,"b":0.98,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1624":{"offset":0.4,"color":{"__isSmartRef__":true,"id":1625}},"1625":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1626":{"offset":0.6,"color":{"__isSmartRef__":true,"id":1627}},"1627":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1628":{"offset":1,"color":{"__isSmartRef__":true,"id":1629}},"1629":{"r":0.97,"g":0.97,"b":0.97,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1630":{"x":0,"y":0,"width":0,"height":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"1631":{"r":0.839,"g":0.839,"b":0.839,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1632":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"1633":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"1634":{"x":39.12381412396891,"y":10.000000000000057,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1635":{"stops":[{"__isSmartRef__":true,"id":1636},{"__isSmartRef__":true,"id":1638},{"__isSmartRef__":true,"id":1640},{"__isSmartRef__":true,"id":1642}],"vector":{"__isSmartRef__":true,"id":1630},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"1636":{"offset":0,"color":{"__isSmartRef__":true,"id":1637}},"1637":{"r":0.9600000000000001,"g":0.9600000000000001,"b":0.9600000000000001,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1638":{"offset":0.4,"color":{"__isSmartRef__":true,"id":1639}},"1639":{"r":0.8200000000000001,"g":0.8200000000000001,"b":0.8200000000000001,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1640":{"offset":0.6,"color":{"__isSmartRef__":true,"id":1641}},"1641":{"r":0.8200000000000001,"g":0.8200000000000001,"b":0.8200000000000001,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1642":{"offset":1,"color":{"__isSmartRef__":true,"id":1643}},"1643":{"r":0.94,"g":0.94,"b":0.94,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1644":{"x":5,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"1645":{"partsSpaceName":"PartsBin/Inputs/","__SourceModuleName__":"Global.lively.PartsBin","migrationLevel":2,"partName":"ChoiceButton","comment":"Click on it and you get a list of things to choose from.","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo"},"1646":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML"},"1647":{"morph":{"__isSmartRef__":true,"id":1603},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1648":{"x":85.7442776093583,"y":-11.582832083333244,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1649":{"x":130,"y":20,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1650":{"createListMorph":{"__isSmartRef__":true,"id":1651},"getList":{"__isSmartRef__":true,"id":1655},"removeList":{"__isSmartRef__":true,"id":1659},"reset":{"__isSmartRef__":true,"id":1663},"onMouseUp":{"__isSmartRef__":true,"id":1667},"onBlur":{"__isSmartRef__":true,"id":1675},"setTag":{"__isSmartRef__":true,"id":1683}},"1651":{"varMapping":{"__isSmartRef__":true,"id":1652},"source":"function createListMorph() {\n var items = this.getList();\n\n var height = Math.min(this.owner.getExtent().y, items.length * 17);\n var extent = new Rectangle(0, this.getExtent().y, this.getExtent().x, height);\n\n var listMorph = new lively.morphic.List(extent);\n listMorph.setList(items);\n listMorph.setFontSize(10);\n\n listMorph.disableGrabbing();\n listMorph.disableDragging();\n \n connect(listMorph, 'selection', this, 'setTag');\n \n return listMorph;\n}","funcProperties":{"__isSmartRef__":true,"id":1653},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"1652":{"this":{"__isSmartRef__":true,"id":1603}},"1653":{"timestamp":{"__isSmartRef__":true,"id":1654},"user":"lauritz","categories":[]},"1654":{"isSerializedDate":true,"string":"Tue Nov 29 2011 04:35:59 GMT+0100 (CET)"},"1655":{"varMapping":{"__isSmartRef__":true,"id":1656},"source":"function getList() {\n if (!this.owner.target) return [''];\n\n var target = this.owner.target;\n\n var tags = Functions.own(target).collect(function (each) {\n return target[each].tags || [];\n }).flatten().uniq();\n\n var sortedTags = tags.sortBy(function(name) { \n return name.toLowerCase() \n });\n \n sortedTags.unshift('all'); \n return sortedTags;\n}","funcProperties":{"__isSmartRef__":true,"id":1657},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"1656":{"this":{"__isSmartRef__":true,"id":1603}},"1657":{"timestamp":{"__isSmartRef__":true,"id":1658},"user":"lauritz","tags":[]},"1658":{"isSerializedDate":true,"string":"Fri Dec 16 2011 20:27:25 GMT+0100 (CET)"},"1659":{"varMapping":{"__isSmartRef__":true,"id":1660},"source":"function removeList() {\n this.listMorph && this.listMorph.remove()\n this.listMorph = null;\n}","funcProperties":{"__isSmartRef__":true,"id":1661},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"1660":{"this":{"__isSmartRef__":true,"id":1603}},"1661":{"timestamp":{"__isSmartRef__":true,"id":1662},"user":"lauritz","categories":[]},"1662":{"isSerializedDate":true,"string":"Thu Nov 17 2011 19:06:51 GMT+0100 (CET)"},"1663":{"varMapping":{"__isSmartRef__":true,"id":1664},"source":"function reset() {\n this.list = [];\n this.setLabel('all');\n this.label.setAlign('left');\n this.removeList();\n this.applyStyle({fixedWidth: true, fixedHeight: true, borderWidth: 1, overflow: 'visible'})\n}","funcProperties":{"__isSmartRef__":true,"id":1665},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"1664":{"this":{"__isSmartRef__":true,"id":1603}},"1665":{"timestamp":{"__isSmartRef__":true,"id":1666},"user":"lauritz","tags":[]},"1666":{"isSerializedDate":true,"string":"Fri Dec 16 2011 20:27:53 GMT+0100 (CET)"},"1667":{"varMapping":{"__isSmartRef__":true,"id":1668},"source":"function onMouseUp(evt) {\n if (evt.isCommandKey() || evt.isRightMouseButtonDown()) return $super(evt);\n if (this.listMorph) {\n this.removeList();\n return true;\n } \n if (this.getList().size() < 2) return;\n var list = this.createListMorph();\n this.addMorph(list);\n this.listMorph = list;\n return true;\n}","funcProperties":{"__isSmartRef__":true,"id":1673},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"1668":{"this":{"__isSmartRef__":true,"id":1603},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1669}},"1669":{"$super":{"__isSmartRef__":true,"id":1670}},"1670":{"varMapping":{"__isSmartRef__":true,"id":1671},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch(e) {\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1672},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"1671":{"obj":{"__isSmartRef__":true,"id":1603},"name":"onMouseUp"},"1672":{},"1673":{"timestamp":{"__isSmartRef__":true,"id":1674},"user":"lauritz","categories":[]},"1674":{"isSerializedDate":true,"string":"Thu Nov 17 2011 18:59:16 GMT+0100 (CET)"},"1675":{"varMapping":{"__isSmartRef__":true,"id":1676},"source":"function onBlur(evt) {\n $super(evt);\n \n // workaround - otherwise other morphs get this event\n var clickedMorph = evt && evt.world && evt.world.clickedOnMorph;\n if (clickedMorph && (clickedMorph !== this && clickedMorph !== this.listMorph)) {\n this.removeList();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1681},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"1676":{"this":{"__isSmartRef__":true,"id":1603},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1677}},"1677":{"$super":{"__isSmartRef__":true,"id":1678}},"1678":{"varMapping":{"__isSmartRef__":true,"id":1679},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch(e) {\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1680},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"1679":{"obj":{"__isSmartRef__":true,"id":1603},"name":"onBlur"},"1680":{},"1681":{"timestamp":{"__isSmartRef__":true,"id":1682},"user":"lauritz","categories":[]},"1682":{"isSerializedDate":true,"string":"Mon Nov 21 2011 23:10:03 GMT+0100 (CET)"},"1683":{"varMapping":{"__isSmartRef__":true,"id":1684},"source":"function setTag(tag) {\n this.setLabel(tag || '');\n this.label.setAlign('left');\n this.owner.setTag(tag);\n}","funcProperties":{"__isSmartRef__":true,"id":1685},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"1684":{"this":{"__isSmartRef__":true,"id":1603}},"1685":{"timestamp":{"__isSmartRef__":true,"id":1686},"user":"lauritz","categories":[]},"1686":{"isSerializedDate":true,"string":"Tue Nov 29 2011 04:36:12 GMT+0100 (CET)"},"1687":{"submorphs":[{"__isSmartRef__":true,"id":1688}],"scripts":[],"id":"F80BA5A5-CF87-4B88-927D-D6C65636F44F","shape":{"__isSmartRef__":true,"id":1703},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":1707},"lighterFill":{"__isSmartRef__":true,"id":1719},"label":{"__isSmartRef__":true,"id":1688},"name":"Button","showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":1728},"attributeConnections":[{"__isSmartRef__":true,"id":1729}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"__SourceModuleName__":"Global.lively.morphic.Widgets","priorExtent":{"__isSmartRef__":true,"id":1765},"renderContextTable":{"__isSmartRef__":true,"id":1766},"eventHandler":{"__isSmartRef__":true,"id":1767},"distanceToDragEvent":{"__isSmartRef__":true,"id":1768},"derivationIds":[7251,"BE69DA70-C9C3-4495-A6B5-413BD2FFA0D1","79FE3D3F-77C4-4B39-8243-D672185B416D","A4D2FEDF-2654-4381-AB43-8F89B9CA2E86","87E42FF6-3862-481D-97D6-643676E15F32","4F370A81-5A80-4821-8ECC-D52B56F31E15","1C6D1DC9-2F9B-4DC4-B453-1CA45B17C516","0E8EC0BF-934B-410B-AEC2-0ECA8C8F774D","97086CE7-CD46-4035-A371-02A41D555A66","E342B91D-F54B-4DA8-8AE7-10C59CE22B41"],"_Position":{"__isSmartRef__":true,"id":1769},"owner":{"__isSmartRef__":true,"id":263},"layout":{"__isSmartRef__":true,"id":1770},"_ClipMode":"visible","_Rotation":0,"_Scale":0.994014980014994,"__LivelyClassName__":"lively.morphic.Button"},"1688":{"submorphs":[],"scripts":[],"id":"17620818-6477-4297-91FA-E00E29B5A220","shape":{"__isSmartRef__":true,"id":1689},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":false,"_FontFamily":"Helvetica","registeredForMouseEvents":true,"_Position":{"__isSmartRef__":true,"id":1695},"_MaxTextWidth":97,"_MaxTextHeight":null,"textStyle":null,"padding":{"__isSmartRef__":true,"id":1696},"_Padding":{"__isSmartRef__":true,"id":1697},"owner":{"__isSmartRef__":true,"id":1687},"isLabel":true,"eventsAreIgnored":true,"__SourceModuleName__":"Global.lively.morphic.TextCore","_ClipMode":"hidden","priorExtent":{"__isSmartRef__":true,"id":1698},"textChunks":[{"__isSmartRef__":true,"id":1699}],"_Align":"center","renderContextTable":{"__isSmartRef__":true,"id":1701},"eventHandler":{"__isSmartRef__":true,"id":1702},"_HandStyle":"default","_PointerEvents":"none","attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"derivationIds":[7252,"E0EF3EFE-3ADF-4E46-8705-7BF444E4BCED","307A3596-1175-4EA6-AA27-5BA4C9D95AB7","0EF99131-C569-4C2C-B613-E0D8423C1334","BA4EC8D2-AB29-4F9F-B5A0-715A4746A4C4","56735895-BA99-4D98-9866-AA5DBD86237E","81041CF7-31DB-4F65-BB39-FE438A4F266F","D03829B3-268E-40A0-A440-3E4BAC344F30","714637F0-714A-4833-909B-BA4AF1B4628B","DC956E73-7398-4CAF-B6F2-9A226E344396"],"_MinTextWidth":97,"_MinTextHeight":null,"__LivelyClassName__":"lively.morphic.Text"},"1689":{"position":{"__isSmartRef__":true,"id":1690},"_Extent":{"__isSmartRef__":true,"id":1691},"_BorderWidth":0,"_BorderColor":{"__isSmartRef__":true,"id":1692},"_Fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","renderContextTable":{"__isSmartRef__":true,"id":1693},"_ClipMode":"hidden","_Padding":{"__isSmartRef__":true,"id":1694},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1690":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1691":{"x":101,"y":21,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"1692":{"r":0,"g":0,"b":0,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1693":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"1694":{"x":2,"y":2,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"1695":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1696":{"x":5,"y":5,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"1697":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"1698":{"x":101,"y":21,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1699":{"style":{"__isSmartRef__":true,"id":1700},"chunkOwner":{"__isSmartRef__":true,"id":1688},"storedString":"run","__SourceModuleName__":"Global.lively.morphic.TextCore","__LivelyClassName__":"lively.morphic.TextChunk"},"1700":{"__SourceModuleName__":"Global.lively.morphic.TextCore","textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis"},"1701":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML","updateText":"updateTextHTML","setTextExtent":"setTextExtentHTML","setMaxTextWidth":"setMaxTextWidthHTML","setMaxTextHeight":"setMaxTextHeightHTML","setMinTextWidth":"setMinTextWidthHTML","setMinTextHeight":"setMinTextHeightHTML","getTextExtent":"getTextExtentHTML","getTextString":"getTextStringHTML","ignoreTextEvents":"ignoreTextEventsHTML","unignoreTextEvents":"unignoreTextEventsHTML","enableTextEvents":"enableTextEventsHTML","setFontFamily":"setFontFamilyHTML","setFontSize":"setFontSizeHTML","setTextColor":"setTextColorHTML","setFontWeight":"setFontWeightHTML","setFontStyle":"setFontStyleHTML","setTextDecoration":"setTextDecorationHTML","setPadding":"setPaddingHTML","setAlign":"setAlignHTML","setVerticalAlign":"setVerticalAlignHTML","setDisplay":"setDisplayHTML","setWhiteSpaceHandling":"setWhiteSpaceHandlingHTML","focusMorph":"focusMorphHTML","setInputAllowed":"setInputAllowedHTML"},"1702":{"morph":{"__isSmartRef__":true,"id":1688},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1703":{"position":{"__isSmartRef__":true,"id":1704},"_Extent":{"__isSmartRef__":true,"id":1705},"_BorderWidth":1.1840000000000002,"_BorderColor":{"__isSmartRef__":true,"id":1706},"_Fill":{"__isSmartRef__":true,"id":1707},"_BorderRadius":5.2,"__SourceModuleName__":"Global.lively.morphic.Shapes","renderContextTable":{"__isSmartRef__":true,"id":1717},"_ClipMode":"visible","_Padding":{"__isSmartRef__":true,"id":1718},"_Opacity":1,"_BorderStyle":"solid","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1704":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1705":{"x":101,"y":21,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1706":{"r":0.839,"g":0.839,"b":0.839,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1707":{"stops":[{"__isSmartRef__":true,"id":1708},{"__isSmartRef__":true,"id":1710},{"__isSmartRef__":true,"id":1712},{"__isSmartRef__":true,"id":1714}],"vector":{"__isSmartRef__":true,"id":1716},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"1708":{"offset":0,"color":{"__isSmartRef__":true,"id":1709}},"1709":{"r":0.9600000000000001,"g":0.9600000000000001,"b":0.9600000000000001,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1710":{"offset":0.4,"color":{"__isSmartRef__":true,"id":1711}},"1711":{"r":0.8200000000000001,"g":0.8200000000000001,"b":0.8200000000000001,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1712":{"offset":0.6,"color":{"__isSmartRef__":true,"id":1713}},"1713":{"r":0.8200000000000001,"g":0.8200000000000001,"b":0.8200000000000001,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1714":{"offset":1,"color":{"__isSmartRef__":true,"id":1715}},"1715":{"r":0.94,"g":0.94,"b":0.94,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1716":{"x":0,"y":0,"width":0,"height":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"1717":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"1718":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"1719":{"stops":[{"__isSmartRef__":true,"id":1720},{"__isSmartRef__":true,"id":1722},{"__isSmartRef__":true,"id":1724},{"__isSmartRef__":true,"id":1726}],"vector":{"__isSmartRef__":true,"id":1716},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"1720":{"offset":0,"color":{"__isSmartRef__":true,"id":1721}},"1721":{"r":0.98,"g":0.98,"b":0.98,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1722":{"offset":0.4,"color":{"__isSmartRef__":true,"id":1723}},"1723":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1724":{"offset":0.6,"color":{"__isSmartRef__":true,"id":1725}},"1725":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1726":{"offset":1,"color":{"__isSmartRef__":true,"id":1727}},"1727":{"r":0.97,"g":0.97,"b":0.97,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1728":{"partsSpaceName":"PartsBin/Inputs","__SourceModuleName__":"Global.lively.PartsBin","migrationLevel":4,"partName":"Button","comment":"Has a script that is called on button press","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo"},"1729":{"sourceObj":{"__isSmartRef__":true,"id":1687},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":263},"targetMethodName":"runScript","visualConnector":{"__isSmartRef__":true,"id":1730},"__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1730":{"submorphs":[{"__isSmartRef__":true,"id":1731}],"scripts":[],"shape":{"__isSmartRef__":true,"id":1746},"derivationIds":[null],"id":"C89B50A0-17E7-4D22-AE1D-5112520DAEE7","renderContextTable":{"__isSmartRef__":true,"id":1753},"eventHandler":{"__isSmartRef__":true,"id":1754},"droppingEnabled":true,"halosEnabled":true,"owner":null,"controlPoints":[{"__isSmartRef__":true,"id":1755},{"__isSmartRef__":true,"id":1756}],"con":{"__isSmartRef__":true,"id":1729},"showsMorphMenu":true,"showsHalos":false,"__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1757},"__LivelyClassName__":"lively.morphic.Path"},"1731":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":1732},"derivationIds":[null],"id":"2A71BE9E-6820-46AF-ACED-3C9BDCC918AF","renderContextTable":{"__isSmartRef__":true,"id":1743},"eventHandler":{"__isSmartRef__":true,"id":1744},"droppingEnabled":true,"halosEnabled":true,"_Position":{"__isSmartRef__":true,"id":1745},"owner":{"__isSmartRef__":true,"id":1730},"_Rotation":-3.130064002485303,"__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","__LivelyClassName__":"lively.morphic.Path"},"1732":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":1733},{"__isSmartRef__":true,"id":1734},{"__isSmartRef__":true,"id":1735},{"__isSmartRef__":true,"id":1736}],"renderContextTable":{"__isSmartRef__":true,"id":1737},"_ClipMode":"visible","_Position":{"__isSmartRef__":true,"id":1738},"_Extent":{"__isSmartRef__":true,"id":1739},"_Padding":{"__isSmartRef__":true,"id":1740},"_BorderWidth":0,"_BorderColor":{"__isSmartRef__":true,"id":1741},"_Fill":{"__isSmartRef__":true,"id":1742},"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.Path"},"1733":{"isAbsolute":true,"x":-12,"y":-6,"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.MoveTo"},"1734":{"isAbsolute":true,"x":-12,"y":6,"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.LineTo"},"1735":{"isAbsolute":true,"x":4,"y":0,"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.LineTo"},"1736":{"isAbsolute":true,"x":-12,"y":-6,"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.LineTo"},"1737":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClipMode":"setClipModeHTML","getPathNode":"getPathNodeHTML","setPathElements":"setPathElementsHTML","getPathBounds":"getPathBoundsHTML","getTotalLength":"getTotalLengthHTML","getPointAtTotalLength":"getPointAtTotalLengthHTML"},"1738":{"x":-12,"y":-6,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1739":{"x":16,"y":12,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1740":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"1741":{"r":0,"g":0,"b":0,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1742":{"r":0,"g":0,"b":0,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1743":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML"},"1744":{"morph":{"__isSmartRef__":true,"id":1731},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1745":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1746":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":1747},{"__isSmartRef__":true,"id":1748}],"renderContextTable":{"__isSmartRef__":true,"id":1749},"_ClipMode":"visible","_Position":{"__isSmartRef__":true,"id":1750},"_Extent":{"__isSmartRef__":true,"id":1751},"_Padding":{"__isSmartRef__":true,"id":1752},"_BorderWidth":1,"_BorderColor":{"__isSmartRef__":true,"id":1741},"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.Path"},"1747":{"isAbsolute":true,"x":829.7085000406639,"y":9.565843617262885,"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.MoveTo"},"1748":{"isAbsolute":true,"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.LineTo"},"1749":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClipMode":"setClipModeHTML","getPathNode":"getPathNodeHTML","setPathElements":"setPathElementsHTML","getPathBounds":"getPathBoundsHTML","getTotalLength":"getTotalLengthHTML","getPointAtTotalLength":"getPointAtTotalLengthHTML"},"1750":{"x":-1,"y":-1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1751":{"x":831,"y":11,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1752":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"1753":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML"},"1754":{"morph":{"__isSmartRef__":true,"id":1730},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1755":{"morph":{"__isSmartRef__":true,"id":1730},"index":0,"connectedMagnet":null,"__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","__LivelyClassName__":"lively.morphic.ControlPoint"},"1756":{"morph":{"__isSmartRef__":true,"id":1730},"index":1,"connectedMagnet":null,"marker":{"__isSmartRef__":true,"id":1731},"markerDirection":"prev","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","__LivelyClassName__":"lively.morphic.ControlPoint"},"1757":{"morphMenuItems":{"__isSmartRef__":true,"id":1758}},"1758":{"varMapping":{"__isSmartRef__":true,"id":1759},"source":"function morphMenuItems() {\n var visualConnector = this, con = this.con, world = this.world();\n var items = [\n ['edit converter', function() {\n var source = con.converterString ||\n 'function converter(value) {\\n return value\\n}',\n editor = new lively.morphic.Text(new Rectangle(0,0, 400, 200), source);\n editor.doitContext = con;\n connect(editor, 'savedTextString', con, 'converterString', {updater:\n function($upd, source) { this.targetObj.converter = null; $upd(source) }});\n connect(editor, 'savedTextString', world, 'alertOK', {converter:\n function() { return 'setting new converter' }})\n editor.applyStyle({syntaxHighlighting: true,\n fontFamily: 'Courier', resizeWidth: true, resizeHeight: true});\n var title = con.targetObj.name && con.sourceObj.name ?\n 'Editor for ' + con.targetObj.name + ' -> ' + con.sourceObj.name :\n 'Editor for converter function';\n var window = world.addFramedMorph(editor, title)\n window.align(window.bounds().topCenter(),\n visualConnector.bounds().bottomCenter())\n }],\n ['hide', function() {\n visualConnector.disconnectFromMagnets();\n visualConnector.remove();\n }],\n ['disconnect', function() {\n alertOK('Disconnected ' + visualConnector.con);\n visualConnector.con.visualDisconnect();\n }],\n ['cancel', function() {}],\n ];\n return items;\n }","funcProperties":{"__isSmartRef__":true,"id":1764},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"1759":{"this":{"__isSmartRef__":true,"id":1730},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1760}},"1760":{"$super":{"__isSmartRef__":true,"id":1761}},"1761":{"varMapping":{"__isSmartRef__":true,"id":1762},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch(e) {\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1763},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"1762":{"obj":{"__isSmartRef__":true,"id":1730},"name":"morphMenuItems"},"1763":{},"1764":{},"1765":{"x":101,"y":20,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1766":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML"},"1767":{"morph":{"__isSmartRef__":true,"id":1687},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1768":{"x":71.99397894387357,"y":-13.030105280631261,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1769":{"x":788.7426780861911,"y":9.508591852040126,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1770":{"centeredHorizontal":false,"moveHorizontal":true},"1771":{"submorphs":[{"__isSmartRef__":true,"id":1772}],"scripts":[],"id":"482A283B-7D8F-4B90-B437-79747CFB5FF0","shape":{"__isSmartRef__":true,"id":1787},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":1791},"lighterFill":{"__isSmartRef__":true,"id":1803},"label":{"__isSmartRef__":true,"id":1772},"name":"saveButton","showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":1812},"attributeConnections":[{"__isSmartRef__":true,"id":1813}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"__SourceModuleName__":"Global.lively.morphic.Widgets","priorExtent":{"__isSmartRef__":true,"id":1849},"renderContextTable":{"__isSmartRef__":true,"id":1850},"eventHandler":{"__isSmartRef__":true,"id":1851},"distanceToDragEvent":{"__isSmartRef__":true,"id":1852},"derivationIds":[7251,"BE69DA70-C9C3-4495-A6B5-413BD2FFA0D1","79FE3D3F-77C4-4B39-8243-D672185B416D","A4D2FEDF-2654-4381-AB43-8F89B9CA2E86","D686F0CB-027B-4CA9-8B8D-9306389B219D","F51327CB-803E-4234-BFB3-6F5252D1C936","A79280E8-6AE3-4016-AF47-CE78F71924C6","B05829EB-D452-4D81-983B-E2CE425C8260","32B117E5-52D8-4843-B80E-090B9817E099","49AC923E-5272-4E3C-8F02-4F2AED2BC4E9","85AAEA9C-5E12-4DEC-8994-9A5FE655A740"],"layout":{"__isSmartRef__":true,"id":1853},"_Position":{"__isSmartRef__":true,"id":1854},"owner":{"__isSmartRef__":true,"id":263},"_ClipMode":"visible","_Rotation":0,"_Scale":0.9880657804942089,"__LivelyClassName__":"lively.morphic.Button"},"1772":{"submorphs":[],"scripts":[],"id":"2304C636-529B-4C0D-83E1-3F54D4E915B1","shape":{"__isSmartRef__":true,"id":1773},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":false,"_FontFamily":"Helvetica","registeredForMouseEvents":true,"_Position":{"__isSmartRef__":true,"id":1779},"_MaxTextWidth":97,"_MaxTextHeight":null,"textStyle":null,"padding":{"__isSmartRef__":true,"id":1780},"_Padding":{"__isSmartRef__":true,"id":1781},"owner":{"__isSmartRef__":true,"id":1771},"isLabel":true,"eventsAreIgnored":true,"__SourceModuleName__":"Global.lively.morphic.TextCore","_ClipMode":"hidden","priorExtent":{"__isSmartRef__":true,"id":1782},"textChunks":[{"__isSmartRef__":true,"id":1783}],"_Align":"center","renderContextTable":{"__isSmartRef__":true,"id":1785},"eventHandler":{"__isSmartRef__":true,"id":1786},"_HandStyle":"default","_PointerEvents":"none","attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"derivationIds":[7252,"E0EF3EFE-3ADF-4E46-8705-7BF444E4BCED","307A3596-1175-4EA6-AA27-5BA4C9D95AB7","0EF99131-C569-4C2C-B613-E0D8423C1334","9AECBFB8-25A5-483F-86AD-D7CF9ABC9A25","918C6CC4-3540-4341-BAFD-B195F7807FEE","5AABB138-5EE8-40A5-AB3C-5A9625D0A353","4529D79B-4CC5-467E-91F8-661C3A5F49F8","1E5E570C-FD42-45E3-A7F6-768BB14ACD14","A13FB4E0-72F2-4E7C-A861-EDCBA1393860","B8E4C964-4FFF-4A9F-B0A9-612546B1DC8C"],"_MinTextWidth":97,"_MinTextHeight":null,"__LivelyClassName__":"lively.morphic.Text"},"1773":{"position":{"__isSmartRef__":true,"id":1774},"_Extent":{"__isSmartRef__":true,"id":1775},"_BorderWidth":0,"_BorderColor":{"__isSmartRef__":true,"id":1776},"_Fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","renderContextTable":{"__isSmartRef__":true,"id":1777},"_ClipMode":"hidden","_Padding":{"__isSmartRef__":true,"id":1778},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1774":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1775":{"x":101,"y":21,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"1776":{"r":0,"g":0,"b":0,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1777":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"1778":{"x":2,"y":2,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"1779":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1780":{"x":5,"y":5,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"1781":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"1782":{"x":101,"y":21,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1783":{"style":{"__isSmartRef__":true,"id":1784},"chunkOwner":{"__isSmartRef__":true,"id":1772},"storedString":"save","__SourceModuleName__":"Global.lively.morphic.TextCore","__LivelyClassName__":"lively.morphic.TextChunk"},"1784":{"__SourceModuleName__":"Global.lively.morphic.TextCore","textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis"},"1785":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML","updateText":"updateTextHTML","setTextExtent":"setTextExtentHTML","setMaxTextWidth":"setMaxTextWidthHTML","setMaxTextHeight":"setMaxTextHeightHTML","setMinTextWidth":"setMinTextWidthHTML","setMinTextHeight":"setMinTextHeightHTML","getTextExtent":"getTextExtentHTML","getTextString":"getTextStringHTML","ignoreTextEvents":"ignoreTextEventsHTML","unignoreTextEvents":"unignoreTextEventsHTML","enableTextEvents":"enableTextEventsHTML","setFontFamily":"setFontFamilyHTML","setFontSize":"setFontSizeHTML","setTextColor":"setTextColorHTML","setFontWeight":"setFontWeightHTML","setFontStyle":"setFontStyleHTML","setTextDecoration":"setTextDecorationHTML","setPadding":"setPaddingHTML","setAlign":"setAlignHTML","setVerticalAlign":"setVerticalAlignHTML","setDisplay":"setDisplayHTML","setWhiteSpaceHandling":"setWhiteSpaceHandlingHTML","focusMorph":"focusMorphHTML","setInputAllowed":"setInputAllowedHTML"},"1786":{"morph":{"__isSmartRef__":true,"id":1772},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1787":{"position":{"__isSmartRef__":true,"id":1788},"_Extent":{"__isSmartRef__":true,"id":1789},"_BorderWidth":1.1840000000000002,"_BorderColor":{"__isSmartRef__":true,"id":1790},"_Fill":{"__isSmartRef__":true,"id":1791},"_BorderRadius":5.2,"__SourceModuleName__":"Global.lively.morphic.Shapes","renderContextTable":{"__isSmartRef__":true,"id":1801},"_ClipMode":"visible","_Padding":{"__isSmartRef__":true,"id":1802},"_Opacity":1,"_BorderStyle":"solid","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1788":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1789":{"x":101,"y":21,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1790":{"r":0.839,"g":0.839,"b":0.839,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1791":{"stops":[{"__isSmartRef__":true,"id":1792},{"__isSmartRef__":true,"id":1794},{"__isSmartRef__":true,"id":1796},{"__isSmartRef__":true,"id":1798}],"vector":{"__isSmartRef__":true,"id":1800},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"1792":{"offset":0,"color":{"__isSmartRef__":true,"id":1793}},"1793":{"r":0.9600000000000001,"g":0.9600000000000001,"b":0.9600000000000001,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1794":{"offset":0.4,"color":{"__isSmartRef__":true,"id":1795}},"1795":{"r":0.8200000000000001,"g":0.8200000000000001,"b":0.8200000000000001,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1796":{"offset":0.6,"color":{"__isSmartRef__":true,"id":1797}},"1797":{"r":0.8200000000000001,"g":0.8200000000000001,"b":0.8200000000000001,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1798":{"offset":1,"color":{"__isSmartRef__":true,"id":1799}},"1799":{"r":0.94,"g":0.94,"b":0.94,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1800":{"x":0,"y":0,"width":0,"height":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"1801":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"1802":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"1803":{"stops":[{"__isSmartRef__":true,"id":1804},{"__isSmartRef__":true,"id":1806},{"__isSmartRef__":true,"id":1808},{"__isSmartRef__":true,"id":1810}],"vector":{"__isSmartRef__":true,"id":1800},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"1804":{"offset":0,"color":{"__isSmartRef__":true,"id":1805}},"1805":{"r":0.98,"g":0.98,"b":0.98,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1806":{"offset":0.4,"color":{"__isSmartRef__":true,"id":1807}},"1807":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1808":{"offset":0.6,"color":{"__isSmartRef__":true,"id":1809}},"1809":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1810":{"offset":1,"color":{"__isSmartRef__":true,"id":1811}},"1811":{"r":0.97,"g":0.97,"b":0.97,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1812":{"partsSpaceName":"PartsBin/Inputs","__SourceModuleName__":"Global.lively.PartsBin","migrationLevel":4,"partName":"Button","comment":"Has a script that is called on button press","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo"},"1813":{"sourceObj":{"__isSmartRef__":true,"id":1771},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":759},"targetMethodName":"doSave","visualConnector":{"__isSmartRef__":true,"id":1814},"__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1814":{"submorphs":[{"__isSmartRef__":true,"id":1815}],"scripts":[],"shape":{"__isSmartRef__":true,"id":1830},"derivationIds":[null],"id":"F46012D5-C8BE-4E52-BF98-D052FDAAE17A","renderContextTable":{"__isSmartRef__":true,"id":1837},"eventHandler":{"__isSmartRef__":true,"id":1838},"droppingEnabled":true,"halosEnabled":true,"owner":null,"controlPoints":[{"__isSmartRef__":true,"id":1839},{"__isSmartRef__":true,"id":1840}],"con":{"__isSmartRef__":true,"id":1813},"showsMorphMenu":true,"__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1841},"__LivelyClassName__":"lively.morphic.Path"},"1815":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":1816},"derivationIds":[null],"id":"A2A83C78-09B8-473C-829B-198206D7A9E4","renderContextTable":{"__isSmartRef__":true,"id":1827},"eventHandler":{"__isSmartRef__":true,"id":1828},"droppingEnabled":true,"halosEnabled":true,"_Position":{"__isSmartRef__":true,"id":1829},"owner":{"__isSmartRef__":true,"id":1814},"_Rotation":3.077607197692381,"__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","__LivelyClassName__":"lively.morphic.Path"},"1816":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":1817},{"__isSmartRef__":true,"id":1818},{"__isSmartRef__":true,"id":1819},{"__isSmartRef__":true,"id":1820}],"renderContextTable":{"__isSmartRef__":true,"id":1821},"_ClipMode":"visible","_Position":{"__isSmartRef__":true,"id":1822},"_Extent":{"__isSmartRef__":true,"id":1823},"_Padding":{"__isSmartRef__":true,"id":1824},"_BorderWidth":0,"_BorderColor":{"__isSmartRef__":true,"id":1825},"_Fill":{"__isSmartRef__":true,"id":1826},"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.Path"},"1817":{"isAbsolute":true,"x":-12,"y":-6,"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.MoveTo"},"1818":{"isAbsolute":true,"x":-12,"y":6,"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.LineTo"},"1819":{"isAbsolute":true,"x":4,"y":0,"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.LineTo"},"1820":{"isAbsolute":true,"x":-12,"y":-6,"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.LineTo"},"1821":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClipMode":"setClipModeHTML","getPathNode":"getPathNodeHTML","setPathElements":"setPathElementsHTML","getPathBounds":"getPathBoundsHTML","getTotalLength":"getTotalLengthHTML","getPointAtTotalLength":"getPointAtTotalLengthHTML"},"1822":{"x":-12,"y":-6,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1823":{"x":16,"y":12,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1824":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"1825":{"r":0,"g":0,"b":0,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1826":{"r":0,"g":0,"b":0,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1827":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML"},"1828":{"morph":{"__isSmartRef__":true,"id":1815},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1829":{"x":201.20421122525056,"y":40.24084224505009,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1830":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":1831},{"__isSmartRef__":true,"id":1832}],"renderContextTable":{"__isSmartRef__":true,"id":1833},"_ClipMode":"visible","_Position":{"__isSmartRef__":true,"id":1834},"_Extent":{"__isSmartRef__":true,"id":1835},"_Padding":{"__isSmartRef__":true,"id":1836},"_BorderWidth":1,"_BorderColor":{"__isSmartRef__":true,"id":1825},"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.Path"},"1831":{"isAbsolute":true,"x":679.4857209639925,"y":9.595948897894004,"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.MoveTo"},"1832":{"isAbsolute":true,"x":201.20421122525056,"y":40.24084224505009,"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.LineTo"},"1833":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClipMode":"setClipModeHTML","getPathNode":"getPathNodeHTML","setPathElements":"setPathElementsHTML","getPathBounds":"getPathBoundsHTML","getTotalLength":"getTotalLengthHTML","getPointAtTotalLength":"getPointAtTotalLengthHTML"},"1834":{"x":200,"y":9,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1835":{"x":480,"y":32,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1836":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"1837":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML"},"1838":{"morph":{"__isSmartRef__":true,"id":1814},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1839":{"morph":{"__isSmartRef__":true,"id":1814},"index":0,"connectedMagnet":null,"__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","__LivelyClassName__":"lively.morphic.ControlPoint"},"1840":{"morph":{"__isSmartRef__":true,"id":1814},"index":1,"connectedMagnet":null,"marker":{"__isSmartRef__":true,"id":1815},"markerDirection":"prev","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","__LivelyClassName__":"lively.morphic.ControlPoint"},"1841":{"morphMenuItems":{"__isSmartRef__":true,"id":1842}},"1842":{"varMapping":{"__isSmartRef__":true,"id":1843},"source":"function morphMenuItems() {\n var visualConnector = this, con = this.con, world = this.world();\n var items = [\n ['edit converter', function() {\n var source = con.converterString ||\n 'function converter(value) {\\n return value\\n}',\n editor = new lively.morphic.Text(new Rectangle(0,0, 400, 200), source);\n editor.doitContext = con;\n connect(editor, 'savedTextString', con, 'converterString', {updater:\n function($upd, source) { this.targetObj.converter = null; $upd(source) }});\n connect(editor, 'savedTextString', world, 'alertOK', {converter:\n function() { return 'setting new converter' }})\n editor.applyStyle({syntaxHighlighting: true,\n fontFamily: 'Courier', resizeWidth: true, resizeHeight: true});\n var title = con.targetObj.name && con.sourceObj.name ?\n 'Editor for ' + con.targetObj.name + ' -> ' + con.sourceObj.name :\n 'Editor for converter function';\n var window = world.addFramedMorph(editor, title)\n window.align(window.bounds().topCenter(),\n visualConnector.bounds().bottomCenter())\n }],\n ['hide', function() {\n visualConnector.disconnectFromMagnets();\n visualConnector.remove();\n }],\n ['disconnect', function() {\n alertOK('Disconnected ' + visualConnector.con);\n visualConnector.con.visualDisconnect();\n }],\n ['cancel', function() {}],\n ];\n return items;\n }","funcProperties":{"__isSmartRef__":true,"id":1848},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"1843":{"this":{"__isSmartRef__":true,"id":1814},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1844}},"1844":{"$super":{"__isSmartRef__":true,"id":1845}},"1845":{"varMapping":{"__isSmartRef__":true,"id":1846},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch(e) {\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1847},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"1846":{"obj":{"__isSmartRef__":true,"id":1814},"name":"morphMenuItems"},"1847":{},"1848":{},"1849":{"x":101,"y":20,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1850":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML"},"1851":{"morph":{"__isSmartRef__":true,"id":1771},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1852":{"x":68.77671624028653,"y":-14.497241813457947,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1853":{"centeredHorizontal":false,"moveHorizontal":true},"1854":{"x":675.4189853444968,"y":9.53851695196505,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1855":{"submorphs":[{"__isSmartRef__":true,"id":1856}],"scripts":[],"id":"9F4F24C6-C77F-4C2D-A1F1-4C99DDEAFB31","shape":{"__isSmartRef__":true,"id":1871},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"_Position":{"__isSmartRef__":true,"id":1887},"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":1875},"lighterFill":{"__isSmartRef__":true,"id":1888},"label":{"__isSmartRef__":true,"id":1856},"name":"openTestsButton","showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":1897},"attributeConnections":[{"__isSmartRef__":true,"id":1898}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"__SourceModuleName__":"Global.lively.morphic.Widgets","priorExtent":{"__isSmartRef__":true,"id":1899},"renderContextTable":{"__isSmartRef__":true,"id":1900},"eventHandler":{"__isSmartRef__":true,"id":1901},"distanceToDragEvent":{"__isSmartRef__":true,"id":1902},"derivationIds":[7251,"84054D2E-8176-440D-B413-279956A34FC2","79434046-F834-490E-B705-0CE871D9E8B3","FF38CA79-C0DF-4F2F-8FC3-407571EF6A54","B1D50332-9F4F-4F7C-AC3F-95DC6C73EAA4","5B8D7C39-987A-4849-BFFD-3F316CE03852","F7C30F5C-7270-44B1-ADFF-7473F2012DB0"],"owner":{"__isSmartRef__":true,"id":263},"_ClipMode":"visible","_Rotation":0,"_Scale":0.9940149800149939,"__LivelyClassName__":"lively.morphic.Button"},"1856":{"submorphs":[],"scripts":[],"id":"4E06CE6C-6C0C-479B-AFC3-1BF1DD50B59D","shape":{"__isSmartRef__":true,"id":1857},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":false,"_FontFamily":"Helvetica","registeredForMouseEvents":true,"_Position":{"__isSmartRef__":true,"id":1863},"_MaxTextWidth":97,"_MaxTextHeight":null,"textStyle":null,"padding":{"__isSmartRef__":true,"id":1864},"_Padding":{"__isSmartRef__":true,"id":1865},"owner":{"__isSmartRef__":true,"id":1855},"isLabel":true,"eventsAreIgnored":true,"__SourceModuleName__":"Global.lively.morphic.TextCore","_ClipMode":"hidden","priorExtent":{"__isSmartRef__":true,"id":1866},"textChunks":[{"__isSmartRef__":true,"id":1867}],"_Align":"center","renderContextTable":{"__isSmartRef__":true,"id":1869},"eventHandler":{"__isSmartRef__":true,"id":1870},"_HandStyle":"default","_PointerEvents":"none","attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"derivationIds":[7252,"0A0A6CB1-BD92-4F39-A425-2EB3D2D4CBA2","CB475566-05CE-43E2-B04D-EE32BC4CB718","6BB077CE-92E6-47BE-BE88-9A48488562D1","9E359973-2FDB-417B-BB06-AB34D52BD310","58F098ED-A190-44F2-B73E-80802B2CF2F6","AEA84B35-B349-4307-92C6-8F229705DFC2"],"_MinTextWidth":97,"_MinTextHeight":null,"__LivelyClassName__":"lively.morphic.Text"},"1857":{"position":{"__isSmartRef__":true,"id":1858},"_Extent":{"__isSmartRef__":true,"id":1859},"_BorderWidth":0,"_BorderColor":{"__isSmartRef__":true,"id":1860},"_Fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","renderContextTable":{"__isSmartRef__":true,"id":1861},"_ClipMode":"hidden","_Padding":{"__isSmartRef__":true,"id":1862},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1858":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1859":{"x":101,"y":21,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"1860":{"r":0,"g":0,"b":0,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1861":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"1862":{"x":2,"y":2,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"1863":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1864":{"x":5,"y":5,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"1865":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"1866":{"x":101,"y":21,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1867":{"style":{"__isSmartRef__":true,"id":1868},"chunkOwner":{"__isSmartRef__":true,"id":1856},"storedString":"Tests","__SourceModuleName__":"Global.lively.morphic.TextCore","__LivelyClassName__":"lively.morphic.TextChunk"},"1868":{"__SourceModuleName__":"Global.lively.morphic.TextCore","textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis"},"1869":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML","updateText":"updateTextHTML","setTextExtent":"setTextExtentHTML","setMaxTextWidth":"setMaxTextWidthHTML","setMaxTextHeight":"setMaxTextHeightHTML","setMinTextWidth":"setMinTextWidthHTML","setMinTextHeight":"setMinTextHeightHTML","getTextExtent":"getTextExtentHTML","getTextString":"getTextStringHTML","ignoreTextEvents":"ignoreTextEventsHTML","unignoreTextEvents":"unignoreTextEventsHTML","enableTextEvents":"enableTextEventsHTML","setFontFamily":"setFontFamilyHTML","setFontSize":"setFontSizeHTML","setTextColor":"setTextColorHTML","setFontWeight":"setFontWeightHTML","setFontStyle":"setFontStyleHTML","setTextDecoration":"setTextDecorationHTML","setPadding":"setPaddingHTML","setAlign":"setAlignHTML","setVerticalAlign":"setVerticalAlignHTML","setDisplay":"setDisplayHTML","setWhiteSpaceHandling":"setWhiteSpaceHandlingHTML","focusMorph":"focusMorphHTML","setInputAllowed":"setInputAllowedHTML"},"1870":{"morph":{"__isSmartRef__":true,"id":1856},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1871":{"position":{"__isSmartRef__":true,"id":1872},"_Extent":{"__isSmartRef__":true,"id":1873},"_BorderWidth":1.1840000000000002,"_BorderColor":{"__isSmartRef__":true,"id":1874},"_Fill":{"__isSmartRef__":true,"id":1875},"_BorderRadius":5.2,"__SourceModuleName__":"Global.lively.morphic.Shapes","renderContextTable":{"__isSmartRef__":true,"id":1885},"_ClipMode":"visible","_Padding":{"__isSmartRef__":true,"id":1886},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1872":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1873":{"x":101,"y":21,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1874":{"r":0.839,"g":0.839,"b":0.839,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1875":{"stops":[{"__isSmartRef__":true,"id":1876},{"__isSmartRef__":true,"id":1878},{"__isSmartRef__":true,"id":1880},{"__isSmartRef__":true,"id":1882}],"vector":{"__isSmartRef__":true,"id":1884},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"1876":{"offset":0,"color":{"__isSmartRef__":true,"id":1877}},"1877":{"r":0.9600000000000001,"g":0.9600000000000001,"b":0.9600000000000001,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1878":{"offset":0.4,"color":{"__isSmartRef__":true,"id":1879}},"1879":{"r":0.8200000000000001,"g":0.8200000000000001,"b":0.8200000000000001,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1880":{"offset":0.6,"color":{"__isSmartRef__":true,"id":1881}},"1881":{"r":0.8200000000000001,"g":0.8200000000000001,"b":0.8200000000000001,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1882":{"offset":1,"color":{"__isSmartRef__":true,"id":1883}},"1883":{"r":0.94,"g":0.94,"b":0.94,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1884":{"x":0,"y":0,"width":0,"height":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"1885":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"1886":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"1887":{"x":510,"y":10,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1888":{"stops":[{"__isSmartRef__":true,"id":1889},{"__isSmartRef__":true,"id":1891},{"__isSmartRef__":true,"id":1893},{"__isSmartRef__":true,"id":1895}],"vector":{"__isSmartRef__":true,"id":1884},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"1889":{"offset":0,"color":{"__isSmartRef__":true,"id":1890}},"1890":{"r":0.98,"g":0.98,"b":0.98,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1891":{"offset":0.4,"color":{"__isSmartRef__":true,"id":1892}},"1892":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1893":{"offset":0.6,"color":{"__isSmartRef__":true,"id":1894}},"1894":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1895":{"offset":1,"color":{"__isSmartRef__":true,"id":1896}},"1896":{"r":0.97,"g":0.97,"b":0.97,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1897":{"partsSpaceName":"PartsBin/Inputs","__SourceModuleName__":"Global.lively.PartsBin","migrationLevel":4,"partName":"Button","comment":"Has a script that is called on button press","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo"},"1898":{"sourceObj":{"__isSmartRef__":true,"id":1855},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":263},"targetMethodName":"openPartTestRunner","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1899":{"x":101,"y":20,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1900":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML"},"1901":{"morph":{"__isSmartRef__":true,"id":1855},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1902":{"x":65.95178327801523,"y":-8.024108360992386,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1903":{"target":{"__isSmartRef__":true,"id":263},"selector":"update","args":[],"stopped":false,"tickTime":500,"currentTimeout":174080,"suspended":false,"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.TargetScript"},"1904":{"position":{"__isSmartRef__":true,"id":1905},"_Extent":{"__isSmartRef__":true,"id":1906},"_BorderWidth":1,"_BorderColor":{"__isSmartRef__":true,"id":1907},"_Fill":{"__isSmartRef__":true,"id":1908},"__SourceModuleName__":"Global.lively.morphic.Shapes","renderContextTable":{"__isSmartRef__":true,"id":1909},"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_ClipMode":"visible","_Padding":{"__isSmartRef__":true,"id":1910},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1905":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1906":{"x":909.0285365288845,"y":526.612532614436,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1907":{"r":0.372,"g":0.369,"b":0.372,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"1908":{"r":1,"g":1,"b":1,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global.lively.morphic.Graphics"},"1909":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"1910":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"1911":{"partsSpaceName":"PartsBin/Basic","__SourceModuleName__":"Global.lively.PartsBin","comment":"Edit scripts and connections of a specific morph.","migrationLevel":4,"partName":"ObjectEditorPane","changes":[{"__isSmartRef__":true,"id":1912}],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo"},"1912":{"date":{"__isSmartRef__":true,"id":1913},"author":"lauritz","message":"Adapted the update behavior on ticks. Reduces the impact of HTML's autoscroll to selected list items."},"1913":{"isSerializedDate":true,"string":"Fri Oct 21 2011 00:39:30 GMT+0200 (CEST)"},"1914":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML"},"1915":{"morph":{"__isSmartRef__":true,"id":263},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1916":{"x":909.0285365288845,"y":526.612532614436,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1917":{"resizeWidth":true,"resizeHeight":true,"adjustForNewBounds":true},"1918":{"x":350.2386236582805,"y":-3.2455173507596555,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1919":{"x":0.971126750461849,"y":21.45669012569269,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"1920":{},"1921":{"displayInitialScript":{"__isSmartRef__":true,"id":1922},"displayJavaScriptSource":{"__isSmartRef__":true,"id":1926},"displaySourceForConnection":{"__isSmartRef__":true,"id":1930},"displaySourceForScript":{"__isSmartRef__":true,"id":1934},"generateSourceForConnection":{"__isSmartRef__":true,"id":1938},"generateSourceForScript":{"__isSmartRef__":true,"id":1942},"generateTargetCode":{"__isSmartRef__":true,"id":1946},"newConnection":{"__isSmartRef__":true,"id":1950},"newScript":{"__isSmartRef__":true,"id":1954},"reset":{"__isSmartRef__":true,"id":1958},"selectChangedContent":{"__isSmartRef__":true,"id":1962},"setTarget":{"__isSmartRef__":true,"id":1966},"sortedConnectionNamesOfObj":{"__isSmartRef__":true,"id":1970},"sortedScriptNamesOfObj":{"__isSmartRef__":true,"id":1974},"updateLists":{"__isSmartRef__":true,"id":1978},"onShutdown":{"__isSmartRef__":true,"id":1982},"confirmUnsavedChanges":{"__isSmartRef__":true,"id":1986},"update":{"__isSmartRef__":true,"id":1990},"ensureAnnotationLayer":{"__isSmartRef__":true,"id":1994},"migrateOldScriptAnnotations":{"__isSmartRef__":true,"id":1998},"copyToPartsBinWithUserRequest":{"__isSmartRef__":true,"id":2002},"printTags":{"__isSmartRef__":true,"id":2010},"setTag":{"__isSmartRef__":true,"id":2014},"runScript":{"__isSmartRef__":true,"id":2018},"openPartTestRunner":{"__isSmartRef__":true,"id":2022}},"1922":{"varMapping":{"__isSmartRef__":true,"id":1923},"source":"function displayInitialScript() {\n if (this.scriptList.getList().size() > 1) {\n this.scriptList.preselectItem();\n } else if (this.connectionList.getList().size() > 1) {\n this.connectionList.preselectItem();\n } else {\n this.scriptList.selectAt(0);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1924},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"1923":{"this":{"__isSmartRef__":true,"id":263}},"1924":{"timestamp":{"__isSmartRef__":true,"id":1925},"user":"lauritz","tags":[]},"1925":{"isSerializedDate":true,"string":"Thu Nov 17 2011 04:13:43 GMT+0100 (CET)"},"1926":{"varMapping":{"__isSmartRef__":true,"id":1927},"source":"function displayJavaScriptSource(jsCode) {\n if (this.scriptPane.hasChanged()) {\n var that = this;\n var callback = function(confirmed) {\n if (confirmed) that.scriptPane.display(jsCode)\n };\n this.confirmUnsavedChanges(callback);\n } else {\n this.scriptPane.display(jsCode);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1928},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"1927":{"this":{"__isSmartRef__":true,"id":263}},"1928":{"timestamp":{"__isSmartRef__":true,"id":1929},"user":"lauritz","tags":[]},"1929":{"isSerializedDate":true,"string":"Thu Nov 17 2011 04:59:26 GMT+0100 (CET)"},"1930":{"varMapping":{"__isSmartRef__":true,"id":1931},"source":"function displaySourceForConnection(connection) {\n var code = \"\", that = this;\n if (connection === undefined) return;\n if (connection === null) {\n this.sortedConnectionNamesOfObj(this.target).forEach(function(each) {\n code = code.concat(that.generateSourceForConnection(each[1])).concat(\"\\n\\n\");\n });\n code = code.substring(0, code.length - \"\\n\\n\".length - 1);\n } else {\n code = this.generateSourceForConnection(connection);\n }\n this.displayJavaScriptSource(code);\n}","funcProperties":{"__isSmartRef__":true,"id":1932},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"1931":{"this":{"__isSmartRef__":true,"id":263}},"1932":{"timestamp":{"__isSmartRef__":true,"id":1933},"user":"conradcalmez","tags":[]},"1933":{"isSerializedDate":true,"string":"Thu Feb 02 2012 14:59:30 GMT+0100 (CET)"},"1934":{"varMapping":{"__isSmartRef__":true,"id":1935},"source":"function displaySourceForScript(scriptName) {\n var code = \"\",\n that = this;\n if (scriptName === null) {\n this.sortedScriptNamesOfObj(this.target).forEach(function(each) {\n code = code.concat(that.generateSourceForScript(each)).concat(\"\\n\\n\\n\");\n });\n code = code.substring(0, code.length - \"\\n\\n\\n\".length - 1);\n } else {\n code = this.generateSourceForScript(scriptName); \n }\n this.displayJavaScriptSource(code);\n}","funcProperties":{"__isSmartRef__":true,"id":1936},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"1935":{"this":{"__isSmartRef__":true,"id":263}},"1936":{"timestamp":{"__isSmartRef__":true,"id":1937},"user":"lauritz","tags":[]},"1937":{"isSerializedDate":true,"string":"Thu Nov 17 2011 04:51:37 GMT+0100 (CET)"},"1938":{"varMapping":{"__isSmartRef__":true,"id":1939},"source":"function generateSourceForConnection(connection) {\n var c = connection, targetObject = this.target;\n\tif (!c.getTargetObj() || !c.getTargetObj().name || \n\t\t!c.getSourceObj() || !c.getSourceObj().name) return String(c);\n\n\tvar optConfig = []\n\tif (c.converterString)\n\t\toptConfig.push(\"converter: \\n\\t\" + c.converterString)\n\tif (c.updaterString)\n\t\toptConfig.push(\"updater: \\n\\t\" + c.updaterString)\n\treturn Strings.format('connect(%s, \"%s\", %s, \"%s\", {%s});', \n\t\t\tthis.generateTargetCode(targetObject, c.getSourceObj()),\n\t\t\tc.getSourceAttrName(),\n\t\t\tthis.generateTargetCode(targetObject, c.getTargetObj()),\n\t\t\tc.getTargetMethodName(),\n\t\t\toptConfig.join(','));\n\n}","funcProperties":{"__isSmartRef__":true,"id":1940},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"1939":{"this":{"__isSmartRef__":true,"id":263}},"1940":{"timestamp":{"__isSmartRef__":true,"id":1941},"user":"lauritz","tags":[]},"1941":{"isSerializedDate":true,"string":"Thu Nov 17 2011 04:59:26 GMT+0100 (CET)"},"1942":{"varMapping":{"__isSmartRef__":true,"id":1943},"source":"function generateSourceForScript(scriptName) {\n var script = this.target[scriptName],\n annotation = '',\n scriptSource = '',\n tagScript = '';\n\n if (script.timestamp && script.user) \n annotation = Strings.format('// changed at %s by %s \\n', script.timestamp, script.user);\n scriptSource = Strings.format('this.addScript(%s)', script.getOriginal());\n tagScript = Strings.format('.tag(%s);', this.printTags(script));\n\n return annotation + scriptSource + tagScript;\n}","funcProperties":{"__isSmartRef__":true,"id":1944},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"1943":{"this":{"__isSmartRef__":true,"id":263}},"1944":{"timestamp":{"__isSmartRef__":true,"id":1945},"user":"lauritz","tags":[]},"1945":{"isSerializedDate":true,"string":"Tue Nov 29 2011 04:32:42 GMT+0100 (CET)"},"1946":{"varMapping":{"__isSmartRef__":true,"id":1947},"source":"function generateTargetCode(baseObject, targetObject) {\n\tvar name = targetObject.name;\n\tif (baseObject === targetObject) \n\t\treturn \"this\";\n\telse if (baseObject[name] === targetObject) \n\t\treturn \"this.\" + name;\n\telse if (baseObject.testObject === targetObject) \n\t\treturn \"this.testObject\";\n\telse if (baseObject.get(name) === targetObject) \n\t\treturn 'this.get(\"' + name + '\")';\n\telse if (targetObject instanceof Morph) \n\t\treturn '$morph(\"' + name + '\")';\n\telse \n\t\treturn \"????\";\n}","funcProperties":{"__isSmartRef__":true,"id":1948},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"1947":{"this":{"__isSmartRef__":true,"id":263}},"1948":{"timestamp":{"__isSmartRef__":true,"id":1949},"user":"lauritz","tags":[]},"1949":{"isSerializedDate":true,"string":"Thu Nov 17 2011 04:59:26 GMT+0100 (CET)"},"1950":{"varMapping":{"__isSmartRef__":true,"id":1951},"source":"function newConnection() {\n if (this.target) {\n var code = \"connect(SOURCE, SOURCE_PROPERTY, TARGET, TARGET_PROPERTY);\";\n this.displayJavaScriptSource(code);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1952},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"1951":{"this":{"__isSmartRef__":true,"id":263}},"1952":{"timestamp":{"__isSmartRef__":true,"id":1953},"user":"lauritz","tags":[]},"1953":{"isSerializedDate":true,"string":"Thu Nov 17 2011 04:59:26 GMT+0100 (CET)"},"1954":{"varMapping":{"__isSmartRef__":true,"id":1955},"source":"function newScript() {\n if (this.target) {\n var code = \"this.addScript(function SCRIPTNAME() {\\n \\n}).tag([]);\";\n this.displayJavaScriptSource(code);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1956},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"1955":{"this":{"__isSmartRef__":true,"id":263}},"1956":{"timestamp":{"__isSmartRef__":true,"id":1957},"user":"lauritz","tags":[]},"1957":{"isSerializedDate":true,"string":"Tue Nov 29 2011 04:24:25 GMT+0100 (CET)"},"1958":{"varMapping":{"__isSmartRef__":true,"id":1959},"source":"function reset() {\n this.scriptPane = this.get('ObjectEditorScriptPane')\n this.scriptList = this.get('ObjectEditorScriptList')\n this.connectionList = this.get('ObjectEditorConnectionList')\n this.morphSelector = this.get('ObjectEditorMorphSelector')\n this.target = null;\n this.scriptPane.reset();\n this.scriptList.setList();\n this.scriptList.selection = null;\n this.connectionList.setList();\n this.connectionList.selection = null;\n this.morphSelector.reset();\n this.tagChooser.reset();\n this.currentTag = null;\n this.stopStepping();\n}","funcProperties":{"__isSmartRef__":true,"id":1960},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"1959":{"this":{"__isSmartRef__":true,"id":263}},"1960":{"timestamp":{"__isSmartRef__":true,"id":1961},"user":"conradcalmez","tags":[]},"1961":{"isSerializedDate":true,"string":"Thu Feb 02 2012 14:57:50 GMT+0100 (CET)"},"1962":{"varMapping":{"__isSmartRef__":true,"id":1963},"source":"function selectChangedContent(source) {\n\n var addScriptRegex = /this\\.addScript\\s*\\(\\s*function\\s*([^\\(]*)/g;\n var addScriptMatches = [];\n var addScriptMatch = addScriptRegex.exec(source);\n while (addScriptMatch) {\n addScriptMatches.push(addScriptMatch[1]);\n addScriptMatch = addScriptRegex.exec(source);\n }\n \n // if scripts were added, select either a specific one or all\n if (addScriptMatches.length > 0) { \n if (addScriptMatches.length === 1) {\n return this.scriptList.selectAddedScript(addScriptMatches[0]);\n }\n return this.scriptList.selectAt(0);\n }\n\n var connectionRegex = \n /connect\\(\\s*([^,]*)\\s*,\\s*\"([^,]*)\"\\s*,\\s*([^,]*)\\s*,\\s*\"([^,]*)\"/g;\n var connectionMatches = [];\n var connectionMatch = connectionRegex.exec(source);\n while (connectionMatch) {\n connectionMatches.push(connectionMatch);\n connectionMatch = connectionRegex.exec(source);\n }\n\n // if connections were made, select either a specific one or all\n if (connectionMatches.length > 0) {\n if (connectionMatches.length === 1) {\n var match = connectionMatches[0];\n for (var i=0; i 0) {\n this._startJob(queue.shift())\n }\n }\n\n this._startJob = function(jobObj) {\n var job = jobObj.job;\n var callback = jobObj.callback;\n var slot = this._getFreeSlot();\n\n var sanitize = function(string) {\n return \"'\" + string.replace(/['\\\\]/g, '') + \"'\";\n }\n\n command = sanitize(job.executable);\n var args = __.map(job.args, function(arg) {\n if (arg == \"JOBID\") {\n return jobObj.jobId;\n } else if (arg == \"SLOT\") {\n return slot;\n } else {\n return sanitize(arg);\n }\n });\n command = command + \" \" + args.join(\" \");\n\n var child = exec(command, job.options, function(error) {\n callback(error);\n });\n\n jobs[slot] = jobObj\n jobObj.slot = slot\n jobObj.process = child;\n jobObj.status = \"running\";\n\n job.metadata = job.metadata || {};\n job.metadata.pid = child.pid;\n\n if (job.stdin) {\n child.stdin.write(job.stdin);\n child.stdin.end();\n }\n\n if (job.stdout) {\n child.stdout.addListener('data', function(data) {\n job.stdout(data);\n });\n }\n if (job.stderr) {\n child.stderr.addListener('data', function(data) {\n job.stderr(data);\n });\n }\n }\n}\nvar phantomQueue = new JobQueue(10);\nvar execQueue = new JobQueue(3);\nvar convertQueue = new JobQueue(10);\n\nvar __ = require('underscore'),\n fs = require('fs'),\n crypto = require('crypto'),\n url = require('url'),\n rest = require('restler');\n\n exec = require('child_process').exec,\n spawn = require('child_process').spawn;\n\nvar express = require('express');\nvar app = express.createServer();\napp.configure(function() {\n app.use(express.logger());\n app.use(express.bodyParser());\n app.use(app.router);\n});\n\nfunction withScreenshot(url, filename, callback) {\n try {\n var stat = fs.lstatSync(filename);\n callback(url, filename);\n } catch(e) {\n var script = 'var filename = phantom.args[1];' +\n 'page.render(filename);';\n\n\n var job = {\n executable: \"/usr/local/bin/phantomjs\",\n args: [ \"/home/nodejs/phantomjs/doit.js\",\n url,\n filename\n ],\n stdin: script,\n options: {\n timeout: 30000\n },\n }\n execQueue.enqueue(job, function(error) {\n callback(url, filename);\n });\n }\n}\n\nfunction phantomExec(url, script, callbacks) {\n var job = {\n executable: \"/usr/local/bin/phantomjs\",\n args: [ \"/home/nodejs/phantomjs/doit.js\",\n url,\n ],\n stdin: script,\n stdout: callbacks.stdout,\n stderr: callbacks.stderr,\n options: {\n timeout: 60000\n },\n }\n return execQueue.enqueue(job, callbacks.finish);\n}\n\napp.get('/screenshot/full/*', function(req, res) {\n var cacheDir = '/home/nodejs/phantomjs/screenshots';\n\n var remoteURL = 'http://lively-kernel.org/' + req.params[0];\n remoteURL += (url.parse(req.url, true).search || \"\");\n\n console.log(remoteURL);\n\n var md5sum = crypto.createHash('md5');\n md5sum.update(remoteURL);\n var urlMD5 = md5sum.digest('hex');\n\n var screenshot = cacheDir + \"/\" + urlMD5 + \"_full.png\";\n\n if (/^[^?]+\\.x?html(\\?.*)?$/.test(remoteURL)) {\n withScreenshot(remoteURL, screenshot, function(remoteURL, screenshot) {\n res.sendfile(screenshot);\n });\n } else {\n res.send(404);\n }\n});\n\napp.get(/^\\/screenshot\\/(medium|cropped|thumb|part)\\/(.+)$/, function(req, res) {\n var cacheDir = '/home/nodejs/phantomjs/screenshots';\n\n var size = req.params[0];\n var remoteURL = 'http://lively-kernel.org/' + req.params[1];\n remoteURL += (url.parse(req.url, true).search || \"\");\n\n var md5sum = crypto.createHash('md5');\n md5sum.update(remoteURL);\n var urlMD5 = md5sum.digest('hex');\n\n var screenshotFull = cacheDir + \"/\" + urlMD5 + \"_full.png\";\n var screenshot = cacheDir + \"/\" + urlMD5 + \"_\" + size + \".png\";\n\n switch(size) {\n case \"medium\":\n var convert = [\"-crop\", \"1024x768+0+0\", \"-background\", \"#ffffff\", screenshotFull, screenshot]\n break;\n case \"cropped\":\n var convert = [\"-trim\", screenshotFull, screenshot]\n break;\n case \"thumb\":\n var convert = [\"-trim\", \"-resize\", \"100x100\", screenshotFull, screenshot]\n break;\n case \"part\":\n var convert = [\"-crop\", req.query['size']+\"x\"+req.query[\"size\"]+\"+0+0\", screenshotFull, screenshot]\n break;\n }\n\n try {\n var stat = fs.lstatSync(screenshot);\n res.sendfile(screenshot);\n } catch(e) {\n if (/^[^?]+\\.x?html(\\?.*)?$/.test(remoteURL)) {\n withScreenshot(remoteURL, screenshotFull, function(remoteURL, screenshotFull) {\n var job = {\n executable: \"/usr/bin/convert\",\n args: convert\n }\n convertQueue.enqueue(job, function(code) {\n res.sendfile(screenshot);\n });\n });\n } else {\n res.send(404);\n }\n }\n});\n\nfunction deleteFile(filePath) {\n fs.stat(filePath, function(err, stats) {\n if (!err) {\n if (stats.isFile()) {\n fs.unlink(filePath, function(err) {\n if (err) {\n console.log(JSON.stringify(err));\n } else {\n console.log(\"Removed \" + filePath);\n }\n });\n }\n } else {\n console.log(JSON.stringify(err));\n }\n });\n}\n\napp.delete(/^\\/screenshot\\/(full|medium|cropped|thumb)$/, function(req, res) {\n var size = req.params[0];\n var cacheDir = '/home/nodejs/phantomjs/screenshots';\n\n fs.readdir(cacheDir, function(err, files) {\n if (err) {\n res.finish(500);\n } else {\n __.each(files, function(file) {\n if (size == \"full\" || RegExp(\"_\" + size + \"\\.png$\").test(file)) {\n var filePath = cacheDir + \"/\" + file;\n deleteFile(filePath);\n }\n });\n }\n res.send(202);\n });\n});\n\napp.delete(/^\\/screenshot\\/(full|medium|cropped|thumb)\\/(.+)$/, function(req, res) {\n var size = req.params[0];\n var cacheDir = '/home/nodejs/phantomjs/screenshots';\n\n var remoteURL = 'http://lively-kernel.org/' + req.params[1];\n remoteURL += (url.parse(req.url, true).search || \"\");\n\n var md5sum = crypto.createHash('md5');\n md5sum.update(remoteURL);\n var urlMD5 = md5sum.digest('hex');\n\n var screenshot = cacheDir + \"/\" + urlMD5 + \"_\" + size + \".png\";\n deleteFile(screenshot);\n res.send(202);\n});\n\napp.post('/exec/*', function(req, res) {\n var remoteURL = 'http://lively-kernel.org/' + req.params[0];\n\n phantomExec(remoteURL, req.body.script, {\n stdout: function(data) { res.write(data); },\n stderr: function(data) { res.write(data); },\n finish: function(error) {\n res.end();\n }\n });\n});\n\nfunction phantomCloud(url, job) {\n job.executable = \"/usr/local/bin/phantomjs\";\n job.args = [ \"/home/nodejs/phantomjs/cloud.js\",\n url,\n \"SLOT\"\n ];\n job.stdin = job.stdin || \"true;\";\n return phantomQueue.enqueue(job, job.finish || function(error){ });\n}\n\napp.post('/cloud', function(req, res) {\n var remoteURL = req.body.url;\n\n var jobId = phantomCloud(remoteURL, {\n metadata: {\n url: remoteURL\n },\n stdout: function(data) { console.log(\" \" + data.replace(/^\\s+|\\s+$/g, '')); },\n stderr: function(data) { console.log(\" \" + data.replace(/^\\s+|\\s+$/g, '')); },\n });\n\n res.json({\n jobId: jobId\n });\n});\n\napp.get('/cloud', function(req, res) {\n var remoteURL = req.query.url;\n\n var info = phantomQueue.getInfo();\n jobIds = __.union(info.running, info.queued);\n\n var jobId = __.find(jobIds, function(id) {\n var job = phantomQueue.getJobInfo(id);\n return job.job.metadata.url == remoteURL;\n });\n\n if (jobId) {\n var job = phantomQueue.getJobInfo(jobId);\n var metadata = job.job.metadata ? job.job.metadata : new Object();\n res.json({\n job: job.jobId,\n status: job.status,\n metadata: metadata\n });\n } else {\n res.send(404);\n }\n});\n\napp.get('/cloud/:jobId', function(req, res) {\n var job = phantomQueue.getJobInfo(req.params.jobId);\n\n if (job && job.job) {\n var metadata = job.job.metadata ? job.job.metadata : new Object();\n res.json({\n job: req.params.jobId,\n status: job.status,\n metadata: metadata\n })\n } else {\n res.send(404);\n }\n});\n\napp.delete('/cloud/:jobId', function(req, res) {\n phantomQueue.kill(req.params.jobId);\n res.send(202);\n});\n\nfunction cloudExec(jobId, sync, script, callback) {\n if (Number(jobId).toString() != jobId) {\n res.send(404);\n return\n }\n\n var job = phantomQueue.getJobInfo(jobId);\n if (job && job.job && job.status == \"running\") {\n\n var remoteURL = \"http://127.0.0.1:\" + (10000+job.slot) + \"/exec\";\n if (sync) remoteURL += \"/sync\";\n rest.post(remoteURL, {\n data: {script: script}\n }).on('complete', function(data, response) {\n callback(null, data)\n });\n } else {\n callback(\"Job not running\")\n }\n}\n\napp.post('/cloud/:jobId/exec', function(req, res) {\n var jobId = req.params.jobId;\n \n cloudExec(jobId, req.body.script, function(error, result) {\n if (error) {\n res.send(404);\n } else {\n res.json(result); \n }\n });\n});\n\napp.post('/cloud/:jobId/stop', function(req, res) {\n var jobId = req.params.jobId;\n \n var script = function() {\n page.evaluate(function() {\n var savingForExit = true;\n var afterSaveCallback = function() {\n if (!savingForExit) return;\n window.worldCanBeShutdown = true;\n }\n connect($world, 'savingDone', this, 'afterSaveCallback');\n $world.saveWorldAs(URL.source, false);\n });\n \n waitFor(function() {\n return window.worldCanBeShutdown;\n }, function() {\n phantom.exit(0);\n }, timeout);\n }\n \n cloudExec(jobId, \"(\" + script.toString() + \")()\", function(error, result) {\n if (error) {\n res.send(404);\n } else {\n res.json(result)\n }\n });\n})\n\n\napp.get('/queues', function(req, res) {\n res.json({\n phantomjs: phantomQueue.getInfo(),\n exec: execQueue.getInfo(),\n convert: convertQueue.getInfo()\n });\n});\n\napp.listen(PhantomJSServer.port, \"localhost\");","sourceString":"PhantomJSServer = {\n port: 8105\n}\n\nfunction JobQueue(concurrency) {\n var queue = [];\n var jobs = new Array(concurrency);\n\n var lastJobId = 0;\n this.nextJobId = function(){\n return ++lastJobId;\n }\n\n this._getJob = function(jobId) {\n return __.find(jobs, function(e) {\n if (!e) return false;\n return e.jobId == jobId;\n });\n }\n\n this._getSlot = function(jobId) {\n var job = this._getJob(jobId);\n if (job) {\n return jobs.indexOf(job)\n }\n }\n\n this._getFreeSlot = function() {\n for (var i=0; i 0) {\n this._startJob(queue.shift())\n }\n }\n\n this._startJob = function(jobObj) {\n var job = jobObj.job;\n var callback = jobObj.callback;\n var slot = this._getFreeSlot();\n\n var sanitize = function(string) {\n return \"'\" + string.replace(/['\\\\]/g, '') + \"'\";\n }\n\n command = sanitize(job.executable);\n var args = __.map(job.args, function(arg) {\n if (arg == \"JOBID\") {\n return jobObj.jobId;\n } else if (arg == \"SLOT\") {\n return slot;\n } else {\n return sanitize(arg);\n }\n });\n command = command + \" \" + args.join(\" \");\n\n var child = exec(command, job.options, function(error) {\n callback(error);\n });\n\n jobs[slot] = jobObj\n jobObj.slot = slot\n jobObj.process = child;\n jobObj.status = \"running\";\n\n job.metadata = job.metadata || {};\n job.metadata.pid = child.pid;\n\n if (job.stdin) {\n child.stdin.write(job.stdin);\n child.stdin.end();\n }\n\n if (job.stdout) {\n child.stdout.addListener('data', function(data) {\n job.stdout(data);\n });\n }\n if (job.stderr) {\n child.stderr.addListener('data', function(data) {\n job.stderr(data);\n });\n }\n }\n}\nvar phantomQueue = new JobQueue(10);\nvar execQueue = new JobQueue(3);\nvar convertQueue = new JobQueue(10);\n\nvar __ = require('underscore'),\n fs = require('fs'),\n crypto = require('crypto'),\n url = require('url'),\n rest = require('restler');\n\n exec = require('child_process').exec,\n spawn = require('child_process').spawn;\n\nvar express = require('express');\nvar app = express.createServer();\napp.configure(function() {\n app.use(express.logger());\n app.use(express.bodyParser());\n app.use(app.router);\n});\n\nfunction withScreenshot(url, filename, callback) {\n try {\n var stat = fs.lstatSync(filename);\n callback(url, filename);\n } catch(e) {\n var script = 'var filename = phantom.args[1];' +\n 'page.render(filename);';\n\n\n var job = {\n executable: \"/usr/local/bin/phantomjs\",\n args: [ \"/home/nodejs/phantomjs/doit.js\",\n url,\n filename\n ],\n stdin: script,\n options: {\n timeout: 30000\n },\n }\n execQueue.enqueue(job, function(error) {\n callback(url, filename);\n });\n }\n}\n\nfunction phantomExec(url, script, callbacks) {\n var job = {\n executable: \"/usr/local/bin/phantomjs\",\n args: [ \"/home/nodejs/phantomjs/doit.js\",\n url,\n ],\n stdin: script,\n stdout: callbacks.stdout,\n stderr: callbacks.stderr,\n options: {\n timeout: 60000\n },\n }\n return execQueue.enqueue(job, callbacks.finish);\n}\n\napp.get('/screenshot/full/*', function(req, res) {\n var cacheDir = '/home/nodejs/phantomjs/screenshots';\n\n var remoteURL = 'http://lively-kernel.org/' + req.params[0];\n remoteURL += (url.parse(req.url, true).search || \"\");\n\n console.log(remoteURL);\n\n var md5sum = crypto.createHash('md5');\n md5sum.update(remoteURL);\n var urlMD5 = md5sum.digest('hex');\n\n var screenshot = cacheDir + \"/\" + urlMD5 + \"_full.png\";\n\n if (/^[^?]+\\.x?html(\\?.*)?$/.test(remoteURL)) {\n withScreenshot(remoteURL, screenshot, function(remoteURL, screenshot) {\n res.sendfile(screenshot);\n });\n } else {\n res.send(404);\n }\n});\n\napp.get(/^\\/screenshot\\/(medium|cropped|thumb|part)\\/(.+)$/, function(req, res) {\n var cacheDir = '/home/nodejs/phantomjs/screenshots';\n\n var size = req.params[0];\n var remoteURL = 'http://lively-kernel.org/' + req.params[1];\n remoteURL += (url.parse(req.url, true).search || \"\");\n\n var md5sum = crypto.createHash('md5');\n md5sum.update(remoteURL);\n var urlMD5 = md5sum.digest('hex');\n\n var screenshotFull = cacheDir + \"/\" + urlMD5 + \"_full.png\";\n var screenshot = cacheDir + \"/\" + urlMD5 + \"_\" + size + \".png\";\n\n switch(size) {\n case \"medium\":\n var convert = [\"-crop\", \"1024x768+0+0\", \"-background\", \"#ffffff\", screenshotFull, screenshot]\n break;\n case \"cropped\":\n var convert = [\"-trim\", screenshotFull, screenshot]\n break;\n case \"thumb\":\n var convert = [\"-trim\", \"-resize\", \"100x100\", screenshotFull, screenshot]\n break;\n case \"part\":\n var convert = [\"-crop\", req.query['size']+\"x\"+req.query[\"size\"]+\"+0+0\", screenshotFull, screenshot]\n break;\n }\n\n try {\n var stat = fs.lstatSync(screenshot);\n res.sendfile(screenshot);\n } catch(e) {\n if (/^[^?]+\\.x?html(\\?.*)?$/.test(remoteURL)) {\n withScreenshot(remoteURL, screenshotFull, function(remoteURL, screenshotFull) {\n var job = {\n executable: \"/usr/bin/convert\",\n args: convert\n }\n convertQueue.enqueue(job, function(code) {\n res.sendfile(screenshot);\n });\n });\n } else {\n res.send(404);\n }\n }\n});\n\nfunction deleteFile(filePath) {\n fs.stat(filePath, function(err, stats) {\n if (!err) {\n if (stats.isFile()) {\n fs.unlink(filePath, function(err) {\n if (err) {\n console.log(JSON.stringify(err));\n } else {\n console.log(\"Removed \" + filePath);\n }\n });\n }\n } else {\n console.log(JSON.stringify(err));\n }\n });\n}\n\napp.delete(/^\\/screenshot\\/(full|medium|cropped|thumb)$/, function(req, res) {\n var size = req.params[0];\n var cacheDir = '/home/nodejs/phantomjs/screenshots';\n\n fs.readdir(cacheDir, function(err, files) {\n if (err) {\n res.finish(500);\n } else {\n __.each(files, function(file) {\n if (size == \"full\" || RegExp(\"_\" + size + \"\\.png$\").test(file)) {\n var filePath = cacheDir + \"/\" + file;\n deleteFile(filePath);\n }\n });\n }\n res.send(202);\n });\n});\n\napp.delete(/^\\/screenshot\\/(full|medium|cropped|thumb)\\/(.+)$/, function(req, res) {\n var size = req.params[0];\n var cacheDir = '/home/nodejs/phantomjs/screenshots';\n\n var remoteURL = 'http://lively-kernel.org/' + req.params[1];\n remoteURL += (url.parse(req.url, true).search || \"\");\n\n var md5sum = crypto.createHash('md5');\n md5sum.update(remoteURL);\n var urlMD5 = md5sum.digest('hex');\n\n var screenshot = cacheDir + \"/\" + urlMD5 + \"_\" + size + \".png\";\n deleteFile(screenshot);\n res.send(202);\n});\n\napp.post('/exec/*', function(req, res) {\n var remoteURL = 'http://lively-kernel.org/' + req.params[0];\n\n phantomExec(remoteURL, req.body.script, {\n stdout: function(data) { res.write(data); },\n stderr: function(data) { res.write(data); },\n finish: function(error) {\n res.end();\n }\n });\n});\n\nfunction phantomCloud(url, job) {\n job.executable = \"/usr/local/bin/phantomjs\";\n job.args = [ \"/home/nodejs/phantomjs/cloud.js\",\n url,\n \"SLOT\"\n ];\n job.stdin = job.stdin || \"true;\";\n return phantomQueue.enqueue(job, job.finish || function(error){ });\n}\n\napp.post('/cloud', function(req, res) {\n var remoteURL = req.body.url;\n\n var jobId = phantomCloud(remoteURL, {\n metadata: {\n url: remoteURL\n },\n stdout: function(data) { console.log(\" \" + data.replace(/^\\s+|\\s+$/g, '')); },\n stderr: function(data) { console.log(\" \" + data.replace(/^\\s+|\\s+$/g, '')); },\n });\n\n res.json({\n jobId: jobId\n });\n});\n\napp.get('/cloud', function(req, res) {\n var remoteURL = req.query.url;\n\n var info = phantomQueue.getInfo();\n jobIds = __.union(info.running, info.queued);\n\n var jobId = __.find(jobIds, function(id) {\n var job = phantomQueue.getJobInfo(id);\n return job.job.metadata.url == remoteURL;\n });\n\n if (jobId) {\n var job = phantomQueue.getJobInfo(jobId);\n var metadata = job.job.metadata ? job.job.metadata : new Object();\n res.json({\n job: job.jobId,\n status: job.status,\n metadata: metadata\n });\n } else {\n res.send(404);\n }\n});\n\napp.get('/cloud/:jobId', function(req, res) {\n var job = phantomQueue.getJobInfo(req.params.jobId);\n\n if (job && job.job) {\n var metadata = job.job.metadata ? job.job.metadata : new Object();\n res.json({\n job: req.params.jobId,\n status: job.status,\n metadata: metadata\n })\n } else {\n res.send(404);\n }\n});\n\napp.delete('/cloud/:jobId', function(req, res) {\n phantomQueue.kill(req.params.jobId);\n res.send(202);\n});\n\nfunction cloudExec(jobId, sync, script, callback) {\n if (Number(jobId).toString() != jobId) {\n res.send(404);\n return\n }\n\n var job = phantomQueue.getJobInfo(jobId);\n if (job && job.job && job.status == \"running\") {\n\n var remoteURL = \"http://127.0.0.1:\" + (10000+job.slot) + \"/exec\";\n if (sync) remoteURL += \"/sync\";\n rest.post(remoteURL, {\n data: {script: script}\n }).on('complete', function(data, response) {\n callback(null, data)\n });\n } else {\n callback(\"Job not running\")\n }\n}\n\napp.post('/cloud/:jobId/exec', function(req, res) {\n var jobId = req.params.jobId;\n \n cloudExec(jobId, req.body.script, function(error, result) {\n if (error) {\n res.send(404);\n } else {\n res.json(result); \n }\n });\n});\n\napp.post('/cloud/:jobId/stop', function(req, res) {\n var jobId = req.params.jobId;\n \n var script = function() {\n page.evaluate(function() {\n var savingForExit = true;\n var afterSaveCallback = function() {\n if (!savingForExit) return;\n window.worldCanBeShutdown = true;\n }\n connect($world, 'savingDone', this, 'afterSaveCallback');\n $world.saveWorldAs(URL.source, false);\n });\n \n waitFor(function() {\n return window.worldCanBeShutdown;\n }, function() {\n phantom.exit(0);\n }, timeout);\n }\n \n cloudExec(jobId, \"(\" + script.toString() + \")()\", function(error, result) {\n if (error) {\n res.send(404);\n } else {\n res.json(result)\n }\n });\n})\n\n\napp.get('/queues', function(req, res) {\n res.json({\n phantomjs: phantomQueue.getInfo(),\n exec: execQueue.getInfo(),\n convert: convertQueue.getInfo()\n });\n});\n\napp.listen(PhantomJSServer.port, \"localhost\");","doNotSerialize":["$$targetURL"],"doNotCopyProperties":["$$targetURL"],"_rootNode":{"__isSmartRef__":true,"id":2774},"Pane1Selection":{"__isSmartRef__":true,"id":2812},"pane1Selection":{"__isSmartRef__":true,"id":2812},"Pane2Selection":null,"pane2Selection":null,"Pane3Selection":null,"pane3Selection":null,"Pane4Selection":null,"pane4Selection":null,"Pane4Content":["-----"],"Pane3Content":["-----"],"Pane2Content":[{"__isSmartRef__":true,"id":2934},{"__isSmartRef__":true,"id":2936}],"Pane1Content":[{"__isSmartRef__":true,"id":2771},{"__isSmartRef__":true,"id":2841},{"__isSmartRef__":true,"id":2842},{"__isSmartRef__":true,"id":2843},{"__isSmartRef__":true,"id":2844},{"__isSmartRef__":true,"id":2845},{"__isSmartRef__":true,"id":2846},{"__isSmartRef__":true,"id":2847},{"__isSmartRef__":true,"id":2848},{"__isSmartRef__":true,"id":2849},{"__isSmartRef__":true,"id":2850},{"__isSmartRef__":true,"id":2851},{"__isSmartRef__":true,"id":2852},{"__isSmartRef__":true,"id":2853},{"__isSmartRef__":true,"id":2854},{"__isSmartRef__":true,"id":2855},{"__isSmartRef__":true,"id":2856},{"__isSmartRef__":true,"id":2857},{"__isSmartRef__":true,"id":2858},{"__isSmartRef__":true,"id":2859},{"__isSmartRef__":true,"id":2860},{"__isSmartRef__":true,"id":2861},{"__isSmartRef__":true,"id":2862},{"__isSmartRef__":true,"id":2863},{"__isSmartRef__":true,"id":2864},{"__isSmartRef__":true,"id":2865},{"__isSmartRef__":true,"id":2866},{"__isSmartRef__":true,"id":2867},{"__isSmartRef__":true,"id":2868},{"__isSmartRef__":true,"id":2869},{"__isSmartRef__":true,"id":2870},{"__isSmartRef__":true,"id":2871},{"__isSmartRef__":true,"id":2872},{"__isSmartRef__":true,"id":2873},{"__isSmartRef__":true,"id":2874},{"__isSmartRef__":true,"id":2875},{"__isSmartRef__":true,"id":2876},{"__isSmartRef__":true,"id":2877},{"__isSmartRef__":true,"id":2878},{"__isSmartRef__":true,"id":2879},{"__isSmartRef__":true,"id":2880},{"__isSmartRef__":true,"id":2881},{"__isSmartRef__":true,"id":2882},{"__isSmartRef__":true,"id":2883},{"__isSmartRef__":true,"id":2884},{"__isSmartRef__":true,"id":2885},{"__isSmartRef__":true,"id":2886},{"__isSmartRef__":true,"id":2887},{"__isSmartRef__":true,"id":2888},{"__isSmartRef__":true,"id":2889},{"__isSmartRef__":true,"id":2890},{"__isSmartRef__":true,"id":2891},{"__isSmartRef__":true,"id":2892}],"Pane1Menu":[["Add to world requirements"],["remove"],["reparse"],["-------"],["open in text editor"],["show versions"],["diff versions"],["get module part"]],"Pane2Menu":[["-------"],["open in text editor"],["show versions"],["diff versions"],["get module part"]],"Pane3Menu":[["-------"],["open in text editor"],["show versions"],["diff versions"],["get module part"]],"currentModuleName":"server/nodejs/PhantomJSServer.js","_statusMorph":{"__isSmartRef__":true,"id":3064},"__LivelyClassName__":"lively.ide.SystemBrowser","__SourceModuleName__":"Global.lively.ide.SystemCodeBrowser"},"2507":{"browser":{"__isSmartRef__":true,"id":2506},"button":{"__isSmartRef__":true,"id":2508},"__LivelyClassName__":"lively.ide.AddNewFileCommand","__SourceModuleName__":"Global.lively.ide.BrowserCommands"},"2508":{"submorphs":[{"__isSmartRef__":true,"id":2509}],"scripts":[],"shape":{"__isSmartRef__":true,"id":2520},"derivationIds":[null],"id":"C6DDFFCE-20C9-4749-AE79-BAB9DBEC057C","renderContextTable":{"__isSmartRef__":true,"id":2534},"eventHandler":{"__isSmartRef__":true,"id":2535},"_ClipMode":"visible","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"_Position":{"__isSmartRef__":true,"id":2536},"priorExtent":{"__isSmartRef__":true,"id":2537},"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":2525},"lighterFill":{"__isSmartRef__":true,"id":2538},"label":{"__isSmartRef__":true,"id":2509},"command":{"__isSmartRef__":true,"id":2507},"attributeConnections":[{"__isSmartRef__":true,"id":2547},{"__isSmartRef__":true,"id":2548}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"owner":{"__isSmartRef__":true,"id":2490},"layout":{"__isSmartRef__":true,"id":2550},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets"},"2509":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2510},"derivationIds":[null],"id":"79FCAEB8-D0B3-4E68-B1EF-6E455032C5C2","renderContextTable":{"__isSmartRef__":true,"id":2515},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":2516}],"eventHandler":{"__isSmartRef__":true,"id":2518},"_ClipMode":"hidden","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":true,"_InputAllowed":false,"allowInput":false,"_FontFamily":"Helvetica","_FontSize":9,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":2508},"isLabel":true,"_HandStyle":"default","_TextColor":{"__isSmartRef__":true,"id":2497},"_Align":"center","eventsAreIgnored":true,"priorExtent":{"__isSmartRef__":true,"id":2519},"_MaxTextWidth":117.14285714285714,"_MinTextWidth":117.14285714285714,"_MaxTextHeight":null,"_MinTextHeight":null,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2510":{"_Position":{"__isSmartRef__":true,"id":2511},"renderContextTable":{"__isSmartRef__":true,"id":2512},"_Extent":{"__isSmartRef__":true,"id":2513},"styleClassName":"Text","_Padding":{"__isSmartRef__":true,"id":2514},"_BorderWidth":0,"_BorderColor":{"__isSmartRef__":true,"id":2497},"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes"},"2511":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2512":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"2513":{"x":117.14285714285714,"y":22,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2514":{"x":0,"y":4,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2515":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML","updateText":"updateTextHTML","setTextExtent":"setTextExtentHTML","setMaxTextWidth":"setMaxTextWidthHTML","setMaxTextHeight":"setMaxTextHeightHTML","setMinTextWidth":"setMinTextWidthHTML","setMinTextHeight":"setMinTextHeightHTML","getTextExtent":"getTextExtentHTML","getTextString":"getTextStringHTML","ignoreTextEvents":"ignoreTextEventsHTML","unignoreTextEvents":"unignoreTextEventsHTML","enableTextEvents":"enableTextEventsHTML","setFontFamily":"setFontFamilyHTML","setFontSize":"setFontSizeHTML","setTextColor":"setTextColorHTML","setFontWeight":"setFontWeightHTML","setFontStyle":"setFontStyleHTML","setTextDecoration":"setTextDecorationHTML","setPadding":"setPaddingHTML","setAlign":"setAlignHTML","setVerticalAlign":"setVerticalAlignHTML","setDisplay":"setDisplayHTML","setWhiteSpaceHandling":"setWhiteSpaceHandlingHTML","focusMorph":"focusMorphHTML","setInputAllowed":"setInputAllowedHTML"},"2516":{"style":{"__isSmartRef__":true,"id":2517},"chunkOwner":{"__isSmartRef__":true,"id":2509},"storedString":"Add module","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2517":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2518":{"morph":{"__isSmartRef__":true,"id":2509},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2519":{"x":117.14285714285714,"y":22,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2520":{"_Position":{"__isSmartRef__":true,"id":2521},"renderContextTable":{"__isSmartRef__":true,"id":2522},"_Extent":{"__isSmartRef__":true,"id":2519},"styleClassName":"Button","_Padding":{"__isSmartRef__":true,"id":2523},"_BorderWidth":1,"_BorderColor":{"__isSmartRef__":true,"id":2524},"_Fill":{"__isSmartRef__":true,"id":2525},"_BorderRadius":5,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes"},"2521":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2522":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"2523":{"x":0,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2524":{"r":0.7411764705882353,"g":0.7450980392156863,"b":0.7529411764705882,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2525":{"stops":[{"__isSmartRef__":true,"id":2526},{"__isSmartRef__":true,"id":2528},{"__isSmartRef__":true,"id":2530},{"__isSmartRef__":true,"id":2532}],"vector":{"__isSmartRef__":true,"id":2211},"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes"},"2526":{"offset":0,"color":{"__isSmartRef__":true,"id":2527}},"2527":{"r":0.9600000000000001,"g":0.9600000000000001,"b":0.9600000000000001,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2528":{"offset":0.4,"color":{"__isSmartRef__":true,"id":2529}},"2529":{"r":0.8200000000000001,"g":0.8200000000000001,"b":0.8200000000000001,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2530":{"offset":0.6,"color":{"__isSmartRef__":true,"id":2531}},"2531":{"r":0.8200000000000001,"g":0.8200000000000001,"b":0.8200000000000001,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2532":{"offset":1,"color":{"__isSmartRef__":true,"id":2533}},"2533":{"r":0.94,"g":0.94,"b":0.94,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2534":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML"},"2535":{"morph":{"__isSmartRef__":true,"id":2508},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2536":{"x":0,"y":220,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2537":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2538":{"stops":[{"__isSmartRef__":true,"id":2539},{"__isSmartRef__":true,"id":2541},{"__isSmartRef__":true,"id":2543},{"__isSmartRef__":true,"id":2545}],"vector":{"__isSmartRef__":true,"id":2211},"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes"},"2539":{"offset":0,"color":{"__isSmartRef__":true,"id":2540}},"2540":{"r":0.98,"g":0.98,"b":0.98,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2541":{"offset":0.4,"color":{"__isSmartRef__":true,"id":2542}},"2542":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2543":{"offset":0.6,"color":{"__isSmartRef__":true,"id":2544}},"2544":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2545":{"offset":1,"color":{"__isSmartRef__":true,"id":2546}},"2546":{"r":0.97,"g":0.97,"b":0.97,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2547":{"sourceObj":{"__isSmartRef__":true,"id":2508},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":2507},"targetMethodName":"trigger","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"2548":{"sourceObj":{"__isSmartRef__":true,"id":2508},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":2508},"targetMethodName":"setLabel","converter":null,"converterString":"function () { return this.getSourceObj().command.asString() }","updater":null,"updaterString":null,"varMapping":{"__isSmartRef__":true,"id":2549},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"2549":{"source":{"__isSmartRef__":true,"id":2508},"target":{"__isSmartRef__":true,"id":2508}},"2550":{"scaleVertical":true,"scaleHorizontal":true},"2551":{"browser":{"__isSmartRef__":true,"id":2506},"button":{"__isSmartRef__":true,"id":2552},"__LivelyClassName__":"lively.ide.AllModulesLoadCommand","__SourceModuleName__":"Global.lively.ide.BrowserCommands"},"2552":{"submorphs":[{"__isSmartRef__":true,"id":2553}],"scripts":[],"shape":{"__isSmartRef__":true,"id":2564},"derivationIds":[null],"id":"6B7D7F59-E6F2-47AB-B418-070C9FFBA6EB","renderContextTable":{"__isSmartRef__":true,"id":2568},"eventHandler":{"__isSmartRef__":true,"id":2569},"_ClipMode":"visible","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"_Position":{"__isSmartRef__":true,"id":2570},"priorExtent":{"__isSmartRef__":true,"id":2571},"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":2525},"lighterFill":{"__isSmartRef__":true,"id":2572},"label":{"__isSmartRef__":true,"id":2553},"command":{"__isSmartRef__":true,"id":2551},"attributeConnections":[{"__isSmartRef__":true,"id":2581},{"__isSmartRef__":true,"id":2582}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"owner":{"__isSmartRef__":true,"id":2490},"layout":{"__isSmartRef__":true,"id":2584},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets"},"2553":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2554},"derivationIds":[null],"id":"D0DD8201-A1BE-4B4D-B69C-F1D4522274FC","renderContextTable":{"__isSmartRef__":true,"id":2559},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":2560}],"eventHandler":{"__isSmartRef__":true,"id":2562},"_ClipMode":"hidden","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":true,"_InputAllowed":false,"allowInput":false,"_FontFamily":"Helvetica","_FontSize":9,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":2552},"isLabel":true,"_HandStyle":"default","_TextColor":{"__isSmartRef__":true,"id":2497},"_Align":"center","eventsAreIgnored":true,"priorExtent":{"__isSmartRef__":true,"id":2563},"_MaxTextWidth":117.14285714285714,"_MinTextWidth":117.14285714285714,"_MaxTextHeight":null,"_MinTextHeight":null,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2554":{"_Position":{"__isSmartRef__":true,"id":2555},"renderContextTable":{"__isSmartRef__":true,"id":2556},"_Extent":{"__isSmartRef__":true,"id":2557},"styleClassName":"Text","_Padding":{"__isSmartRef__":true,"id":2558},"_BorderWidth":0,"_BorderColor":{"__isSmartRef__":true,"id":2497},"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes"},"2555":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2556":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"2557":{"x":117.14285714285714,"y":22,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2558":{"x":0,"y":4,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2559":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML","updateText":"updateTextHTML","setTextExtent":"setTextExtentHTML","setMaxTextWidth":"setMaxTextWidthHTML","setMaxTextHeight":"setMaxTextHeightHTML","setMinTextWidth":"setMinTextWidthHTML","setMinTextHeight":"setMinTextHeightHTML","getTextExtent":"getTextExtentHTML","getTextString":"getTextStringHTML","ignoreTextEvents":"ignoreTextEventsHTML","unignoreTextEvents":"unignoreTextEventsHTML","enableTextEvents":"enableTextEventsHTML","setFontFamily":"setFontFamilyHTML","setFontSize":"setFontSizeHTML","setTextColor":"setTextColorHTML","setFontWeight":"setFontWeightHTML","setFontStyle":"setFontStyleHTML","setTextDecoration":"setTextDecorationHTML","setPadding":"setPaddingHTML","setAlign":"setAlignHTML","setVerticalAlign":"setVerticalAlignHTML","setDisplay":"setDisplayHTML","setWhiteSpaceHandling":"setWhiteSpaceHandlingHTML","focusMorph":"focusMorphHTML","setInputAllowed":"setInputAllowedHTML"},"2560":{"style":{"__isSmartRef__":true,"id":2561},"chunkOwner":{"__isSmartRef__":true,"id":2553},"storedString":"Load all","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2561":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2562":{"morph":{"__isSmartRef__":true,"id":2553},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2563":{"x":117.14285714285714,"y":22,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2564":{"_Position":{"__isSmartRef__":true,"id":2565},"renderContextTable":{"__isSmartRef__":true,"id":2566},"_Extent":{"__isSmartRef__":true,"id":2563},"styleClassName":"Button","_Padding":{"__isSmartRef__":true,"id":2567},"_BorderWidth":1,"_BorderColor":{"__isSmartRef__":true,"id":2524},"_Fill":{"__isSmartRef__":true,"id":2525},"_BorderRadius":5,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes"},"2565":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2566":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"2567":{"x":0,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2568":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML"},"2569":{"morph":{"__isSmartRef__":true,"id":2552},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2570":{"x":117.14285714285714,"y":220,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2571":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2572":{"stops":[{"__isSmartRef__":true,"id":2573},{"__isSmartRef__":true,"id":2575},{"__isSmartRef__":true,"id":2577},{"__isSmartRef__":true,"id":2579}],"vector":{"__isSmartRef__":true,"id":2211},"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes"},"2573":{"offset":0,"color":{"__isSmartRef__":true,"id":2574}},"2574":{"r":0.98,"g":0.98,"b":0.98,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2575":{"offset":0.4,"color":{"__isSmartRef__":true,"id":2576}},"2576":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2577":{"offset":0.6,"color":{"__isSmartRef__":true,"id":2578}},"2578":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2579":{"offset":1,"color":{"__isSmartRef__":true,"id":2580}},"2580":{"r":0.97,"g":0.97,"b":0.97,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2581":{"sourceObj":{"__isSmartRef__":true,"id":2552},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":2551},"targetMethodName":"trigger","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"2582":{"sourceObj":{"__isSmartRef__":true,"id":2552},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":2552},"targetMethodName":"setLabel","converter":null,"converterString":"function () { return this.getSourceObj().command.asString() }","updater":null,"updaterString":null,"varMapping":{"__isSmartRef__":true,"id":2583},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"2583":{"source":{"__isSmartRef__":true,"id":2552},"target":{"__isSmartRef__":true,"id":2552}},"2584":{"scaleVertical":true,"scaleHorizontal":true},"2585":{"browser":{"__isSmartRef__":true,"id":2506},"button":{"__isSmartRef__":true,"id":2586},"__LivelyClassName__":"lively.ide.ShowLineNumbersCommand","__SourceModuleName__":"Global.lively.ide.BrowserCommands"},"2586":{"submorphs":[{"__isSmartRef__":true,"id":2587}],"scripts":[],"shape":{"__isSmartRef__":true,"id":2598},"derivationIds":[null],"id":"B63D0908-A88D-4DE8-AB6B-BF3D6E80042B","renderContextTable":{"__isSmartRef__":true,"id":2602},"eventHandler":{"__isSmartRef__":true,"id":2603},"_ClipMode":"visible","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"_Position":{"__isSmartRef__":true,"id":2604},"priorExtent":{"__isSmartRef__":true,"id":2605},"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":2525},"lighterFill":{"__isSmartRef__":true,"id":2606},"label":{"__isSmartRef__":true,"id":2587},"command":{"__isSmartRef__":true,"id":2585},"attributeConnections":[{"__isSmartRef__":true,"id":2615},{"__isSmartRef__":true,"id":2616}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"owner":{"__isSmartRef__":true,"id":2490},"layout":{"__isSmartRef__":true,"id":2618},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets"},"2587":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2588},"derivationIds":[null],"id":"BDB8251B-99C5-478C-A94D-97500E220EFC","renderContextTable":{"__isSmartRef__":true,"id":2593},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":2594}],"eventHandler":{"__isSmartRef__":true,"id":2596},"_ClipMode":"hidden","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":true,"_InputAllowed":false,"allowInput":false,"_FontFamily":"Helvetica","_FontSize":9,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":2586},"isLabel":true,"_HandStyle":"default","_TextColor":{"__isSmartRef__":true,"id":2497},"_Align":"center","eventsAreIgnored":true,"priorExtent":{"__isSmartRef__":true,"id":2597},"_MaxTextWidth":117.14285714285714,"_MinTextWidth":117.14285714285714,"_MaxTextHeight":null,"_MinTextHeight":null,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2588":{"_Position":{"__isSmartRef__":true,"id":2589},"renderContextTable":{"__isSmartRef__":true,"id":2590},"_Extent":{"__isSmartRef__":true,"id":2591},"styleClassName":"Text","_Padding":{"__isSmartRef__":true,"id":2592},"_BorderWidth":0,"_BorderColor":{"__isSmartRef__":true,"id":2497},"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes"},"2589":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2590":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"2591":{"x":117.14285714285714,"y":22,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2592":{"x":0,"y":4,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2593":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML","updateText":"updateTextHTML","setTextExtent":"setTextExtentHTML","setMaxTextWidth":"setMaxTextWidthHTML","setMaxTextHeight":"setMaxTextHeightHTML","setMinTextWidth":"setMinTextWidthHTML","setMinTextHeight":"setMinTextHeightHTML","getTextExtent":"getTextExtentHTML","getTextString":"getTextStringHTML","ignoreTextEvents":"ignoreTextEventsHTML","unignoreTextEvents":"unignoreTextEventsHTML","enableTextEvents":"enableTextEventsHTML","setFontFamily":"setFontFamilyHTML","setFontSize":"setFontSizeHTML","setTextColor":"setTextColorHTML","setFontWeight":"setFontWeightHTML","setFontStyle":"setFontStyleHTML","setTextDecoration":"setTextDecorationHTML","setPadding":"setPaddingHTML","setAlign":"setAlignHTML","setVerticalAlign":"setVerticalAlignHTML","setDisplay":"setDisplayHTML","setWhiteSpaceHandling":"setWhiteSpaceHandlingHTML","focusMorph":"focusMorphHTML","setInputAllowed":"setInputAllowedHTML"},"2594":{"style":{"__isSmartRef__":true,"id":2595},"chunkOwner":{"__isSmartRef__":true,"id":2587},"storedString":"LineNo","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2595":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2596":{"morph":{"__isSmartRef__":true,"id":2587},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2597":{"x":117.14285714285714,"y":22,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2598":{"_Position":{"__isSmartRef__":true,"id":2599},"renderContextTable":{"__isSmartRef__":true,"id":2600},"_Extent":{"__isSmartRef__":true,"id":2597},"styleClassName":"Button","_Padding":{"__isSmartRef__":true,"id":2601},"_BorderWidth":1,"_BorderColor":{"__isSmartRef__":true,"id":2524},"_Fill":{"__isSmartRef__":true,"id":2525},"_BorderRadius":5,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes"},"2599":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2600":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"2601":{"x":0,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2602":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML"},"2603":{"morph":{"__isSmartRef__":true,"id":2586},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2604":{"x":234.28571428571428,"y":220,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2605":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2606":{"stops":[{"__isSmartRef__":true,"id":2607},{"__isSmartRef__":true,"id":2609},{"__isSmartRef__":true,"id":2611},{"__isSmartRef__":true,"id":2613}],"vector":{"__isSmartRef__":true,"id":2211},"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes"},"2607":{"offset":0,"color":{"__isSmartRef__":true,"id":2608}},"2608":{"r":0.98,"g":0.98,"b":0.98,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2609":{"offset":0.4,"color":{"__isSmartRef__":true,"id":2610}},"2610":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2611":{"offset":0.6,"color":{"__isSmartRef__":true,"id":2612}},"2612":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2613":{"offset":1,"color":{"__isSmartRef__":true,"id":2614}},"2614":{"r":0.97,"g":0.97,"b":0.97,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2615":{"sourceObj":{"__isSmartRef__":true,"id":2586},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":2585},"targetMethodName":"trigger","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"2616":{"sourceObj":{"__isSmartRef__":true,"id":2586},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":2586},"targetMethodName":"setLabel","converter":null,"converterString":"function () { return this.getSourceObj().command.asString() }","updater":null,"updaterString":null,"varMapping":{"__isSmartRef__":true,"id":2617},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"2617":{"source":{"__isSmartRef__":true,"id":2586},"target":{"__isSmartRef__":true,"id":2586}},"2618":{"scaleVertical":true,"scaleHorizontal":true},"2619":{"browser":{"__isSmartRef__":true,"id":2506},"button":{"__isSmartRef__":true,"id":2620},"__LivelyClassName__":"lively.ide.ParserDebugCommand","__SourceModuleName__":"Global.lively.ide.BrowserCommands"},"2620":{"submorphs":[{"__isSmartRef__":true,"id":2621}],"scripts":[],"shape":{"__isSmartRef__":true,"id":2632},"derivationIds":[null],"id":"89796357-D83C-4F62-9B3C-2406D25BD9F2","renderContextTable":{"__isSmartRef__":true,"id":2636},"eventHandler":{"__isSmartRef__":true,"id":2637},"_ClipMode":"visible","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"_Position":{"__isSmartRef__":true,"id":2638},"priorExtent":{"__isSmartRef__":true,"id":2639},"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":2525},"lighterFill":{"__isSmartRef__":true,"id":2640},"label":{"__isSmartRef__":true,"id":2621},"command":{"__isSmartRef__":true,"id":2619},"attributeConnections":[{"__isSmartRef__":true,"id":2649},{"__isSmartRef__":true,"id":2650}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"owner":{"__isSmartRef__":true,"id":2490},"layout":{"__isSmartRef__":true,"id":2652},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets"},"2621":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2622},"derivationIds":[null],"id":"172BD69C-7EBA-4ADA-80DF-9EA555883106","renderContextTable":{"__isSmartRef__":true,"id":2627},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":2628}],"eventHandler":{"__isSmartRef__":true,"id":2630},"_ClipMode":"hidden","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":true,"_InputAllowed":false,"allowInput":false,"_FontFamily":"Helvetica","_FontSize":9,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":2620},"isLabel":true,"_HandStyle":"default","_TextColor":{"__isSmartRef__":true,"id":2497},"_Align":"center","eventsAreIgnored":true,"priorExtent":{"__isSmartRef__":true,"id":2631},"_MaxTextWidth":117.14285714285714,"_MinTextWidth":117.14285714285714,"_MaxTextHeight":null,"_MinTextHeight":null,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2622":{"_Position":{"__isSmartRef__":true,"id":2623},"renderContextTable":{"__isSmartRef__":true,"id":2624},"_Extent":{"__isSmartRef__":true,"id":2625},"styleClassName":"Text","_Padding":{"__isSmartRef__":true,"id":2626},"_BorderWidth":0,"_BorderColor":{"__isSmartRef__":true,"id":2497},"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes"},"2623":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2624":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"2625":{"x":117.14285714285714,"y":22,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2626":{"x":0,"y":4,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2627":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML","updateText":"updateTextHTML","setTextExtent":"setTextExtentHTML","setMaxTextWidth":"setMaxTextWidthHTML","setMaxTextHeight":"setMaxTextHeightHTML","setMinTextWidth":"setMinTextWidthHTML","setMinTextHeight":"setMinTextHeightHTML","getTextExtent":"getTextExtentHTML","getTextString":"getTextStringHTML","ignoreTextEvents":"ignoreTextEventsHTML","unignoreTextEvents":"unignoreTextEventsHTML","enableTextEvents":"enableTextEventsHTML","setFontFamily":"setFontFamilyHTML","setFontSize":"setFontSizeHTML","setTextColor":"setTextColorHTML","setFontWeight":"setFontWeightHTML","setFontStyle":"setFontStyleHTML","setTextDecoration":"setTextDecorationHTML","setPadding":"setPaddingHTML","setAlign":"setAlignHTML","setVerticalAlign":"setVerticalAlignHTML","setDisplay":"setDisplayHTML","setWhiteSpaceHandling":"setWhiteSpaceHandlingHTML","focusMorph":"focusMorphHTML","setInputAllowed":"setInputAllowedHTML"},"2628":{"style":{"__isSmartRef__":true,"id":2629},"chunkOwner":{"__isSmartRef__":true,"id":2621},"storedString":"Dbg errors is off","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2629":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2630":{"morph":{"__isSmartRef__":true,"id":2621},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2631":{"x":117.14285714285714,"y":22,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2632":{"_Position":{"__isSmartRef__":true,"id":2633},"renderContextTable":{"__isSmartRef__":true,"id":2634},"_Extent":{"__isSmartRef__":true,"id":2631},"styleClassName":"Button","_Padding":{"__isSmartRef__":true,"id":2635},"_BorderWidth":1,"_BorderColor":{"__isSmartRef__":true,"id":2524},"_Fill":{"__isSmartRef__":true,"id":2525},"_BorderRadius":5,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes"},"2633":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2634":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"2635":{"x":0,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2636":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML"},"2637":{"morph":{"__isSmartRef__":true,"id":2620},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2638":{"x":351.42857142857144,"y":220,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2639":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2640":{"stops":[{"__isSmartRef__":true,"id":2641},{"__isSmartRef__":true,"id":2643},{"__isSmartRef__":true,"id":2645},{"__isSmartRef__":true,"id":2647}],"vector":{"__isSmartRef__":true,"id":2211},"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes"},"2641":{"offset":0,"color":{"__isSmartRef__":true,"id":2642}},"2642":{"r":0.98,"g":0.98,"b":0.98,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2643":{"offset":0.4,"color":{"__isSmartRef__":true,"id":2644}},"2644":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2645":{"offset":0.6,"color":{"__isSmartRef__":true,"id":2646}},"2646":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2647":{"offset":1,"color":{"__isSmartRef__":true,"id":2648}},"2648":{"r":0.97,"g":0.97,"b":0.97,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2649":{"sourceObj":{"__isSmartRef__":true,"id":2620},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":2619},"targetMethodName":"trigger","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"2650":{"sourceObj":{"__isSmartRef__":true,"id":2620},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":2620},"targetMethodName":"setLabel","converter":null,"converterString":"function () { return this.getSourceObj().command.asString() }","updater":null,"updaterString":null,"varMapping":{"__isSmartRef__":true,"id":2651},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"2651":{"source":{"__isSmartRef__":true,"id":2620},"target":{"__isSmartRef__":true,"id":2620}},"2652":{"scaleVertical":true,"scaleHorizontal":true},"2653":{"browser":{"__isSmartRef__":true,"id":2506},"button":{"__isSmartRef__":true,"id":2654},"__LivelyClassName__":"lively.ide.EvaluateCommand","__SourceModuleName__":"Global.lively.ide.BrowserCommands"},"2654":{"submorphs":[{"__isSmartRef__":true,"id":2655}],"scripts":[],"shape":{"__isSmartRef__":true,"id":2666},"derivationIds":[null],"id":"0DF67D71-6CF4-439B-94A9-9C767D4AB223","renderContextTable":{"__isSmartRef__":true,"id":2670},"eventHandler":{"__isSmartRef__":true,"id":2671},"_ClipMode":"visible","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"_Position":{"__isSmartRef__":true,"id":2672},"priorExtent":{"__isSmartRef__":true,"id":2673},"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":2525},"lighterFill":{"__isSmartRef__":true,"id":2674},"label":{"__isSmartRef__":true,"id":2655},"command":{"__isSmartRef__":true,"id":2653},"attributeConnections":[{"__isSmartRef__":true,"id":2683},{"__isSmartRef__":true,"id":2684}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"owner":{"__isSmartRef__":true,"id":2490},"layout":{"__isSmartRef__":true,"id":2686},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets"},"2655":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2656},"derivationIds":[null],"id":"10EC368E-9DF3-4144-817C-F54940BF000D","renderContextTable":{"__isSmartRef__":true,"id":2661},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":2662}],"eventHandler":{"__isSmartRef__":true,"id":2664},"_ClipMode":"hidden","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":true,"_InputAllowed":false,"allowInput":false,"_FontFamily":"Helvetica","_FontSize":9,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":2654},"isLabel":true,"_HandStyle":"default","_TextColor":{"__isSmartRef__":true,"id":2497},"_Align":"center","eventsAreIgnored":true,"priorExtent":{"__isSmartRef__":true,"id":2665},"_MaxTextWidth":117.14285714285714,"_MinTextWidth":117.14285714285714,"_MaxTextHeight":null,"_MinTextHeight":null,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2656":{"_Position":{"__isSmartRef__":true,"id":2657},"renderContextTable":{"__isSmartRef__":true,"id":2658},"_Extent":{"__isSmartRef__":true,"id":2659},"styleClassName":"Text","_Padding":{"__isSmartRef__":true,"id":2660},"_BorderWidth":0,"_BorderColor":{"__isSmartRef__":true,"id":2497},"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes"},"2657":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2658":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"2659":{"x":117.14285714285714,"y":22,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2660":{"x":0,"y":4,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2661":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML","updateText":"updateTextHTML","setTextExtent":"setTextExtentHTML","setMaxTextWidth":"setMaxTextWidthHTML","setMaxTextHeight":"setMaxTextHeightHTML","setMinTextWidth":"setMinTextWidthHTML","setMinTextHeight":"setMinTextHeightHTML","getTextExtent":"getTextExtentHTML","getTextString":"getTextStringHTML","ignoreTextEvents":"ignoreTextEventsHTML","unignoreTextEvents":"unignoreTextEventsHTML","enableTextEvents":"enableTextEventsHTML","setFontFamily":"setFontFamilyHTML","setFontSize":"setFontSizeHTML","setTextColor":"setTextColorHTML","setFontWeight":"setFontWeightHTML","setFontStyle":"setFontStyleHTML","setTextDecoration":"setTextDecorationHTML","setPadding":"setPaddingHTML","setAlign":"setAlignHTML","setVerticalAlign":"setVerticalAlignHTML","setDisplay":"setDisplayHTML","setWhiteSpaceHandling":"setWhiteSpaceHandlingHTML","focusMorph":"focusMorphHTML","setInputAllowed":"setInputAllowedHTML"},"2662":{"style":{"__isSmartRef__":true,"id":2663},"chunkOwner":{"__isSmartRef__":true,"id":2655},"storedString":"Eval on","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2663":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2664":{"morph":{"__isSmartRef__":true,"id":2655},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2665":{"x":117.14285714285714,"y":22,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2666":{"_Position":{"__isSmartRef__":true,"id":2667},"renderContextTable":{"__isSmartRef__":true,"id":2668},"_Extent":{"__isSmartRef__":true,"id":2665},"styleClassName":"Button","_Padding":{"__isSmartRef__":true,"id":2669},"_BorderWidth":1,"_BorderColor":{"__isSmartRef__":true,"id":2524},"_Fill":{"__isSmartRef__":true,"id":2525},"_BorderRadius":5,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes"},"2667":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2668":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"2669":{"x":0,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2670":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML"},"2671":{"morph":{"__isSmartRef__":true,"id":2654},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2672":{"x":468.57142857142856,"y":220,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2673":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2674":{"stops":[{"__isSmartRef__":true,"id":2675},{"__isSmartRef__":true,"id":2677},{"__isSmartRef__":true,"id":2679},{"__isSmartRef__":true,"id":2681}],"vector":{"__isSmartRef__":true,"id":2211},"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes"},"2675":{"offset":0,"color":{"__isSmartRef__":true,"id":2676}},"2676":{"r":0.98,"g":0.98,"b":0.98,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2677":{"offset":0.4,"color":{"__isSmartRef__":true,"id":2678}},"2678":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2679":{"offset":0.6,"color":{"__isSmartRef__":true,"id":2680}},"2680":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2681":{"offset":1,"color":{"__isSmartRef__":true,"id":2682}},"2682":{"r":0.97,"g":0.97,"b":0.97,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2683":{"sourceObj":{"__isSmartRef__":true,"id":2654},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":2653},"targetMethodName":"trigger","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"2684":{"sourceObj":{"__isSmartRef__":true,"id":2654},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":2654},"targetMethodName":"setLabel","converter":null,"converterString":"function () { return this.getSourceObj().command.asString() }","updater":null,"updaterString":null,"varMapping":{"__isSmartRef__":true,"id":2685},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"2685":{"source":{"__isSmartRef__":true,"id":2654},"target":{"__isSmartRef__":true,"id":2654}},"2686":{"scaleVertical":true,"scaleHorizontal":true},"2687":{"browser":{"__isSmartRef__":true,"id":2506},"button":{"__isSmartRef__":true,"id":2688},"__LivelyClassName__":"lively.ide.SortCommand","__SourceModuleName__":"Global.lively.ide.BrowserCommands"},"2688":{"submorphs":[{"__isSmartRef__":true,"id":2689}],"scripts":[],"shape":{"__isSmartRef__":true,"id":2700},"derivationIds":[null],"id":"535C3BD1-6D92-472F-AABA-0DACDEA2D1EA","renderContextTable":{"__isSmartRef__":true,"id":2704},"eventHandler":{"__isSmartRef__":true,"id":2705},"_ClipMode":"visible","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"_Position":{"__isSmartRef__":true,"id":2706},"priorExtent":{"__isSmartRef__":true,"id":2707},"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":2525},"lighterFill":{"__isSmartRef__":true,"id":2708},"label":{"__isSmartRef__":true,"id":2689},"command":{"__isSmartRef__":true,"id":2687},"attributeConnections":[{"__isSmartRef__":true,"id":2717},{"__isSmartRef__":true,"id":2718}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"owner":{"__isSmartRef__":true,"id":2490},"layout":{"__isSmartRef__":true,"id":2720},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets"},"2689":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2690},"derivationIds":[null],"id":"580685D0-2DD2-4DE2-8E80-4851FC8251D7","renderContextTable":{"__isSmartRef__":true,"id":2695},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":2696}],"eventHandler":{"__isSmartRef__":true,"id":2698},"_ClipMode":"hidden","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":true,"_InputAllowed":false,"allowInput":false,"_FontFamily":"Helvetica","_FontSize":9,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":2688},"isLabel":true,"_HandStyle":"default","_TextColor":{"__isSmartRef__":true,"id":2497},"_Align":"center","eventsAreIgnored":true,"priorExtent":{"__isSmartRef__":true,"id":2699},"_MaxTextWidth":117.14285714285714,"_MinTextWidth":117.14285714285714,"_MaxTextHeight":null,"_MinTextHeight":null,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2690":{"_Position":{"__isSmartRef__":true,"id":2691},"renderContextTable":{"__isSmartRef__":true,"id":2692},"_Extent":{"__isSmartRef__":true,"id":2693},"styleClassName":"Text","_Padding":{"__isSmartRef__":true,"id":2694},"_BorderWidth":0,"_BorderColor":{"__isSmartRef__":true,"id":2497},"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes"},"2691":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2692":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"2693":{"x":117.14285714285714,"y":22,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2694":{"x":0,"y":4,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2695":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML","updateText":"updateTextHTML","setTextExtent":"setTextExtentHTML","setMaxTextWidth":"setMaxTextWidthHTML","setMaxTextHeight":"setMaxTextHeightHTML","setMinTextWidth":"setMinTextWidthHTML","setMinTextHeight":"setMinTextHeightHTML","getTextExtent":"getTextExtentHTML","getTextString":"getTextStringHTML","ignoreTextEvents":"ignoreTextEventsHTML","unignoreTextEvents":"unignoreTextEventsHTML","enableTextEvents":"enableTextEventsHTML","setFontFamily":"setFontFamilyHTML","setFontSize":"setFontSizeHTML","setTextColor":"setTextColorHTML","setFontWeight":"setFontWeightHTML","setFontStyle":"setFontStyleHTML","setTextDecoration":"setTextDecorationHTML","setPadding":"setPaddingHTML","setAlign":"setAlignHTML","setVerticalAlign":"setVerticalAlignHTML","setDisplay":"setDisplayHTML","setWhiteSpaceHandling":"setWhiteSpaceHandlingHTML","focusMorph":"focusMorphHTML","setInputAllowed":"setInputAllowedHTML"},"2696":{"style":{"__isSmartRef__":true,"id":2697},"chunkOwner":{"__isSmartRef__":true,"id":2689},"storedString":"Sort","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2697":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2698":{"morph":{"__isSmartRef__":true,"id":2689},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2699":{"x":117.14285714285714,"y":22,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2700":{"_Position":{"__isSmartRef__":true,"id":2701},"renderContextTable":{"__isSmartRef__":true,"id":2702},"_Extent":{"__isSmartRef__":true,"id":2699},"styleClassName":"Button","_Padding":{"__isSmartRef__":true,"id":2703},"_BorderWidth":1,"_BorderColor":{"__isSmartRef__":true,"id":2524},"_Fill":{"__isSmartRef__":true,"id":2525},"_BorderRadius":5,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes"},"2701":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2702":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"2703":{"x":0,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2704":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML"},"2705":{"morph":{"__isSmartRef__":true,"id":2688},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2706":{"x":585.7142857142857,"y":220,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2707":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2708":{"stops":[{"__isSmartRef__":true,"id":2709},{"__isSmartRef__":true,"id":2711},{"__isSmartRef__":true,"id":2713},{"__isSmartRef__":true,"id":2715}],"vector":{"__isSmartRef__":true,"id":2211},"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes"},"2709":{"offset":0,"color":{"__isSmartRef__":true,"id":2710}},"2710":{"r":0.98,"g":0.98,"b":0.98,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2711":{"offset":0.4,"color":{"__isSmartRef__":true,"id":2712}},"2712":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2713":{"offset":0.6,"color":{"__isSmartRef__":true,"id":2714}},"2714":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2715":{"offset":1,"color":{"__isSmartRef__":true,"id":2716}},"2716":{"r":0.97,"g":0.97,"b":0.97,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2717":{"sourceObj":{"__isSmartRef__":true,"id":2688},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":2687},"targetMethodName":"trigger","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"2718":{"sourceObj":{"__isSmartRef__":true,"id":2688},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":2688},"targetMethodName":"setLabel","converter":null,"converterString":"function () { return this.getSourceObj().command.asString() }","updater":null,"updaterString":null,"varMapping":{"__isSmartRef__":true,"id":2719},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"2719":{"source":{"__isSmartRef__":true,"id":2688},"target":{"__isSmartRef__":true,"id":2688}},"2720":{"scaleVertical":true,"scaleHorizontal":true},"2721":{"browser":{"__isSmartRef__":true,"id":2506},"button":{"__isSmartRef__":true,"id":2722},"__LivelyClassName__":"lively.ide.ViewSourceCommand","__SourceModuleName__":"Global.lively.ide.BrowserCommands"},"2722":{"submorphs":[{"__isSmartRef__":true,"id":2723}],"scripts":[],"shape":{"__isSmartRef__":true,"id":2734},"derivationIds":[null],"id":"03E02F76-B721-4F64-A036-63381A0ED905","renderContextTable":{"__isSmartRef__":true,"id":2738},"eventHandler":{"__isSmartRef__":true,"id":2739},"_ClipMode":"visible","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"_Position":{"__isSmartRef__":true,"id":2740},"priorExtent":{"__isSmartRef__":true,"id":2741},"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":2525},"lighterFill":{"__isSmartRef__":true,"id":2742},"label":{"__isSmartRef__":true,"id":2723},"command":{"__isSmartRef__":true,"id":2721},"attributeConnections":[{"__isSmartRef__":true,"id":2751},{"__isSmartRef__":true,"id":2752}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"owner":{"__isSmartRef__":true,"id":2490},"layout":{"__isSmartRef__":true,"id":2754},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets"},"2723":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2724},"derivationIds":[null],"id":"9CFC5033-4732-4BE3-97FB-88D7209716F4","renderContextTable":{"__isSmartRef__":true,"id":2729},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":2730}],"eventHandler":{"__isSmartRef__":true,"id":2732},"_ClipMode":"hidden","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":true,"_InputAllowed":false,"allowInput":false,"_FontFamily":"Helvetica","_FontSize":9,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":2722},"isLabel":true,"_HandStyle":"default","_TextColor":{"__isSmartRef__":true,"id":2497},"_Align":"center","eventsAreIgnored":true,"priorExtent":{"__isSmartRef__":true,"id":2733},"_MaxTextWidth":117.14285714285714,"_MinTextWidth":117.14285714285714,"_MaxTextHeight":null,"_MinTextHeight":null,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2724":{"_Position":{"__isSmartRef__":true,"id":2725},"renderContextTable":{"__isSmartRef__":true,"id":2726},"_Extent":{"__isSmartRef__":true,"id":2727},"styleClassName":"Text","_Padding":{"__isSmartRef__":true,"id":2728},"_BorderWidth":0,"_BorderColor":{"__isSmartRef__":true,"id":2497},"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes"},"2725":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2726":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"2727":{"x":117.14285714285714,"y":22,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2728":{"x":0,"y":4,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2729":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML","updateText":"updateTextHTML","setTextExtent":"setTextExtentHTML","setMaxTextWidth":"setMaxTextWidthHTML","setMaxTextHeight":"setMaxTextHeightHTML","setMinTextWidth":"setMinTextWidthHTML","setMinTextHeight":"setMinTextHeightHTML","getTextExtent":"getTextExtentHTML","getTextString":"getTextStringHTML","ignoreTextEvents":"ignoreTextEventsHTML","unignoreTextEvents":"unignoreTextEventsHTML","enableTextEvents":"enableTextEventsHTML","setFontFamily":"setFontFamilyHTML","setFontSize":"setFontSizeHTML","setTextColor":"setTextColorHTML","setFontWeight":"setFontWeightHTML","setFontStyle":"setFontStyleHTML","setTextDecoration":"setTextDecorationHTML","setPadding":"setPaddingHTML","setAlign":"setAlignHTML","setVerticalAlign":"setVerticalAlignHTML","setDisplay":"setDisplayHTML","setWhiteSpaceHandling":"setWhiteSpaceHandlingHTML","focusMorph":"focusMorphHTML","setInputAllowed":"setInputAllowedHTML"},"2730":{"style":{"__isSmartRef__":true,"id":2731},"chunkOwner":{"__isSmartRef__":true,"id":2723},"storedString":"View as...","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2731":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2732":{"morph":{"__isSmartRef__":true,"id":2723},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2733":{"x":117.14285714285714,"y":22,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2734":{"_Position":{"__isSmartRef__":true,"id":2735},"renderContextTable":{"__isSmartRef__":true,"id":2736},"_Extent":{"__isSmartRef__":true,"id":2733},"styleClassName":"Button","_Padding":{"__isSmartRef__":true,"id":2737},"_BorderWidth":1,"_BorderColor":{"__isSmartRef__":true,"id":2524},"_Fill":{"__isSmartRef__":true,"id":2525},"_BorderRadius":5,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes"},"2735":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2736":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"2737":{"x":0,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2738":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML"},"2739":{"morph":{"__isSmartRef__":true,"id":2722},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2740":{"x":702.8571428571429,"y":220,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2741":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2742":{"stops":[{"__isSmartRef__":true,"id":2743},{"__isSmartRef__":true,"id":2745},{"__isSmartRef__":true,"id":2747},{"__isSmartRef__":true,"id":2749}],"vector":{"__isSmartRef__":true,"id":2211},"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes"},"2743":{"offset":0,"color":{"__isSmartRef__":true,"id":2744}},"2744":{"r":0.98,"g":0.98,"b":0.98,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2745":{"offset":0.4,"color":{"__isSmartRef__":true,"id":2746}},"2746":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2747":{"offset":0.6,"color":{"__isSmartRef__":true,"id":2748}},"2748":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2749":{"offset":1,"color":{"__isSmartRef__":true,"id":2750}},"2750":{"r":0.97,"g":0.97,"b":0.97,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2751":{"sourceObj":{"__isSmartRef__":true,"id":2722},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":2721},"targetMethodName":"trigger","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"2752":{"sourceObj":{"__isSmartRef__":true,"id":2722},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":2722},"targetMethodName":"setLabel","converter":null,"converterString":"function () { return this.getSourceObj().command.asString() }","updater":null,"updaterString":null,"varMapping":{"__isSmartRef__":true,"id":2753},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"2753":{"source":{"__isSmartRef__":true,"id":2722},"target":{"__isSmartRef__":true,"id":2722}},"2754":{"scaleVertical":true,"scaleHorizontal":true},"2755":{"__LivelyClassName__":"lively.ide.NodeFilter","__SourceModuleName__":"Global.lively.ide.BrowserFramework"},"2756":{"__LivelyClassName__":"lively.ide.NodeFilter","__SourceModuleName__":"Global.lively.ide.BrowserFramework"},"2757":{"attributes":["isClassNode","isGrammarNode","isChangeNode","isFunctionNode","isObjectNode"],"__LivelyClassName__":"lively.ide.NodeTypeFilter","__SourceModuleName__":"Global.lively.ide.BrowserFramework"},"2758":{"__LivelyClassName__":"lively.ide.NodeFilter","__SourceModuleName__":"Global.lively.ide.BrowserFramework"},"2759":{"__LivelyClassName__":"lively.ide.NodeFilter","__SourceModuleName__":"Global.lively.ide.BrowserFramework"},"2760":{"__LivelyClassName__":"lively.ide.NodeFilter","__SourceModuleName__":"Global.lively.ide.BrowserFramework"},"2761":{"protocol":"http:","hostname":"lively-kernel.org","pathname":"/repository/webwerkstatt/server/nodejs/","__LivelyClassName__":"URL","__SourceModuleName__":"Global.lively.Network"},"2762":{"sourceObj":{"__isSmartRef__":true,"id":2506},"sourceAttrName":"setPane1Content","targetObj":{"__isSmartRef__":true,"id":2763},"targetMethodName":"updateList","converter":null,"converterString":null,"updater":null,"updaterString":null,"varMapping":{"__isSmartRef__":true,"id":2924},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"2763":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2764},"derivationIds":[null],"id":"86F505F0-4E03-43D7-BA41-5FF063D21EAE","renderContextTable":{"__isSmartRef__":true,"id":2770},"itemList":[{"__isSmartRef__":true,"id":2771},{"__isSmartRef__":true,"id":2841},{"__isSmartRef__":true,"id":2842},{"__isSmartRef__":true,"id":2843},{"__isSmartRef__":true,"id":2844},{"__isSmartRef__":true,"id":2845},{"__isSmartRef__":true,"id":2846},{"__isSmartRef__":true,"id":2847},{"__isSmartRef__":true,"id":2848},{"__isSmartRef__":true,"id":2849},{"__isSmartRef__":true,"id":2850},{"__isSmartRef__":true,"id":2851},{"__isSmartRef__":true,"id":2852},{"__isSmartRef__":true,"id":2853},{"__isSmartRef__":true,"id":2854},{"__isSmartRef__":true,"id":2855},{"__isSmartRef__":true,"id":2856},{"__isSmartRef__":true,"id":2857},{"__isSmartRef__":true,"id":2858},{"__isSmartRef__":true,"id":2859},{"__isSmartRef__":true,"id":2860},{"__isSmartRef__":true,"id":2861},{"__isSmartRef__":true,"id":2862},{"__isSmartRef__":true,"id":2863},{"__isSmartRef__":true,"id":2864},{"__isSmartRef__":true,"id":2865},{"__isSmartRef__":true,"id":2866},{"__isSmartRef__":true,"id":2867},{"__isSmartRef__":true,"id":2868},{"__isSmartRef__":true,"id":2869},{"__isSmartRef__":true,"id":2870},{"__isSmartRef__":true,"id":2871},{"__isSmartRef__":true,"id":2872},{"__isSmartRef__":true,"id":2873},{"__isSmartRef__":true,"id":2874},{"__isSmartRef__":true,"id":2875},{"__isSmartRef__":true,"id":2876},{"__isSmartRef__":true,"id":2877},{"__isSmartRef__":true,"id":2878},{"__isSmartRef__":true,"id":2879},{"__isSmartRef__":true,"id":2880},{"__isSmartRef__":true,"id":2881},{"__isSmartRef__":true,"id":2882},{"__isSmartRef__":true,"id":2883},{"__isSmartRef__":true,"id":2884},{"__isSmartRef__":true,"id":2885},{"__isSmartRef__":true,"id":2886},{"__isSmartRef__":true,"id":2887},{"__isSmartRef__":true,"id":2888},{"__isSmartRef__":true,"id":2889},{"__isSmartRef__":true,"id":2890},{"__isSmartRef__":true,"id":2891},{"__isSmartRef__":true,"id":2892}],"_FontFamily":"Helvetica","eventHandler":{"__isSmartRef__":true,"id":2893},"grabbingEnabled":false,"droppingEnabled":true,"halosEnabled":true,"_ClipMode":"auto","_FontSize":10,"_Position":{"__isSmartRef__":true,"id":2894},"selection":{"__isSmartRef__":true,"id":2895},"selectedLineNo":36,"priorExtent":{"__isSmartRef__":true,"id":2896},"owner":{"__isSmartRef__":true,"id":2490},"layout":{"__isSmartRef__":true,"id":2897},"attributeConnections":[{"__isSmartRef__":true,"id":2898},{"__isSmartRef__":true,"id":2903},{"__isSmartRef__":true,"id":2905},{"__isSmartRef__":true,"id":2907}],"doNotSerialize":["$$selection"],"doNotCopyProperties":["$$selection"],"prevScroll":[0,560],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2909},"__LivelyClassName__":"lively.morphic.List","__SourceModuleName__":"Global.lively.morphic.Core"},"2764":{"_Position":{"__isSmartRef__":true,"id":2765},"renderContextTable":{"__isSmartRef__":true,"id":2766},"_Extent":{"__isSmartRef__":true,"id":2767},"styleClassName":"List","_Padding":{"__isSmartRef__":true,"id":2768},"_BorderWidth":0,"_BorderColor":{"__isSmartRef__":true,"id":2497},"_Fill":{"__isSmartRef__":true,"id":2769},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes"},"2765":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2766":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"2767":{"x":205,"y":203.5,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2768":{"x":0,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2769":{"r":0.95,"g":0.95,"b":0.95,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2770":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML","updateListContent":"updateListContentHTML","resizeList":"resizeListHTML","getItemIndexFromEvent":"getItemIndexFromEventHTML","getListExtent":"getListExtentHTML","setSize":"setSizeHTML","renderAsDropDownList":"renderAsDropDownListHTML","setFontSize":"setFontSizeHTML","setFontFamily":"setFontFamilyHTML","getSelectedIndexes":"getSelectedIndexesHTML","enableMultipleSelections":"enableMultipleSelectionsHTML","selectAllAt":"selectAllAtHTML","clearSelections":"clearSelectionsHTML","deselectAt":"deselectAtHTML"},"2771":{"isListItem":true,"string":"tests/","value":{"__isSmartRef__":true,"id":2772}},"2772":{"target":{"__isSmartRef__":true,"id":2773},"browser":{"__isSmartRef__":true,"id":2506},"parent":{"__isSmartRef__":true,"id":2774},"localName":"tests/","__LivelyClassName__":"lively.ide.NamespaceNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2773":{"protocol":"http:","hostname":"lively-kernel.org","pathname":"/repository/webwerkstatt/server/nodejs/tests/","__LivelyClassName__":"URL","__SourceModuleName__":"Global.lively.Network"},"2774":{"target":{"__isSmartRef__":true,"id":2775},"browser":{"__isSmartRef__":true,"id":2506},"parent":null,"allFiles":["../server/nodejs/EduChatServer.js","../server/nodejs/MasterServerStartup.js","../server/nodejs/GitDAVServer.js","../server/nodejs/OAuthServer.js","../server/nodejs/Base.js","../server/nodejs/SqueakEVServer.js","../server/nodejs/CommandLineServer.js","../server/nodejs/SocketChatServer.js","../server/nodejs/WhiteboardServer.js","../server/nodejs/StreamingTestServer.js","../server/nodejs/DatabaseQueryServer.js","../server/nodejs/ExampleServer.js","../server/nodejs/miniprototype.js","../server/nodejs/SocketIOExampleServer.js","../server/nodejs/SandboxServer.js","../server/nodejs/MyNewServer.js","../server/nodejs/CodeSearchServer.js","../server/nodejs/InstallShServer.js","../server/nodejs/simpleChat.js","../server/nodejs/TutorialServer.js","../server/nodejs/livelyServer.js","../server/nodejs/OMetaServer.js","../server/nodejs/AileenTest.js","../server/nodejs/ReleaseMaker.js","../server/nodejs/NewServer3.js","../server/nodejs/LaTeXServer.js","../server/nodejs/TestServer.js","../server/nodejs/ChatServer.js","../server/nodejs/FabiansPlayground.js","../server/nodejs/NodeJSProcesses.js","../server/nodejs/RemoteJSInterface.js","../server/nodejs/DemoTestServer.js","../server/nodejs/SqliteQueryServer.js","../server/nodejs/nodejs.json","../server/nodejs/NewServer.js","../server/nodejs/BenchmarkServer.js","../server/nodejs/MasterServer.js","../server/nodejs/MartinsPlayground.js","../server/nodejs/EventTrackerServer.js","../server/nodejs/PingServer.js","../server/nodejs/PDFCreator.js","../server/nodejs/CoreDiffInterfaceServer.js","../server/nodejs/DistributedDoitServer.js","../server/nodejs/HelloServer.js","../server/nodejs/PhantomJSServer.js","../server/nodejs/PongServer.js","../server/nodejs/LKLoader.js","../server/nodejs/WebInterface.js","../server/nodejs/AJMNodeJSServer.js","../server/nodejs/GridComputingServer.js","../server/nodejs/CopenhagenDemoServer.js"],"subNamespacePaths":[{"__isSmartRef__":true,"id":2773}],"parentNamespacePath":{"__isSmartRef__":true,"id":2776},"_childNodes":[{"__isSmartRef__":true,"id":2772},{"__isSmartRef__":true,"id":2777},{"__isSmartRef__":true,"id":2778},{"__isSmartRef__":true,"id":2779},{"__isSmartRef__":true,"id":2780},{"__isSmartRef__":true,"id":2781},{"__isSmartRef__":true,"id":2782},{"__isSmartRef__":true,"id":2783},{"__isSmartRef__":true,"id":2784},{"__isSmartRef__":true,"id":2785},{"__isSmartRef__":true,"id":2786},{"__isSmartRef__":true,"id":2787},{"__isSmartRef__":true,"id":2788},{"__isSmartRef__":true,"id":2789},{"__isSmartRef__":true,"id":2790},{"__isSmartRef__":true,"id":2791},{"__isSmartRef__":true,"id":2792},{"__isSmartRef__":true,"id":2793},{"__isSmartRef__":true,"id":2794},{"__isSmartRef__":true,"id":2795},{"__isSmartRef__":true,"id":2796},{"__isSmartRef__":true,"id":2797},{"__isSmartRef__":true,"id":2798},{"__isSmartRef__":true,"id":2799},{"__isSmartRef__":true,"id":2800},{"__isSmartRef__":true,"id":2801},{"__isSmartRef__":true,"id":2802},{"__isSmartRef__":true,"id":2803},{"__isSmartRef__":true,"id":2804},{"__isSmartRef__":true,"id":2805},{"__isSmartRef__":true,"id":2806},{"__isSmartRef__":true,"id":2807},{"__isSmartRef__":true,"id":2808},{"__isSmartRef__":true,"id":2809},{"__isSmartRef__":true,"id":2810},{"__isSmartRef__":true,"id":2811},{"__isSmartRef__":true,"id":2812},{"__isSmartRef__":true,"id":2824},{"__isSmartRef__":true,"id":2825},{"__isSmartRef__":true,"id":2826},{"__isSmartRef__":true,"id":2827},{"__isSmartRef__":true,"id":2828},{"__isSmartRef__":true,"id":2829},{"__isSmartRef__":true,"id":2830},{"__isSmartRef__":true,"id":2831},{"__isSmartRef__":true,"id":2832},{"__isSmartRef__":true,"id":2833},{"__isSmartRef__":true,"id":2834},{"__isSmartRef__":true,"id":2835},{"__isSmartRef__":true,"id":2836},{"__isSmartRef__":true,"id":2837},{"__isSmartRef__":true,"id":2838},{"__isSmartRef__":true,"id":2839}],"__LivelyClassName__":"lively.ide.SourceControlNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2775":{"__LivelyClassName__":"AnotherSourceDatabase","__SourceModuleName__":"Global.lively.ide.SourceDatabase"},"2776":{"protocol":"http:","hostname":"lively-kernel.org","pathname":"/repository/webwerkstatt/server/nodejs/../","__LivelyClassName__":"URL","__SourceModuleName__":"Global.lively.Network"},"2777":{"target":{"__isSmartRef__":true,"id":2776},"browser":{"__isSmartRef__":true,"id":2506},"parent":{"__isSmartRef__":true,"id":2774},"localName":"../","__LivelyClassName__":"lively.ide.NamespaceNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2778":{"browser":{"__isSmartRef__":true,"id":2506},"parent":{"__isSmartRef__":true,"id":2774},"moduleName":"../server/nodejs/AileenTest.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2779":{"browser":{"__isSmartRef__":true,"id":2506},"parent":{"__isSmartRef__":true,"id":2774},"moduleName":"../server/nodejs/AJMNodeJSServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2780":{"browser":{"__isSmartRef__":true,"id":2506},"parent":{"__isSmartRef__":true,"id":2774},"moduleName":"../server/nodejs/Base.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2781":{"browser":{"__isSmartRef__":true,"id":2506},"parent":{"__isSmartRef__":true,"id":2774},"moduleName":"../server/nodejs/BenchmarkServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2782":{"browser":{"__isSmartRef__":true,"id":2506},"parent":{"__isSmartRef__":true,"id":2774},"moduleName":"../server/nodejs/ChatServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2783":{"browser":{"__isSmartRef__":true,"id":2506},"parent":{"__isSmartRef__":true,"id":2774},"moduleName":"../server/nodejs/CodeSearchServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2784":{"browser":{"__isSmartRef__":true,"id":2506},"parent":{"__isSmartRef__":true,"id":2774},"moduleName":"../server/nodejs/CommandLineServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2785":{"browser":{"__isSmartRef__":true,"id":2506},"parent":{"__isSmartRef__":true,"id":2774},"moduleName":"../server/nodejs/CopenhagenDemoServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2786":{"browser":{"__isSmartRef__":true,"id":2506},"parent":{"__isSmartRef__":true,"id":2774},"moduleName":"../server/nodejs/CoreDiffInterfaceServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2787":{"browser":{"__isSmartRef__":true,"id":2506},"parent":{"__isSmartRef__":true,"id":2774},"moduleName":"../server/nodejs/DatabaseQueryServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2788":{"browser":{"__isSmartRef__":true,"id":2506},"parent":{"__isSmartRef__":true,"id":2774},"moduleName":"../server/nodejs/DemoTestServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2789":{"browser":{"__isSmartRef__":true,"id":2506},"parent":{"__isSmartRef__":true,"id":2774},"moduleName":"../server/nodejs/DistributedDoitServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2790":{"browser":{"__isSmartRef__":true,"id":2506},"parent":{"__isSmartRef__":true,"id":2774},"moduleName":"../server/nodejs/EduChatServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2791":{"browser":{"__isSmartRef__":true,"id":2506},"parent":{"__isSmartRef__":true,"id":2774},"moduleName":"../server/nodejs/EventTrackerServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2792":{"browser":{"__isSmartRef__":true,"id":2506},"parent":{"__isSmartRef__":true,"id":2774},"moduleName":"../server/nodejs/ExampleServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2793":{"browser":{"__isSmartRef__":true,"id":2506},"parent":{"__isSmartRef__":true,"id":2774},"moduleName":"../server/nodejs/FabiansPlayground.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2794":{"browser":{"__isSmartRef__":true,"id":2506},"parent":{"__isSmartRef__":true,"id":2774},"moduleName":"../server/nodejs/GitDAVServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2795":{"browser":{"__isSmartRef__":true,"id":2506},"parent":{"__isSmartRef__":true,"id":2774},"moduleName":"../server/nodejs/GridComputingServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2796":{"browser":{"__isSmartRef__":true,"id":2506},"parent":{"__isSmartRef__":true,"id":2774},"moduleName":"../server/nodejs/HelloServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2797":{"browser":{"__isSmartRef__":true,"id":2506},"parent":{"__isSmartRef__":true,"id":2774},"moduleName":"../server/nodejs/InstallShServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2798":{"browser":{"__isSmartRef__":true,"id":2506},"parent":{"__isSmartRef__":true,"id":2774},"moduleName":"../server/nodejs/LaTeXServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2799":{"browser":{"__isSmartRef__":true,"id":2506},"parent":{"__isSmartRef__":true,"id":2774},"moduleName":"../server/nodejs/livelyServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2800":{"browser":{"__isSmartRef__":true,"id":2506},"parent":{"__isSmartRef__":true,"id":2774},"moduleName":"../server/nodejs/LKLoader.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2801":{"browser":{"__isSmartRef__":true,"id":2506},"parent":{"__isSmartRef__":true,"id":2774},"moduleName":"../server/nodejs/MartinsPlayground.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2802":{"browser":{"__isSmartRef__":true,"id":2506},"parent":{"__isSmartRef__":true,"id":2774},"moduleName":"../server/nodejs/MasterServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2803":{"browser":{"__isSmartRef__":true,"id":2506},"parent":{"__isSmartRef__":true,"id":2774},"moduleName":"../server/nodejs/MasterServerStartup.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2804":{"browser":{"__isSmartRef__":true,"id":2506},"parent":{"__isSmartRef__":true,"id":2774},"moduleName":"../server/nodejs/miniprototype.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2805":{"browser":{"__isSmartRef__":true,"id":2506},"parent":{"__isSmartRef__":true,"id":2774},"moduleName":"../server/nodejs/MyNewServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2806":{"browser":{"__isSmartRef__":true,"id":2506},"parent":{"__isSmartRef__":true,"id":2774},"moduleName":"../server/nodejs/NewServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2807":{"browser":{"__isSmartRef__":true,"id":2506},"parent":{"__isSmartRef__":true,"id":2774},"moduleName":"../server/nodejs/NewServer3.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2808":{"browser":{"__isSmartRef__":true,"id":2506},"parent":{"__isSmartRef__":true,"id":2774},"moduleName":"../server/nodejs/NodeJSProcesses.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2809":{"browser":{"__isSmartRef__":true,"id":2506},"parent":{"__isSmartRef__":true,"id":2774},"moduleName":"../server/nodejs/OAuthServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2810":{"browser":{"__isSmartRef__":true,"id":2506},"parent":{"__isSmartRef__":true,"id":2774},"moduleName":"../server/nodejs/OMetaServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2811":{"browser":{"__isSmartRef__":true,"id":2506},"parent":{"__isSmartRef__":true,"id":2774},"moduleName":"../server/nodejs/PDFCreator.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2812":{"target":{"__isSmartRef__":true,"id":2813},"browser":{"__isSmartRef__":true,"id":2506},"parent":{"__isSmartRef__":true,"id":2774},"moduleName":"../server/nodejs/PhantomJSServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2813":{"name":"server/nodejs/PhantomJSServer.js","type":"completeFileDef","startIndex":0,"stopIndex":13426,"fileName":"server/nodejs/PhantomJSServer.js","_subElements":[{"__isSmartRef__":true,"id":2814},{"__isSmartRef__":true,"id":2817},{"__isSmartRef__":true,"id":2818},{"__isSmartRef__":true,"id":2819},{"__isSmartRef__":true,"id":2820},{"__isSmartRef__":true,"id":2821},{"__isSmartRef__":true,"id":2822},{"__isSmartRef__":true,"id":2823}],"sourceControl":{"__isSmartRef__":true,"id":2775},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"2814":{"name":"PhantomJSServer","type":"objectDef","startIndex":0,"stopIndex":37,"fileName":"server/nodejs/PhantomJSServer.js","_subElements":[{"__isSmartRef__":true,"id":2815}],"sourceControl":{"__isSmartRef__":true,"id":2775},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"2815":{"name":"port","type":"propertyDef","startIndex":20,"stopIndex":34,"fileName":"server/nodejs/PhantomJSServer.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":2775},"_isStatic":true,"category":{"__isSmartRef__":true,"id":2816},"_owner":{"__isSmartRef__":true,"id":2814},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"2816":{"name":"default category","type":"categoryDef","startIndex":18,"stopIndex":37,"fileName":null,"_subElements":[{"__isSmartRef__":true,"id":2815}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"2817":{"name":"JobQueue","type":"functionDef","startIndex":38,"stopIndex":3766,"fileName":"server/nodejs/PhantomJSServer.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":2775},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"2818":{"name":null,"type":"unknown","startIndex":3767,"stopIndex":3803,"fileName":"server/nodejs/PhantomJSServer.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":2775},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"2819":{"name":null,"type":"unknown","startIndex":3804,"stopIndex":3836,"fileName":"server/nodejs/PhantomJSServer.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":2775},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"2820":{"name":null,"type":"unknown","startIndex":3837,"stopIndex":3873,"fileName":"server/nodejs/PhantomJSServer.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":2775},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"2821":{"name":null,"type":"comment","startIndex":3874,"stopIndex":3874,"fileName":"server/nodejs/PhantomJSServer.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":2775},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"2822":{"name":null,"type":"unknown","startIndex":3875,"stopIndex":3904,"fileName":"server/nodejs/PhantomJSServer.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":2775},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"2823":{"name":null,"type":"errorDef","startIndex":3905,"stopIndex":13426,"fileName":"server/nodejs/PhantomJSServer.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":2775},"fileString":"PhantomJSServer = {\n port: 8105\n}\n\nfunction JobQueue(concurrency) {\n var queue = [];\n var jobs = new Array(concurrency);\n\n var lastJobId = 0;\n this.nextJobId = function(){\n return ++lastJobId;\n }\n\n this._getJob = function(jobId) {\n return __.find(jobs, function(e) {\n if (!e) return false;\n return e.jobId == jobId;\n });\n }\n\n this._getSlot = function(jobId) {\n var job = this._getJob(jobId);\n if (job) {\n return jobs.indexOf(job)\n }\n }\n\n this._getFreeSlot = function() {\n for (var i=0; i 0) {\n this._startJob(queue.shift())\n }\n }\n\n this._startJob = function(jobObj) {\n var job = jobObj.job;\n var callback = jobObj.callback;\n var slot = this._getFreeSlot();\n\n var sanitize = function(string) {\n return \"'\" + string.replace(/['\\\\]/g, '') + \"'\";\n }\n\n command = sanitize(job.executable);\n var args = __.map(job.args, function(arg) {\n if (arg == \"JOBID\") {\n return jobObj.jobId;\n } else if (arg == \"SLOT\") {\n return slot;\n } else {\n return sanitize(arg);\n }\n });\n command = command + \" \" + args.join(\" \");\n\n var child = exec(command, job.options, function(error) {\n callback(error);\n });\n\n jobs[slot] = jobObj\n jobObj.slot = slot\n jobObj.process = child;\n jobObj.status = \"running\";\n\n job.metadata = job.metadata || {};\n job.metadata.pid = child.pid;\n\n if (job.stdin) {\n child.stdin.write(job.stdin);\n child.stdin.end();\n }\n\n if (job.stdout) {\n child.stdout.addListener('data', function(data) {\n job.stdout(data);\n });\n }\n if (job.stderr) {\n child.stderr.addListener('data', function(data) {\n job.stderr(data);\n });\n }\n }\n}\nvar phantomQueue = new JobQueue(10);\nvar execQueue = new JobQueue(3);\nvar convertQueue = new JobQueue(10);\n\nvar __ = require('underscore'),\n fs = require('fs'),\n crypto = require('crypto'),\n url = require('url'),\n rest = require('restler');\n\n exec = require('child_process').exec,\n spawn = require('child_process').spawn;\n\nvar express = require('express');\nvar app = express.createServer();\napp.configure(function() {\n app.use(express.logger());\n app.use(express.bodyParser());\n app.use(app.router);\n});\n\nfunction withScreenshot(url, filename, callback) {\n try {\n var stat = fs.lstatSync(filename);\n callback(url, filename);\n } catch(e) {\n var script = 'var filename = phantom.args[1];' +\n 'page.render(filename);';\n\n\n var job = {\n executable: \"/usr/local/bin/phantomjs\",\n args: [ \"/home/nodejs/phantomjs/doit.js\",\n url,\n filename\n ],\n stdin: script,\n options: {\n timeout: 30000\n },\n }\n execQueue.enqueue(job, function(error) {\n callback(url, filename);\n });\n }\n}\n\nfunction phantomExec(url, script, callbacks) {\n var job = {\n executable: \"/usr/local/bin/phantomjs\",\n args: [ \"/home/nodejs/phantomjs/doit.js\",\n url,\n ],\n stdin: script,\n stdout: callbacks.stdout,\n stderr: callbacks.stderr,\n options: {\n timeout: 60000\n },\n }\n return execQueue.enqueue(job, callbacks.finish);\n}\n\napp.get('/screenshot/full/*', function(req, res) {\n var cacheDir = '/home/nodejs/phantomjs/screenshots';\n\n var remoteURL = 'http://lively-kernel.org/' + req.params[0];\n remoteURL += (url.parse(req.url, true).search || \"\");\n\n console.log(remoteURL);\n\n var md5sum = crypto.createHash('md5');\n md5sum.update(remoteURL);\n var urlMD5 = md5sum.digest('hex');\n\n var screenshot = cacheDir + \"/\" + urlMD5 + \"_full.png\";\n\n if (/^[^?]+\\.x?html(\\?.*)?$/.test(remoteURL)) {\n withScreenshot(remoteURL, screenshot, function(remoteURL, screenshot) {\n res.sendfile(screenshot);\n });\n } else {\n res.send(404);\n }\n});\n\napp.get(/^\\/screenshot\\/(medium|cropped|thumb|part)\\/(.+)$/, function(req, res) {\n var cacheDir = '/home/nodejs/phantomjs/screenshots';\n\n var size = req.params[0];\n var remoteURL = 'http://lively-kernel.org/' + req.params[1];\n remoteURL += (url.parse(req.url, true).search || \"\");\n\n var md5sum = crypto.createHash('md5');\n md5sum.update(remoteURL);\n var urlMD5 = md5sum.digest('hex');\n\n var screenshotFull = cacheDir + \"/\" + urlMD5 + \"_full.png\";\n var screenshot = cacheDir + \"/\" + urlMD5 + \"_\" + size + \".png\";\n\n switch(size) {\n case \"medium\":\n var convert = [\"-crop\", \"1024x768+0+0\", \"-background\", \"#ffffff\", screenshotFull, screenshot]\n break;\n case \"cropped\":\n var convert = [\"-trim\", screenshotFull, screenshot]\n break;\n case \"thumb\":\n var convert = [\"-trim\", \"-resize\", \"100x100\", screenshotFull, screenshot]\n break;\n case \"part\":\n var convert = [\"-crop\", req.query['size']+\"x\"+req.query[\"size\"]+\"+0+0\", screenshotFull, screenshot]\n break;\n }\n\n try {\n var stat = fs.lstatSync(screenshot);\n res.sendfile(screenshot);\n } catch(e) {\n if (/^[^?]+\\.x?html(\\?.*)?$/.test(remoteURL)) {\n withScreenshot(remoteURL, screenshotFull, function(remoteURL, screenshotFull) {\n var job = {\n executable: \"/usr/bin/convert\",\n args: convert\n }\n convertQueue.enqueue(job, function(code) {\n res.sendfile(screenshot);\n });\n });\n } else {\n res.send(404);\n }\n }\n});\n\nfunction deleteFile(filePath) {\n fs.stat(filePath, function(err, stats) {\n if (!err) {\n if (stats.isFile()) {\n fs.unlink(filePath, function(err) {\n if (err) {\n console.log(JSON.stringify(err));\n } else {\n console.log(\"Removed \" + filePath);\n }\n });\n }\n } else {\n console.log(JSON.stringify(err));\n }\n });\n}\n\napp.delete(/^\\/screenshot\\/(full|medium|cropped|thumb)$/, function(req, res) {\n var size = req.params[0];\n var cacheDir = '/home/nodejs/phantomjs/screenshots';\n\n fs.readdir(cacheDir, function(err, files) {\n if (err) {\n res.finish(500);\n } else {\n __.each(files, function(file) {\n if (size == \"full\" || RegExp(\"_\" + size + \"\\.png$\").test(file)) {\n var filePath = cacheDir + \"/\" + file;\n deleteFile(filePath);\n }\n });\n }\n res.send(202);\n });\n});\n\napp.delete(/^\\/screenshot\\/(full|medium|cropped|thumb)\\/(.+)$/, function(req, res) {\n var size = req.params[0];\n var cacheDir = '/home/nodejs/phantomjs/screenshots';\n\n var remoteURL = 'http://lively-kernel.org/' + req.params[1];\n remoteURL += (url.parse(req.url, true).search || \"\");\n\n var md5sum = crypto.createHash('md5');\n md5sum.update(remoteURL);\n var urlMD5 = md5sum.digest('hex');\n\n var screenshot = cacheDir + \"/\" + urlMD5 + \"_\" + size + \".png\";\n deleteFile(screenshot);\n res.send(202);\n});\n\napp.post('/exec/*', function(req, res) {\n var remoteURL = 'http://lively-kernel.org/' + req.params[0];\n\n phantomExec(remoteURL, req.body.script, {\n stdout: function(data) { res.write(data); },\n stderr: function(data) { res.write(data); },\n finish: function(error) {\n res.end();\n }\n });\n});\n\nfunction phantomCloud(url, job) {\n job.executable = \"/usr/local/bin/phantomjs\";\n job.args = [ \"/home/nodejs/phantomjs/cloud.js\",\n url,\n \"SLOT\"\n ];\n job.stdin = job.stdin || \"true;\";\n return phantomQueue.enqueue(job, job.finish || function(error){ });\n}\n\napp.post('/cloud', function(req, res) {\n var remoteURL = req.body.url;\n\n var jobId = phantomCloud(remoteURL, {\n metadata: {\n url: remoteURL\n },\n stdout: function(data) { console.log(\" \" + data.replace(/^\\s+|\\s+$/g, '')); },\n stderr: function(data) { console.log(\" \" + data.replace(/^\\s+|\\s+$/g, '')); },\n });\n\n res.json({\n jobId: jobId\n });\n});\n\napp.get('/cloud', function(req, res) {\n var remoteURL = req.query.url;\n\n var info = phantomQueue.getInfo();\n jobIds = __.union(info.running, info.queued);\n\n var jobId = __.find(jobIds, function(id) {\n var job = phantomQueue.getJobInfo(id);\n return job.job.metadata.url == remoteURL;\n });\n\n if (jobId) {\n var job = phantomQueue.getJobInfo(jobId);\n var metadata = job.job.metadata ? job.job.metadata : new Object();\n res.json({\n job: job.jobId,\n status: job.status,\n metadata: metadata\n });\n } else {\n res.send(404);\n }\n});\n\napp.get('/cloud/:jobId', function(req, res) {\n var job = phantomQueue.getJobInfo(req.params.jobId);\n\n if (job && job.job) {\n var metadata = job.job.metadata ? job.job.metadata : new Object();\n res.json({\n job: req.params.jobId,\n status: job.status,\n metadata: metadata\n })\n } else {\n res.send(404);\n }\n});\n\napp.delete('/cloud/:jobId', function(req, res) {\n phantomQueue.kill(req.params.jobId);\n res.send(202);\n});\n\nfunction cloudExec(jobId, sync, script, callback) {\n if (Number(jobId).toString() != jobId) {\n res.send(404);\n return\n }\n\n var job = phantomQueue.getJobInfo(jobId);\n if (job && job.job && job.status == \"running\") {\n\n var remoteURL = \"http://127.0.0.1:\" + (10000+job.slot) + \"/exec\";\n if (sync) remoteURL += \"/sync\";\n rest.post(remoteURL, {\n data: {script: script}\n }).on('complete', function(data, response) {\n callback(null, data)\n });\n } else {\n callback(\"Job not running\")\n }\n}\n\napp.post('/cloud/:jobId/exec', function(req, res) {\n var jobId = req.params.jobId;\n \n cloudExec(jobId, req.body.script, function(error, result) {\n if (error) {\n res.send(404);\n } else {\n res.json(result); \n }\n });\n});\n\napp.post('/cloud/:jobId/stop', function(req, res) {\n var jobId = req.params.jobId;\n \n var script = function() {\n page.evaluate(function() {\n var savingForExit = true;\n var afterSaveCallback = function() {\n if (!savingForExit) return;\n window.worldCanBeShutdown = true;\n }\n connect($world, 'savingDone', this, 'afterSaveCallback');\n $world.saveWorldAs(URL.source, false);\n });\n \n waitFor(function() {\n return window.worldCanBeShutdown;\n }, function() {\n phantom.exit(0);\n }, timeout);\n }\n \n cloudExec(jobId, \"(\" + script.toString() + \")()\", function(error, result) {\n if (error) {\n res.send(404);\n } else {\n res.json(result)\n }\n });\n})\n\n\napp.get('/queues', function(req, res) {\n res.json({\n phantomjs: phantomQueue.getInfo(),\n exec: execQueue.getInfo(),\n convert: convertQueue.getInfo()\n });\n});\n\napp.listen(PhantomJSServer.port, \"localhost\");","__LivelyClassName__":"lively.ide.ParseErrorFileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"2824":{"browser":{"__isSmartRef__":true,"id":2506},"parent":{"__isSmartRef__":true,"id":2774},"moduleName":"../server/nodejs/PingServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2825":{"browser":{"__isSmartRef__":true,"id":2506},"parent":{"__isSmartRef__":true,"id":2774},"moduleName":"../server/nodejs/PongServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2826":{"browser":{"__isSmartRef__":true,"id":2506},"parent":{"__isSmartRef__":true,"id":2774},"moduleName":"../server/nodejs/ReleaseMaker.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2827":{"browser":{"__isSmartRef__":true,"id":2506},"parent":{"__isSmartRef__":true,"id":2774},"moduleName":"../server/nodejs/RemoteJSInterface.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2828":{"browser":{"__isSmartRef__":true,"id":2506},"parent":{"__isSmartRef__":true,"id":2774},"moduleName":"../server/nodejs/SandboxServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2829":{"browser":{"__isSmartRef__":true,"id":2506},"parent":{"__isSmartRef__":true,"id":2774},"moduleName":"../server/nodejs/simpleChat.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2830":{"browser":{"__isSmartRef__":true,"id":2506},"parent":{"__isSmartRef__":true,"id":2774},"moduleName":"../server/nodejs/SocketChatServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2831":{"browser":{"__isSmartRef__":true,"id":2506},"parent":{"__isSmartRef__":true,"id":2774},"moduleName":"../server/nodejs/SocketIOExampleServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2832":{"browser":{"__isSmartRef__":true,"id":2506},"parent":{"__isSmartRef__":true,"id":2774},"moduleName":"../server/nodejs/SqliteQueryServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2833":{"browser":{"__isSmartRef__":true,"id":2506},"parent":{"__isSmartRef__":true,"id":2774},"moduleName":"../server/nodejs/SqueakEVServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2834":{"browser":{"__isSmartRef__":true,"id":2506},"parent":{"__isSmartRef__":true,"id":2774},"moduleName":"../server/nodejs/StreamingTestServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2835":{"browser":{"__isSmartRef__":true,"id":2506},"parent":{"__isSmartRef__":true,"id":2774},"moduleName":"../server/nodejs/TestServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2836":{"browser":{"__isSmartRef__":true,"id":2506},"parent":{"__isSmartRef__":true,"id":2774},"moduleName":"../server/nodejs/TutorialServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2837":{"browser":{"__isSmartRef__":true,"id":2506},"parent":{"__isSmartRef__":true,"id":2774},"moduleName":"../server/nodejs/WebInterface.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2838":{"browser":{"__isSmartRef__":true,"id":2506},"parent":{"__isSmartRef__":true,"id":2774},"moduleName":"../server/nodejs/WhiteboardServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2839":{"target":{"__isSmartRef__":true,"id":2840},"browser":{"__isSmartRef__":true,"id":2506},"__LivelyClassName__":"lively.ide.ChangeSetNode","__SourceModuleName__":"Global.lively.ide.LocalBrowser"},"2840":{"name":"Local code","__LivelyClassName__":"ChangeSet","__SourceModuleName__":"Global.lively.ChangeSet"},"2841":{"isListItem":true,"string":"../","value":{"__isSmartRef__":true,"id":2777}},"2842":{"isListItem":true,"string":"AileenTest.js (not parsed)","value":{"__isSmartRef__":true,"id":2778}},"2843":{"isListItem":true,"string":"AJMNodeJSServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2779}},"2844":{"isListItem":true,"string":"Base.js (not parsed)","value":{"__isSmartRef__":true,"id":2780}},"2845":{"isListItem":true,"string":"BenchmarkServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2781}},"2846":{"isListItem":true,"string":"ChatServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2782}},"2847":{"isListItem":true,"string":"CodeSearchServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2783}},"2848":{"isListItem":true,"string":"CommandLineServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2784}},"2849":{"isListItem":true,"string":"CopenhagenDemoServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2785}},"2850":{"isListItem":true,"string":"CoreDiffInterfaceServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2786}},"2851":{"isListItem":true,"string":"DatabaseQueryServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2787}},"2852":{"isListItem":true,"string":"DemoTestServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2788}},"2853":{"isListItem":true,"string":"DistributedDoitServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2789}},"2854":{"isListItem":true,"string":"EduChatServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2790}},"2855":{"isListItem":true,"string":"EventTrackerServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2791}},"2856":{"isListItem":true,"string":"ExampleServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2792}},"2857":{"isListItem":true,"string":"FabiansPlayground.js (not parsed)","value":{"__isSmartRef__":true,"id":2793}},"2858":{"isListItem":true,"string":"GitDAVServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2794}},"2859":{"isListItem":true,"string":"GridComputingServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2795}},"2860":{"isListItem":true,"string":"HelloServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2796}},"2861":{"isListItem":true,"string":"InstallShServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2797}},"2862":{"isListItem":true,"string":"LaTeXServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2798}},"2863":{"isListItem":true,"string":"livelyServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2799}},"2864":{"isListItem":true,"string":"LKLoader.js (not parsed)","value":{"__isSmartRef__":true,"id":2800}},"2865":{"isListItem":true,"string":"MartinsPlayground.js (not parsed)","value":{"__isSmartRef__":true,"id":2801}},"2866":{"isListItem":true,"string":"MasterServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2802}},"2867":{"isListItem":true,"string":"MasterServerStartup.js (not parsed)","value":{"__isSmartRef__":true,"id":2803}},"2868":{"isListItem":true,"string":"miniprototype.js (not parsed)","value":{"__isSmartRef__":true,"id":2804}},"2869":{"isListItem":true,"string":"MyNewServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2805}},"2870":{"isListItem":true,"string":"NewServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2806}},"2871":{"isListItem":true,"string":"NewServer3.js (not parsed)","value":{"__isSmartRef__":true,"id":2807}},"2872":{"isListItem":true,"string":"NodeJSProcesses.js (not parsed)","value":{"__isSmartRef__":true,"id":2808}},"2873":{"isListItem":true,"string":"OAuthServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2809}},"2874":{"isListItem":true,"string":"OMetaServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2810}},"2875":{"isListItem":true,"string":"PDFCreator.js (not parsed)","value":{"__isSmartRef__":true,"id":2811}},"2876":{"isListItem":true,"string":"PhantomJSServer.js","value":{"__isSmartRef__":true,"id":2812}},"2877":{"isListItem":true,"string":"PingServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2824}},"2878":{"isListItem":true,"string":"PongServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2825}},"2879":{"isListItem":true,"string":"ReleaseMaker.js (not parsed)","value":{"__isSmartRef__":true,"id":2826}},"2880":{"isListItem":true,"string":"RemoteJSInterface.js (not parsed)","value":{"__isSmartRef__":true,"id":2827}},"2881":{"isListItem":true,"string":"SandboxServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2828}},"2882":{"isListItem":true,"string":"simpleChat.js (not parsed)","value":{"__isSmartRef__":true,"id":2829}},"2883":{"isListItem":true,"string":"SocketChatServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2830}},"2884":{"isListItem":true,"string":"SocketIOExampleServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2831}},"2885":{"isListItem":true,"string":"SqliteQueryServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2832}},"2886":{"isListItem":true,"string":"SqueakEVServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2833}},"2887":{"isListItem":true,"string":"StreamingTestServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2834}},"2888":{"isListItem":true,"string":"TestServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2835}},"2889":{"isListItem":true,"string":"TutorialServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2836}},"2890":{"isListItem":true,"string":"WebInterface.js (not parsed)","value":{"__isSmartRef__":true,"id":2837}},"2891":{"isListItem":true,"string":"WhiteboardServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2838}},"2892":{"isListItem":true,"string":"Local code","value":{"__isSmartRef__":true,"id":2839}},"2893":{"morph":{"__isSmartRef__":true,"id":2763},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2894":{"x":0,"y":16.5,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2895":{"target":{"__isSmartRef__":true,"id":2813},"browser":{"__isSmartRef__":true,"id":2506},"parent":{"__isSmartRef__":true,"id":2774},"moduleName":"../server/nodejs/PhantomJSServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2896":{"x":205,"y":203.5,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2897":{"scaleVertical":true,"scaleHorizontal":true},"2898":{"sourceObj":{"__isSmartRef__":true,"id":2763},"sourceAttrName":"selection","targetObj":{"__isSmartRef__":true,"id":2506},"targetMethodName":"setPane1Selection","converter":null,"converterString":null,"updaterString":"function ($upd, v) { $upd(v, this.sourceObj) }","varMapping":{"__isSmartRef__":true,"id":2899},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2900},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"2899":{"source":{"__isSmartRef__":true,"id":2763},"target":{"__isSmartRef__":true,"id":2506}},"2900":{"updater":{"__isSmartRef__":true,"id":2901}},"2901":{"originalFunc":null,"varMapping":{"__isSmartRef__":true,"id":2899},"source":"function ($upd, v) { $upd(v, this.sourceObj) }","funcProperties":{"__isSmartRef__":true,"id":2902},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2902":{},"2903":{"sourceObj":{"__isSmartRef__":true,"id":2763},"sourceAttrName":"getSelection","targetObj":{"__isSmartRef__":true,"id":2506},"targetMethodName":"getPane1Selection","converter":null,"converterString":null,"updater":null,"updaterString":null,"varMapping":{"__isSmartRef__":true,"id":2904},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"2904":{"source":{"__isSmartRef__":true,"id":2763},"target":{"__isSmartRef__":true,"id":2506}},"2905":{"sourceObj":{"__isSmartRef__":true,"id":2763},"sourceAttrName":"getList","targetObj":{"__isSmartRef__":true,"id":2506},"targetMethodName":"getPane1Content","converter":null,"converterString":null,"updater":null,"updaterString":null,"varMapping":{"__isSmartRef__":true,"id":2906},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"2906":{"source":{"__isSmartRef__":true,"id":2763},"target":{"__isSmartRef__":true,"id":2506}},"2907":{"sourceObj":{"__isSmartRef__":true,"id":2763},"sourceAttrName":"getMenu","targetObj":{"__isSmartRef__":true,"id":2506},"targetMethodName":"getPane1Menu","converter":null,"converterString":null,"updater":null,"updaterString":null,"varMapping":{"__isSmartRef__":true,"id":2908},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"2908":{"source":{"__isSmartRef__":true,"id":2763},"target":{"__isSmartRef__":true,"id":2506}},"2909":{"onDownPressed":{"__isSmartRef__":true,"id":2910},"onUpPressed":{"__isSmartRef__":true,"id":2917}},"2910":{"varMapping":{"__isSmartRef__":true,"id":2911},"source":"function onDownPressed(evt) {\n $super(evt);\n this.focus.bind(this).delay(0);\n return true;\n }","funcProperties":{"__isSmartRef__":true,"id":2916},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2911":{"this":{"__isSmartRef__":true,"id":2763},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2912}},"2912":{"$super":{"__isSmartRef__":true,"id":2913}},"2913":{"varMapping":{"__isSmartRef__":true,"id":2914},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world) \n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":2915},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2914":{"obj":{"__isSmartRef__":true,"id":2763},"name":"onDownPressed"},"2915":{},"2916":{},"2917":{"varMapping":{"__isSmartRef__":true,"id":2918},"source":"function onUpPressed(evt) {\n $super(evt);\n this.focus.bind(this).delay(0);\n return true;\n }","funcProperties":{"__isSmartRef__":true,"id":2923},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2918":{"this":{"__isSmartRef__":true,"id":2763},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2919}},"2919":{"$super":{"__isSmartRef__":true,"id":2920}},"2920":{"varMapping":{"__isSmartRef__":true,"id":2921},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world) \n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":2922},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2921":{"obj":{"__isSmartRef__":true,"id":2763},"name":"onUpPressed"},"2922":{},"2923":{},"2924":{"source":{"__isSmartRef__":true,"id":2506},"target":{"__isSmartRef__":true,"id":2763}},"2925":{"sourceObj":{"__isSmartRef__":true,"id":2506},"sourceAttrName":"setPane2Content","targetObj":{"__isSmartRef__":true,"id":2926},"targetMethodName":"updateList","converter":null,"converterString":null,"updater":null,"updaterString":null,"varMapping":{"__isSmartRef__":true,"id":2965},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"2926":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2927},"derivationIds":[null],"id":"9BC0F531-E8F4-492A-A505-FAF197E1B2BF","renderContextTable":{"__isSmartRef__":true,"id":2933},"itemList":[{"__isSmartRef__":true,"id":2934},{"__isSmartRef__":true,"id":2936}],"_FontFamily":"Helvetica","eventHandler":{"__isSmartRef__":true,"id":2938},"grabbingEnabled":false,"droppingEnabled":true,"halosEnabled":true,"_ClipMode":"auto","_FontSize":10,"_Position":{"__isSmartRef__":true,"id":2939},"selection":null,"selectedLineNo":-1,"priorExtent":{"__isSmartRef__":true,"id":2940},"owner":{"__isSmartRef__":true,"id":2490},"layout":{"__isSmartRef__":true,"id":2941},"attributeConnections":[{"__isSmartRef__":true,"id":2942},{"__isSmartRef__":true,"id":2944},{"__isSmartRef__":true,"id":2946},{"__isSmartRef__":true,"id":2948}],"doNotSerialize":["$$selection"],"doNotCopyProperties":["$$selection"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2950},"__LivelyClassName__":"lively.morphic.List","__SourceModuleName__":"Global.lively.morphic.Core"},"2927":{"_Position":{"__isSmartRef__":true,"id":2928},"renderContextTable":{"__isSmartRef__":true,"id":2929},"_Extent":{"__isSmartRef__":true,"id":2930},"styleClassName":"List","_Padding":{"__isSmartRef__":true,"id":2931},"_BorderWidth":0,"_BorderColor":{"__isSmartRef__":true,"id":2497},"_Fill":{"__isSmartRef__":true,"id":2932},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes"},"2928":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2929":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"2930":{"x":205,"y":203.5,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2931":{"x":0,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2932":{"r":0.95,"g":0.95,"b":0.95,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2933":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML","updateListContent":"updateListContentHTML","resizeList":"resizeListHTML","getItemIndexFromEvent":"getItemIndexFromEventHTML","getListExtent":"getListExtentHTML","setSize":"setSizeHTML","renderAsDropDownList":"renderAsDropDownListHTML","setFontSize":"setFontSizeHTML","setFontFamily":"setFontFamilyHTML","getSelectedIndexes":"getSelectedIndexesHTML","enableMultipleSelections":"enableMultipleSelectionsHTML","selectAllAt":"selectAllAtHTML","clearSelections":"clearSelectionsHTML","deselectAt":"deselectAtHTML"},"2934":{"isListItem":true,"string":"PhantomJSServer (object)","value":{"__isSmartRef__":true,"id":2935}},"2935":{"target":{"__isSmartRef__":true,"id":2814},"browser":{"__isSmartRef__":true,"id":2506},"__LivelyClassName__":"lively.ide.ObjectFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2936":{"isListItem":true,"string":"JobQueue (function)","value":{"__isSmartRef__":true,"id":2937}},"2937":{"target":{"__isSmartRef__":true,"id":2817},"browser":{"__isSmartRef__":true,"id":2506},"__LivelyClassName__":"lively.ide.FunctionFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2938":{"morph":{"__isSmartRef__":true,"id":2926},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2939":{"x":205,"y":16.5,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2940":{"x":205,"y":203.5,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2941":{"scaleVertical":true,"scaleHorizontal":true},"2942":{"sourceObj":{"__isSmartRef__":true,"id":2926},"sourceAttrName":"selection","targetObj":{"__isSmartRef__":true,"id":2506},"targetMethodName":"setPane2Selection","converter":null,"converterString":null,"updater":null,"updaterString":"function ($upd, v) { $upd(v, this.sourceObj) }","varMapping":{"__isSmartRef__":true,"id":2943},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"2943":{"source":{"__isSmartRef__":true,"id":2926},"target":{"__isSmartRef__":true,"id":2506}},"2944":{"sourceObj":{"__isSmartRef__":true,"id":2926},"sourceAttrName":"getSelection","targetObj":{"__isSmartRef__":true,"id":2506},"targetMethodName":"getPane2Selection","converter":null,"converterString":null,"updater":null,"updaterString":null,"varMapping":{"__isSmartRef__":true,"id":2945},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"2945":{"source":{"__isSmartRef__":true,"id":2926},"target":{"__isSmartRef__":true,"id":2506}},"2946":{"sourceObj":{"__isSmartRef__":true,"id":2926},"sourceAttrName":"getList","targetObj":{"__isSmartRef__":true,"id":2506},"targetMethodName":"getPane2Content","converter":null,"converterString":null,"updater":null,"updaterString":null,"varMapping":{"__isSmartRef__":true,"id":2947},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"2947":{"source":{"__isSmartRef__":true,"id":2926},"target":{"__isSmartRef__":true,"id":2506}},"2948":{"sourceObj":{"__isSmartRef__":true,"id":2926},"sourceAttrName":"getMenu","targetObj":{"__isSmartRef__":true,"id":2506},"targetMethodName":"getPane2Menu","converter":null,"converterString":null,"updater":null,"updaterString":null,"varMapping":{"__isSmartRef__":true,"id":2949},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"2949":{"source":{"__isSmartRef__":true,"id":2926},"target":{"__isSmartRef__":true,"id":2506}},"2950":{"onDownPressed":{"__isSmartRef__":true,"id":2951},"onUpPressed":{"__isSmartRef__":true,"id":2958}},"2951":{"varMapping":{"__isSmartRef__":true,"id":2952},"source":"function onDownPressed(evt) {\n $super(evt);\n this.focus.bind(this).delay(0);\n return true;\n }","funcProperties":{"__isSmartRef__":true,"id":2957},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2952":{"this":{"__isSmartRef__":true,"id":2926},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2953}},"2953":{"$super":{"__isSmartRef__":true,"id":2954}},"2954":{"varMapping":{"__isSmartRef__":true,"id":2955},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world) \n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":2956},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2955":{"obj":{"__isSmartRef__":true,"id":2926},"name":"onDownPressed"},"2956":{},"2957":{},"2958":{"varMapping":{"__isSmartRef__":true,"id":2959},"source":"function onUpPressed(evt) {\n $super(evt);\n this.focus.bind(this).delay(0);\n return true;\n }","funcProperties":{"__isSmartRef__":true,"id":2964},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2959":{"this":{"__isSmartRef__":true,"id":2926},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2960}},"2960":{"$super":{"__isSmartRef__":true,"id":2961}},"2961":{"varMapping":{"__isSmartRef__":true,"id":2962},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world) \n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":2963},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2962":{"obj":{"__isSmartRef__":true,"id":2926},"name":"onUpPressed"},"2963":{},"2964":{},"2965":{"source":{"__isSmartRef__":true,"id":2506},"target":{"__isSmartRef__":true,"id":2926}},"2966":{"sourceObj":{"__isSmartRef__":true,"id":2506},"sourceAttrName":"setPane3Content","targetObj":{"__isSmartRef__":true,"id":2967},"targetMethodName":"updateList","converter":null,"converterString":null,"updater":null,"updaterString":null,"varMapping":{"__isSmartRef__":true,"id":3002},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"2967":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2968},"derivationIds":[null],"id":"39E2C37A-B553-4115-8CB1-04755E8A769F","renderContextTable":{"__isSmartRef__":true,"id":2974},"itemList":["-----"],"_FontFamily":"Helvetica","eventHandler":{"__isSmartRef__":true,"id":2975},"grabbingEnabled":false,"droppingEnabled":true,"halosEnabled":true,"_ClipMode":"auto","_FontSize":10,"_Position":{"__isSmartRef__":true,"id":2976},"selection":null,"selectedLineNo":-1,"priorExtent":{"__isSmartRef__":true,"id":2977},"owner":{"__isSmartRef__":true,"id":2490},"layout":{"__isSmartRef__":true,"id":2978},"attributeConnections":[{"__isSmartRef__":true,"id":2979},{"__isSmartRef__":true,"id":2981},{"__isSmartRef__":true,"id":2983},{"__isSmartRef__":true,"id":2985}],"doNotSerialize":["$$selection"],"doNotCopyProperties":["$$selection"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2987},"__LivelyClassName__":"lively.morphic.List","__SourceModuleName__":"Global.lively.morphic.Core"},"2968":{"_Position":{"__isSmartRef__":true,"id":2969},"renderContextTable":{"__isSmartRef__":true,"id":2970},"_Extent":{"__isSmartRef__":true,"id":2971},"styleClassName":"List","_Padding":{"__isSmartRef__":true,"id":2972},"_BorderWidth":0,"_BorderColor":{"__isSmartRef__":true,"id":2497},"_Fill":{"__isSmartRef__":true,"id":2973},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes"},"2969":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2970":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"2971":{"x":205,"y":203.5,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2972":{"x":0,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2973":{"r":0.95,"g":0.95,"b":0.95,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2974":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML","updateListContent":"updateListContentHTML","resizeList":"resizeListHTML","getItemIndexFromEvent":"getItemIndexFromEventHTML","getListExtent":"getListExtentHTML","setSize":"setSizeHTML","renderAsDropDownList":"renderAsDropDownListHTML","setFontSize":"setFontSizeHTML","setFontFamily":"setFontFamilyHTML","getSelectedIndexes":"getSelectedIndexesHTML","enableMultipleSelections":"enableMultipleSelectionsHTML","selectAllAt":"selectAllAtHTML","clearSelections":"clearSelectionsHTML","deselectAt":"deselectAtHTML"},"2975":{"morph":{"__isSmartRef__":true,"id":2967},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2976":{"x":410,"y":16.5,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2977":{"x":205,"y":203.5,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2978":{"scaleVertical":true,"scaleHorizontal":true},"2979":{"sourceObj":{"__isSmartRef__":true,"id":2967},"sourceAttrName":"selection","targetObj":{"__isSmartRef__":true,"id":2506},"targetMethodName":"setPane3Selection","converter":null,"converterString":null,"updater":null,"updaterString":"function ($upd, v) { $upd(v, this.sourceObj) }","varMapping":{"__isSmartRef__":true,"id":2980},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"2980":{"source":{"__isSmartRef__":true,"id":2967},"target":{"__isSmartRef__":true,"id":2506}},"2981":{"sourceObj":{"__isSmartRef__":true,"id":2967},"sourceAttrName":"getSelection","targetObj":{"__isSmartRef__":true,"id":2506},"targetMethodName":"getPane3Selection","converter":null,"converterString":null,"updater":null,"updaterString":null,"varMapping":{"__isSmartRef__":true,"id":2982},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"2982":{"source":{"__isSmartRef__":true,"id":2967},"target":{"__isSmartRef__":true,"id":2506}},"2983":{"sourceObj":{"__isSmartRef__":true,"id":2967},"sourceAttrName":"getList","targetObj":{"__isSmartRef__":true,"id":2506},"targetMethodName":"getPane3Content","converter":null,"converterString":null,"updater":null,"updaterString":null,"varMapping":{"__isSmartRef__":true,"id":2984},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"2984":{"source":{"__isSmartRef__":true,"id":2967},"target":{"__isSmartRef__":true,"id":2506}},"2985":{"sourceObj":{"__isSmartRef__":true,"id":2967},"sourceAttrName":"getMenu","targetObj":{"__isSmartRef__":true,"id":2506},"targetMethodName":"getPane3Menu","converter":null,"converterString":null,"updater":null,"updaterString":null,"varMapping":{"__isSmartRef__":true,"id":2986},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"2986":{"source":{"__isSmartRef__":true,"id":2967},"target":{"__isSmartRef__":true,"id":2506}},"2987":{"onDownPressed":{"__isSmartRef__":true,"id":2988},"onUpPressed":{"__isSmartRef__":true,"id":2995}},"2988":{"varMapping":{"__isSmartRef__":true,"id":2989},"source":"function onDownPressed(evt) {\n $super(evt);\n this.focus.bind(this).delay(0);\n return true;\n }","funcProperties":{"__isSmartRef__":true,"id":2994},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2989":{"this":{"__isSmartRef__":true,"id":2967},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2990}},"2990":{"$super":{"__isSmartRef__":true,"id":2991}},"2991":{"varMapping":{"__isSmartRef__":true,"id":2992},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world) \n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":2993},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2992":{"obj":{"__isSmartRef__":true,"id":2967},"name":"onDownPressed"},"2993":{},"2994":{},"2995":{"varMapping":{"__isSmartRef__":true,"id":2996},"source":"function onUpPressed(evt) {\n $super(evt);\n this.focus.bind(this).delay(0);\n return true;\n }","funcProperties":{"__isSmartRef__":true,"id":3001},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2996":{"this":{"__isSmartRef__":true,"id":2967},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2997}},"2997":{"$super":{"__isSmartRef__":true,"id":2998}},"2998":{"varMapping":{"__isSmartRef__":true,"id":2999},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world) \n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3000},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2999":{"obj":{"__isSmartRef__":true,"id":2967},"name":"onUpPressed"},"3000":{},"3001":{},"3002":{"source":{"__isSmartRef__":true,"id":2506},"target":{"__isSmartRef__":true,"id":2967}},"3003":{"sourceObj":{"__isSmartRef__":true,"id":2506},"sourceAttrName":"setPane4Content","targetObj":{"__isSmartRef__":true,"id":3004},"targetMethodName":"updateList","converter":null,"converterString":null,"updater":null,"updaterString":null,"varMapping":{"__isSmartRef__":true,"id":3039},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"3004":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3005},"derivationIds":[null],"id":"8D7D2D85-390F-4CBC-A1AF-652A92D1F083","renderContextTable":{"__isSmartRef__":true,"id":3011},"itemList":["-----"],"_FontFamily":"Helvetica","eventHandler":{"__isSmartRef__":true,"id":3012},"grabbingEnabled":false,"droppingEnabled":true,"halosEnabled":true,"_ClipMode":"auto","_FontSize":10,"_Position":{"__isSmartRef__":true,"id":3013},"selection":null,"selectedLineNo":-1,"priorExtent":{"__isSmartRef__":true,"id":3014},"owner":{"__isSmartRef__":true,"id":2490},"layout":{"__isSmartRef__":true,"id":3015},"attributeConnections":[{"__isSmartRef__":true,"id":3016},{"__isSmartRef__":true,"id":3018},{"__isSmartRef__":true,"id":3020},{"__isSmartRef__":true,"id":3022}],"doNotSerialize":["$$selection"],"doNotCopyProperties":["$$selection"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3024},"__LivelyClassName__":"lively.morphic.List","__SourceModuleName__":"Global.lively.morphic.Core"},"3005":{"_Position":{"__isSmartRef__":true,"id":3006},"renderContextTable":{"__isSmartRef__":true,"id":3007},"_Extent":{"__isSmartRef__":true,"id":3008},"styleClassName":"List","_Padding":{"__isSmartRef__":true,"id":3009},"_BorderWidth":0,"_BorderColor":{"__isSmartRef__":true,"id":2497},"_Fill":{"__isSmartRef__":true,"id":3010},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes"},"3006":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3007":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"3008":{"x":205,"y":203.5,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3009":{"x":0,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3010":{"r":0.95,"g":0.95,"b":0.95,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3011":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML","updateListContent":"updateListContentHTML","resizeList":"resizeListHTML","getItemIndexFromEvent":"getItemIndexFromEventHTML","getListExtent":"getListExtentHTML","setSize":"setSizeHTML","renderAsDropDownList":"renderAsDropDownListHTML","setFontSize":"setFontSizeHTML","setFontFamily":"setFontFamilyHTML","getSelectedIndexes":"getSelectedIndexesHTML","enableMultipleSelections":"enableMultipleSelectionsHTML","selectAllAt":"selectAllAtHTML","clearSelections":"clearSelectionsHTML","deselectAt":"deselectAtHTML"},"3012":{"morph":{"__isSmartRef__":true,"id":3004},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3013":{"x":615,"y":16.5,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3014":{"x":205,"y":203.5,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3015":{"scaleVertical":true,"scaleHorizontal":true},"3016":{"sourceObj":{"__isSmartRef__":true,"id":3004},"sourceAttrName":"selection","targetObj":{"__isSmartRef__":true,"id":2506},"targetMethodName":"setPane4Selection","converter":null,"converterString":null,"updater":null,"updaterString":"function ($upd, v) { $upd(v, this.sourceObj) }","varMapping":{"__isSmartRef__":true,"id":3017},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"3017":{"source":{"__isSmartRef__":true,"id":3004},"target":{"__isSmartRef__":true,"id":2506}},"3018":{"sourceObj":{"__isSmartRef__":true,"id":3004},"sourceAttrName":"getSelection","targetObj":{"__isSmartRef__":true,"id":2506},"targetMethodName":"getPane4Selection","converter":null,"converterString":null,"updater":null,"updaterString":null,"varMapping":{"__isSmartRef__":true,"id":3019},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"3019":{"source":{"__isSmartRef__":true,"id":3004},"target":{"__isSmartRef__":true,"id":2506}},"3020":{"sourceObj":{"__isSmartRef__":true,"id":3004},"sourceAttrName":"getList","targetObj":{"__isSmartRef__":true,"id":2506},"targetMethodName":"getPane4Content","converter":null,"converterString":null,"updater":null,"updaterString":null,"varMapping":{"__isSmartRef__":true,"id":3021},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"3021":{"source":{"__isSmartRef__":true,"id":3004},"target":{"__isSmartRef__":true,"id":2506}},"3022":{"sourceObj":{"__isSmartRef__":true,"id":3004},"sourceAttrName":"getMenu","targetObj":{"__isSmartRef__":true,"id":2506},"targetMethodName":"getPane4Menu","converter":null,"converterString":null,"updater":null,"updaterString":null,"varMapping":{"__isSmartRef__":true,"id":3023},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"3023":{"source":{"__isSmartRef__":true,"id":3004},"target":{"__isSmartRef__":true,"id":2506}},"3024":{"onDownPressed":{"__isSmartRef__":true,"id":3025},"onUpPressed":{"__isSmartRef__":true,"id":3032}},"3025":{"varMapping":{"__isSmartRef__":true,"id":3026},"source":"function onDownPressed(evt) {\n $super(evt);\n this.focus.bind(this).delay(0);\n return true;\n }","funcProperties":{"__isSmartRef__":true,"id":3031},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3026":{"this":{"__isSmartRef__":true,"id":3004},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3027}},"3027":{"$super":{"__isSmartRef__":true,"id":3028}},"3028":{"varMapping":{"__isSmartRef__":true,"id":3029},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world) \n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3030},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3029":{"obj":{"__isSmartRef__":true,"id":3004},"name":"onDownPressed"},"3030":{},"3031":{},"3032":{"varMapping":{"__isSmartRef__":true,"id":3033},"source":"function onUpPressed(evt) {\n $super(evt);\n this.focus.bind(this).delay(0);\n return true;\n }","funcProperties":{"__isSmartRef__":true,"id":3038},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3033":{"this":{"__isSmartRef__":true,"id":3004},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3034}},"3034":{"$super":{"__isSmartRef__":true,"id":3035}},"3035":{"varMapping":{"__isSmartRef__":true,"id":3036},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world) \n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3037},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3036":{"obj":{"__isSmartRef__":true,"id":3004},"name":"onUpPressed"},"3037":{},"3038":{},"3039":{"source":{"__isSmartRef__":true,"id":2506},"target":{"__isSmartRef__":true,"id":3004}},"3040":{"sourceObj":{"__isSmartRef__":true,"id":2506},"sourceAttrName":"setSourceString","targetObj":{"__isSmartRef__":true,"id":3041},"targetMethodName":"setTextString","converter":null,"converterString":null,"updater":null,"updaterString":null,"varMapping":{"__isSmartRef__":true,"id":3058},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"3041":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3042},"derivationIds":[null],"id":"C8510A98-B7E6-48D8-873B-DAABB92D978F","renderContextTable":{"__isSmartRef__":true,"id":3048},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":3049}],"eventHandler":{"__isSmartRef__":true,"id":3051},"_ClipMode":"auto","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":true,"_InputAllowed":true,"allowInput":true,"_FontFamily":"Courier","_FontSize":10,"evalEnabled":false,"_Position":{"__isSmartRef__":true,"id":3052},"priorExtent":{"__isSmartRef__":true,"id":3053},"_MaxTextWidth":793,"_MinTextWidth":793,"_MaxTextHeight":null,"_MinTextHeight":null,"owner":{"__isSmartRef__":true,"id":2490},"accessibleInInactiveWindow":true,"layout":{"__isSmartRef__":true,"id":3054},"noEval":true,"syntaxHighlightingWhileTyping":true,"attributeConnections":[{"__isSmartRef__":true,"id":3055},{"__isSmartRef__":true,"id":3056}],"doNotSerialize":["$$textString","$$savedTextString"],"doNotCopyProperties":["$$textString","$$savedTextString"],"textString":"PhantomJSServer = {\n port: 8105\n}\n\nfunction JobQueue(concurrency) {\n var queue = [];\n var jobs = new Array(concurrency);\n\n var lastJobId = 0;\n this.nextJobId = function(){\n return ++lastJobId;\n }\n\n this._getJob = function(jobId) {\n return __.find(jobs, function(e) {\n if (!e) return false;\n return e.jobId == jobId;\n });\n }\n\n this._getSlot = function(jobId) {\n var job = this._getJob(jobId);\n if (job) {\n return jobs.indexOf(job)\n }\n }\n\n this._getFreeSlot = function() {\n for (var i=0; i 0) {\n this._startJob(queue.shift())\n }\n }\n\n this._startJob = function(jobObj) {\n var job = jobObj.job;\n var callback = jobObj.callback;\n var slot = this._getFreeSlot();\n\n var sanitize = function(string) {\n return \"'\" + string.replace(/['\\\\]/g, '') + \"'\";\n }\n\n command = sanitize(job.executable);\n var args = __.map(job.args, function(arg) {\n if (arg == \"JOBID\") {\n return jobObj.jobId;\n } else if (arg == \"SLOT\") {\n return slot;\n } else {\n return sanitize(arg);\n }\n });\n command = command + \" \" + args.join(\" \");\n\n var child = exec(command, job.options, function(error) {\n callback(error);\n });\n\n jobs[slot] = jobObj\n jobObj.slot = slot\n jobObj.process = child;\n jobObj.status = \"running\";\n\n job.metadata = job.metadata || {};\n job.metadata.pid = child.pid;\n\n if (job.stdin) {\n child.stdin.write(job.stdin);\n child.stdin.end();\n }\n\n if (job.stdout) {\n child.stdout.addListener('data', function(data) {\n job.stdout(data);\n });\n }\n if (job.stderr) {\n child.stderr.addListener('data', function(data) {\n job.stderr(data);\n });\n }\n }\n}\nvar phantomQueue = new JobQueue(10);\nvar execQueue = new JobQueue(3);\nvar convertQueue = new JobQueue(10);\n\nvar __ = require('underscore'),\n fs = require('fs'),\n crypto = require('crypto'),\n url = require('url'),\n rest = require('restler');\n\n exec = require('child_process').exec,\n spawn = require('child_process').spawn;\n\nvar express = require('express');\nvar app = express.createServer();\napp.configure(function() {\n app.use(express.logger());\n app.use(express.bodyParser());\n app.use(app.router);\n});\n\nfunction withScreenshot(url, filename, callback) {\n try {\n var stat = fs.lstatSync(filename);\n callback(url, filename);\n } catch(e) {\n var script = 'var filename = phantom.args[1];' +\n 'page.render(filename);';\n\n\n var job = {\n executable: \"/usr/local/bin/phantomjs\",\n args: [ \"/home/nodejs/phantomjs/doit.js\",\n url,\n filename\n ],\n stdin: script,\n options: {\n timeout: 30000\n },\n }\n execQueue.enqueue(job, function(error) {\n callback(url, filename);\n });\n }\n}\n\nfunction phantomExec(url, script, callbacks) {\n var job = {\n executable: \"/usr/local/bin/phantomjs\",\n args: [ \"/home/nodejs/phantomjs/doit.js\",\n url,\n ],\n stdin: script,\n stdout: callbacks.stdout,\n stderr: callbacks.stderr,\n options: {\n timeout: 60000\n },\n }\n return execQueue.enqueue(job, callbacks.finish);\n}\n\napp.get('/screenshot/full/*', function(req, res) {\n var cacheDir = '/home/nodejs/phantomjs/screenshots';\n\n var remoteURL = 'http://lively-kernel.org/' + req.params[0];\n remoteURL += (url.parse(req.url, true).search || \"\");\n\n console.log(remoteURL);\n\n var md5sum = crypto.createHash('md5');\n md5sum.update(remoteURL);\n var urlMD5 = md5sum.digest('hex');\n\n var screenshot = cacheDir + \"/\" + urlMD5 + \"_full.png\";\n\n if (/^[^?]+\\.x?html(\\?.*)?$/.test(remoteURL)) {\n withScreenshot(remoteURL, screenshot, function(remoteURL, screenshot) {\n res.sendfile(screenshot);\n });\n } else {\n res.send(404);\n }\n});\n\napp.get(/^\\/screenshot\\/(medium|cropped|thumb|part)\\/(.+)$/, function(req, res) {\n var cacheDir = '/home/nodejs/phantomjs/screenshots';\n\n var size = req.params[0];\n var remoteURL = 'http://lively-kernel.org/' + req.params[1];\n remoteURL += (url.parse(req.url, true).search || \"\");\n\n var md5sum = crypto.createHash('md5');\n md5sum.update(remoteURL);\n var urlMD5 = md5sum.digest('hex');\n\n var screenshotFull = cacheDir + \"/\" + urlMD5 + \"_full.png\";\n var screenshot = cacheDir + \"/\" + urlMD5 + \"_\" + size + \".png\";\n\n switch(size) {\n case \"medium\":\n var convert = [\"-crop\", \"1024x768+0+0\", \"-background\", \"#ffffff\", screenshotFull, screenshot]\n break;\n case \"cropped\":\n var convert = [\"-trim\", screenshotFull, screenshot]\n break;\n case \"thumb\":\n var convert = [\"-trim\", \"-resize\", \"100x100\", screenshotFull, screenshot]\n break;\n case \"part\":\n var convert = [\"-crop\", req.query['size']+\"x\"+req.query[\"size\"]+\"+0+0\", screenshotFull, screenshot]\n break;\n }\n\n try {\n var stat = fs.lstatSync(screenshot);\n res.sendfile(screenshot);\n } catch(e) {\n if (/^[^?]+\\.x?html(\\?.*)?$/.test(remoteURL)) {\n withScreenshot(remoteURL, screenshotFull, function(remoteURL, screenshotFull) {\n var job = {\n executable: \"/usr/bin/convert\",\n args: convert\n }\n convertQueue.enqueue(job, function(code) {\n res.sendfile(screenshot);\n });\n });\n } else {\n res.send(404);\n }\n }\n});\n\nfunction deleteFile(filePath) {\n fs.stat(filePath, function(err, stats) {\n if (!err) {\n if (stats.isFile()) {\n fs.unlink(filePath, function(err) {\n if (err) {\n console.log(JSON.stringify(err));\n } else {\n console.log(\"Removed \" + filePath);\n }\n });\n }\n } else {\n console.log(JSON.stringify(err));\n }\n });\n}\n\napp.delete(/^\\/screenshot\\/(full|medium|cropped|thumb)$/, function(req, res) {\n var size = req.params[0];\n var cacheDir = '/home/nodejs/phantomjs/screenshots';\n\n fs.readdir(cacheDir, function(err, files) {\n if (err) {\n res.finish(500);\n } else {\n __.each(files, function(file) {\n if (size == \"full\" || RegExp(\"_\" + size + \"\\.png$\").test(file)) {\n var filePath = cacheDir + \"/\" + file;\n deleteFile(filePath);\n }\n });\n }\n res.send(202);\n });\n});\n\napp.delete(/^\\/screenshot\\/(full|medium|cropped|thumb)\\/(.+)$/, function(req, res) {\n var size = req.params[0];\n var cacheDir = '/home/nodejs/phantomjs/screenshots';\n\n var remoteURL = 'http://lively-kernel.org/' + req.params[1];\n remoteURL += (url.parse(req.url, true).search || \"\");\n\n var md5sum = crypto.createHash('md5');\n md5sum.update(remoteURL);\n var urlMD5 = md5sum.digest('hex');\n\n var screenshot = cacheDir + \"/\" + urlMD5 + \"_\" + size + \".png\";\n deleteFile(screenshot);\n res.send(202);\n});\n\napp.post('/exec/*', function(req, res) {\n var remoteURL = 'http://lively-kernel.org/' + req.params[0];\n\n phantomExec(remoteURL, req.body.script, {\n stdout: function(data) { res.write(data); },\n stderr: function(data) { res.write(data); },\n finish: function(error) {\n res.end();\n }\n });\n});\n\nfunction phantomCloud(url, job) {\n job.executable = \"/usr/local/bin/phantomjs\";\n job.args = [ \"/home/nodejs/phantomjs/cloud.js\",\n url,\n \"SLOT\"\n ];\n job.stdin = job.stdin || \"true;\";\n return phantomQueue.enqueue(job, job.finish || function(error){ });\n}\n\napp.post('/cloud', function(req, res) {\n var remoteURL = req.body.url;\n\n var jobId = phantomCloud(remoteURL, {\n metadata: {\n url: remoteURL\n },\n stdout: function(data) { console.log(\" \" + data.replace(/^\\s+|\\s+$/g, '')); },\n stderr: function(data) { console.log(\" \" + data.replace(/^\\s+|\\s+$/g, '')); },\n });\n\n res.json({\n jobId: jobId\n });\n});\n\napp.get('/cloud', function(req, res) {\n var remoteURL = req.query.url;\n\n var info = phantomQueue.getInfo();\n jobIds = __.union(info.running, info.queued);\n\n var jobId = __.find(jobIds, function(id) {\n var job = phantomQueue.getJobInfo(id);\n return job.job.metadata.url == remoteURL;\n });\n\n if (jobId) {\n var job = phantomQueue.getJobInfo(jobId);\n var metadata = job.job.metadata ? job.job.metadata : new Object();\n res.json({\n job: job.jobId,\n status: job.status,\n metadata: metadata\n });\n } else {\n res.send(404);\n }\n});\n\napp.get('/cloud/:jobId', function(req, res) {\n var job = phantomQueue.getJobInfo(req.params.jobId);\n\n if (job && job.job) {\n var metadata = job.job.metadata ? job.job.metadata : new Object();\n res.json({\n job: req.params.jobId,\n status: job.status,\n metadata: metadata\n })\n } else {\n res.send(404);\n }\n});\n\napp.delete('/cloud/:jobId', function(req, res) {\n phantomQueue.kill(req.params.jobId);\n res.send(202);\n});\n\nfunction cloudExec(jobId, sync, script, callback) {\n if (Number(jobId).toString() != jobId) {\n res.send(404);\n return\n }\n\n var job = phantomQueue.getJobInfo(jobId);\n if (job && job.job && job.status == \"running\") {\n\n var remoteURL = \"http://127.0.0.1:\" + (10000+job.slot) + \"/exec\";\n if (sync) remoteURL += \"/sync\";\n rest.post(remoteURL, {\n data: {script: script}\n }).on('complete', function(data, response) {\n callback(null, data)\n });\n } else {\n callback(\"Job not running\")\n }\n}\n\napp.post('/cloud/:jobId/exec', function(req, res) {\n var jobId = req.params.jobId;\n \n cloudExec(jobId, req.body.script, function(error, result) {\n if (error) {\n res.send(404);\n } else {\n res.json(result); \n }\n });\n});\n\napp.post('/cloud/:jobId/stop', function(req, res) {\n var jobId = req.params.jobId;\n \n var script = function() {\n page.evaluate(function() {\n var savingForExit = true;\n var afterSaveCallback = function() {\n if (!savingForExit) return;\n window.worldCanBeShutdown = true;\n }\n connect($world, 'savingDone', this, 'afterSaveCallback');\n $world.saveWorldAs(URL.source, false);\n });\n \n waitFor(function() {\n return window.worldCanBeShutdown;\n }, function() {\n phantom.exit(0);\n }, timeout);\n }\n \n cloudExec(jobId, \"(\" + script.toString() + \")()\", function(error, result) {\n if (error) {\n res.send(404);\n } else {\n res.json(result)\n }\n });\n})\n\n\napp.get('/queues', function(req, res) {\n res.json({\n phantomjs: phantomQueue.getInfo(),\n exec: execQueue.getInfo(),\n convert: convertQueue.getInfo()\n });\n});\n\napp.listen(PhantomJSServer.port, \"localhost\");","lastSyntaxHighlightTime":1337783200017,"savedTextString":"PhantomJSServer = {\n port: 8105\n}\n\nfunction JobQueue(concurrency) {\n var queue = [];\n var jobs = new Array(concurrency);\n\n var lastJobId = 0;\n this.nextJobId = function(){\n return ++lastJobId;\n }\n\n this._getJob = function(jobId) {\n return __.find(jobs, function(e) {\n if (!e) return false;\n return e.jobId == jobId;\n });\n }\n\n this._getSlot = function(jobId) {\n var job = this._getJob(jobId);\n if (job) {\n return jobs.indexOf(job)\n }\n }\n\n this._getFreeSlot = function() {\n for (var i=0; i 0) {\n this._startJob(queue.shift())\n }\n }\n\n this._startJob = function(jobObj) {\n var job = jobObj.job;\n var callback = jobObj.callback;\n var slot = this._getFreeSlot();\n\n var sanitize = function(string) {\n return \"'\" + string.replace(/['\\\\]/g, '') + \"'\";\n }\n\n command = sanitize(job.executable);\n var args = __.map(job.args, function(arg) {\n if (arg == \"JOBID\") {\n return jobObj.jobId;\n } else if (arg == \"SLOT\") {\n return slot;\n } else {\n return sanitize(arg);\n }\n });\n command = command + \" \" + args.join(\" \");\n\n var child = exec(command, job.options, function(error) {\n callback(error);\n });\n\n jobs[slot] = jobObj\n jobObj.slot = slot\n jobObj.process = child;\n jobObj.status = \"running\";\n\n job.metadata = job.metadata || {};\n job.metadata.pid = child.pid;\n\n if (job.stdin) {\n child.stdin.write(job.stdin);\n child.stdin.end();\n }\n\n if (job.stdout) {\n child.stdout.addListener('data', function(data) {\n job.stdout(data);\n });\n }\n if (job.stderr) {\n child.stderr.addListener('data', function(data) {\n job.stderr(data);\n });\n }\n }\n}\nvar phantomQueue = new JobQueue(10);\nvar execQueue = new JobQueue(3);\nvar convertQueue = new JobQueue(10);\n\nvar __ = require('underscore'),\n fs = require('fs'),\n crypto = require('crypto'),\n url = require('url'),\n rest = require('restler');\n\n exec = require('child_process').exec,\n spawn = require('child_process').spawn;\n\nvar express = require('express');\nvar app = express.createServer();\napp.configure(function() {\n app.use(express.logger());\n app.use(express.bodyParser());\n app.use(app.router);\n});\n\nfunction withScreenshot(url, filename, callback) {\n try {\n var stat = fs.lstatSync(filename);\n callback(url, filename);\n } catch(e) {\n var script = 'var filename = phantom.args[1];' +\n 'page.render(filename);';\n\n\n var job = {\n executable: \"/usr/local/bin/phantomjs\",\n args: [ \"/home/nodejs/phantomjs/doit.js\",\n url,\n filename\n ],\n stdin: script,\n options: {\n timeout: 30000\n },\n }\n execQueue.enqueue(job, function(error) {\n callback(url, filename);\n });\n }\n}\n\nfunction phantomExec(url, script, callbacks) {\n var job = {\n executable: \"/usr/local/bin/phantomjs\",\n args: [ \"/home/nodejs/phantomjs/doit.js\",\n url,\n ],\n stdin: script,\n stdout: callbacks.stdout,\n stderr: callbacks.stderr,\n options: {\n timeout: 60000\n },\n }\n return execQueue.enqueue(job, callbacks.finish);\n}\n\napp.get('/screenshot/full/*', function(req, res) {\n var cacheDir = '/home/nodejs/phantomjs/screenshots';\n\n var remoteURL = 'http://lively-kernel.org/' + req.params[0];\n remoteURL += (url.parse(req.url, true).search || \"\");\n\n console.log(remoteURL);\n\n var md5sum = crypto.createHash('md5');\n md5sum.update(remoteURL);\n var urlMD5 = md5sum.digest('hex');\n\n var screenshot = cacheDir + \"/\" + urlMD5 + \"_full.png\";\n\n if (/^[^?]+\\.x?html(\\?.*)?$/.test(remoteURL)) {\n withScreenshot(remoteURL, screenshot, function(remoteURL, screenshot) {\n res.sendfile(screenshot);\n });\n } else {\n res.send(404);\n }\n});\n\napp.get(/^\\/screenshot\\/(medium|cropped|thumb|part)\\/(.+)$/, function(req, res) {\n var cacheDir = '/home/nodejs/phantomjs/screenshots';\n\n var size = req.params[0];\n var remoteURL = 'http://lively-kernel.org/' + req.params[1];\n remoteURL += (url.parse(req.url, true).search || \"\");\n\n var md5sum = crypto.createHash('md5');\n md5sum.update(remoteURL);\n var urlMD5 = md5sum.digest('hex');\n\n var screenshotFull = cacheDir + \"/\" + urlMD5 + \"_full.png\";\n var screenshot = cacheDir + \"/\" + urlMD5 + \"_\" + size + \".png\";\n\n switch(size) {\n case \"medium\":\n var convert = [\"-crop\", \"1024x768+0+0\", \"-background\", \"#ffffff\", screenshotFull, screenshot]\n break;\n case \"cropped\":\n var convert = [\"-trim\", screenshotFull, screenshot]\n break;\n case \"thumb\":\n var convert = [\"-trim\", \"-resize\", \"100x100\", screenshotFull, screenshot]\n break;\n case \"part\":\n var convert = [\"-crop\", req.query['size']+\"x\"+req.query[\"size\"]+\"+0+0\", screenshotFull, screenshot]\n break;\n }\n\n try {\n var stat = fs.lstatSync(screenshot);\n res.sendfile(screenshot);\n } catch(e) {\n if (/^[^?]+\\.x?html(\\?.*)?$/.test(remoteURL)) {\n withScreenshot(remoteURL, screenshotFull, function(remoteURL, screenshotFull) {\n var job = {\n executable: \"/usr/bin/convert\",\n args: convert\n }\n convertQueue.enqueue(job, function(code) {\n res.sendfile(screenshot);\n });\n });\n } else {\n res.send(404);\n }\n }\n});\n\nfunction deleteFile(filePath) {\n fs.stat(filePath, function(err, stats) {\n if (!err) {\n if (stats.isFile()) {\n fs.unlink(filePath, function(err) {\n if (err) {\n console.log(JSON.stringify(err));\n } else {\n console.log(\"Removed \" + filePath);\n }\n });\n }\n } else {\n console.log(JSON.stringify(err));\n }\n });\n}\n\napp.delete(/^\\/screenshot\\/(full|medium|cropped|thumb)$/, function(req, res) {\n var size = req.params[0];\n var cacheDir = '/home/nodejs/phantomjs/screenshots';\n\n fs.readdir(cacheDir, function(err, files) {\n if (err) {\n res.finish(500);\n } else {\n __.each(files, function(file) {\n if (size == \"full\" || RegExp(\"_\" + size + \"\\.png$\").test(file)) {\n var filePath = cacheDir + \"/\" + file;\n deleteFile(filePath);\n }\n });\n }\n res.send(202);\n });\n});\n\napp.delete(/^\\/screenshot\\/(full|medium|cropped|thumb)\\/(.+)$/, function(req, res) {\n var size = req.params[0];\n var cacheDir = '/home/nodejs/phantomjs/screenshots';\n\n var remoteURL = 'http://lively-kernel.org/' + req.params[1];\n remoteURL += (url.parse(req.url, true).search || \"\");\n\n var md5sum = crypto.createHash('md5');\n md5sum.update(remoteURL);\n var urlMD5 = md5sum.digest('hex');\n\n var screenshot = cacheDir + \"/\" + urlMD5 + \"_\" + size + \".png\";\n deleteFile(screenshot);\n res.send(202);\n});\n\napp.post('/exec/*', function(req, res) {\n var remoteURL = 'http://lively-kernel.org/' + req.params[0];\n\n phantomExec(remoteURL, req.body.script, {\n stdout: function(data) { res.write(data); },\n stderr: function(data) { res.write(data); },\n finish: function(error) {\n res.end();\n }\n });\n});\n\nfunction phantomCloud(url, job) {\n job.executable = \"/usr/local/bin/phantomjs\";\n job.args = [ \"/home/nodejs/phantomjs/cloud.js\",\n url,\n \"SLOT\"\n ];\n job.stdin = job.stdin || \"true;\";\n return phantomQueue.enqueue(job, job.finish || function(error){ });\n}\n\napp.post('/cloud', function(req, res) {\n var remoteURL = req.body.url;\n\n var jobId = phantomCloud(remoteURL, {\n metadata: {\n url: remoteURL\n },\n stdout: function(data) { console.log(\" \" + data.replace(/^\\s+|\\s+$/g, '')); },\n stderr: function(data) { console.log(\" \" + data.replace(/^\\s+|\\s+$/g, '')); },\n });\n\n res.json({\n jobId: jobId\n });\n});\n\napp.get('/cloud', function(req, res) {\n var remoteURL = req.query.url;\n\n var info = phantomQueue.getInfo();\n jobIds = __.union(info.running, info.queued);\n\n var jobId = __.find(jobIds, function(id) {\n var job = phantomQueue.getJobInfo(id);\n return job.job.metadata.url == remoteURL;\n });\n\n if (jobId) {\n var job = phantomQueue.getJobInfo(jobId);\n var metadata = job.job.metadata ? job.job.metadata : new Object();\n res.json({\n job: job.jobId,\n status: job.status,\n metadata: metadata\n });\n } else {\n res.send(404);\n }\n});\n\napp.get('/cloud/:jobId', function(req, res) {\n var job = phantomQueue.getJobInfo(req.params.jobId);\n\n if (job && job.job) {\n var metadata = job.job.metadata ? job.job.metadata : new Object();\n res.json({\n job: req.params.jobId,\n status: job.status,\n metadata: metadata\n })\n } else {\n res.send(404);\n }\n});\n\napp.delete('/cloud/:jobId', function(req, res) {\n phantomQueue.kill(req.params.jobId);\n res.send(202);\n});\n\nfunction cloudExec(jobId, sync, script, callback) {\n if (Number(jobId).toString() != jobId) {\n res.send(404);\n return\n }\n\n var job = phantomQueue.getJobInfo(jobId);\n if (job && job.job && job.status == \"running\") {\n\n var remoteURL = \"http://127.0.0.1:\" + (10000+job.slot) + \"/exec\";\n if (sync) remoteURL += \"/sync\";\n rest.post(remoteURL, {\n data: {script: script}\n }).on('complete', function(data, response) {\n callback(null, data)\n });\n } else {\n callback(\"Job not running\")\n }\n}\n\napp.post('/cloud/:jobId/exec', function(req, res) {\n var jobId = req.params.jobId;\n \n cloudExec(jobId, req.body.script, function(error, result) {\n if (error) {\n res.send(404);\n } else {\n res.json(result); \n }\n });\n});\n\napp.post('/cloud/:jobId/stop', function(req, res) {\n var jobId = req.params.jobId;\n \n var script = function() {\n page.evaluate(function() {\n var savingForExit = true;\n var afterSaveCallback = function() {\n if (!savingForExit) return;\n window.worldCanBeShutdown = true;\n }\n connect($world, 'savingDone', this, 'afterSaveCallback');\n $world.saveWorldAs(URL.source, false);\n });\n \n waitFor(function() {\n return window.worldCanBeShutdown;\n }, function() {\n phantom.exit(0);\n }, timeout);\n }\n \n cloudExec(jobId, \"(\" + script.toString() + \")()\", function(error, result) {\n if (error) {\n res.send(404);\n } else {\n res.json(result)\n }\n });\n})\n\n\napp.get('/queues', function(req, res) {\n res.json({\n phantomjs: phantomQueue.getInfo(),\n exec: execQueue.getInfo(),\n convert: convertQueue.getInfo()\n });\n});\n\napp.listen(PhantomJSServer.port, \"localhost\");","styleClass":["Browser_codePaneText"],"focusHaloBorderWidth":0.5,"charsReplaced":"sync","lastFindLoc":11831,"priorSelectionRange":[11774,11774],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3042":{"_Position":{"__isSmartRef__":true,"id":3043},"renderContextTable":{"__isSmartRef__":true,"id":3044},"_Extent":{"__isSmartRef__":true,"id":3045},"styleClassName":"Text","_Padding":{"__isSmartRef__":true,"id":3046},"_BorderWidth":1,"_BorderColor":{"__isSmartRef__":true,"id":3047},"_Fill":{"__isSmartRef__":true,"id":2208},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes"},"3043":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3044":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"3045":{"x":820,"y":302.5,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3046":{"x":5,"y":5,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3047":{"r":0.4,"g":0.4,"b":0.4,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3048":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML","updateText":"updateTextHTML","setTextExtent":"setTextExtentHTML","setMaxTextWidth":"setMaxTextWidthHTML","setMaxTextHeight":"setMaxTextHeightHTML","setMinTextWidth":"setMinTextWidthHTML","setMinTextHeight":"setMinTextHeightHTML","getTextExtent":"getTextExtentHTML","getTextString":"getTextStringHTML","ignoreTextEvents":"ignoreTextEventsHTML","unignoreTextEvents":"unignoreTextEventsHTML","enableTextEvents":"enableTextEventsHTML","setFontFamily":"setFontFamilyHTML","setFontSize":"setFontSizeHTML","setTextColor":"setTextColorHTML","setFontWeight":"setFontWeightHTML","setFontStyle":"setFontStyleHTML","setTextDecoration":"setTextDecorationHTML","setPadding":"setPaddingHTML","setAlign":"setAlignHTML","setVerticalAlign":"setVerticalAlignHTML","setDisplay":"setDisplayHTML","setWhiteSpaceHandling":"setWhiteSpaceHandlingHTML","focusMorph":"focusMorphHTML","setInputAllowed":"setInputAllowedHTML"},"3049":{"style":{"__isSmartRef__":true,"id":3050},"chunkOwner":{"__isSmartRef__":true,"id":3041},"storedString":"PhantomJSServer = {\n port: 8105\n}\n\nfunction JobQueue(concurrency) {\n var queue = [];\n var jobs = new Array(concurrency);\n\n var lastJobId = 0;\n this.nextJobId = function(){\n return ++lastJobId;\n }\n\n this._getJob = function(jobId) {\n return __.find(jobs, function(e) {\n if (!e) return false;\n return e.jobId == jobId;\n });\n }\n\n this._getSlot = function(jobId) {\n var job = this._getJob(jobId);\n if (job) {\n return jobs.indexOf(job)\n }\n }\n\n this._getFreeSlot = function() {\n for (var i=0; i 0) {\n this._startJob(queue.shift())\n }\n }\n\n this._startJob = function(jobObj) {\n var job = jobObj.job;\n var callback = jobObj.callback;\n var slot = this._getFreeSlot();\n\n var sanitize = function(string) {\n return \"'\" + string.replace(/['\\\\]/g, '') + \"'\";\n }\n\n command = sanitize(job.executable);\n var args = __.map(job.args, function(arg) {\n if (arg == \"JOBID\") {\n return jobObj.jobId;\n } else if (arg == \"SLOT\") {\n return slot;\n } else {\n return sanitize(arg);\n }\n });\n command = command + \" \" + args.join(\" \");\n\n var child = exec(command, job.options, function(error) {\n callback(error);\n });\n\n jobs[slot] = jobObj\n jobObj.slot = slot\n jobObj.process = child;\n jobObj.status = \"running\";\n\n job.metadata = job.metadata || {};\n job.metadata.pid = child.pid;\n\n if (job.stdin) {\n child.stdin.write(job.stdin);\n child.stdin.end();\n }\n\n if (job.stdout) {\n child.stdout.addListener('data', function(data) {\n job.stdout(data);\n });\n }\n if (job.stderr) {\n child.stderr.addListener('data', function(data) {\n job.stderr(data);\n });\n }\n }\n}\nvar phantomQueue = new JobQueue(10);\nvar execQueue = new JobQueue(3);\nvar convertQueue = new JobQueue(10);\n\nvar __ = require('underscore'),\n fs = require('fs'),\n crypto = require('crypto'),\n url = require('url'),\n rest = require('restler');\n\n exec = require('child_process').exec,\n spawn = require('child_process').spawn;\n\nvar express = require('express');\nvar app = express.createServer();\napp.configure(function() {\n app.use(express.logger());\n app.use(express.bodyParser());\n app.use(app.router);\n});\n\nfunction withScreenshot(url, filename, callback) {\n try {\n var stat = fs.lstatSync(filename);\n callback(url, filename);\n } catch(e) {\n var script = 'var filename = phantom.args[1];' +\n 'page.render(filename);';\n\n\n var job = {\n executable: \"/usr/local/bin/phantomjs\",\n args: [ \"/home/nodejs/phantomjs/doit.js\",\n url,\n filename\n ],\n stdin: script,\n options: {\n timeout: 30000\n },\n }\n execQueue.enqueue(job, function(error) {\n callback(url, filename);\n });\n }\n}\n\nfunction phantomExec(url, script, callbacks) {\n var job = {\n executable: \"/usr/local/bin/phantomjs\",\n args: [ \"/home/nodejs/phantomjs/doit.js\",\n url,\n ],\n stdin: script,\n stdout: callbacks.stdout,\n stderr: callbacks.stderr,\n options: {\n timeout: 60000\n },\n }\n return execQueue.enqueue(job, callbacks.finish);\n}\n\napp.get('/screenshot/full/*', function(req, res) {\n var cacheDir = '/home/nodejs/phantomjs/screenshots';\n\n var remoteURL = 'http://lively-kernel.org/' + req.params[0];\n remoteURL += (url.parse(req.url, true).search || \"\");\n\n console.log(remoteURL);\n\n var md5sum = crypto.createHash('md5');\n md5sum.update(remoteURL);\n var urlMD5 = md5sum.digest('hex');\n\n var screenshot = cacheDir + \"/\" + urlMD5 + \"_full.png\";\n\n if (/^[^?]+\\.x?html(\\?.*)?$/.test(remoteURL)) {\n withScreenshot(remoteURL, screenshot, function(remoteURL, screenshot) {\n res.sendfile(screenshot);\n });\n } else {\n res.send(404);\n }\n});\n\napp.get(/^\\/screenshot\\/(medium|cropped|thumb|part)\\/(.+)$/, function(req, res) {\n var cacheDir = '/home/nodejs/phantomjs/screenshots';\n\n var size = req.params[0];\n var remoteURL = 'http://lively-kernel.org/' + req.params[1];\n remoteURL += (url.parse(req.url, true).search || \"\");\n\n var md5sum = crypto.createHash('md5');\n md5sum.update(remoteURL);\n var urlMD5 = md5sum.digest('hex');\n\n var screenshotFull = cacheDir + \"/\" + urlMD5 + \"_full.png\";\n var screenshot = cacheDir + \"/\" + urlMD5 + \"_\" + size + \".png\";\n\n switch(size) {\n case \"medium\":\n var convert = [\"-crop\", \"1024x768+0+0\", \"-background\", \"#ffffff\", screenshotFull, screenshot]\n break;\n case \"cropped\":\n var convert = [\"-trim\", screenshotFull, screenshot]\n break;\n case \"thumb\":\n var convert = [\"-trim\", \"-resize\", \"100x100\", screenshotFull, screenshot]\n break;\n case \"part\":\n var convert = [\"-crop\", req.query['size']+\"x\"+req.query[\"size\"]+\"+0+0\", screenshotFull, screenshot]\n break;\n }\n\n try {\n var stat = fs.lstatSync(screenshot);\n res.sendfile(screenshot);\n } catch(e) {\n if (/^[^?]+\\.x?html(\\?.*)?$/.test(remoteURL)) {\n withScreenshot(remoteURL, screenshotFull, function(remoteURL, screenshotFull) {\n var job = {\n executable: \"/usr/bin/convert\",\n args: convert\n }\n convertQueue.enqueue(job, function(code) {\n res.sendfile(screenshot);\n });\n });\n } else {\n res.send(404);\n }\n }\n});\n\nfunction deleteFile(filePath) {\n fs.stat(filePath, function(err, stats) {\n if (!err) {\n if (stats.isFile()) {\n fs.unlink(filePath, function(err) {\n if (err) {\n console.log(JSON.stringify(err));\n } else {\n console.log(\"Removed \" + filePath);\n }\n });\n }\n } else {\n console.log(JSON.stringify(err));\n }\n });\n}\n\napp.delete(/^\\/screenshot\\/(full|medium|cropped|thumb)$/, function(req, res) {\n var size = req.params[0];\n var cacheDir = '/home/nodejs/phantomjs/screenshots';\n\n fs.readdir(cacheDir, function(err, files) {\n if (err) {\n res.finish(500);\n } else {\n __.each(files, function(file) {\n if (size == \"full\" || RegExp(\"_\" + size + \"\\.png$\").test(file)) {\n var filePath = cacheDir + \"/\" + file;\n deleteFile(filePath);\n }\n });\n }\n res.send(202);\n });\n});\n\napp.delete(/^\\/screenshot\\/(full|medium|cropped|thumb)\\/(.+)$/, function(req, res) {\n var size = req.params[0];\n var cacheDir = '/home/nodejs/phantomjs/screenshots';\n\n var remoteURL = 'http://lively-kernel.org/' + req.params[1];\n remoteURL += (url.parse(req.url, true).search || \"\");\n\n var md5sum = crypto.createHash('md5');\n md5sum.update(remoteURL);\n var urlMD5 = md5sum.digest('hex');\n\n var screenshot = cacheDir + \"/\" + urlMD5 + \"_\" + size + \".png\";\n deleteFile(screenshot);\n res.send(202);\n});\n\napp.post('/exec/*', function(req, res) {\n var remoteURL = 'http://lively-kernel.org/' + req.params[0];\n\n phantomExec(remoteURL, req.body.script, {\n stdout: function(data) { res.write(data); },\n stderr: function(data) { res.write(data); },\n finish: function(error) {\n res.end();\n }\n });\n});\n\nfunction phantomCloud(url, job) {\n job.executable = \"/usr/local/bin/phantomjs\";\n job.args = [ \"/home/nodejs/phantomjs/cloud.js\",\n url,\n \"SLOT\"\n ];\n job.stdin = job.stdin || \"true;\";\n return phantomQueue.enqueue(job, job.finish || function(error){ });\n}\n\napp.post('/cloud', function(req, res) {\n var remoteURL = req.body.url;\n\n var jobId = phantomCloud(remoteURL, {\n metadata: {\n url: remoteURL\n },\n stdout: function(data) { console.log(\" \" + data.replace(/^\\s+|\\s+$/g, '')); },\n stderr: function(data) { console.log(\" \" + data.replace(/^\\s+|\\s+$/g, '')); },\n });\n\n res.json({\n jobId: jobId\n });\n});\n\napp.get('/cloud', function(req, res) {\n var remoteURL = req.query.url;\n\n var info = phantomQueue.getInfo();\n jobIds = __.union(info.running, info.queued);\n\n var jobId = __.find(jobIds, function(id) {\n var job = phantomQueue.getJobInfo(id);\n return job.job.metadata.url == remoteURL;\n });\n\n if (jobId) {\n var job = phantomQueue.getJobInfo(jobId);\n var metadata = job.job.metadata ? job.job.metadata : new Object();\n res.json({\n job: job.jobId,\n status: job.status,\n metadata: metadata\n });\n } else {\n res.send(404);\n }\n});\n\napp.get('/cloud/:jobId', function(req, res) {\n var job = phantomQueue.getJobInfo(req.params.jobId);\n\n if (job && job.job) {\n var metadata = job.job.metadata ? job.job.metadata : new Object();\n res.json({\n job: req.params.jobId,\n status: job.status,\n metadata: metadata\n })\n } else {\n res.send(404);\n }\n});\n\napp.delete('/cloud/:jobId', function(req, res) {\n phantomQueue.kill(req.params.jobId);\n res.send(202);\n});\n\nfunction cloudExec(jobId, sync, script, callback) {\n if (Number(jobId).toString() != jobId) {\n res.send(404);\n return\n }\n\n var job = phantomQueue.getJobInfo(jobId);\n if (job && job.job && job.status == \"running\") {\n\n var remoteURL = \"http://127.0.0.1:\" + (10000+job.slot) + \"/exec\";\n if (sync) remoteURL += \"/sync\";\n rest.post(remoteURL, {\n data: {script: script}\n }).on('complete', function(data, response) {\n callback(null, data)\n });\n } else {\n callback(\"Job not running\")\n }\n}\n\napp.post('/cloud/:jobId/exec', function(req, res) {\n var jobId = req.params.jobId;\n \n cloudExec(jobId, req.body.script, function(error, result) {\n if (error) {\n res.send(404);\n } else {\n res.json(result); \n }\n });\n});\n\napp.post('/cloud/:jobId/stop', function(req, res) {\n var jobId = req.params.jobId;\n \n var script = function() {\n page.evaluate(function() {\n var savingForExit = true;\n var afterSaveCallback = function() {\n if (!savingForExit) return;\n window.worldCanBeShutdown = true;\n }\n connect($world, 'savingDone', this, 'afterSaveCallback');\n $world.saveWorldAs(URL.source, false);\n });\n \n waitFor(function() {\n return window.worldCanBeShutdown;\n }, function() {\n phantom.exit(0);\n }, timeout);\n }\n \n cloudExec(jobId, \"(\" + script.toString() + \")()\", function(error, result) {\n if (error) {\n res.send(404);\n } else {\n res.json(result)\n }\n });\n})\n\n\napp.get('/queues', function(req, res) {\n res.json({\n phantomjs: phantomQueue.getInfo(),\n exec: execQueue.getInfo(),\n convert: convertQueue.getInfo()\n });\n});\n\napp.listen(PhantomJSServer.port, \"localhost\");","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3050":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3051":{"morph":{"__isSmartRef__":true,"id":3041},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3052":{"x":0,"y":247.5,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3053":{"x":820,"y":302.5,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3054":{"scaleVertical":true,"scaleHorizontal":true},"3055":{"sourceObj":{"__isSmartRef__":true,"id":3041},"sourceAttrName":"textString","targetObj":{"__isSmartRef__":true,"id":3041},"targetMethodName":"highlightJavaScriptSyntax","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"3056":{"sourceObj":{"__isSmartRef__":true,"id":3041},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":2506},"targetMethodName":"setSourceString","converter":null,"converterString":null,"updater":null,"updaterString":null,"varMapping":{"__isSmartRef__":true,"id":3057},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"3057":{"source":{"__isSmartRef__":true,"id":3041},"target":{"__isSmartRef__":true,"id":2506}},"3058":{"source":{"__isSmartRef__":true,"id":2506},"target":{"__isSmartRef__":true,"id":3041}},"3059":{"sourceObj":{"__isSmartRef__":true,"id":2506},"sourceAttrName":"targetURL","targetObj":{"__isSmartRef__":true,"id":2491},"targetMethodName":"setTextString","converter":null,"converterString":null,"updaterString":"function ($upd, value) { value && $upd(String(value)) }","varMapping":{"__isSmartRef__":true,"id":3060},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3061},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"3060":{"source":{"__isSmartRef__":true,"id":2506},"target":{"__isSmartRef__":true,"id":2491}},"3061":{"updater":{"__isSmartRef__":true,"id":3062}},"3062":{"originalFunc":null,"varMapping":{"__isSmartRef__":true,"id":3060},"source":"function ($upd, value) { value && $upd(String(value)) }","funcProperties":{"__isSmartRef__":true,"id":3063},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3063":{},"3064":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3065},"derivationIds":[null],"id":"B5408294-7ED9-4C86-A6A2-BE9A9690C5C2","renderContextTable":{"__isSmartRef__":true,"id":3071},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":3072}],"eventHandler":{"__isSmartRef__":true,"id":3074},"_ClipMode":"visible","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":true,"_InputAllowed":true,"allowInput":true,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"owner":null,"priorExtent":{"__isSmartRef__":true,"id":3075},"_MaxTextWidth":292,"_MinTextWidth":292,"_MaxTextHeight":null,"_MinTextHeight":null,"_TextColor":{"__isSmartRef__":true,"id":2497},"_Position":{"__isSmartRef__":true,"id":3076},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3065":{"_Position":{"__isSmartRef__":true,"id":3066},"renderContextTable":{"__isSmartRef__":true,"id":3067},"_Extent":{"__isSmartRef__":true,"id":3068},"styleClassName":"Text","_Padding":{"__isSmartRef__":true,"id":3069},"_BorderWidth":0,"_BorderColor":{"__isSmartRef__":true,"id":2497},"_Fill":{"__isSmartRef__":true,"id":3070},"_StrokeOpacity":0,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes"},"3066":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3067":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"3068":{"x":300,"y":30,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3069":{"x":4,"y":2,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3070":{"r":0.9529411764705882,"g":0.9529411764705882,"b":0.9529411764705882,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3071":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML","updateText":"updateTextHTML","setTextExtent":"setTextExtentHTML","setMaxTextWidth":"setMaxTextWidthHTML","setMaxTextHeight":"setMaxTextHeightHTML","setMinTextWidth":"setMinTextWidthHTML","setMinTextHeight":"setMinTextHeightHTML","getTextExtent":"getTextExtentHTML","getTextString":"getTextStringHTML","ignoreTextEvents":"ignoreTextEventsHTML","unignoreTextEvents":"unignoreTextEventsHTML","enableTextEvents":"enableTextEventsHTML","setFontFamily":"setFontFamilyHTML","setFontSize":"setFontSizeHTML","setTextColor":"setTextColorHTML","setFontWeight":"setFontWeightHTML","setFontStyle":"setFontStyleHTML","setTextDecoration":"setTextDecorationHTML","setPadding":"setPaddingHTML","setAlign":"setAlignHTML","setVerticalAlign":"setVerticalAlignHTML","setDisplay":"setDisplayHTML","setWhiteSpaceHandling":"setWhiteSpaceHandlingHTML","focusMorph":"focusMorphHTML","setInputAllowed":"setInputAllowedHTML"},"3072":{"style":{"__isSmartRef__":true,"id":3073},"chunkOwner":{"__isSmartRef__":true,"id":3064},"storedString":"Saving server/nodejs/PhantomJSServer.js...\nSuccessfully saved\nEval disabled for server/nodejs/PhantomJSServer.js","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3073":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3074":{"morph":{"__isSmartRef__":true,"id":3064},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3075":{"x":300,"y":30,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3076":{"x":260,"y":136.25,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3077":{"source":{"__isSmartRef__":true,"id":2491},"target":{"__isSmartRef__":true,"id":2506}},"3078":{"submorphs":[{"__isSmartRef__":true,"id":3079}],"scripts":[],"shape":{"__isSmartRef__":true,"id":3090},"derivationIds":[null],"id":"9ED0B4B0-EC47-4BFA-A079-96921C6EEFD3","renderContextTable":{"__isSmartRef__":true,"id":3094},"eventHandler":{"__isSmartRef__":true,"id":3095},"_ClipMode":"visible","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"_Position":{"__isSmartRef__":true,"id":3096},"priorExtent":{"__isSmartRef__":true,"id":3097},"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":2525},"lighterFill":{"__isSmartRef__":true,"id":3098},"label":{"__isSmartRef__":true,"id":3079},"owner":{"__isSmartRef__":true,"id":2490},"attributeConnections":[{"__isSmartRef__":true,"id":3107}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"layout":{"__isSmartRef__":true,"id":3109},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets"},"3079":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3080},"derivationIds":[null],"id":"BB3F858C-24B0-4B05-AAD0-484A05A79233","renderContextTable":{"__isSmartRef__":true,"id":3085},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":3086}],"eventHandler":{"__isSmartRef__":true,"id":3088},"_ClipMode":"hidden","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":true,"_InputAllowed":false,"allowInput":false,"_FontFamily":"Helvetica","_FontSize":8,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":3078},"isLabel":true,"_HandStyle":"default","_TextColor":{"__isSmartRef__":true,"id":2497},"_Align":"center","eventsAreIgnored":true,"priorExtent":{"__isSmartRef__":true,"id":3089},"_MaxTextWidth":94.39999999999999,"_MinTextWidth":94.39999999999999,"_MaxTextHeight":null,"_MinTextHeight":null,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3080":{"_Position":{"__isSmartRef__":true,"id":3081},"renderContextTable":{"__isSmartRef__":true,"id":3082},"_Extent":{"__isSmartRef__":true,"id":3083},"styleClassName":"Text","_Padding":{"__isSmartRef__":true,"id":3084},"_BorderWidth":0,"_BorderColor":{"__isSmartRef__":true,"id":2497},"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes"},"3081":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3082":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"3083":{"x":98.39999999999999,"y":16.5,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3084":{"x":2,"y":2,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3085":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML","updateText":"updateTextHTML","setTextExtent":"setTextExtentHTML","setMaxTextWidth":"setMaxTextWidthHTML","setMaxTextHeight":"setMaxTextHeightHTML","setMinTextWidth":"setMinTextWidthHTML","setMinTextHeight":"setMinTextHeightHTML","getTextExtent":"getTextExtentHTML","getTextString":"getTextStringHTML","ignoreTextEvents":"ignoreTextEventsHTML","unignoreTextEvents":"unignoreTextEventsHTML","enableTextEvents":"enableTextEventsHTML","setFontFamily":"setFontFamilyHTML","setFontSize":"setFontSizeHTML","setTextColor":"setTextColorHTML","setFontWeight":"setFontWeightHTML","setFontStyle":"setFontStyleHTML","setTextDecoration":"setTextDecorationHTML","setPadding":"setPaddingHTML","setAlign":"setAlignHTML","setVerticalAlign":"setVerticalAlignHTML","setDisplay":"setDisplayHTML","setWhiteSpaceHandling":"setWhiteSpaceHandlingHTML","focusMorph":"focusMorphHTML","setInputAllowed":"setInputAllowedHTML"},"3086":{"style":{"__isSmartRef__":true,"id":3087},"chunkOwner":{"__isSmartRef__":true,"id":3079},"storedString":"codebase","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3087":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3088":{"morph":{"__isSmartRef__":true,"id":3079},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3089":{"x":98.39999999999999,"y":16.5,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3090":{"_Position":{"__isSmartRef__":true,"id":3091},"renderContextTable":{"__isSmartRef__":true,"id":3092},"_Extent":{"__isSmartRef__":true,"id":3089},"styleClassName":"Button","_Padding":{"__isSmartRef__":true,"id":3093},"_BorderWidth":1,"_BorderColor":{"__isSmartRef__":true,"id":2524},"_Fill":{"__isSmartRef__":true,"id":2525},"_BorderRadius":5,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes"},"3091":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3092":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"3093":{"x":0,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3094":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML"},"3095":{"morph":{"__isSmartRef__":true,"id":3078},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3096":{"x":656,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3097":{"x":98.39999999999999,"y":16.5,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3098":{"stops":[{"__isSmartRef__":true,"id":3099},{"__isSmartRef__":true,"id":3101},{"__isSmartRef__":true,"id":3103},{"__isSmartRef__":true,"id":3105}],"vector":{"__isSmartRef__":true,"id":2211},"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes"},"3099":{"offset":0,"color":{"__isSmartRef__":true,"id":3100}},"3100":{"r":0.98,"g":0.98,"b":0.98,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3101":{"offset":0.4,"color":{"__isSmartRef__":true,"id":3102}},"3102":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3103":{"offset":0.6,"color":{"__isSmartRef__":true,"id":3104}},"3104":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3105":{"offset":1,"color":{"__isSmartRef__":true,"id":3106}},"3106":{"r":0.97,"g":0.97,"b":0.97,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3107":{"sourceObj":{"__isSmartRef__":true,"id":3078},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":2506},"targetMethodName":"setTargetURL","converter":null,"converterString":"function () { return URL.codeBase.withFilename('lively/')}","updater":null,"updaterString":null,"varMapping":{"__isSmartRef__":true,"id":3108},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"3108":{"source":{"__isSmartRef__":true,"id":3078},"target":{"__isSmartRef__":true,"id":2506}},"3109":{"scaleVertical":true,"scaleHorizontal":true},"3110":{"submorphs":[{"__isSmartRef__":true,"id":3111}],"scripts":[],"shape":{"__isSmartRef__":true,"id":3122},"derivationIds":[null],"id":"E13F0067-E1B7-40C1-BBCE-269A7AF59AD8","renderContextTable":{"__isSmartRef__":true,"id":3126},"eventHandler":{"__isSmartRef__":true,"id":3127},"_ClipMode":"visible","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"_Position":{"__isSmartRef__":true,"id":3128},"priorExtent":{"__isSmartRef__":true,"id":3129},"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":2525},"lighterFill":{"__isSmartRef__":true,"id":3130},"label":{"__isSmartRef__":true,"id":3111},"owner":{"__isSmartRef__":true,"id":2490},"attributeConnections":[{"__isSmartRef__":true,"id":3139}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"layout":{"__isSmartRef__":true,"id":3141},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets"},"3111":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3112},"derivationIds":[null],"id":"5F70A45F-EE23-4704-9A08-2BC66CD5AA6B","renderContextTable":{"__isSmartRef__":true,"id":3117},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":3118}],"eventHandler":{"__isSmartRef__":true,"id":3120},"_ClipMode":"hidden","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":true,"_InputAllowed":false,"allowInput":false,"_FontFamily":"Helvetica","_FontSize":8,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":3110},"isLabel":true,"_HandStyle":"default","_TextColor":{"__isSmartRef__":true,"id":2497},"_Align":"center","eventsAreIgnored":true,"priorExtent":{"__isSmartRef__":true,"id":3121},"_MaxTextWidth":61.599999999999994,"_MinTextWidth":61.599999999999994,"_MaxTextHeight":null,"_MinTextHeight":null,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3112":{"_Position":{"__isSmartRef__":true,"id":3113},"renderContextTable":{"__isSmartRef__":true,"id":3114},"_Extent":{"__isSmartRef__":true,"id":3115},"styleClassName":"Text","_Padding":{"__isSmartRef__":true,"id":3116},"_BorderWidth":0,"_BorderColor":{"__isSmartRef__":true,"id":2497},"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes"},"3113":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3114":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"3115":{"x":65.6,"y":16.5,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3116":{"x":2,"y":2,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3117":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML","updateText":"updateTextHTML","setTextExtent":"setTextExtentHTML","setMaxTextWidth":"setMaxTextWidthHTML","setMaxTextHeight":"setMaxTextHeightHTML","setMinTextWidth":"setMinTextWidthHTML","setMinTextHeight":"setMinTextHeightHTML","getTextExtent":"getTextExtentHTML","getTextString":"getTextStringHTML","ignoreTextEvents":"ignoreTextEventsHTML","unignoreTextEvents":"unignoreTextEventsHTML","enableTextEvents":"enableTextEventsHTML","setFontFamily":"setFontFamilyHTML","setFontSize":"setFontSizeHTML","setTextColor":"setTextColorHTML","setFontWeight":"setFontWeightHTML","setFontStyle":"setFontStyleHTML","setTextDecoration":"setTextDecorationHTML","setPadding":"setPaddingHTML","setAlign":"setAlignHTML","setVerticalAlign":"setVerticalAlignHTML","setDisplay":"setDisplayHTML","setWhiteSpaceHandling":"setWhiteSpaceHandlingHTML","focusMorph":"focusMorphHTML","setInputAllowed":"setInputAllowedHTML"},"3118":{"style":{"__isSmartRef__":true,"id":3119},"chunkOwner":{"__isSmartRef__":true,"id":3111},"storedString":"local","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3119":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3120":{"morph":{"__isSmartRef__":true,"id":3111},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3121":{"x":65.6,"y":16.5,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3122":{"_Position":{"__isSmartRef__":true,"id":3123},"renderContextTable":{"__isSmartRef__":true,"id":3124},"_Extent":{"__isSmartRef__":true,"id":3121},"styleClassName":"Button","_Padding":{"__isSmartRef__":true,"id":3125},"_BorderWidth":1,"_BorderColor":{"__isSmartRef__":true,"id":2524},"_Fill":{"__isSmartRef__":true,"id":2525},"_BorderRadius":5,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes"},"3123":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3124":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"3125":{"x":0,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3126":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML"},"3127":{"morph":{"__isSmartRef__":true,"id":3110},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3128":{"x":754.4,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3129":{"x":65.6,"y":16.5,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3130":{"stops":[{"__isSmartRef__":true,"id":3131},{"__isSmartRef__":true,"id":3133},{"__isSmartRef__":true,"id":3135},{"__isSmartRef__":true,"id":3137}],"vector":{"__isSmartRef__":true,"id":2211},"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes"},"3131":{"offset":0,"color":{"__isSmartRef__":true,"id":3132}},"3132":{"r":0.98,"g":0.98,"b":0.98,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3133":{"offset":0.4,"color":{"__isSmartRef__":true,"id":3134}},"3134":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3135":{"offset":0.6,"color":{"__isSmartRef__":true,"id":3136}},"3136":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3137":{"offset":1,"color":{"__isSmartRef__":true,"id":3138}},"3138":{"r":0.97,"g":0.97,"b":0.97,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3139":{"sourceObj":{"__isSmartRef__":true,"id":3110},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":2506},"targetMethodName":"setTargetURL","converter":null,"converterString":"function () { return URL.source.getDirectory() }","updater":null,"updaterString":null,"varMapping":{"__isSmartRef__":true,"id":3140},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"3140":{"source":{"__isSmartRef__":true,"id":3110},"target":{"__isSmartRef__":true,"id":2506}},"3141":{"scaleVertical":true,"scaleHorizontal":true},"3142":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3143},"derivationIds":[null],"id":"45CDBD2E-32C9-4B79-BE70-0117E1DAAC1F","renderContextTable":{"__isSmartRef__":true,"id":3155},"eventHandler":{"__isSmartRef__":true,"id":3156},"_ClipMode":"visible","droppingEnabled":true,"halosEnabled":true,"draggingEnabled":true,"_Position":{"__isSmartRef__":true,"id":3157},"fixed":[{"__isSmartRef__":true,"id":2508},{"__isSmartRef__":true,"id":2552},{"__isSmartRef__":true,"id":2586},{"__isSmartRef__":true,"id":2620},{"__isSmartRef__":true,"id":2654},{"__isSmartRef__":true,"id":2688},{"__isSmartRef__":true,"id":2722}],"scalingBelow":[{"__isSmartRef__":true,"id":3041}],"scalingAbove":[{"__isSmartRef__":true,"id":2763},{"__isSmartRef__":true,"id":2926},{"__isSmartRef__":true,"id":2967},{"__isSmartRef__":true,"id":3004}],"minHeight":20,"pointerConnection":null,"priorExtent":{"__isSmartRef__":true,"id":3158},"owner":{"__isSmartRef__":true,"id":2490},"styleClass":["Browser_resizer"],"layout":{"__isSmartRef__":true,"id":3159},"__LivelyClassName__":"lively.morphic.HorizontalDivider","__SourceModuleName__":"Global.lively.morphic.Widgets"},"3143":{"_Position":{"__isSmartRef__":true,"id":3144},"renderContextTable":{"__isSmartRef__":true,"id":3145},"_Extent":{"__isSmartRef__":true,"id":3146},"styleClassName":"HorizontalDivider","_Padding":{"__isSmartRef__":true,"id":3147},"_Fill":{"__isSmartRef__":true,"id":3148},"_BorderRadius":3,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes"},"3144":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3145":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"3146":{"x":820,"y":5.5,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3147":{"x":0,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3148":{"stops":[{"__isSmartRef__":true,"id":3149},{"__isSmartRef__":true,"id":3151},{"__isSmartRef__":true,"id":3153}],"vector":{"__isSmartRef__":true,"id":2211},"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes"},"3149":{"offset":0,"color":{"__isSmartRef__":true,"id":3150}},"3150":{"r":0.92,"g":0.92,"b":0.92,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3151":{"offset":0.5,"color":{"__isSmartRef__":true,"id":3152}},"3152":{"r":0.8400000000000001,"g":0.8400000000000001,"b":0.8400000000000001,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3153":{"offset":1,"color":{"__isSmartRef__":true,"id":3154}},"3154":{"r":0.7200000000000001,"g":0.7200000000000001,"b":0.7200000000000001,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3155":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML"},"3156":{"morph":{"__isSmartRef__":true,"id":3142},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3157":{"x":0,"y":242,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3158":{"x":820,"y":5.5,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3159":{"scaleVertical":true,"scaleHorizontal":true},"3160":{"_Position":{"__isSmartRef__":true,"id":3161},"renderContextTable":{"__isSmartRef__":true,"id":3162},"_Extent":{"__isSmartRef__":true,"id":3163},"styleClassName":"BrowserPanel","_Padding":{"__isSmartRef__":true,"id":3164},"_Fill":{"__isSmartRef__":true,"id":3165},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes"},"3161":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3162":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"3163":{"x":820,"y":550,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3164":{"x":0,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3165":{"r":0.9019607843137255,"g":0.9019607843137255,"b":0.9019607843137255,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3166":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML"},"3167":{"morph":{"__isSmartRef__":true,"id":2490},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3168":{"resizeWidth":true,"resizeHeight":true,"adjustForNewBounds":true},"3169":{"x":0,"y":21,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3170":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3171},"derivationIds":[null],"id":"C5E338E6-8457-4878-B624-6E5400DD0134","renderContextTable":{"__isSmartRef__":true,"id":3180},"eventHandler":{"__isSmartRef__":true,"id":3181},"_ClipMode":"visible","droppingEnabled":true,"halosEnabled":true,"owner":{"__isSmartRef__":true,"id":2351},"_Position":{"__isSmartRef__":true,"id":3182},"_Rotation":0,"_Scale":1,"__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3183},"__LivelyClassName__":"lively.morphic.Path"},"3171":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":3172},{"__isSmartRef__":true,"id":3173},{"__isSmartRef__":true,"id":3174}],"renderContextTable":{"__isSmartRef__":true,"id":3175},"_Position":{"__isSmartRef__":true,"id":3176},"_Extent":{"__isSmartRef__":true,"id":3177},"_Padding":{"__isSmartRef__":true,"id":3178},"_BorderWidth":0,"_BorderColor":null,"_Fill":{"__isSmartRef__":true,"id":3179},"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.Path"},"3172":{"isAbsolute":true,"x":14,"y":0,"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.MoveTo"},"3173":{"isAbsolute":true,"x":14,"y":14,"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.LineTo"},"3174":{"isAbsolute":true,"x":0,"y":14,"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.LineTo"},"3175":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML","getPathNode":"getPathNodeHTML","setPathElements":"setPathElementsHTML","getPathBounds":"getPathBoundsHTML","getTotalLength":"getTotalLengthHTML","getPointAtTotalLength":"getPointAtTotalLengthHTML"},"3176":{"x":-1,"y":-1,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3177":{"x":15,"y":15,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3178":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"3179":{"r":0.8,"g":0.8,"b":0.8,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3180":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML"},"3181":{"morph":{"__isSmartRef__":true,"id":3170},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"3182":{"x":806,"y":557,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3183":{"onDragStart":{"__isSmartRef__":true,"id":3184},"onDrag":{"__isSmartRef__":true,"id":3191},"onDragEnd":{"__isSmartRef__":true,"id":3198}},"3184":{"varMapping":{"__isSmartRef__":true,"id":3185},"source":"function onDragStart(evt) {\n this.dragStartPoint = evt.mousePoint;\n this.originalTargetExtent = this.owner.getExtent();\n }","funcProperties":{"__isSmartRef__":true,"id":3190},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"3185":{"this":{"__isSmartRef__":true,"id":3170},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3186}},"3186":{"$super":{"__isSmartRef__":true,"id":3187}},"3187":{"varMapping":{"__isSmartRef__":true,"id":3188},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world) \n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3189},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"3188":{"obj":{"__isSmartRef__":true,"id":3170},"name":"onDragStart"},"3189":{},"3190":{},"3191":{"varMapping":{"__isSmartRef__":true,"id":3192},"source":"function onDrag(evt) {\n var moveDelta = evt.mousePoint.subPt(this.dragStartPoint)\n if (evt.isShiftDown()) {\n var maxDelta = Math.max(moveDelta.x, moveDelta.y);\n\t moveDelta = pt(maxDelta, maxDelta);\n };\n this.owner.setExtent(this.originalTargetExtent.addPt(moveDelta));\n this.align(this.bounds().bottomRight(), this.owner.getExtent());\n }","funcProperties":{"__isSmartRef__":true,"id":3197},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"3192":{"this":{"__isSmartRef__":true,"id":3170},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3193}},"3193":{"$super":{"__isSmartRef__":true,"id":3194}},"3194":{"varMapping":{"__isSmartRef__":true,"id":3195},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world) \n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3196},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"3195":{"obj":{"__isSmartRef__":true,"id":3170},"name":"onDrag"},"3196":{},"3197":{},"3198":{"varMapping":{"__isSmartRef__":true,"id":3199},"source":"function onDragEnd(evt) {\n this.dragStartPoint = null;\n this.originalTargetExtent = null;\n }","funcProperties":{"__isSmartRef__":true,"id":3204},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"3199":{"this":{"__isSmartRef__":true,"id":3170},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3200}},"3200":{"$super":{"__isSmartRef__":true,"id":3201}},"3201":{"varMapping":{"__isSmartRef__":true,"id":3202},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world) \n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3203},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"3202":{"obj":{"__isSmartRef__":true,"id":3170},"name":"onDragEnd"},"3203":{},"3204":{},"3205":{"renderContextTable":{"__isSmartRef__":true,"id":3206},"_Padding":{"__isSmartRef__":true,"id":3207},"_BorderWidth":0,"_Fill":null,"_StrokeOpacity":0,"_BorderRadius":0,"_Extent":{"__isSmartRef__":true,"id":3208},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"3206":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"3207":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"3208":{"x":820,"y":571,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3209":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML"},"3210":{"morph":{"__isSmartRef__":true,"id":2351},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"3211":{"adjustForNewBounds":true},"3212":{"x":664.5,"y":570.5,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3213":{"x":820,"y":571,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3214":{"x":1054,"y":576,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3215":{"submorphs":[{"__isSmartRef__":true,"id":3216},{"__isSmartRef__":true,"id":4036},{"__isSmartRef__":true,"id":4181}],"scripts":[],"shape":{"__isSmartRef__":true,"id":4235},"id":"5442A339-A107-4299-9F01-F1EB046609AD","renderContextTable":{"__isSmartRef__":true,"id":4239},"eventHandler":{"__isSmartRef__":true,"id":4240},"droppingEnabled":true,"halosEnabled":true,"draggingEnabled":true,"layout":{"__isSmartRef__":true,"id":4241},"LK2":true,"priorExtent":{"__isSmartRef__":true,"id":4242},"targetMorph":{"__isSmartRef__":true,"id":3216},"titleBar":{"__isSmartRef__":true,"id":4036},"contentOffset":{"__isSmartRef__":true,"id":4243},"collapsedTransform":null,"collapsedExtent":null,"expandedTransform":null,"expandedExtent":null,"ignoreEventsOnExpand":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":4244},"name":"NodeJSControl","prevDragPos":{"__isSmartRef__":true,"id":4247},"highlighted":false,"attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"__SourceModuleName__":"Global.lively.morphic.Widgets","showsHalos":false,"scriptAnnotations":{"__isSmartRef__":true,"id":4248},"_Position":{"__isSmartRef__":true,"id":4251},"derivationIds":[2944,"9FC295B0-C717-40D1-B70A-6003DC9BA398"],"moved":true,"_ClipMode":"visible","owner":{"__isSmartRef__":true,"id":0},"_Rotation":0,"_Scale":1,"prevScroll":[0,0],"isBeingDragged":false,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4252},"__LivelyClassName__":"lively.morphic.Window","withoutLayers":["Global.lively.morphic.GrabbingLayer"]},"3216":{"submorphs":[{"__isSmartRef__":true,"id":3217},{"__isSmartRef__":true,"id":3340},{"__isSmartRef__":true,"id":3356},{"__isSmartRef__":true,"id":3449},{"__isSmartRef__":true,"id":3542},{"__isSmartRef__":true,"id":3635},{"__isSmartRef__":true,"id":3653},{"__isSmartRef__":true,"id":3743},{"__isSmartRef__":true,"id":3836},{"__isSmartRef__":true,"id":3929}],"scripts":[],"id":"11D9B3DF-0CC0-4261-BDC8-077C12180EA4","shape":{"__isSmartRef__":true,"id":3943},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":3950},"__SourceModuleName__":"Global.lively.morphic.Core","renderContextTable":{"__isSmartRef__":true,"id":3951},"eventHandler":{"__isSmartRef__":true,"id":3952},"attributeConnections":[{"__isSmartRef__":true,"id":3953}],"doNotSerialize":["$$currentServer"],"doNotCopyProperties":["$$currentServer"],"priorExtent":{"__isSmartRef__":true,"id":3954},"layout":{"__isSmartRef__":true,"id":3955},"scriptAnnotations":{"__isSmartRef__":true,"id":3956},"name":"NodeJSControl","_Position":{"__isSmartRef__":true,"id":3991},"owner":{"__isSmartRef__":true,"id":3215},"currentServer":{"__isSmartRef__":true,"id":3270},"derivationIds":[2945,"A020E61A-B0C9-46AF-9F62-D5CCABB23375"],"isBeingDragged":false,"distanceToDragEvent":{"__isSmartRef__":true,"id":3992},"_ClipMode":"visible","_Rotation":0,"_Scale":1,"prevScroll":[0,0],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3993},"__LivelyClassName__":"lively.morphic.Box"},"3217":{"submorphs":[],"scripts":[],"id":"2D22BE64-A639-46C7-BF83-68A2A1D23234","shape":{"__isSmartRef__":true,"id":3218},"droppingEnabled":true,"halosEnabled":true,"itemList":[{"__isSmartRef__":true,"id":3225},{"__isSmartRef__":true,"id":3227},{"__isSmartRef__":true,"id":3229},{"__isSmartRef__":true,"id":3231},{"__isSmartRef__":true,"id":3233},{"__isSmartRef__":true,"id":3235},{"__isSmartRef__":true,"id":3237},{"__isSmartRef__":true,"id":3239},{"__isSmartRef__":true,"id":3241},{"__isSmartRef__":true,"id":3243},{"__isSmartRef__":true,"id":3245},{"__isSmartRef__":true,"id":3247},{"__isSmartRef__":true,"id":3249},{"__isSmartRef__":true,"id":3251},{"__isSmartRef__":true,"id":3253},{"__isSmartRef__":true,"id":3255},{"__isSmartRef__":true,"id":3257},{"__isSmartRef__":true,"id":3259},{"__isSmartRef__":true,"id":3261},{"__isSmartRef__":true,"id":3263},{"__isSmartRef__":true,"id":3265},{"__isSmartRef__":true,"id":3267},{"__isSmartRef__":true,"id":3269},{"__isSmartRef__":true,"id":3271},{"__isSmartRef__":true,"id":3273},{"__isSmartRef__":true,"id":3275},{"__isSmartRef__":true,"id":3277},{"__isSmartRef__":true,"id":3279},{"__isSmartRef__":true,"id":3281},{"__isSmartRef__":true,"id":3283},{"__isSmartRef__":true,"id":3285},{"__isSmartRef__":true,"id":3287}],"selectedLineNo":22,"showsHalos":false,"name":"serverList","partsBinMetaInfo":{"__isSmartRef__":true,"id":3289},"__SourceModuleName__":"Global.lively.morphic.Core","_ClipMode":"auto","renderContextTable":{"__isSmartRef__":true,"id":3290},"eventHandler":{"__isSmartRef__":true,"id":3291},"attributeConnections":[{"__isSmartRef__":true,"id":3292}],"doNotSerialize":["$$selection"],"doNotCopyProperties":["$$selection"],"priorExtent":{"__isSmartRef__":true,"id":3337},"_Position":{"__isSmartRef__":true,"id":3338},"owner":{"__isSmartRef__":true,"id":3216},"prevScroll":[0,192],"selection":{"__isSmartRef__":true,"id":3270},"derivationIds":[2946,"50489244-A043-40B6-8982-313F58ACD86E"],"changeTriggered":true,"layout":{"__isSmartRef__":true,"id":3339},"_Rotation":0,"_Scale":1,"isBeingDragged":false,"__LivelyClassName__":"lively.morphic.List"},"3218":{"position":{"__isSmartRef__":true,"id":3219},"_Extent":{"__isSmartRef__":true,"id":3220},"_BorderWidth":0,"_BorderColor":{"__isSmartRef__":true,"id":3221},"_Fill":{"__isSmartRef__":true,"id":3222},"__SourceModuleName__":"Global.lively.morphic.Shapes","renderContextTable":{"__isSmartRef__":true,"id":3223},"_Padding":{"__isSmartRef__":true,"id":3224},"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"3219":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3220":{"x":160,"y":238,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3221":{"r":0,"g":0,"b":0,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3222":{"r":0.95,"g":0.95,"b":0.95,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3223":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"3224":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"3225":{"string":"MasterServer","value":{"__isSmartRef__":true,"id":3226},"isListItem":true},"3226":{"serverName":"MasterServer","isRunning":true},"3227":{"string":"AJMNodeJSServer","value":{"__isSmartRef__":true,"id":3228},"isListItem":true},"3228":{"serverName":"AJMNodeJSServer","pid":25972,"isRunning":true,"restart":true},"3229":{"string":"AileenTest","value":{"__isSmartRef__":true,"id":3230},"isListItem":true},"3230":{"serverName":"AileenTest","pid":17926,"isRunning":true,"restart":true},"3231":{"string":"BenchmarkServer","value":{"__isSmartRef__":true,"id":3232},"isListItem":true},"3232":{"serverName":"BenchmarkServer","pid":12086,"isRunning":true,"restart":true},"3233":{"string":"ChatServer","value":{"__isSmartRef__":true,"id":3234},"isListItem":true},"3234":{"serverName":"ChatServer","path":"/home/nodejs/svn/nodejs/","shouldRestart":true},"3235":{"string":"CodeSearchServer","value":{"__isSmartRef__":true,"id":3236},"isListItem":true},"3236":{"serverName":"CodeSearchServer","pid":31085,"isRunning":true,"restart":true},"3237":{"string":"CommandLineServer","value":{"__isSmartRef__":true,"id":3238},"isListItem":true},"3238":{"serverName":"CommandLineServer","pid":14984,"isRunning":true,"restart":true},"3239":{"string":"CoreDiffInterfaceServer","value":{"__isSmartRef__":true,"id":3240},"isListItem":true},"3240":{"serverName":"CoreDiffInterfaceServer","pid":10469,"isRunning":true,"restart":true},"3241":{"string":"DatabaseQueryServer","value":{"__isSmartRef__":true,"id":3242},"isListItem":true},"3242":{"serverName":"DatabaseQueryServer","pid":31087,"isRunning":true,"restart":true},"3243":{"string":"DistributedDoitServer","value":{"__isSmartRef__":true,"id":3244},"isListItem":true},"3244":{"serverName":"DistributedDoitServer","pid":5625,"isRunning":true,"restart":true},"3245":{"string":"EduChatServer","value":{"__isSmartRef__":true,"id":3246},"isListItem":true},"3246":{"serverName":"EduChatServer","pid":24082,"isRunning":true,"restart":true},"3247":{"string":"EventTrackerServer","value":{"__isSmartRef__":true,"id":3248},"isListItem":true},"3248":{"serverName":"EventTrackerServer","path":"/home/nodejs/svn/nodejs/","shouldRestart":true},"3249":{"string":"FabiansPlayground","value":{"__isSmartRef__":true,"id":3250},"isListItem":true},"3250":{"serverName":"FabiansPlayground","path":"/home/nodejs/svn/nodejs/","shouldRestart":true},"3251":{"string":"FooServer","value":{"__isSmartRef__":true,"id":3252},"isListItem":true},"3252":{"serverName":"FooServer","path":"/home/nodejs/svn/nodejs/","shouldRestart":true},"3253":{"string":"GitDAVServer","value":{"__isSmartRef__":true,"id":3254},"isListItem":true},"3254":{"serverName":"GitDAVServer","pid":7648,"isRunning":true,"restart":true},"3255":{"string":"GridComputingServer","value":{"__isSmartRef__":true,"id":3256},"isListItem":true},"3256":{"serverName":"GridComputingServer","path":"/home/nodejs/svn/nodejs/","shouldRestart":true},"3257":{"string":"HelloServer","value":{"__isSmartRef__":true,"id":3258},"isListItem":true},"3258":{"serverName":"HelloServer","pid":1352,"isRunning":true,"restart":true},"3259":{"string":"InstallShServer","value":{"__isSmartRef__":true,"id":3260},"isListItem":true},"3260":{"serverName":"InstallShServer","pid":3574,"isRunning":true,"restart":true},"3261":{"string":"LaTeXServer","value":{"__isSmartRef__":true,"id":3262},"isListItem":true},"3262":{"serverName":"LaTeXServer","pid":11442,"isRunning":true,"restart":true},"3263":{"string":"MartinsPlayground","value":{"__isSmartRef__":true,"id":3264},"isListItem":true},"3264":{"serverName":"MartinsPlayground","path":"/home/nodejs/svn/nodejs/","shouldRestart":true},"3265":{"string":"NewServer3","value":{"__isSmartRef__":true,"id":3266},"isListItem":true},"3266":{"serverName":"NewServer3","path":"/home/nodejs/svn/nodejs/","shouldRestart":true},"3267":{"string":"OAuthServer","value":{"__isSmartRef__":true,"id":3268},"isListItem":true},"3268":{"serverName":"OAuthServer","pid":29330,"isRunning":true,"restart":true},"3269":{"string":"PhantomJSServer","value":{"__isSmartRef__":true,"id":3270},"isListItem":true},"3270":{"serverName":"PhantomJSServer","pid":7323,"isRunning":true,"restart":true},"3271":{"string":"PingServer","value":{"__isSmartRef__":true,"id":3272},"isListItem":true},"3272":{"serverName":"PingServer","path":"/home/nodejs/svn/nodejs/","shouldRestart":true},"3273":{"string":"PongServer","value":{"__isSmartRef__":true,"id":3274},"isListItem":true},"3274":{"serverName":"PongServer","path":"/home/nodejs/svn/nodejs/","shouldRestart":true},"3275":{"string":"SandboxServer","value":{"__isSmartRef__":true,"id":3276},"isListItem":true},"3276":{"serverName":"SandboxServer","pid":31079,"isRunning":true,"restart":true},"3277":{"string":"SocketChatServer","value":{"__isSmartRef__":true,"id":3278},"isListItem":true},"3278":{"serverName":"SocketChatServer","path":"/home/nodejs/svn/nodejs/","shouldRestart":true},"3279":{"string":"SocketIOExampleServer","value":{"__isSmartRef__":true,"id":3280},"isListItem":true},"3280":{"serverName":"SocketIOExampleServer","path":"/home/nodejs/svn/nodejs/","shouldRestart":true},"3281":{"string":"SqliteQueryServer","value":{"__isSmartRef__":true,"id":3282},"isListItem":true},"3282":{"serverName":"SqliteQueryServer","path":"/home/nodejs/svn/nodejs/","shouldRestart":true},"3283":{"string":"TestServer","value":{"__isSmartRef__":true,"id":3284},"isListItem":true},"3284":{"serverName":"TestServer","path":"/home/nodejs/svn/nodejs/","shouldRestart":false},"3285":{"string":"WhiteboardServer","value":{"__isSmartRef__":true,"id":3286},"isListItem":true},"3286":{"serverName":"WhiteboardServer","pid":16083,"isRunning":true,"restart":true},"3287":{"string":"server","value":{"__isSmartRef__":true,"id":3288},"isListItem":true},"3288":{"serverName":"server","path":"/home/nodejs/svn/webwerkstatt/projects/Collaboration/src/server/","shouldRestart":false},"3289":{"partsSpaceName":"PartsBin/Basic","migrationLevel":2,"__SourceModuleName__":"Global.lively.PartsBin","partName":"List","comment":"a list morph","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo"},"3290":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML","updateListContent":"updateListContentHTML","resizeList":"resizeListHTML","getItemIndexFromEvent":"getItemIndexFromEventHTML","getListExtent":"getListExtentHTML","setSize":"setSizeHTML","renderAsDropDownList":"renderAsDropDownListHTML","setFontSize":"setFontSizeHTML","setFontFamily":"setFontFamilyHTML","getSelectedIndexes":"getSelectedIndexesHTML","enableMultipleSelections":"enableMultipleSelectionsHTML","selectAllAt":"selectAllAtHTML","clearSelections":"clearSelectionsHTML","deselectAt":"deselectAtHTML"},"3291":{"morph":{"__isSmartRef__":true,"id":3217},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"3292":{"sourceObj":{"__isSmartRef__":true,"id":3217},"sourceAttrName":"selection","targetObj":{"__isSmartRef__":true,"id":3216},"targetMethodName":"currentServer","visualConnector":{"__isSmartRef__":true,"id":3293},"__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"3293":{"submorphs":[{"__isSmartRef__":true,"id":3294}],"scripts":[],"shape":{"__isSmartRef__":true,"id":3317},"id":5306,"renderContextTable":{"__isSmartRef__":true,"id":3325},"eventHandler":{"__isSmartRef__":true,"id":3326},"droppingEnabled":true,"halosEnabled":true,"owner":null,"controlPoints":[{"__isSmartRef__":true,"id":3327},{"__isSmartRef__":true,"id":3328}],"con":{"__isSmartRef__":true,"id":3292},"showsMorphMenu":true,"__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3329},"__LivelyClassName__":"lively.morphic.Path"},"3294":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3295},"id":5307,"renderContextTable":{"__isSmartRef__":true,"id":3309},"eventHandler":{"__isSmartRef__":true,"id":3310},"droppingEnabled":true,"halosEnabled":true,"_Origin":{"__isSmartRef__":true,"id":3311},"owner":{"__isSmartRef__":true,"id":3293},"_Position":{"__isSmartRef__":true,"id":3312},"_Rotation":-2.8706458032513726,"__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","controlPoints":[{"__isSmartRef__":true,"id":3313},{"__isSmartRef__":true,"id":3314},{"__isSmartRef__":true,"id":3315},{"__isSmartRef__":true,"id":3316}],"__LivelyClassName__":"lively.morphic.Path"},"3295":{"dontChangeShape":false,"cachedVertices":[{"__isSmartRef__":true,"id":3296},{"__isSmartRef__":true,"id":3297},{"__isSmartRef__":true,"id":3298},{"__isSmartRef__":true,"id":3299}],"_PathElements":[{"__isSmartRef__":true,"id":3300},{"__isSmartRef__":true,"id":3301},{"__isSmartRef__":true,"id":3302},{"__isSmartRef__":true,"id":3303}],"renderContextTable":{"__isSmartRef__":true,"id":3304},"_Position":{"__isSmartRef__":true,"id":3305},"_Extent":{"__isSmartRef__":true,"id":3306},"_BorderWidth":0,"_BorderColor":{"__isSmartRef__":true,"id":3307},"_Fill":{"__isSmartRef__":true,"id":3308},"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.Path"},"3296":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3297":{"x":0,"y":12,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3298":{"x":16,"y":6,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3299":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3300":{"isAbsolute":true,"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.MoveTo"},"3301":{"isAbsolute":true,"x":0,"y":12,"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.LineTo"},"3302":{"isAbsolute":true,"x":16,"y":6,"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.LineTo"},"3303":{"isAbsolute":true,"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.LineTo"},"3304":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","getPathNode":"getPathNodeHTML","setPathElements":"setPathElementsHTML","getPathBounds":"getPathBoundsHTML","getTotalLength":"getTotalLengthHTML","getPointAtTotalLength":"getPointAtTotalLengthHTML"},"3305":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3306":{"x":16,"y":12,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3307":{"r":0,"g":0,"b":0,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3308":{"r":0,"g":0,"b":0,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3309":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","triggerEvent":"triggerEventHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","setOrigin":"setOriginHTML","setClipMode":"setClipModeHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML"},"3310":{"morph":{"__isSmartRef__":true,"id":3294},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"3311":{"x":12,"y":6,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3312":{"x":-12,"y":-6,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3313":{"morph":{"__isSmartRef__":true,"id":3294},"index":0,"__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","__LivelyClassName__":"lively.morphic.ControlPoint"},"3314":{"morph":{"__isSmartRef__":true,"id":3294},"index":1,"__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","__LivelyClassName__":"lively.morphic.ControlPoint"},"3315":{"morph":{"__isSmartRef__":true,"id":3294},"index":2,"__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","__LivelyClassName__":"lively.morphic.ControlPoint"},"3316":{"morph":{"__isSmartRef__":true,"id":3294},"index":3,"__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","__LivelyClassName__":"lively.morphic.ControlPoint"},"3317":{"dontChangeShape":false,"cachedVertices":[{"__isSmartRef__":true,"id":3318},{"__isSmartRef__":true,"id":3319}],"_PathElements":[{"__isSmartRef__":true,"id":3320},{"__isSmartRef__":true,"id":3321}],"renderContextTable":{"__isSmartRef__":true,"id":3322},"_Position":{"__isSmartRef__":true,"id":3323},"_Extent":{"__isSmartRef__":true,"id":3324},"_BorderWidth":1,"_BorderColor":{"__isSmartRef__":true,"id":3307},"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.Path"},"3318":{"x":18,"y":5,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3319":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3320":{"isAbsolute":true,"x":18,"y":5,"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.MoveTo"},"3321":{"isAbsolute":true,"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.LineTo"},"3322":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","getPathNode":"getPathNodeHTML","setPathElements":"setPathElementsHTML","getPathBounds":"getPathBoundsHTML","getTotalLength":"getTotalLengthHTML","getPointAtTotalLength":"getPointAtTotalLengthHTML"},"3323":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3324":{"x":18,"y":5,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3325":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","triggerEvent":"triggerEventHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","setOrigin":"setOriginHTML","setClipMode":"setClipModeHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML"},"3326":{"morph":{"__isSmartRef__":true,"id":3293},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"3327":{"morph":{"__isSmartRef__":true,"id":3293},"index":0,"connectedMagnet":null,"__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","__LivelyClassName__":"lively.morphic.ControlPoint"},"3328":{"morph":{"__isSmartRef__":true,"id":3293},"index":1,"connectedMagnet":null,"marker":{"__isSmartRef__":true,"id":3294},"markerDirection":"prev","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","__LivelyClassName__":"lively.morphic.ControlPoint"},"3329":{"morphMenuItems":{"__isSmartRef__":true,"id":3330}},"3330":{"varMapping":{"__isSmartRef__":true,"id":3331},"source":"function morphMenuItems() {\n var visualConnector = this, con = this.con, world = this.world();\n var items = [\n ['edit converter', function() {\n var source = con.converterString || 'function converter(value) {\\n return value\\n}',\n editor = new lively.morphic.Text(new Rectangle(0,0, 400, 200), source);\n editor.doitContext = con;\n connect(editor, 'savedTextString', con, 'converterString', {updater:\n function($upd, source) { this.targetObj.converter = null; $upd(source) }});\n connect(editor, 'savedTextString', world, 'alertOK', {converter: \n function() { return 'setting new converter' }})\n editor.applyStyle({syntaxHighlighting: true, fontFamily: 'Courier', resizeWidth: true, resizeHeight: true});\n var title = con.targetObj.name && con.sourceObj.name ?\n 'Editor for ' + con.targetObj.name + ' -> ' + con.sourceObj.name :\n 'Editor for converter function';\n var window = world.addFramedMorph(editor, title)\n window.align(window.bounds().topCenter(), visualConnector.bounds().bottomCenter())\n }],\n ['hide', function() {\n visualConnector.disconnectFromMagnets();\n visualConnector.remove();\n }],\n ['disconnect', function() {\n alertOK('Disconnected ' + visualConnector.con);\n visualConnector.con.visualDisconnect();\n }],\n ['cancel', function() {}],\n ];\n return items;\n }","funcProperties":{"__isSmartRef__":true,"id":3336},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"3331":{"this":{"__isSmartRef__":true,"id":3293},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3332}},"3332":{"$super":{"__isSmartRef__":true,"id":3333}},"3333":{"varMapping":{"__isSmartRef__":true,"id":3334},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch(e) {\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3335},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"3334":{"obj":{"__isSmartRef__":true,"id":3293},"name":"morphMenuItems"},"3335":{},"3336":{},"3337":{"x":160,"y":238,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3338":{"x":5,"y":5,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3339":{"adjustForNewBounds":true,"resizeHeight":true},"3340":{"submorphs":[],"scripts":[],"id":"15C782F3-B568-409E-9167-6D9317CA1EA4","shape":{"__isSmartRef__":true,"id":3341},"droppingEnabled":true,"halosEnabled":true,"showsHalos":false,"_Position":{"__isSmartRef__":true,"id":3349},"name":"serverStateIndicator","partsBinMetaInfo":{"__isSmartRef__":true,"id":3350},"__SourceModuleName__":"Global.lively.morphic.Core","renderContextTable":{"__isSmartRef__":true,"id":3351},"eventHandler":{"__isSmartRef__":true,"id":3352},"layout":{"__isSmartRef__":true,"id":3353},"attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"owner":{"__isSmartRef__":true,"id":3216},"priorExtent":{"__isSmartRef__":true,"id":3354},"distanceToDragEvent":{"__isSmartRef__":true,"id":3355},"derivationIds":[2947,"D097888D-3FA3-4B9B-813B-AA7795D42947"],"_ClipMode":"visible","_Rotation":0,"_Scale":1,"__LivelyClassName__":"lively.morphic.Morph"},"3341":{"position":{"__isSmartRef__":true,"id":3342},"_Extent":{"__isSmartRef__":true,"id":3343},"_Fill":{"__isSmartRef__":true,"id":3344},"__SourceModuleName__":"Global.lively.morphic.Shapes","renderContextTable":{"__isSmartRef__":true,"id":3345},"_Position":{"__isSmartRef__":true,"id":3346},"_BorderWidth":0,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_BorderColor":{"__isSmartRef__":true,"id":3347},"_ClipMode":"visible","_Padding":{"__isSmartRef__":true,"id":3348},"__LivelyClassName__":"lively.morphic.Shapes.Ellipse"},"3342":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3343":{"x":17,"y":17,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3344":{"r":0,"g":0.8,"b":0,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3345":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"3346":{"x":-7,"y":-8,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3347":{"r":0.258,"g":0.258,"b":0.258,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3348":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"3349":{"x":176.8981527962551,"y":12.97603595205993,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3350":{"partsSpaceName":"PartsBin/Basic","migrationLevel":2,"__SourceModuleName__":"Global.lively.PartsBin","comment":"an Ellipse","partName":"Ellipse","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo"},"3351":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML"},"3352":{"morph":{"__isSmartRef__":true,"id":3340},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"3353":{},"3354":{"x":18,"y":18,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3355":{"x":43,"y":-17,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3356":{"submorphs":[{"__isSmartRef__":true,"id":3357}],"scripts":[],"id":"705AC668-D0C1-4D3E-ABB1-B1B5B7B22700","shape":{"__isSmartRef__":true,"id":3372},"grabbingEnabled":false,"droppingEnabled":false,"showsMorphMenu":true,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":3375},"lighterFill":{"__isSmartRef__":true,"id":3388},"label":{"__isSmartRef__":true,"id":3357},"attributeConnections":[{"__isSmartRef__":true,"id":3397}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"showsHalos":false,"__SourceModuleName__":"Global.lively.morphic.Widgets","padding":{"__isSmartRef__":true,"id":3441},"name":"refreshServerListButton","partsBinMetaInfo":{"__isSmartRef__":true,"id":3442},"renderContextTable":{"__isSmartRef__":true,"id":3443},"eventHandler":{"__isSmartRef__":true,"id":3444},"priorExtent":{"__isSmartRef__":true,"id":3445},"_Position":{"__isSmartRef__":true,"id":3446},"owner":{"__isSmartRef__":true,"id":3216},"distanceToDragEvent":{"__isSmartRef__":true,"id":3447},"derivationIds":[2948,"E1BB5CA5-95D7-4014-8230-07610997FA20"],"layout":{"__isSmartRef__":true,"id":3448},"_ClipMode":"visible","_Rotation":0,"_Scale":1,"__LivelyClassName__":"lively.morphic.Button"},"3357":{"submorphs":[],"scripts":[],"id":"265FDA2C-D6CA-42DE-97A4-D6CCF2F89DA7","shape":{"__isSmartRef__":true,"id":3358},"grabbingEnabled":false,"droppingEnabled":false,"showsMorphMenu":false,"halosEnabled":true,"fixedWidth":true,"_MaxTextWidth":20,"_MaxTextHeight":null,"fixedHeight":true,"allowsInput":false,"registeredForMouseEvents":true,"_Position":{"__isSmartRef__":true,"id":3364},"textColor":{"__isSmartRef__":true,"id":3361},"owner":{"__isSmartRef__":true,"id":3356},"eventsAreIgnored":true,"__SourceModuleName__":"Global.lively.morphic.TextCore","textChunks":[{"__isSmartRef__":true,"id":3365}],"padding":{"__isSmartRef__":true,"id":3367},"_Padding":{"__isSmartRef__":true,"id":3368},"prevScroll":[0,0],"_Align":"center","_FontFamily":"Arial","_ClipMode":"hidden","_WhiteSpaceHandling":"pre-wrap","_VerticalAlign":"middle","_Display":"table-cell","priorExtent":{"__isSmartRef__":true,"id":3369},"renderContextTable":{"__isSmartRef__":true,"id":3370},"eventHandler":{"__isSmartRef__":true,"id":3371},"_HandStyle":"default","_PointerEvents":"none","attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"derivationIds":[2949,"4D98A1B5-B8BB-4146-83F5-70FB5E204B3F"],"_MinTextWidth":20,"_MinTextHeight":null,"_Scale":1,"__LivelyClassName__":"lively.morphic.Text"},"3358":{"borderWidth":0,"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":{"__isSmartRef__":true,"id":3359},"_Extent":{"__isSmartRef__":true,"id":3360},"_BorderColor":{"__isSmartRef__":true,"id":3361},"renderContextTable":{"__isSmartRef__":true,"id":3362},"_ClipMode":"hidden","_Padding":{"__isSmartRef__":true,"id":3363},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"3359":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3360":{"x":20,"y":20,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3361":{"r":0,"g":0,"b":0,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3362":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"3363":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"3364":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3365":{"style":{"__isSmartRef__":true,"id":3366},"chunkOwner":{"__isSmartRef__":true,"id":3357},"__SourceModuleName__":"Global.lively.morphic.TextCore","storedString":"⟳","__LivelyClassName__":"lively.morphic.TextChunk"},"3366":{"__SourceModuleName__":"Global.lively.morphic.TextCore","__LivelyClassName__":"lively.morphic.TextEmphasis"},"3367":{"x":5,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"3368":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"3369":{"x":20,"y":20,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3370":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML","updateText":"updateTextHTML","setTextExtent":"setTextExtentHTML","setMaxTextWidth":"setMaxTextWidthHTML","setMaxTextHeight":"setMaxTextHeightHTML","setMinTextWidth":"setMinTextWidthHTML","setMinTextHeight":"setMinTextHeightHTML","getTextExtent":"getTextExtentHTML","getTextString":"getTextStringHTML","ignoreTextEvents":"ignoreTextEventsHTML","unignoreTextEvents":"unignoreTextEventsHTML","enableTextEvents":"enableTextEventsHTML","setFontFamily":"setFontFamilyHTML","setFontSize":"setFontSizeHTML","setTextColor":"setTextColorHTML","setFontWeight":"setFontWeightHTML","setFontStyle":"setFontStyleHTML","setTextDecoration":"setTextDecorationHTML","setPadding":"setPaddingHTML","setAlign":"setAlignHTML","setVerticalAlign":"setVerticalAlignHTML","setDisplay":"setDisplayHTML","setWhiteSpaceHandling":"setWhiteSpaceHandlingHTML","focusMorph":"focusMorphHTML","setInputAllowed":"setInputAllowedHTML"},"3371":{"morph":{"__isSmartRef__":true,"id":3357},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"3372":{"__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":{"__isSmartRef__":true,"id":3373},"_Extent":{"__isSmartRef__":true,"id":3374},"_Fill":{"__isSmartRef__":true,"id":3375},"_BorderWidth":1,"_BorderColor":{"__isSmartRef__":true,"id":3385},"_BorderRadius":5,"renderContextTable":{"__isSmartRef__":true,"id":3386},"_ClipMode":"visible","_Padding":{"__isSmartRef__":true,"id":3387},"_Opacity":1,"_BorderStyle":"solid","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"3373":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3374":{"x":20,"y":20,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3375":{"stops":[{"__isSmartRef__":true,"id":3376},{"__isSmartRef__":true,"id":3378},{"__isSmartRef__":true,"id":3380},{"__isSmartRef__":true,"id":3382}],"vector":{"__isSmartRef__":true,"id":3384},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"3376":{"offset":0,"color":{"__isSmartRef__":true,"id":3377}},"3377":{"r":0.9600000000000001,"g":0.9600000000000001,"b":0.9600000000000001,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3378":{"offset":0.4,"color":{"__isSmartRef__":true,"id":3379}},"3379":{"r":0.8200000000000001,"g":0.8200000000000001,"b":0.8200000000000001,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3380":{"offset":0.6,"color":{"__isSmartRef__":true,"id":3381}},"3381":{"r":0.8200000000000001,"g":0.8200000000000001,"b":0.8200000000000001,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3382":{"offset":1,"color":{"__isSmartRef__":true,"id":3383}},"3383":{"r":0.94,"g":0.94,"b":0.94,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3384":{"x":0,"y":0,"width":0,"height":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"3385":{"r":0.839,"g":0.839,"b":0.839,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3386":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"3387":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"3388":{"stops":[{"__isSmartRef__":true,"id":3389},{"__isSmartRef__":true,"id":3391},{"__isSmartRef__":true,"id":3393},{"__isSmartRef__":true,"id":3395}],"vector":{"__isSmartRef__":true,"id":3384},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"3389":{"offset":0,"color":{"__isSmartRef__":true,"id":3390}},"3390":{"r":0.98,"g":0.98,"b":0.98,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3391":{"offset":0.4,"color":{"__isSmartRef__":true,"id":3392}},"3392":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3393":{"offset":0.6,"color":{"__isSmartRef__":true,"id":3394}},"3394":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3395":{"offset":1,"color":{"__isSmartRef__":true,"id":3396}},"3396":{"r":0.97,"g":0.97,"b":0.97,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3397":{"sourceObj":{"__isSmartRef__":true,"id":3356},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":3216},"targetMethodName":"refreshServerList","visualConnector":{"__isSmartRef__":true,"id":3398},"__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"3398":{"submorphs":[{"__isSmartRef__":true,"id":3399}],"scripts":[],"shape":{"__isSmartRef__":true,"id":3421},"id":3551,"renderContextTable":{"__isSmartRef__":true,"id":3429},"eventHandler":{"__isSmartRef__":true,"id":3430},"droppingEnabled":true,"halosEnabled":true,"owner":null,"controlPoints":[{"__isSmartRef__":true,"id":3431},{"__isSmartRef__":true,"id":3432}],"con":{"__isSmartRef__":true,"id":3397},"showsMorphMenu":true,"__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3433},"__LivelyClassName__":"lively.morphic.Path"},"3399":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3400},"id":3552,"renderContextTable":{"__isSmartRef__":true,"id":3413},"eventHandler":{"__isSmartRef__":true,"id":3414},"droppingEnabled":true,"halosEnabled":true,"_Origin":{"__isSmartRef__":true,"id":3415},"owner":{"__isSmartRef__":true,"id":3398},"_Position":{"__isSmartRef__":true,"id":3416},"_Rotation":-3.0635190362248506,"__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","controlPoints":[{"__isSmartRef__":true,"id":3417},{"__isSmartRef__":true,"id":3418},{"__isSmartRef__":true,"id":3419},{"__isSmartRef__":true,"id":3420}],"__LivelyClassName__":"lively.morphic.Path"},"3400":{"dontChangeShape":false,"cachedVertices":[{"__isSmartRef__":true,"id":3401},{"__isSmartRef__":true,"id":3402},{"__isSmartRef__":true,"id":3403},{"__isSmartRef__":true,"id":3404}],"_PathElements":[{"__isSmartRef__":true,"id":3405},{"__isSmartRef__":true,"id":3406},{"__isSmartRef__":true,"id":3407},{"__isSmartRef__":true,"id":3408}],"renderContextTable":{"__isSmartRef__":true,"id":3409},"_Position":{"__isSmartRef__":true,"id":3410},"_Extent":{"__isSmartRef__":true,"id":3411},"_BorderWidth":0,"_BorderColor":{"__isSmartRef__":true,"id":3307},"_Fill":{"__isSmartRef__":true,"id":3412},"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.Path"},"3401":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3402":{"x":0,"y":12,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3403":{"x":16,"y":6,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3404":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3405":{"isAbsolute":true,"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.MoveTo"},"3406":{"isAbsolute":true,"x":0,"y":12,"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.LineTo"},"3407":{"isAbsolute":true,"x":16,"y":6,"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.LineTo"},"3408":{"isAbsolute":true,"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.LineTo"},"3409":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","getPathNode":"getPathNodeHTML","setPathElements":"setPathElementsHTML","getPathBounds":"getPathBoundsHTML","getTotalLength":"getTotalLengthHTML","getPointAtTotalLength":"getPointAtTotalLengthHTML"},"3410":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3411":{"x":16,"y":12,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3412":{"r":0,"g":0,"b":0,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3413":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","triggerEvent":"triggerEventHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","setOrigin":"setOriginHTML","setClipMode":"setClipModeHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML"},"3414":{"morph":{"__isSmartRef__":true,"id":3399},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"3415":{"x":12,"y":6,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3416":{"x":-12,"y":-6,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3417":{"morph":{"__isSmartRef__":true,"id":3399},"index":0,"__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","__LivelyClassName__":"lively.morphic.ControlPoint"},"3418":{"morph":{"__isSmartRef__":true,"id":3399},"index":1,"__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","__LivelyClassName__":"lively.morphic.ControlPoint"},"3419":{"morph":{"__isSmartRef__":true,"id":3399},"index":2,"__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","__LivelyClassName__":"lively.morphic.ControlPoint"},"3420":{"morph":{"__isSmartRef__":true,"id":3399},"index":3,"__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","__LivelyClassName__":"lively.morphic.ControlPoint"},"3421":{"dontChangeShape":false,"cachedVertices":[{"__isSmartRef__":true,"id":3422},{"__isSmartRef__":true,"id":3423}],"_PathElements":[{"__isSmartRef__":true,"id":3424},{"__isSmartRef__":true,"id":3425}],"renderContextTable":{"__isSmartRef__":true,"id":3426},"_Position":{"__isSmartRef__":true,"id":3427},"_Extent":{"__isSmartRef__":true,"id":3428},"_BorderWidth":1,"_BorderColor":{"__isSmartRef__":true,"id":3307},"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.Path"},"3422":{"x":146.9078618157696,"y":11.492989485982434,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3423":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3424":{"isAbsolute":true,"x":146.9078618157696,"y":11.492989485982434,"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.MoveTo"},"3425":{"isAbsolute":true,"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.LineTo"},"3426":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","getPathNode":"getPathNodeHTML","setPathElements":"setPathElementsHTML","getPathBounds":"getPathBoundsHTML","getTotalLength":"getTotalLengthHTML","getPointAtTotalLength":"getPointAtTotalLengthHTML"},"3427":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3428":{"x":146.90786743164062,"y":11.492989540100098,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3429":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","triggerEvent":"triggerEventHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","setOrigin":"setOriginHTML","setClipMode":"setClipModeHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML"},"3430":{"morph":{"__isSmartRef__":true,"id":3398},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"3431":{"morph":{"__isSmartRef__":true,"id":3398},"index":0,"connectedMagnet":null,"__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","__LivelyClassName__":"lively.morphic.ControlPoint"},"3432":{"morph":{"__isSmartRef__":true,"id":3398},"index":1,"connectedMagnet":null,"marker":{"__isSmartRef__":true,"id":3399},"markerDirection":"prev","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","__LivelyClassName__":"lively.morphic.ControlPoint"},"3433":{"morphMenuItems":{"__isSmartRef__":true,"id":3434}},"3434":{"varMapping":{"__isSmartRef__":true,"id":3435},"source":"function morphMenuItems() {\n var visualConnector = this, con = this.con, world = this.world();\n var items = [\n ['edit converter', function() {\n var source = con.converterString || 'function converter(value) {\\n return value\\n}',\n editor = new lively.morphic.Text(new Rectangle(0,0, 400, 200), source);\n editor.doitContext = con;\n connect(editor, 'savedTextString', con, 'converterString', {updater:\n function($upd, source) { this.targetObj.converter = null; $upd(source) }});\n connect(editor, 'savedTextString', world, 'alertOK', {converter: \n function() { return 'setting new converter' }})\n editor.applyStyle({syntaxHighlighting: true, fontFamily: 'Courier', resizeWidth: true, resizeHeight: true});\n var title = con.targetObj.name && con.sourceObj.name ?\n 'Editor for ' + con.targetObj.name + ' -> ' + con.sourceObj.name :\n 'Editor for converter function';\n var window = world.addFramedMorph(editor, title)\n window.align(window.bounds().topCenter(), visualConnector.bounds().bottomCenter())\n }],\n ['hide', function() {\n visualConnector.disconnectFromMagnets();\n visualConnector.remove();\n }],\n ['disconnect', function() {\n alertOK('Disconnected ' + visualConnector.con);\n visualConnector.con.visualDisconnect();\n }],\n ['cancel', function() {}],\n ];\n return items;\n }","funcProperties":{"__isSmartRef__":true,"id":3440},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"3435":{"this":{"__isSmartRef__":true,"id":3398},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3436}},"3436":{"$super":{"__isSmartRef__":true,"id":3437}},"3437":{"varMapping":{"__isSmartRef__":true,"id":3438},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch(e) {\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3439},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"3438":{"obj":{"__isSmartRef__":true,"id":3398},"name":"morphMenuItems"},"3439":{},"3440":{},"3441":{"x":5,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"3442":{"partsSpaceName":"PartsBin/NewWorld","__SourceModuleName__":"Global.lively.PartsBin","migrationLevel":1,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo"},"3443":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML"},"3444":{"morph":{"__isSmartRef__":true,"id":3356},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"3445":{"x":140,"y":22,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3446":{"x":140,"y":250,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3447":{"x":51.09213818423041,"y":-13.492989485982434,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3448":{"adjustForNewBounds":true,"moveVertical":true},"3449":{"submorphs":[{"__isSmartRef__":true,"id":3450}],"scripts":[],"id":"F686D316-F1C3-48E9-AB75-6E4545EBCA45","shape":{"__isSmartRef__":true,"id":3465},"grabbingEnabled":false,"droppingEnabled":false,"showsMorphMenu":true,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":3468},"lighterFill":{"__isSmartRef__":true,"id":3481},"label":{"__isSmartRef__":true,"id":3450},"attributeConnections":[{"__isSmartRef__":true,"id":3490}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"showsHalos":false,"__SourceModuleName__":"Global.lively.morphic.Widgets","padding":{"__isSmartRef__":true,"id":3534},"name":"createServerButton","partsBinMetaInfo":{"__isSmartRef__":true,"id":3535},"renderContextTable":{"__isSmartRef__":true,"id":3536},"eventHandler":{"__isSmartRef__":true,"id":3537},"priorExtent":{"__isSmartRef__":true,"id":3538},"distanceToDragEvent":{"__isSmartRef__":true,"id":3539},"_Position":{"__isSmartRef__":true,"id":3540},"owner":{"__isSmartRef__":true,"id":3216},"derivationIds":[2950,"1BFBB83F-B163-4851-8ABD-9CD04F7802F7"],"layout":{"__isSmartRef__":true,"id":3541},"_ClipMode":"visible","_Rotation":0,"_Scale":1,"__LivelyClassName__":"lively.morphic.Button"},"3450":{"submorphs":[],"scripts":[],"id":"A609AFA6-028C-4614-8081-ACBA81D1C6EB","shape":{"__isSmartRef__":true,"id":3451},"grabbingEnabled":false,"droppingEnabled":false,"showsMorphMenu":false,"halosEnabled":true,"fixedWidth":true,"_MaxTextWidth":20,"_MaxTextHeight":null,"fixedHeight":true,"allowsInput":false,"registeredForMouseEvents":true,"_Position":{"__isSmartRef__":true,"id":3457},"textColor":{"__isSmartRef__":true,"id":3454},"owner":{"__isSmartRef__":true,"id":3449},"eventsAreIgnored":true,"__SourceModuleName__":"Global.lively.morphic.TextCore","textChunks":[{"__isSmartRef__":true,"id":3458}],"padding":{"__isSmartRef__":true,"id":3460},"_Padding":{"__isSmartRef__":true,"id":3461},"prevScroll":[0,0],"_Align":"center","_FontFamily":"Arial","_ClipMode":"hidden","_WhiteSpaceHandling":"pre-wrap","_VerticalAlign":"middle","_Display":"table-cell","priorExtent":{"__isSmartRef__":true,"id":3462},"renderContextTable":{"__isSmartRef__":true,"id":3463},"eventHandler":{"__isSmartRef__":true,"id":3464},"_HandStyle":"default","_PointerEvents":"none","attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"derivationIds":[2951,"03BFF8CC-D79D-48E7-B201-5C892F35F5F8"],"_MinTextWidth":20,"_MinTextHeight":null,"_Scale":1,"__LivelyClassName__":"lively.morphic.Text"},"3451":{"borderWidth":0,"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":{"__isSmartRef__":true,"id":3452},"_Extent":{"__isSmartRef__":true,"id":3453},"_BorderColor":{"__isSmartRef__":true,"id":3454},"renderContextTable":{"__isSmartRef__":true,"id":3455},"_ClipMode":"hidden","_Padding":{"__isSmartRef__":true,"id":3456},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"3452":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3453":{"x":20,"y":20,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3454":{"r":0,"g":0,"b":0,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3455":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"3456":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"3457":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3458":{"style":{"__isSmartRef__":true,"id":3459},"chunkOwner":{"__isSmartRef__":true,"id":3450},"__SourceModuleName__":"Global.lively.morphic.TextCore","storedString":"+","__LivelyClassName__":"lively.morphic.TextChunk"},"3459":{"__SourceModuleName__":"Global.lively.morphic.TextCore","__LivelyClassName__":"lively.morphic.TextEmphasis"},"3460":{"x":5,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"3461":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"3462":{"x":20,"y":20,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3463":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML","updateText":"updateTextHTML","setTextExtent":"setTextExtentHTML","setMaxTextWidth":"setMaxTextWidthHTML","setMaxTextHeight":"setMaxTextHeightHTML","setMinTextWidth":"setMinTextWidthHTML","setMinTextHeight":"setMinTextHeightHTML","getTextExtent":"getTextExtentHTML","getTextString":"getTextStringHTML","ignoreTextEvents":"ignoreTextEventsHTML","unignoreTextEvents":"unignoreTextEventsHTML","enableTextEvents":"enableTextEventsHTML","setFontFamily":"setFontFamilyHTML","setFontSize":"setFontSizeHTML","setTextColor":"setTextColorHTML","setFontWeight":"setFontWeightHTML","setFontStyle":"setFontStyleHTML","setTextDecoration":"setTextDecorationHTML","setPadding":"setPaddingHTML","setAlign":"setAlignHTML","setVerticalAlign":"setVerticalAlignHTML","setDisplay":"setDisplayHTML","setWhiteSpaceHandling":"setWhiteSpaceHandlingHTML","focusMorph":"focusMorphHTML","setInputAllowed":"setInputAllowedHTML"},"3464":{"morph":{"__isSmartRef__":true,"id":3450},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"3465":{"__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":{"__isSmartRef__":true,"id":3466},"_Extent":{"__isSmartRef__":true,"id":3467},"_Fill":{"__isSmartRef__":true,"id":3468},"_BorderWidth":1,"_BorderColor":{"__isSmartRef__":true,"id":3478},"_BorderRadius":5,"renderContextTable":{"__isSmartRef__":true,"id":3479},"_ClipMode":"visible","_Padding":{"__isSmartRef__":true,"id":3480},"_Opacity":1,"_BorderStyle":"solid","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"3466":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3467":{"x":20,"y":20,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3468":{"stops":[{"__isSmartRef__":true,"id":3469},{"__isSmartRef__":true,"id":3471},{"__isSmartRef__":true,"id":3473},{"__isSmartRef__":true,"id":3475}],"vector":{"__isSmartRef__":true,"id":3477},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"3469":{"offset":0,"color":{"__isSmartRef__":true,"id":3470}},"3470":{"r":0.9600000000000001,"g":0.9600000000000001,"b":0.9600000000000001,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3471":{"offset":0.4,"color":{"__isSmartRef__":true,"id":3472}},"3472":{"r":0.8200000000000001,"g":0.8200000000000001,"b":0.8200000000000001,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3473":{"offset":0.6,"color":{"__isSmartRef__":true,"id":3474}},"3474":{"r":0.8200000000000001,"g":0.8200000000000001,"b":0.8200000000000001,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3475":{"offset":1,"color":{"__isSmartRef__":true,"id":3476}},"3476":{"r":0.94,"g":0.94,"b":0.94,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3477":{"x":0,"y":0,"width":0,"height":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"3478":{"r":0.839,"g":0.839,"b":0.839,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3479":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"3480":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"3481":{"stops":[{"__isSmartRef__":true,"id":3482},{"__isSmartRef__":true,"id":3484},{"__isSmartRef__":true,"id":3486},{"__isSmartRef__":true,"id":3488}],"vector":{"__isSmartRef__":true,"id":3477},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"3482":{"offset":0,"color":{"__isSmartRef__":true,"id":3483}},"3483":{"r":0.98,"g":0.98,"b":0.98,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3484":{"offset":0.4,"color":{"__isSmartRef__":true,"id":3485}},"3485":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3486":{"offset":0.6,"color":{"__isSmartRef__":true,"id":3487}},"3487":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3488":{"offset":1,"color":{"__isSmartRef__":true,"id":3489}},"3489":{"r":0.97,"g":0.97,"b":0.97,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3490":{"sourceObj":{"__isSmartRef__":true,"id":3449},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":3216},"targetMethodName":"createNewServer","visualConnector":{"__isSmartRef__":true,"id":3491},"__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"3491":{"submorphs":[{"__isSmartRef__":true,"id":3492}],"scripts":[],"shape":{"__isSmartRef__":true,"id":3514},"id":9698,"renderContextTable":{"__isSmartRef__":true,"id":3522},"eventHandler":{"__isSmartRef__":true,"id":3523},"droppingEnabled":true,"halosEnabled":true,"owner":null,"controlPoints":[{"__isSmartRef__":true,"id":3524},{"__isSmartRef__":true,"id":3525}],"con":{"__isSmartRef__":true,"id":3490},"showsMorphMenu":true,"__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3526},"__LivelyClassName__":"lively.morphic.Path"},"3492":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3493},"id":9699,"renderContextTable":{"__isSmartRef__":true,"id":3506},"eventHandler":{"__isSmartRef__":true,"id":3507},"droppingEnabled":true,"halosEnabled":true,"_Origin":{"__isSmartRef__":true,"id":3508},"owner":{"__isSmartRef__":true,"id":3491},"_Position":{"__isSmartRef__":true,"id":3509},"_Rotation":-2.0204918715703832,"__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","controlPoints":[{"__isSmartRef__":true,"id":3510},{"__isSmartRef__":true,"id":3511},{"__isSmartRef__":true,"id":3512},{"__isSmartRef__":true,"id":3513}],"__LivelyClassName__":"lively.morphic.Path"},"3493":{"dontChangeShape":false,"cachedVertices":[{"__isSmartRef__":true,"id":3494},{"__isSmartRef__":true,"id":3495},{"__isSmartRef__":true,"id":3496},{"__isSmartRef__":true,"id":3497}],"_PathElements":[{"__isSmartRef__":true,"id":3498},{"__isSmartRef__":true,"id":3499},{"__isSmartRef__":true,"id":3500},{"__isSmartRef__":true,"id":3501}],"renderContextTable":{"__isSmartRef__":true,"id":3502},"_Position":{"__isSmartRef__":true,"id":3503},"_Extent":{"__isSmartRef__":true,"id":3504},"_BorderWidth":0,"_BorderColor":{"__isSmartRef__":true,"id":3307},"_Fill":{"__isSmartRef__":true,"id":3505},"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.Path"},"3494":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3495":{"x":0,"y":12,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3496":{"x":16,"y":6,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3497":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3498":{"isAbsolute":true,"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.MoveTo"},"3499":{"isAbsolute":true,"x":0,"y":12,"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.LineTo"},"3500":{"isAbsolute":true,"x":16,"y":6,"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.LineTo"},"3501":{"isAbsolute":true,"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.LineTo"},"3502":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","getPathNode":"getPathNodeHTML","setPathElements":"setPathElementsHTML","getPathBounds":"getPathBoundsHTML","getTotalLength":"getTotalLengthHTML","getPointAtTotalLength":"getPointAtTotalLengthHTML"},"3503":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3504":{"x":16,"y":12,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3505":{"r":0,"g":0,"b":0,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3506":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","triggerEvent":"triggerEventHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","setOrigin":"setOriginHTML","setClipMode":"setClipModeHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML"},"3507":{"morph":{"__isSmartRef__":true,"id":3492},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"3508":{"x":12,"y":6,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3509":{"x":-12,"y":-6,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3510":{"morph":{"__isSmartRef__":true,"id":3492},"index":0,"__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","__LivelyClassName__":"lively.morphic.ControlPoint"},"3511":{"morph":{"__isSmartRef__":true,"id":3492},"index":1,"__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","__LivelyClassName__":"lively.morphic.ControlPoint"},"3512":{"morph":{"__isSmartRef__":true,"id":3492},"index":2,"__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","__LivelyClassName__":"lively.morphic.ControlPoint"},"3513":{"morph":{"__isSmartRef__":true,"id":3492},"index":3,"__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","__LivelyClassName__":"lively.morphic.ControlPoint"},"3514":{"dontChangeShape":false,"cachedVertices":[{"__isSmartRef__":true,"id":3515},{"__isSmartRef__":true,"id":3516}],"_PathElements":[{"__isSmartRef__":true,"id":3517},{"__isSmartRef__":true,"id":3518}],"renderContextTable":{"__isSmartRef__":true,"id":3519},"_Position":{"__isSmartRef__":true,"id":3520},"_Extent":{"__isSmartRef__":true,"id":3521},"_BorderWidth":1,"_BorderColor":{"__isSmartRef__":true,"id":3307},"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.Path"},"3515":{"x":120.90786181576959,"y":250.49298948598243,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3516":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3517":{"isAbsolute":true,"x":120.90786181576959,"y":250.49298948598243,"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.MoveTo"},"3518":{"isAbsolute":true,"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.LineTo"},"3519":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","getPathNode":"getPathNodeHTML","setPathElements":"setPathElementsHTML","getPathBounds":"getPathBoundsHTML","getTotalLength":"getTotalLengthHTML","getPointAtTotalLength":"getPointAtTotalLengthHTML"},"3520":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3521":{"x":120.9078598022461,"y":250.4929962158203,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3522":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","triggerEvent":"triggerEventHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","setOrigin":"setOriginHTML","setClipMode":"setClipModeHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML"},"3523":{"morph":{"__isSmartRef__":true,"id":3491},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"3524":{"morph":{"__isSmartRef__":true,"id":3491},"index":0,"connectedMagnet":null,"__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","__LivelyClassName__":"lively.morphic.ControlPoint"},"3525":{"morph":{"__isSmartRef__":true,"id":3491},"index":1,"connectedMagnet":null,"marker":{"__isSmartRef__":true,"id":3492},"markerDirection":"prev","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","__LivelyClassName__":"lively.morphic.ControlPoint"},"3526":{"morphMenuItems":{"__isSmartRef__":true,"id":3527}},"3527":{"varMapping":{"__isSmartRef__":true,"id":3528},"source":"function morphMenuItems() {\n var visualConnector = this, con = this.con, world = this.world();\n var items = [\n ['edit converter', function() {\n var source = con.converterString || 'function converter(value) {\\n return value\\n}',\n editor = new lively.morphic.Text(new Rectangle(0,0, 400, 200), source);\n editor.doitContext = con;\n connect(editor, 'savedTextString', con, 'converterString', {updater:\n function($upd, source) { this.targetObj.converter = null; $upd(source) }});\n connect(editor, 'savedTextString', world, 'alertOK', {converter: \n function() { return 'setting new converter' }})\n editor.applyStyle({syntaxHighlighting: true, fontFamily: 'Courier', resizeWidth: true, resizeHeight: true});\n var title = con.targetObj.name && con.sourceObj.name ?\n 'Editor for ' + con.targetObj.name + ' -> ' + con.sourceObj.name :\n 'Editor for converter function';\n var window = world.addFramedMorph(editor, title)\n window.align(window.bounds().topCenter(), visualConnector.bounds().bottomCenter())\n }],\n ['hide', function() {\n visualConnector.disconnectFromMagnets();\n visualConnector.remove();\n }],\n ['disconnect', function() {\n alertOK('Disconnected ' + visualConnector.con);\n visualConnector.con.visualDisconnect();\n }],\n ['cancel', function() {}],\n ];\n return items;\n }","funcProperties":{"__isSmartRef__":true,"id":3533},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"3528":{"this":{"__isSmartRef__":true,"id":3491},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3529}},"3529":{"$super":{"__isSmartRef__":true,"id":3530}},"3530":{"varMapping":{"__isSmartRef__":true,"id":3531},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch(e) {\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3532},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"3531":{"obj":{"__isSmartRef__":true,"id":3491},"name":"morphMenuItems"},"3532":{},"3533":{},"3534":{"x":5,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"3535":{"partsSpaceName":"PartsBin/NewWorld","__SourceModuleName__":"Global.lively.PartsBin","migrationLevel":1,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo"},"3536":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML"},"3537":{"morph":{"__isSmartRef__":true,"id":3449},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"3538":{"x":140,"y":22,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3539":{"x":43.09213818423041,"y":-14.492989485982434,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3540":{"x":88,"y":250,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3541":{"adjustForNewBounds":true,"moveVertical":true},"3542":{"submorphs":[{"__isSmartRef__":true,"id":3543}],"scripts":[],"id":"7B928B85-F801-4347-83CB-E147F5E8FAD0","shape":{"__isSmartRef__":true,"id":3558},"grabbingEnabled":false,"droppingEnabled":false,"showsMorphMenu":true,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":3561},"lighterFill":{"__isSmartRef__":true,"id":3574},"label":{"__isSmartRef__":true,"id":3543},"attributeConnections":[{"__isSmartRef__":true,"id":3583}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"showsHalos":false,"__SourceModuleName__":"Global.lively.morphic.Widgets","padding":{"__isSmartRef__":true,"id":3627},"name":"removeServerButton","partsBinMetaInfo":{"__isSmartRef__":true,"id":3628},"renderContextTable":{"__isSmartRef__":true,"id":3629},"eventHandler":{"__isSmartRef__":true,"id":3630},"priorExtent":{"__isSmartRef__":true,"id":3631},"distanceToDragEvent":{"__isSmartRef__":true,"id":3632},"_Position":{"__isSmartRef__":true,"id":3633},"owner":{"__isSmartRef__":true,"id":3216},"derivationIds":[2952,"1B78AB96-A237-4DEF-AE4E-8DF07B3128B3"],"layout":{"__isSmartRef__":true,"id":3634},"_ClipMode":"visible","_Rotation":0,"_Scale":1,"__LivelyClassName__":"lively.morphic.Button"},"3543":{"submorphs":[],"scripts":[],"id":"110B4B20-0B7A-41CB-BFA3-3C2CD8FE03CA","shape":{"__isSmartRef__":true,"id":3544},"grabbingEnabled":false,"droppingEnabled":false,"showsMorphMenu":false,"halosEnabled":true,"fixedWidth":true,"_MaxTextWidth":20,"_MaxTextHeight":null,"fixedHeight":true,"allowsInput":false,"registeredForMouseEvents":true,"_Position":{"__isSmartRef__":true,"id":3550},"textColor":{"__isSmartRef__":true,"id":3547},"owner":{"__isSmartRef__":true,"id":3542},"eventsAreIgnored":true,"__SourceModuleName__":"Global.lively.morphic.TextCore","textChunks":[{"__isSmartRef__":true,"id":3551}],"padding":{"__isSmartRef__":true,"id":3553},"_Padding":{"__isSmartRef__":true,"id":3554},"prevScroll":[0,0],"_Align":"center","_FontFamily":"Arial","_ClipMode":"hidden","_WhiteSpaceHandling":"pre-wrap","_VerticalAlign":"middle","_Display":"table-cell","priorExtent":{"__isSmartRef__":true,"id":3555},"renderContextTable":{"__isSmartRef__":true,"id":3556},"eventHandler":{"__isSmartRef__":true,"id":3557},"_HandStyle":"default","_PointerEvents":"none","attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"derivationIds":[2953,"EBE14E46-51F4-4360-A642-76F7F8C5E2E9"],"_MinTextWidth":20,"_MinTextHeight":null,"_Scale":1,"__LivelyClassName__":"lively.morphic.Text"},"3544":{"borderWidth":0,"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":{"__isSmartRef__":true,"id":3545},"_Extent":{"__isSmartRef__":true,"id":3546},"_BorderColor":{"__isSmartRef__":true,"id":3547},"renderContextTable":{"__isSmartRef__":true,"id":3548},"_ClipMode":"hidden","_Padding":{"__isSmartRef__":true,"id":3549},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"3545":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3546":{"x":20,"y":20,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3547":{"r":0,"g":0,"b":0,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3548":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"3549":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"3550":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3551":{"style":{"__isSmartRef__":true,"id":3552},"chunkOwner":{"__isSmartRef__":true,"id":3543},"__SourceModuleName__":"Global.lively.morphic.TextCore","storedString":"-","__LivelyClassName__":"lively.morphic.TextChunk"},"3552":{"__SourceModuleName__":"Global.lively.morphic.TextCore","__LivelyClassName__":"lively.morphic.TextEmphasis"},"3553":{"x":5,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"3554":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"3555":{"x":20,"y":20,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3556":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML","updateText":"updateTextHTML","setTextExtent":"setTextExtentHTML","setMaxTextWidth":"setMaxTextWidthHTML","setMaxTextHeight":"setMaxTextHeightHTML","setMinTextWidth":"setMinTextWidthHTML","setMinTextHeight":"setMinTextHeightHTML","getTextExtent":"getTextExtentHTML","getTextString":"getTextStringHTML","ignoreTextEvents":"ignoreTextEventsHTML","unignoreTextEvents":"unignoreTextEventsHTML","enableTextEvents":"enableTextEventsHTML","setFontFamily":"setFontFamilyHTML","setFontSize":"setFontSizeHTML","setTextColor":"setTextColorHTML","setFontWeight":"setFontWeightHTML","setFontStyle":"setFontStyleHTML","setTextDecoration":"setTextDecorationHTML","setPadding":"setPaddingHTML","setAlign":"setAlignHTML","setVerticalAlign":"setVerticalAlignHTML","setDisplay":"setDisplayHTML","setWhiteSpaceHandling":"setWhiteSpaceHandlingHTML","focusMorph":"focusMorphHTML","setInputAllowed":"setInputAllowedHTML"},"3557":{"morph":{"__isSmartRef__":true,"id":3543},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"3558":{"__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":{"__isSmartRef__":true,"id":3559},"_Extent":{"__isSmartRef__":true,"id":3560},"_Fill":{"__isSmartRef__":true,"id":3561},"_BorderWidth":1,"_BorderColor":{"__isSmartRef__":true,"id":3571},"_BorderRadius":5,"renderContextTable":{"__isSmartRef__":true,"id":3572},"_ClipMode":"visible","_Padding":{"__isSmartRef__":true,"id":3573},"_Opacity":1,"_BorderStyle":"solid","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"3559":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3560":{"x":20,"y":20,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3561":{"stops":[{"__isSmartRef__":true,"id":3562},{"__isSmartRef__":true,"id":3564},{"__isSmartRef__":true,"id":3566},{"__isSmartRef__":true,"id":3568}],"vector":{"__isSmartRef__":true,"id":3570},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"3562":{"offset":0,"color":{"__isSmartRef__":true,"id":3563}},"3563":{"r":0.9600000000000001,"g":0.9600000000000001,"b":0.9600000000000001,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3564":{"offset":0.4,"color":{"__isSmartRef__":true,"id":3565}},"3565":{"r":0.8200000000000001,"g":0.8200000000000001,"b":0.8200000000000001,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3566":{"offset":0.6,"color":{"__isSmartRef__":true,"id":3567}},"3567":{"r":0.8200000000000001,"g":0.8200000000000001,"b":0.8200000000000001,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3568":{"offset":1,"color":{"__isSmartRef__":true,"id":3569}},"3569":{"r":0.94,"g":0.94,"b":0.94,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3570":{"x":0,"y":0,"width":0,"height":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"3571":{"r":0.839,"g":0.839,"b":0.839,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3572":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"3573":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"3574":{"stops":[{"__isSmartRef__":true,"id":3575},{"__isSmartRef__":true,"id":3577},{"__isSmartRef__":true,"id":3579},{"__isSmartRef__":true,"id":3581}],"vector":{"__isSmartRef__":true,"id":3570},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"3575":{"offset":0,"color":{"__isSmartRef__":true,"id":3576}},"3576":{"r":0.98,"g":0.98,"b":0.98,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3577":{"offset":0.4,"color":{"__isSmartRef__":true,"id":3578}},"3578":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3579":{"offset":0.6,"color":{"__isSmartRef__":true,"id":3580}},"3580":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3581":{"offset":1,"color":{"__isSmartRef__":true,"id":3582}},"3582":{"r":0.97,"g":0.97,"b":0.97,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3583":{"sourceObj":{"__isSmartRef__":true,"id":3542},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":3216},"targetMethodName":"removeServer","visualConnector":{"__isSmartRef__":true,"id":3584},"__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"3584":{"submorphs":[{"__isSmartRef__":true,"id":3585}],"scripts":[],"shape":{"__isSmartRef__":true,"id":3607},"id":10296,"renderContextTable":{"__isSmartRef__":true,"id":3615},"eventHandler":{"__isSmartRef__":true,"id":3616},"droppingEnabled":true,"halosEnabled":true,"owner":null,"controlPoints":[{"__isSmartRef__":true,"id":3617},{"__isSmartRef__":true,"id":3618}],"con":{"__isSmartRef__":true,"id":3583},"showsMorphMenu":true,"__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3619},"__LivelyClassName__":"lively.morphic.Path"},"3585":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3586},"id":10297,"renderContextTable":{"__isSmartRef__":true,"id":3599},"eventHandler":{"__isSmartRef__":true,"id":3600},"droppingEnabled":true,"halosEnabled":true,"_Origin":{"__isSmartRef__":true,"id":3601},"owner":{"__isSmartRef__":true,"id":3584},"_Position":{"__isSmartRef__":true,"id":3602},"_Rotation":-2.0237245970150264,"__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","controlPoints":[{"__isSmartRef__":true,"id":3603},{"__isSmartRef__":true,"id":3604},{"__isSmartRef__":true,"id":3605},{"__isSmartRef__":true,"id":3606}],"__LivelyClassName__":"lively.morphic.Path"},"3586":{"dontChangeShape":false,"cachedVertices":[{"__isSmartRef__":true,"id":3587},{"__isSmartRef__":true,"id":3588},{"__isSmartRef__":true,"id":3589},{"__isSmartRef__":true,"id":3590}],"_PathElements":[{"__isSmartRef__":true,"id":3591},{"__isSmartRef__":true,"id":3592},{"__isSmartRef__":true,"id":3593},{"__isSmartRef__":true,"id":3594}],"renderContextTable":{"__isSmartRef__":true,"id":3595},"_Position":{"__isSmartRef__":true,"id":3596},"_Extent":{"__isSmartRef__":true,"id":3597},"_BorderWidth":0,"_BorderColor":{"__isSmartRef__":true,"id":3307},"_Fill":{"__isSmartRef__":true,"id":3598},"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.Path"},"3587":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3588":{"x":0,"y":12,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3589":{"x":16,"y":6,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3590":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3591":{"isAbsolute":true,"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.MoveTo"},"3592":{"isAbsolute":true,"x":0,"y":12,"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.LineTo"},"3593":{"isAbsolute":true,"x":16,"y":6,"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.LineTo"},"3594":{"isAbsolute":true,"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.LineTo"},"3595":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","getPathNode":"getPathNodeHTML","setPathElements":"setPathElementsHTML","getPathBounds":"getPathBoundsHTML","getTotalLength":"getTotalLengthHTML","getPointAtTotalLength":"getPointAtTotalLengthHTML"},"3596":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3597":{"x":16,"y":12,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3598":{"r":0,"g":0,"b":0,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3599":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","triggerEvent":"triggerEventHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","setOrigin":"setOriginHTML","setClipMode":"setClipModeHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML"},"3600":{"morph":{"__isSmartRef__":true,"id":3585},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"3601":{"x":12,"y":6,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3602":{"x":-12,"y":-6,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3603":{"morph":{"__isSmartRef__":true,"id":3585},"index":0,"__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","__LivelyClassName__":"lively.morphic.ControlPoint"},"3604":{"morph":{"__isSmartRef__":true,"id":3585},"index":1,"__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","__LivelyClassName__":"lively.morphic.ControlPoint"},"3605":{"morph":{"__isSmartRef__":true,"id":3585},"index":2,"__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","__LivelyClassName__":"lively.morphic.ControlPoint"},"3606":{"morph":{"__isSmartRef__":true,"id":3585},"index":3,"__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","__LivelyClassName__":"lively.morphic.ControlPoint"},"3607":{"dontChangeShape":false,"cachedVertices":[{"__isSmartRef__":true,"id":3608},{"__isSmartRef__":true,"id":3609}],"_PathElements":[{"__isSmartRef__":true,"id":3610},{"__isSmartRef__":true,"id":3611}],"renderContextTable":{"__isSmartRef__":true,"id":3612},"_Position":{"__isSmartRef__":true,"id":3613},"_Extent":{"__isSmartRef__":true,"id":3614},"_BorderWidth":1,"_BorderColor":{"__isSmartRef__":true,"id":3307},"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.Path"},"3608":{"x":121.90786181576959,"y":250.49298948598243,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3609":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3610":{"isAbsolute":true,"x":121.90786181576959,"y":250.49298948598243,"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.MoveTo"},"3611":{"isAbsolute":true,"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.LineTo"},"3612":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","getPathNode":"getPathNodeHTML","setPathElements":"setPathElementsHTML","getPathBounds":"getPathBoundsHTML","getTotalLength":"getTotalLengthHTML","getPointAtTotalLength":"getPointAtTotalLengthHTML"},"3613":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3614":{"x":121.9078598022461,"y":250.4929962158203,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3615":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","triggerEvent":"triggerEventHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","setOrigin":"setOriginHTML","setClipMode":"setClipModeHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML"},"3616":{"morph":{"__isSmartRef__":true,"id":3584},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"3617":{"morph":{"__isSmartRef__":true,"id":3584},"index":0,"connectedMagnet":null,"__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","__LivelyClassName__":"lively.morphic.ControlPoint"},"3618":{"morph":{"__isSmartRef__":true,"id":3584},"index":1,"connectedMagnet":null,"marker":{"__isSmartRef__":true,"id":3585},"markerDirection":"prev","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","__LivelyClassName__":"lively.morphic.ControlPoint"},"3619":{"morphMenuItems":{"__isSmartRef__":true,"id":3620}},"3620":{"varMapping":{"__isSmartRef__":true,"id":3621},"source":"function morphMenuItems() {\n var visualConnector = this, con = this.con, world = this.world();\n var items = [\n ['edit converter', function() {\n var source = con.converterString || 'function converter(value) {\\n return value\\n}',\n editor = new lively.morphic.Text(new Rectangle(0,0, 400, 200), source);\n editor.doitContext = con;\n connect(editor, 'savedTextString', con, 'converterString', {updater:\n function($upd, source) { this.targetObj.converter = null; $upd(source) }});\n connect(editor, 'savedTextString', world, 'alertOK', {converter: \n function() { return 'setting new converter' }})\n editor.applyStyle({syntaxHighlighting: true, fontFamily: 'Courier', resizeWidth: true, resizeHeight: true});\n var title = con.targetObj.name && con.sourceObj.name ?\n 'Editor for ' + con.targetObj.name + ' -> ' + con.sourceObj.name :\n 'Editor for converter function';\n var window = world.addFramedMorph(editor, title)\n window.align(window.bounds().topCenter(), visualConnector.bounds().bottomCenter())\n }],\n ['hide', function() {\n visualConnector.disconnectFromMagnets();\n visualConnector.remove();\n }],\n ['disconnect', function() {\n alertOK('Disconnected ' + visualConnector.con);\n visualConnector.con.visualDisconnect();\n }],\n ['cancel', function() {}],\n ];\n return items;\n }","funcProperties":{"__isSmartRef__":true,"id":3626},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"3621":{"this":{"__isSmartRef__":true,"id":3584},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3622}},"3622":{"$super":{"__isSmartRef__":true,"id":3623}},"3623":{"varMapping":{"__isSmartRef__":true,"id":3624},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch(e) {\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3625},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"3624":{"obj":{"__isSmartRef__":true,"id":3584},"name":"morphMenuItems"},"3625":{},"3626":{},"3627":{"x":5,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"3628":{"partsSpaceName":"PartsBin/NewWorld","__SourceModuleName__":"Global.lively.PartsBin","migrationLevel":1,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo"},"3629":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML"},"3630":{"morph":{"__isSmartRef__":true,"id":3542},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"3631":{"x":140,"y":22,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3632":{"x":46.09213818423041,"y":-10.492989485982434,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3633":{"x":114,"y":250,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3634":{"moveVertical":true,"adjustForNewBounds":true},"3635":{"submorphs":[],"scripts":[],"id":"1AB2CEC1-33FC-4D04-AE0D-23D4BCEA8983","shape":{"__isSmartRef__":true,"id":3636},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"_Padding":{"__isSmartRef__":true,"id":3643},"fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":true,"_FontFamily":"Monaco,Courier","_Position":{"__isSmartRef__":true,"id":3644},"_MaxTextWidth":406.9875304742795,"_MaxTextHeight":null,"textChunks":[{"__isSmartRef__":true,"id":3645}],"layout":{"__isSmartRef__":true,"id":3647},"showsHalos":false,"prevScroll":[0,242],"name":"logText","charsReplaced":"code","lastFindLoc":-1,"partsBinMetaInfo":{"__isSmartRef__":true,"id":3648},"__SourceModuleName__":"Global.lively.morphic.TextCore","priorExtent":{"__isSmartRef__":true,"id":3649},"_ClipMode":"auto","renderContextTable":{"__isSmartRef__":true,"id":3650},"eventHandler":{"__isSmartRef__":true,"id":3651},"syntaxHighlightingWhileTyping":false,"attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"lastSyntaxHighlightTime":1310575732527,"savedTextString":"// code\n","_FontSize":10,"owner":{"__isSmartRef__":true,"id":3216},"distanceToDragEvent":{"__isSmartRef__":true,"id":3652},"derivationIds":[2954,"677F56CD-A513-4B47-8269-BA1850098C56"],"_MinTextWidth":406.9875304742795,"_MinTextHeight":null,"_Rotation":0,"_Scale":1,"isBeingDragged":false,"__LivelyClassName__":"lively.morphic.Text"},"3636":{"_Position":{"__isSmartRef__":true,"id":3637},"_Extent":{"__isSmartRef__":true,"id":3638},"_BorderWidth":1.4800000000000002,"_BorderColor":{"__isSmartRef__":true,"id":3639},"_Fill":{"__isSmartRef__":true,"id":3640},"__SourceModuleName__":"Global.lively.morphic.Shapes","renderContextTable":{"__isSmartRef__":true,"id":3641},"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"inset","_ClipMode":"auto","_Padding":{"__isSmartRef__":true,"id":3642},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"3637":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3638":{"x":424.94753047427946,"y":220,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3639":{"r":0.921,"g":0.921,"b":0.921,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3640":{"r":1,"g":1,"b":1,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3641":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"3642":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"3643":{"x":2,"y":1,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"3644":{"x":168,"y":24,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3645":{"style":{"__isSmartRef__":true,"id":3646},"chunkOwner":{"__isSmartRef__":true,"id":3635},"storedString":"stdout:\n\n\nstderr:\n","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3646":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3647":{"resizeWidth":true,"resizeHeight":true,"adjustForNewBounds":true},"3648":{"requiredModules":[],"partsSpaceName":"PartsBin/Widgets/","migrationLevel":2,"__SourceModuleName__":"Global.lively.PartsBin","partName":"CodePane","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo"},"3649":{"x":424.94753047427946,"y":220,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3650":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML","updateText":"updateTextHTML","setTextExtent":"setTextExtentHTML","setMaxTextWidth":"setMaxTextWidthHTML","setMaxTextHeight":"setMaxTextHeightHTML","setMinTextWidth":"setMinTextWidthHTML","setMinTextHeight":"setMinTextHeightHTML","getTextExtent":"getTextExtentHTML","getTextString":"getTextStringHTML","ignoreTextEvents":"ignoreTextEventsHTML","unignoreTextEvents":"unignoreTextEventsHTML","enableTextEvents":"enableTextEventsHTML","setFontFamily":"setFontFamilyHTML","setFontSize":"setFontSizeHTML","setTextColor":"setTextColorHTML","setFontWeight":"setFontWeightHTML","setFontStyle":"setFontStyleHTML","setTextDecoration":"setTextDecorationHTML","setPadding":"setPaddingHTML","setAlign":"setAlignHTML","setVerticalAlign":"setVerticalAlignHTML","setDisplay":"setDisplayHTML","setWhiteSpaceHandling":"setWhiteSpaceHandlingHTML","focusMorph":"focusMorphHTML","setInputAllowed":"setInputAllowedHTML"},"3651":{"morph":{"__isSmartRef__":true,"id":3635},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"3652":{"x":300.8981527962551,"y":-20.02396404794007,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3653":{"submorphs":[{"__isSmartRef__":true,"id":3654}],"scripts":[],"id":"0B5B3CC4-0CB5-4263-AA84-BB108B2AE0BE","shape":{"__isSmartRef__":true,"id":3669},"grabbingEnabled":false,"droppingEnabled":false,"showsMorphMenu":true,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":3672},"lighterFill":{"__isSmartRef__":true,"id":3685},"label":{"__isSmartRef__":true,"id":3654},"attributeConnections":[{"__isSmartRef__":true,"id":3694}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"showsHalos":false,"__SourceModuleName__":"Global.lively.morphic.Widgets","padding":{"__isSmartRef__":true,"id":3735},"name":"browseButton","partsBinMetaInfo":{"__isSmartRef__":true,"id":3736},"renderContextTable":{"__isSmartRef__":true,"id":3737},"eventHandler":{"__isSmartRef__":true,"id":3738},"priorExtent":{"__isSmartRef__":true,"id":3739},"distanceToDragEvent":{"__isSmartRef__":true,"id":3740},"_Position":{"__isSmartRef__":true,"id":3741},"owner":{"__isSmartRef__":true,"id":3216},"derivationIds":[2955,"2F37CC3B-A26D-4F01-B440-C303D7B8A440"],"layout":{"__isSmartRef__":true,"id":3742},"_ClipMode":"visible","_Rotation":0,"_Scale":1,"__LivelyClassName__":"lively.morphic.Button"},"3654":{"submorphs":[],"scripts":[],"id":"B70611B4-9046-4890-AC06-AAF8D3531B48","shape":{"__isSmartRef__":true,"id":3655},"grabbingEnabled":false,"droppingEnabled":false,"showsMorphMenu":false,"halosEnabled":true,"fixedWidth":true,"_MaxTextWidth":77,"_MaxTextHeight":null,"fixedHeight":true,"allowsInput":false,"registeredForMouseEvents":true,"_Position":{"__isSmartRef__":true,"id":3661},"textColor":{"__isSmartRef__":true,"id":3658},"owner":{"__isSmartRef__":true,"id":3653},"eventsAreIgnored":true,"__SourceModuleName__":"Global.lively.morphic.TextCore","textChunks":[{"__isSmartRef__":true,"id":3662}],"padding":{"__isSmartRef__":true,"id":3664},"_Padding":{"__isSmartRef__":true,"id":3665},"prevScroll":[0,0],"priorExtent":{"__isSmartRef__":true,"id":3666},"_FontFamily":"Helvetica, Sans-Serif","renderContextTable":{"__isSmartRef__":true,"id":3667},"eventHandler":{"__isSmartRef__":true,"id":3668},"_HandStyle":"default","_PointerEvents":"none","_ClipMode":"visible","_WhiteSpaceHandling":"pre-wrap","_Align":"center","_FontSize":11,"attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"derivationIds":[2956,"A5C2870B-A8B3-4D91-98EB-AD239BBF4357"],"_MinTextWidth":77,"_MinTextHeight":null,"_Scale":1,"__LivelyClassName__":"lively.morphic.Text"},"3655":{"borderWidth":0,"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":{"__isSmartRef__":true,"id":3656},"_Extent":{"__isSmartRef__":true,"id":3657},"_BorderColor":{"__isSmartRef__":true,"id":3658},"renderContextTable":{"__isSmartRef__":true,"id":3659},"_ClipMode":"visible","_Padding":{"__isSmartRef__":true,"id":3660},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"3656":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3657":{"x":77,"y":20,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3658":{"r":0,"g":0,"b":0,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3659":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"3660":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"3661":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3662":{"style":{"__isSmartRef__":true,"id":3663},"chunkOwner":{"__isSmartRef__":true,"id":3654},"__SourceModuleName__":"Global.lively.morphic.TextCore","storedString":"browse","__LivelyClassName__":"lively.morphic.TextChunk"},"3663":{"__SourceModuleName__":"Global.lively.morphic.TextCore","__LivelyClassName__":"lively.morphic.TextEmphasis"},"3664":{"x":5,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"3665":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"3666":{"x":77,"y":20,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3667":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML","updateText":"updateTextHTML","setTextExtent":"setTextExtentHTML","setMaxTextWidth":"setMaxTextWidthHTML","setMaxTextHeight":"setMaxTextHeightHTML","setMinTextWidth":"setMinTextWidthHTML","setMinTextHeight":"setMinTextHeightHTML","getTextExtent":"getTextExtentHTML","getTextString":"getTextStringHTML","ignoreTextEvents":"ignoreTextEventsHTML","unignoreTextEvents":"unignoreTextEventsHTML","enableTextEvents":"enableTextEventsHTML","setFontFamily":"setFontFamilyHTML","setFontSize":"setFontSizeHTML","setTextColor":"setTextColorHTML","setFontWeight":"setFontWeightHTML","setFontStyle":"setFontStyleHTML","setTextDecoration":"setTextDecorationHTML","setPadding":"setPaddingHTML","setAlign":"setAlignHTML","setVerticalAlign":"setVerticalAlignHTML","setDisplay":"setDisplayHTML","setWhiteSpaceHandling":"setWhiteSpaceHandlingHTML","focusMorph":"focusMorphHTML","setInputAllowed":"setInputAllowedHTML"},"3668":{"morph":{"__isSmartRef__":true,"id":3654},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"3669":{"__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":{"__isSmartRef__":true,"id":3670},"_Extent":{"__isSmartRef__":true,"id":3671},"_Fill":{"__isSmartRef__":true,"id":3672},"_BorderWidth":1,"_BorderColor":{"__isSmartRef__":true,"id":3682},"_BorderRadius":5,"renderContextTable":{"__isSmartRef__":true,"id":3683},"_ClipMode":"visible","_Padding":{"__isSmartRef__":true,"id":3684},"_Opacity":1,"_BorderStyle":"solid","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"3670":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3671":{"x":77,"y":20,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3672":{"stops":[{"__isSmartRef__":true,"id":3673},{"__isSmartRef__":true,"id":3675},{"__isSmartRef__":true,"id":3677},{"__isSmartRef__":true,"id":3679}],"vector":{"__isSmartRef__":true,"id":3681},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"3673":{"offset":0,"color":{"__isSmartRef__":true,"id":3674}},"3674":{"r":0.9600000000000001,"g":0.9600000000000001,"b":0.9600000000000001,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3675":{"offset":0.4,"color":{"__isSmartRef__":true,"id":3676}},"3676":{"r":0.8200000000000001,"g":0.8200000000000001,"b":0.8200000000000001,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3677":{"offset":0.6,"color":{"__isSmartRef__":true,"id":3678}},"3678":{"r":0.8200000000000001,"g":0.8200000000000001,"b":0.8200000000000001,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3679":{"offset":1,"color":{"__isSmartRef__":true,"id":3680}},"3680":{"r":0.94,"g":0.94,"b":0.94,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3681":{"x":0,"y":0,"width":0,"height":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"3682":{"r":0.839,"g":0.839,"b":0.839,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3683":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"3684":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"3685":{"stops":[{"__isSmartRef__":true,"id":3686},{"__isSmartRef__":true,"id":3688},{"__isSmartRef__":true,"id":3690},{"__isSmartRef__":true,"id":3692}],"vector":{"__isSmartRef__":true,"id":3681},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"3686":{"offset":0,"color":{"__isSmartRef__":true,"id":3687}},"3687":{"r":0.98,"g":0.98,"b":0.98,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3688":{"offset":0.4,"color":{"__isSmartRef__":true,"id":3689}},"3689":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3690":{"offset":0.6,"color":{"__isSmartRef__":true,"id":3691}},"3691":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3692":{"offset":1,"color":{"__isSmartRef__":true,"id":3693}},"3693":{"r":0.97,"g":0.97,"b":0.97,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3694":{"sourceObj":{"__isSmartRef__":true,"id":3653},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":3216},"targetMethodName":"browseSelectedServer","visualConnector":{"__isSmartRef__":true,"id":3695},"__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"3695":{"submorphs":[{"__isSmartRef__":true,"id":3696}],"scripts":[],"shape":{"__isSmartRef__":true,"id":3715},"id":4400,"renderContextTable":{"__isSmartRef__":true,"id":3723},"eventHandler":{"__isSmartRef__":true,"id":3724},"droppingEnabled":true,"halosEnabled":true,"owner":null,"controlPoints":[{"__isSmartRef__":true,"id":3725},{"__isSmartRef__":true,"id":3726}],"con":{"__isSmartRef__":true,"id":3694},"showsMorphMenu":true,"__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3727},"__LivelyClassName__":"lively.morphic.Path"},"3696":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3697},"id":4401,"renderContextTable":{"__isSmartRef__":true,"id":3711},"eventHandler":{"__isSmartRef__":true,"id":3712},"droppingEnabled":true,"halosEnabled":true,"_Origin":{"__isSmartRef__":true,"id":3713},"owner":{"__isSmartRef__":true,"id":3695},"_Position":{"__isSmartRef__":true,"id":3714},"_Rotation":-2.453360466464193,"__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","__LivelyClassName__":"lively.morphic.Path"},"3697":{"dontChangeShape":false,"cachedVertices":[{"__isSmartRef__":true,"id":3698},{"__isSmartRef__":true,"id":3699},{"__isSmartRef__":true,"id":3700},{"__isSmartRef__":true,"id":3701}],"_PathElements":[{"__isSmartRef__":true,"id":3702},{"__isSmartRef__":true,"id":3703},{"__isSmartRef__":true,"id":3704},{"__isSmartRef__":true,"id":3705}],"renderContextTable":{"__isSmartRef__":true,"id":3706},"_Position":{"__isSmartRef__":true,"id":3707},"_Extent":{"__isSmartRef__":true,"id":3708},"_BorderWidth":0,"_BorderColor":{"__isSmartRef__":true,"id":3709},"_Fill":{"__isSmartRef__":true,"id":3710},"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.Path"},"3698":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3699":{"x":0,"y":12,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3700":{"x":16,"y":6,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3701":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3702":{"isAbsolute":true,"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.MoveTo"},"3703":{"isAbsolute":true,"x":0,"y":12,"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.LineTo"},"3704":{"isAbsolute":true,"x":16,"y":6,"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.LineTo"},"3705":{"isAbsolute":true,"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.LineTo"},"3706":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","getPathNode":"getPathNodeHTML","setPathElements":"setPathElementsHTML","getPathBounds":"getPathBoundsHTML","getTotalLength":"getTotalLengthHTML","getPointAtTotalLength":"getPointAtTotalLengthHTML"},"3707":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3708":{"x":16,"y":12,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3709":{"r":0,"g":0,"b":0,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3710":{"r":0,"g":0,"b":0,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3711":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","triggerEvent":"triggerEventHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","setOrigin":"setOriginHTML","setClipMode":"setClipModeHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML"},"3712":{"morph":{"__isSmartRef__":true,"id":3696},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"3713":{"x":12,"y":6,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3714":{"x":-12,"y":-6,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3715":{"dontChangeShape":false,"cachedVertices":[{"__isSmartRef__":true,"id":3716},{"__isSmartRef__":true,"id":3717}],"_PathElements":[{"__isSmartRef__":true,"id":3718},{"__isSmartRef__":true,"id":3719}],"renderContextTable":{"__isSmartRef__":true,"id":3720},"_Position":{"__isSmartRef__":true,"id":3721},"_Extent":{"__isSmartRef__":true,"id":3722},"_BorderWidth":1,"_BorderColor":{"__isSmartRef__":true,"id":3709},"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.Path"},"3716":{"x":304,"y":250,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3717":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3718":{"isAbsolute":true,"x":304,"y":250,"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.MoveTo"},"3719":{"isAbsolute":true,"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.LineTo"},"3720":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","getPathNode":"getPathNodeHTML","setPathElements":"setPathElementsHTML","getPathBounds":"getPathBoundsHTML","getTotalLength":"getTotalLengthHTML","getPointAtTotalLength":"getPointAtTotalLengthHTML"},"3721":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3722":{"x":304,"y":250,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3723":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","triggerEvent":"triggerEventHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","setOrigin":"setOriginHTML","setClipMode":"setClipModeHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML"},"3724":{"morph":{"__isSmartRef__":true,"id":3695},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"3725":{"morph":{"__isSmartRef__":true,"id":3695},"index":0,"connectedMagnet":null,"__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","__LivelyClassName__":"lively.morphic.ControlPoint"},"3726":{"morph":{"__isSmartRef__":true,"id":3695},"index":1,"connectedMagnet":null,"marker":{"__isSmartRef__":true,"id":3696},"markerDirection":"prev","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","__LivelyClassName__":"lively.morphic.ControlPoint"},"3727":{"morphMenuItems":{"__isSmartRef__":true,"id":3728}},"3728":{"varMapping":{"__isSmartRef__":true,"id":3729},"source":"function morphMenuItems() {\n var visualConnector = this, con = this.con, world = this.world();\n var items = [\n ['edit converter', function() {\n var source = con.converterString || 'function converter(value) {\\n return value\\n}',\n editor = new lively.morphic.Text(new Rectangle(0,0, 400, 200), source);\n editor.doitContext = con;\n connect(editor, 'savedTextString', con, 'converterString', {updater:\n function($upd, source) { this.targetObj.converter = null; $upd(source) }});\n connect(editor, 'savedTextString', world, 'alertOK', {converter: \n function() { return 'setting new converter' }})\n editor.applyStyle({syntaxHighlighting: true, fontFamily: 'Courier', resizeWidth: true, resizeHeight: true});\n var title = con.targetObj.name && con.sourceObj.name ?\n 'Editor for ' + con.targetObj.name + ' -> ' + con.sourceObj.name :\n 'Editor for converter function';\n var window = world.addFramedMorph(editor, title)\n window.align(window.bounds().topCenter(), visualConnector.bounds().bottomCenter())\n }],\n ['hide', function() {\n visualConnector.disconnectFromMagnets();\n visualConnector.remove();\n }],\n ['disconnect', function() {\n alertOK('Disconnected ' + visualConnector.con);\n visualConnector.con.visualDisconnect();\n }],\n ['cancel', function() {}],\n ];\n return items;\n }","funcProperties":{"__isSmartRef__":true,"id":3734},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"3729":{"this":{"__isSmartRef__":true,"id":3695},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3730}},"3730":{"$super":{"__isSmartRef__":true,"id":3731}},"3731":{"varMapping":{"__isSmartRef__":true,"id":3732},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch(e) {\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3733},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"3732":{"obj":{"__isSmartRef__":true,"id":3695},"name":"morphMenuItems"},"3733":{},"3734":{},"3735":{"x":5,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"3736":{"partsSpaceName":"PartsBin/Inputs/","__SourceModuleName__":"Global.lively.PartsBin","migrationLevel":2,"comment":"Simple button. Connect to 'fire' to trigger actions when the button is pressed.","partName":"Button","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo"},"3737":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML"},"3738":{"morph":{"__isSmartRef__":true,"id":3653},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"3739":{"x":78,"y":20,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3740":{"x":67,"y":-16,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3741":{"x":334.94753047427946,"y":252,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3742":{"adjustForNewBounds":true,"moveVertical":true,"moveHorizontal":true},"3743":{"submorphs":[{"__isSmartRef__":true,"id":3744}],"scripts":[],"id":"62C85AA6-A99D-47FE-BE3E-A7C84B0A769F","shape":{"__isSmartRef__":true,"id":3759},"grabbingEnabled":false,"droppingEnabled":false,"showsMorphMenu":true,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":3762},"lighterFill":{"__isSmartRef__":true,"id":3775},"label":{"__isSmartRef__":true,"id":3744},"attributeConnections":[{"__isSmartRef__":true,"id":3784}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"showsHalos":false,"__SourceModuleName__":"Global.lively.morphic.Widgets","padding":{"__isSmartRef__":true,"id":3828},"name":"restartButton","partsBinMetaInfo":{"__isSmartRef__":true,"id":3829},"renderContextTable":{"__isSmartRef__":true,"id":3830},"eventHandler":{"__isSmartRef__":true,"id":3831},"priorExtent":{"__isSmartRef__":true,"id":3832},"_Position":{"__isSmartRef__":true,"id":3833},"owner":{"__isSmartRef__":true,"id":3216},"distanceToDragEvent":{"__isSmartRef__":true,"id":3834},"derivationIds":[2957,"9637758C-F7D8-4FC0-9A91-2B9B62533684"],"layout":{"__isSmartRef__":true,"id":3835},"_ClipMode":"visible","_Rotation":0,"_Scale":1,"prevScroll":[0,0],"__LivelyClassName__":"lively.morphic.Button"},"3744":{"submorphs":[],"scripts":[],"id":"36FAB440-2226-4C18-85DC-CBDE7ED610D8","shape":{"__isSmartRef__":true,"id":3745},"grabbingEnabled":false,"droppingEnabled":false,"showsMorphMenu":false,"halosEnabled":true,"fixedWidth":true,"_MaxTextWidth":77,"_MaxTextHeight":null,"fixedHeight":true,"allowsInput":false,"registeredForMouseEvents":true,"_Position":{"__isSmartRef__":true,"id":3751},"textColor":{"__isSmartRef__":true,"id":3748},"owner":{"__isSmartRef__":true,"id":3743},"eventsAreIgnored":true,"__SourceModuleName__":"Global.lively.morphic.TextCore","textChunks":[{"__isSmartRef__":true,"id":3752}],"padding":{"__isSmartRef__":true,"id":3754},"_Padding":{"__isSmartRef__":true,"id":3755},"prevScroll":[0,0],"priorExtent":{"__isSmartRef__":true,"id":3756},"_FontFamily":"Helvetica, Sans-Serif","renderContextTable":{"__isSmartRef__":true,"id":3757},"eventHandler":{"__isSmartRef__":true,"id":3758},"_HandStyle":"default","_PointerEvents":"none","_ClipMode":"visible","_WhiteSpaceHandling":"pre-wrap","_Align":"center","_FontSize":11,"attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"derivationIds":[2958,"87A7C3E1-E2EE-4663-92CE-D5F465B2276D"],"_MinTextWidth":77,"_MinTextHeight":null,"_Scale":1,"__LivelyClassName__":"lively.morphic.Text"},"3745":{"borderWidth":0,"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":{"__isSmartRef__":true,"id":3746},"_Extent":{"__isSmartRef__":true,"id":3747},"_BorderColor":{"__isSmartRef__":true,"id":3748},"renderContextTable":{"__isSmartRef__":true,"id":3749},"_ClipMode":"visible","_Padding":{"__isSmartRef__":true,"id":3750},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"3746":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3747":{"x":77,"y":20,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3748":{"r":0,"g":0,"b":0,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3749":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"3750":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"3751":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3752":{"style":{"__isSmartRef__":true,"id":3753},"chunkOwner":{"__isSmartRef__":true,"id":3744},"__SourceModuleName__":"Global.lively.morphic.TextCore","storedString":"(re)start","__LivelyClassName__":"lively.morphic.TextChunk"},"3753":{"__SourceModuleName__":"Global.lively.morphic.TextCore","__LivelyClassName__":"lively.morphic.TextEmphasis"},"3754":{"x":5,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"3755":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"3756":{"x":77,"y":20,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3757":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML","updateText":"updateTextHTML","setTextExtent":"setTextExtentHTML","setMaxTextWidth":"setMaxTextWidthHTML","setMaxTextHeight":"setMaxTextHeightHTML","setMinTextWidth":"setMinTextWidthHTML","setMinTextHeight":"setMinTextHeightHTML","getTextExtent":"getTextExtentHTML","getTextString":"getTextStringHTML","ignoreTextEvents":"ignoreTextEventsHTML","unignoreTextEvents":"unignoreTextEventsHTML","enableTextEvents":"enableTextEventsHTML","setFontFamily":"setFontFamilyHTML","setFontSize":"setFontSizeHTML","setTextColor":"setTextColorHTML","setFontWeight":"setFontWeightHTML","setFontStyle":"setFontStyleHTML","setTextDecoration":"setTextDecorationHTML","setPadding":"setPaddingHTML","setAlign":"setAlignHTML","setVerticalAlign":"setVerticalAlignHTML","setDisplay":"setDisplayHTML","setWhiteSpaceHandling":"setWhiteSpaceHandlingHTML","focusMorph":"focusMorphHTML","setInputAllowed":"setInputAllowedHTML"},"3758":{"morph":{"__isSmartRef__":true,"id":3744},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"3759":{"__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":{"__isSmartRef__":true,"id":3760},"_Extent":{"__isSmartRef__":true,"id":3761},"_Fill":{"__isSmartRef__":true,"id":3762},"_BorderWidth":1,"_BorderColor":{"__isSmartRef__":true,"id":3772},"_BorderRadius":5,"renderContextTable":{"__isSmartRef__":true,"id":3773},"_ClipMode":"visible","_Padding":{"__isSmartRef__":true,"id":3774},"_Opacity":1,"_BorderStyle":"solid","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"3760":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3761":{"x":77,"y":20,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3762":{"stops":[{"__isSmartRef__":true,"id":3763},{"__isSmartRef__":true,"id":3765},{"__isSmartRef__":true,"id":3767},{"__isSmartRef__":true,"id":3769}],"vector":{"__isSmartRef__":true,"id":3771},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"3763":{"offset":0,"color":{"__isSmartRef__":true,"id":3764}},"3764":{"r":0.9600000000000001,"g":0.9600000000000001,"b":0.9600000000000001,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3765":{"offset":0.4,"color":{"__isSmartRef__":true,"id":3766}},"3766":{"r":0.8200000000000001,"g":0.8200000000000001,"b":0.8200000000000001,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3767":{"offset":0.6,"color":{"__isSmartRef__":true,"id":3768}},"3768":{"r":0.8200000000000001,"g":0.8200000000000001,"b":0.8200000000000001,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3769":{"offset":1,"color":{"__isSmartRef__":true,"id":3770}},"3770":{"r":0.94,"g":0.94,"b":0.94,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3771":{"x":0,"y":0,"width":0,"height":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"3772":{"r":0.839,"g":0.839,"b":0.839,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3773":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"3774":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"3775":{"stops":[{"__isSmartRef__":true,"id":3776},{"__isSmartRef__":true,"id":3778},{"__isSmartRef__":true,"id":3780},{"__isSmartRef__":true,"id":3782}],"vector":{"__isSmartRef__":true,"id":3771},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"3776":{"offset":0,"color":{"__isSmartRef__":true,"id":3777}},"3777":{"r":0.98,"g":0.98,"b":0.98,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3778":{"offset":0.4,"color":{"__isSmartRef__":true,"id":3779}},"3779":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3780":{"offset":0.6,"color":{"__isSmartRef__":true,"id":3781}},"3781":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3782":{"offset":1,"color":{"__isSmartRef__":true,"id":3783}},"3783":{"r":0.97,"g":0.97,"b":0.97,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3784":{"sourceObj":{"__isSmartRef__":true,"id":3743},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":3216},"targetMethodName":"restartCurrentServer","visualConnector":{"__isSmartRef__":true,"id":3785},"__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"3785":{"submorphs":[{"__isSmartRef__":true,"id":3786}],"scripts":[],"shape":{"__isSmartRef__":true,"id":3808},"id":5997,"renderContextTable":{"__isSmartRef__":true,"id":3816},"eventHandler":{"__isSmartRef__":true,"id":3817},"droppingEnabled":true,"halosEnabled":true,"owner":null,"controlPoints":[{"__isSmartRef__":true,"id":3818},{"__isSmartRef__":true,"id":3819}],"con":{"__isSmartRef__":true,"id":3784},"showsMorphMenu":true,"__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3820},"__LivelyClassName__":"lively.morphic.Path"},"3786":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3787},"id":5998,"renderContextTable":{"__isSmartRef__":true,"id":3800},"eventHandler":{"__isSmartRef__":true,"id":3801},"droppingEnabled":true,"halosEnabled":true,"_Origin":{"__isSmartRef__":true,"id":3802},"owner":{"__isSmartRef__":true,"id":3785},"_Position":{"__isSmartRef__":true,"id":3803},"_Rotation":-2.444571276337194,"__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","controlPoints":[{"__isSmartRef__":true,"id":3804},{"__isSmartRef__":true,"id":3805},{"__isSmartRef__":true,"id":3806},{"__isSmartRef__":true,"id":3807}],"__LivelyClassName__":"lively.morphic.Path"},"3787":{"dontChangeShape":false,"cachedVertices":[{"__isSmartRef__":true,"id":3788},{"__isSmartRef__":true,"id":3789},{"__isSmartRef__":true,"id":3790},{"__isSmartRef__":true,"id":3791}],"_PathElements":[{"__isSmartRef__":true,"id":3792},{"__isSmartRef__":true,"id":3793},{"__isSmartRef__":true,"id":3794},{"__isSmartRef__":true,"id":3795}],"renderContextTable":{"__isSmartRef__":true,"id":3796},"_Position":{"__isSmartRef__":true,"id":3797},"_Extent":{"__isSmartRef__":true,"id":3798},"_BorderWidth":0,"_BorderColor":{"__isSmartRef__":true,"id":3307},"_Fill":{"__isSmartRef__":true,"id":3799},"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.Path"},"3788":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3789":{"x":0,"y":12,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3790":{"x":16,"y":6,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3791":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3792":{"isAbsolute":true,"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.MoveTo"},"3793":{"isAbsolute":true,"x":0,"y":12,"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.LineTo"},"3794":{"isAbsolute":true,"x":16,"y":6,"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.LineTo"},"3795":{"isAbsolute":true,"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.LineTo"},"3796":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","getPathNode":"getPathNodeHTML","setPathElements":"setPathElementsHTML","getPathBounds":"getPathBoundsHTML","getTotalLength":"getTotalLengthHTML","getPointAtTotalLength":"getPointAtTotalLengthHTML"},"3797":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3798":{"x":16,"y":12,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3799":{"r":0,"g":0,"b":0,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3800":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","triggerEvent":"triggerEventHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","setOrigin":"setOriginHTML","setClipMode":"setClipModeHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML"},"3801":{"morph":{"__isSmartRef__":true,"id":3786},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"3802":{"x":12,"y":6,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3803":{"x":-12,"y":-6,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3804":{"morph":{"__isSmartRef__":true,"id":3786},"index":0,"__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","__LivelyClassName__":"lively.morphic.ControlPoint"},"3805":{"morph":{"__isSmartRef__":true,"id":3786},"index":1,"__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","__LivelyClassName__":"lively.morphic.ControlPoint"},"3806":{"morph":{"__isSmartRef__":true,"id":3786},"index":2,"__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","__LivelyClassName__":"lively.morphic.ControlPoint"},"3807":{"morph":{"__isSmartRef__":true,"id":3786},"index":3,"__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","__LivelyClassName__":"lively.morphic.ControlPoint"},"3808":{"dontChangeShape":false,"cachedVertices":[{"__isSmartRef__":true,"id":3809},{"__isSmartRef__":true,"id":3810}],"_PathElements":[{"__isSmartRef__":true,"id":3811},{"__isSmartRef__":true,"id":3812}],"renderContextTable":{"__isSmartRef__":true,"id":3813},"_Position":{"__isSmartRef__":true,"id":3814},"_Extent":{"__isSmartRef__":true,"id":3815},"_BorderWidth":1,"_BorderColor":{"__isSmartRef__":true,"id":3307},"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.Path"},"3809":{"x":172,"y":144,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3810":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3811":{"isAbsolute":true,"x":172,"y":144,"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.MoveTo"},"3812":{"isAbsolute":true,"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.LineTo"},"3813":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","getPathNode":"getPathNodeHTML","setPathElements":"setPathElementsHTML","getPathBounds":"getPathBoundsHTML","getTotalLength":"getTotalLengthHTML","getPointAtTotalLength":"getPointAtTotalLengthHTML"},"3814":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3815":{"x":172,"y":144,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3816":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","triggerEvent":"triggerEventHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","setOrigin":"setOriginHTML","setClipMode":"setClipModeHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML"},"3817":{"morph":{"__isSmartRef__":true,"id":3785},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"3818":{"morph":{"__isSmartRef__":true,"id":3785},"index":0,"connectedMagnet":null,"__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","__LivelyClassName__":"lively.morphic.ControlPoint"},"3819":{"morph":{"__isSmartRef__":true,"id":3785},"index":1,"connectedMagnet":null,"marker":{"__isSmartRef__":true,"id":3786},"markerDirection":"prev","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","__LivelyClassName__":"lively.morphic.ControlPoint"},"3820":{"morphMenuItems":{"__isSmartRef__":true,"id":3821}},"3821":{"varMapping":{"__isSmartRef__":true,"id":3822},"source":"function morphMenuItems() {\n var visualConnector = this, con = this.con, world = this.world();\n var items = [\n ['edit converter', function() {\n var source = con.converterString || 'function converter(value) {\\n return value\\n}',\n editor = new lively.morphic.Text(new Rectangle(0,0, 400, 200), source);\n editor.doitContext = con;\n connect(editor, 'savedTextString', con, 'converterString', {updater:\n function($upd, source) { this.targetObj.converter = null; $upd(source) }});\n connect(editor, 'savedTextString', world, 'alertOK', {converter: \n function() { return 'setting new converter' }})\n editor.applyStyle({syntaxHighlighting: true, fontFamily: 'Courier', resizeWidth: true, resizeHeight: true});\n var title = con.targetObj.name && con.sourceObj.name ?\n 'Editor for ' + con.targetObj.name + ' -> ' + con.sourceObj.name :\n 'Editor for converter function';\n var window = world.addFramedMorph(editor, title)\n window.align(window.bounds().topCenter(), visualConnector.bounds().bottomCenter())\n }],\n ['hide', function() {\n visualConnector.disconnectFromMagnets();\n visualConnector.remove();\n }],\n ['disconnect', function() {\n alertOK('Disconnected ' + visualConnector.con);\n visualConnector.con.visualDisconnect();\n }],\n ['cancel', function() {}],\n ];\n return items;\n }","funcProperties":{"__isSmartRef__":true,"id":3827},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"3822":{"this":{"__isSmartRef__":true,"id":3785},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3823}},"3823":{"$super":{"__isSmartRef__":true,"id":3824}},"3824":{"varMapping":{"__isSmartRef__":true,"id":3825},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch(e) {\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3826},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"3825":{"obj":{"__isSmartRef__":true,"id":3785},"name":"morphMenuItems"},"3826":{},"3827":{},"3828":{"x":5,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"3829":{"partsSpaceName":"PartsBin/Inputs/","__SourceModuleName__":"Global.lively.PartsBin","migrationLevel":2,"comment":"Simple button. Connect to 'fire' to trigger actions when the button is pressed.","partName":"Button","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo"},"3830":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML"},"3831":{"morph":{"__isSmartRef__":true,"id":3743},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"3832":{"x":78,"y":20,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3833":{"x":417.94753047427946,"y":252,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3834":{"x":79,"y":-10.000000000000057,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3835":{"adjustForNewBounds":true,"moveVertical":true,"moveHorizontal":true},"3836":{"submorphs":[{"__isSmartRef__":true,"id":3837}],"scripts":[],"id":"1A008A37-2CAE-414F-A7A4-579F241C8E22","shape":{"__isSmartRef__":true,"id":3852},"grabbingEnabled":false,"droppingEnabled":false,"showsMorphMenu":true,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":3855},"lighterFill":{"__isSmartRef__":true,"id":3868},"label":{"__isSmartRef__":true,"id":3837},"attributeConnections":[{"__isSmartRef__":true,"id":3877}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"showsHalos":false,"__SourceModuleName__":"Global.lively.morphic.Widgets","padding":{"__isSmartRef__":true,"id":3921},"name":"stopButton","partsBinMetaInfo":{"__isSmartRef__":true,"id":3922},"renderContextTable":{"__isSmartRef__":true,"id":3923},"eventHandler":{"__isSmartRef__":true,"id":3924},"priorExtent":{"__isSmartRef__":true,"id":3925},"distanceToDragEvent":{"__isSmartRef__":true,"id":3926},"_Position":{"__isSmartRef__":true,"id":3927},"owner":{"__isSmartRef__":true,"id":3216},"derivationIds":[2959,"D4C3F858-71B6-438D-8B68-EF60CE014253"],"layout":{"__isSmartRef__":true,"id":3928},"_ClipMode":"visible","_Rotation":0,"_Scale":1,"prevScroll":[0,0],"__LivelyClassName__":"lively.morphic.Button"},"3837":{"submorphs":[],"scripts":[],"id":"4B56AF4C-A2A3-4758-84D8-7D5B19717558","shape":{"__isSmartRef__":true,"id":3838},"grabbingEnabled":false,"droppingEnabled":false,"showsMorphMenu":false,"halosEnabled":true,"fixedWidth":true,"_MaxTextWidth":77,"_MaxTextHeight":null,"fixedHeight":true,"allowsInput":false,"registeredForMouseEvents":true,"_Position":{"__isSmartRef__":true,"id":3844},"textColor":{"__isSmartRef__":true,"id":3841},"owner":{"__isSmartRef__":true,"id":3836},"eventsAreIgnored":true,"__SourceModuleName__":"Global.lively.morphic.TextCore","textChunks":[{"__isSmartRef__":true,"id":3845}],"padding":{"__isSmartRef__":true,"id":3847},"_Padding":{"__isSmartRef__":true,"id":3848},"prevScroll":[0,0],"priorExtent":{"__isSmartRef__":true,"id":3849},"_FontFamily":"Helvetica, Sans-Serif","renderContextTable":{"__isSmartRef__":true,"id":3850},"eventHandler":{"__isSmartRef__":true,"id":3851},"_HandStyle":"default","_PointerEvents":"none","_ClipMode":"visible","_WhiteSpaceHandling":"pre-wrap","_Align":"center","_FontSize":11,"attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"derivationIds":[2960,"C6423782-FD54-4378-8B47-1BCACA42FB12"],"_MinTextWidth":77,"_MinTextHeight":null,"_Scale":1,"__LivelyClassName__":"lively.morphic.Text"},"3838":{"borderWidth":0,"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":{"__isSmartRef__":true,"id":3839},"_Extent":{"__isSmartRef__":true,"id":3840},"_BorderColor":{"__isSmartRef__":true,"id":3841},"renderContextTable":{"__isSmartRef__":true,"id":3842},"_ClipMode":"visible","_Padding":{"__isSmartRef__":true,"id":3843},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"3839":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3840":{"x":77,"y":20,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3841":{"r":0,"g":0,"b":0,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3842":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"3843":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"3844":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3845":{"style":{"__isSmartRef__":true,"id":3846},"chunkOwner":{"__isSmartRef__":true,"id":3837},"__SourceModuleName__":"Global.lively.morphic.TextCore","storedString":"stop","__LivelyClassName__":"lively.morphic.TextChunk"},"3846":{"__SourceModuleName__":"Global.lively.morphic.TextCore","__LivelyClassName__":"lively.morphic.TextEmphasis"},"3847":{"x":5,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"3848":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"3849":{"x":77,"y":20,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3850":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML","updateText":"updateTextHTML","setTextExtent":"setTextExtentHTML","setMaxTextWidth":"setMaxTextWidthHTML","setMaxTextHeight":"setMaxTextHeightHTML","setMinTextWidth":"setMinTextWidthHTML","setMinTextHeight":"setMinTextHeightHTML","getTextExtent":"getTextExtentHTML","getTextString":"getTextStringHTML","ignoreTextEvents":"ignoreTextEventsHTML","unignoreTextEvents":"unignoreTextEventsHTML","enableTextEvents":"enableTextEventsHTML","setFontFamily":"setFontFamilyHTML","setFontSize":"setFontSizeHTML","setTextColor":"setTextColorHTML","setFontWeight":"setFontWeightHTML","setFontStyle":"setFontStyleHTML","setTextDecoration":"setTextDecorationHTML","setPadding":"setPaddingHTML","setAlign":"setAlignHTML","setVerticalAlign":"setVerticalAlignHTML","setDisplay":"setDisplayHTML","setWhiteSpaceHandling":"setWhiteSpaceHandlingHTML","focusMorph":"focusMorphHTML","setInputAllowed":"setInputAllowedHTML"},"3851":{"morph":{"__isSmartRef__":true,"id":3837},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"3852":{"__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":{"__isSmartRef__":true,"id":3853},"_Extent":{"__isSmartRef__":true,"id":3854},"_Fill":{"__isSmartRef__":true,"id":3855},"_BorderWidth":1,"_BorderColor":{"__isSmartRef__":true,"id":3865},"_BorderRadius":5,"renderContextTable":{"__isSmartRef__":true,"id":3866},"_ClipMode":"visible","_Padding":{"__isSmartRef__":true,"id":3867},"_Opacity":1,"_BorderStyle":"solid","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"3853":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3854":{"x":77,"y":20,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3855":{"stops":[{"__isSmartRef__":true,"id":3856},{"__isSmartRef__":true,"id":3858},{"__isSmartRef__":true,"id":3860},{"__isSmartRef__":true,"id":3862}],"vector":{"__isSmartRef__":true,"id":3864},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"3856":{"offset":0,"color":{"__isSmartRef__":true,"id":3857}},"3857":{"r":0.9600000000000001,"g":0.9600000000000001,"b":0.9600000000000001,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3858":{"offset":0.4,"color":{"__isSmartRef__":true,"id":3859}},"3859":{"r":0.8200000000000001,"g":0.8200000000000001,"b":0.8200000000000001,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3860":{"offset":0.6,"color":{"__isSmartRef__":true,"id":3861}},"3861":{"r":0.8200000000000001,"g":0.8200000000000001,"b":0.8200000000000001,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3862":{"offset":1,"color":{"__isSmartRef__":true,"id":3863}},"3863":{"r":0.94,"g":0.94,"b":0.94,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3864":{"x":0,"y":0,"width":0,"height":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"3865":{"r":0.839,"g":0.839,"b":0.839,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3866":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"3867":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"3868":{"stops":[{"__isSmartRef__":true,"id":3869},{"__isSmartRef__":true,"id":3871},{"__isSmartRef__":true,"id":3873},{"__isSmartRef__":true,"id":3875}],"vector":{"__isSmartRef__":true,"id":3864},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"3869":{"offset":0,"color":{"__isSmartRef__":true,"id":3870}},"3870":{"r":0.98,"g":0.98,"b":0.98,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3871":{"offset":0.4,"color":{"__isSmartRef__":true,"id":3872}},"3872":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3873":{"offset":0.6,"color":{"__isSmartRef__":true,"id":3874}},"3874":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3875":{"offset":1,"color":{"__isSmartRef__":true,"id":3876}},"3876":{"r":0.97,"g":0.97,"b":0.97,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3877":{"sourceObj":{"__isSmartRef__":true,"id":3836},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":3216},"targetMethodName":"stopCurrentServer","visualConnector":{"__isSmartRef__":true,"id":3878},"__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"3878":{"submorphs":[{"__isSmartRef__":true,"id":3879}],"scripts":[],"shape":{"__isSmartRef__":true,"id":3901},"id":8319,"renderContextTable":{"__isSmartRef__":true,"id":3909},"eventHandler":{"__isSmartRef__":true,"id":3910},"droppingEnabled":true,"halosEnabled":true,"owner":null,"controlPoints":[{"__isSmartRef__":true,"id":3911},{"__isSmartRef__":true,"id":3912}],"con":{"__isSmartRef__":true,"id":3877},"showsMorphMenu":true,"__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3913},"__LivelyClassName__":"lively.morphic.Path"},"3879":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3880},"id":8320,"renderContextTable":{"__isSmartRef__":true,"id":3893},"eventHandler":{"__isSmartRef__":true,"id":3894},"droppingEnabled":true,"halosEnabled":true,"_Origin":{"__isSmartRef__":true,"id":3895},"owner":{"__isSmartRef__":true,"id":3878},"_Position":{"__isSmartRef__":true,"id":3896},"_Rotation":-2.3816293170298204,"__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","controlPoints":[{"__isSmartRef__":true,"id":3897},{"__isSmartRef__":true,"id":3898},{"__isSmartRef__":true,"id":3899},{"__isSmartRef__":true,"id":3900}],"__LivelyClassName__":"lively.morphic.Path"},"3880":{"dontChangeShape":false,"cachedVertices":[{"__isSmartRef__":true,"id":3881},{"__isSmartRef__":true,"id":3882},{"__isSmartRef__":true,"id":3883},{"__isSmartRef__":true,"id":3884}],"_PathElements":[{"__isSmartRef__":true,"id":3885},{"__isSmartRef__":true,"id":3886},{"__isSmartRef__":true,"id":3887},{"__isSmartRef__":true,"id":3888}],"renderContextTable":{"__isSmartRef__":true,"id":3889},"_Position":{"__isSmartRef__":true,"id":3890},"_Extent":{"__isSmartRef__":true,"id":3891},"_BorderWidth":0,"_BorderColor":{"__isSmartRef__":true,"id":3307},"_Fill":{"__isSmartRef__":true,"id":3892},"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.Path"},"3881":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3882":{"x":0,"y":12,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3883":{"x":16,"y":6,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3884":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3885":{"isAbsolute":true,"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.MoveTo"},"3886":{"isAbsolute":true,"x":0,"y":12,"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.LineTo"},"3887":{"isAbsolute":true,"x":16,"y":6,"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.LineTo"},"3888":{"isAbsolute":true,"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.LineTo"},"3889":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","getPathNode":"getPathNodeHTML","setPathElements":"setPathElementsHTML","getPathBounds":"getPathBoundsHTML","getTotalLength":"getTotalLengthHTML","getPointAtTotalLength":"getPointAtTotalLengthHTML"},"3890":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3891":{"x":16,"y":12,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3892":{"r":0,"g":0,"b":0,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3893":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","triggerEvent":"triggerEventHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","setOrigin":"setOriginHTML","setClipMode":"setClipModeHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML"},"3894":{"morph":{"__isSmartRef__":true,"id":3879},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"3895":{"x":12,"y":6,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3896":{"x":-12,"y":-6,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3897":{"morph":{"__isSmartRef__":true,"id":3879},"index":0,"__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","__LivelyClassName__":"lively.morphic.ControlPoint"},"3898":{"morph":{"__isSmartRef__":true,"id":3879},"index":1,"__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","__LivelyClassName__":"lively.morphic.ControlPoint"},"3899":{"morph":{"__isSmartRef__":true,"id":3879},"index":2,"__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","__LivelyClassName__":"lively.morphic.ControlPoint"},"3900":{"morph":{"__isSmartRef__":true,"id":3879},"index":3,"__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","__LivelyClassName__":"lively.morphic.ControlPoint"},"3901":{"dontChangeShape":false,"cachedVertices":[{"__isSmartRef__":true,"id":3902},{"__isSmartRef__":true,"id":3903}],"_PathElements":[{"__isSmartRef__":true,"id":3904},{"__isSmartRef__":true,"id":3905}],"renderContextTable":{"__isSmartRef__":true,"id":3906},"_Position":{"__isSmartRef__":true,"id":3907},"_Extent":{"__isSmartRef__":true,"id":3908},"_BorderWidth":1,"_BorderColor":{"__isSmartRef__":true,"id":3307},"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.Path"},"3902":{"x":262,"y":249.00000000000006,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3903":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3904":{"isAbsolute":true,"x":262,"y":249.00000000000006,"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.MoveTo"},"3905":{"isAbsolute":true,"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.PathShapes","__LivelyClassName__":"lively.morphic.Shapes.LineTo"},"3906":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","getPathNode":"getPathNodeHTML","setPathElements":"setPathElementsHTML","getPathBounds":"getPathBoundsHTML","getTotalLength":"getTotalLengthHTML","getPointAtTotalLength":"getPointAtTotalLengthHTML"},"3907":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3908":{"x":262,"y":249,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3909":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","triggerEvent":"triggerEventHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","setOrigin":"setOriginHTML","setClipMode":"setClipModeHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML"},"3910":{"morph":{"__isSmartRef__":true,"id":3878},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"3911":{"morph":{"__isSmartRef__":true,"id":3878},"index":0,"connectedMagnet":null,"__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","__LivelyClassName__":"lively.morphic.ControlPoint"},"3912":{"morph":{"__isSmartRef__":true,"id":3878},"index":1,"connectedMagnet":null,"marker":{"__isSmartRef__":true,"id":3879},"markerDirection":"prev","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","__LivelyClassName__":"lively.morphic.ControlPoint"},"3913":{"morphMenuItems":{"__isSmartRef__":true,"id":3914}},"3914":{"varMapping":{"__isSmartRef__":true,"id":3915},"source":"function morphMenuItems() {\n var visualConnector = this, con = this.con, world = this.world();\n var items = [\n ['edit converter', function() {\n var source = con.converterString || 'function converter(value) {\\n return value\\n}',\n editor = new lively.morphic.Text(new Rectangle(0,0, 400, 200), source);\n editor.doitContext = con;\n connect(editor, 'savedTextString', con, 'converterString', {updater:\n function($upd, source) { this.targetObj.converter = null; $upd(source) }});\n connect(editor, 'savedTextString', world, 'alertOK', {converter: \n function() { return 'setting new converter' }})\n editor.applyStyle({syntaxHighlighting: true, fontFamily: 'Courier', resizeWidth: true, resizeHeight: true});\n var title = con.targetObj.name && con.sourceObj.name ?\n 'Editor for ' + con.targetObj.name + ' -> ' + con.sourceObj.name :\n 'Editor for converter function';\n var window = world.addFramedMorph(editor, title)\n window.align(window.bounds().topCenter(), visualConnector.bounds().bottomCenter())\n }],\n ['hide', function() {\n visualConnector.disconnectFromMagnets();\n visualConnector.remove();\n }],\n ['disconnect', function() {\n alertOK('Disconnected ' + visualConnector.con);\n visualConnector.con.visualDisconnect();\n }],\n ['cancel', function() {}],\n ];\n return items;\n }","funcProperties":{"__isSmartRef__":true,"id":3920},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"3915":{"this":{"__isSmartRef__":true,"id":3878},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3916}},"3916":{"$super":{"__isSmartRef__":true,"id":3917}},"3917":{"varMapping":{"__isSmartRef__":true,"id":3918},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch(e) {\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3919},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"3918":{"obj":{"__isSmartRef__":true,"id":3878},"name":"morphMenuItems"},"3919":{},"3920":{},"3921":{"x":5,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"3922":{"partsSpaceName":"PartsBin/Inputs/","__SourceModuleName__":"Global.lively.PartsBin","migrationLevel":2,"comment":"Simple button. Connect to 'fire' to trigger actions when the button is pressed.","partName":"Button","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo"},"3923":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML"},"3924":{"morph":{"__isSmartRef__":true,"id":3836},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"3925":{"x":78,"y":20,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3926":{"x":77,"y":-13.000000000000057,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3927":{"x":500.94753047427946,"y":252,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3928":{"adjustForNewBounds":true,"moveVertical":true,"moveHorizontal":true},"3929":{"submorphs":[],"scripts":[],"id":"473F049D-B3A6-470E-8962-E79B47184D42","shape":{"__isSmartRef__":true,"id":3930},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_Position":{"__isSmartRef__":true,"id":3936},"_MaxTextWidth":364.65828402366867,"_MaxTextHeight":null,"textColor":{"__isSmartRef__":true,"id":3933},"showsHalos":false,"_FontSize":11,"__SourceModuleName__":"Global.lively.morphic.TextCore","name":"urlText","partsBinMetaInfo":{"__isSmartRef__":true,"id":3937},"textChunks":[{"__isSmartRef__":true,"id":3938}],"charsReplaced":"some text","lastFindLoc":-9,"priorSelectionRange":[34,34],"prevScroll":[0,0],"owner":{"__isSmartRef__":true,"id":3216},"priorExtent":{"__isSmartRef__":true,"id":3940},"renderContextTable":{"__isSmartRef__":true,"id":3941},"eventHandler":{"__isSmartRef__":true,"id":3942},"attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"_ClipMode":"visible","derivationIds":[2961,"644179E8-29E3-4C22-BCAF-998B618D1999"],"_WhiteSpaceHandling":"pre-wrap","_MinTextWidth":364.65828402366867,"_MinTextHeight":null,"_Rotation":0,"_Scale":1,"__LivelyClassName__":"lively.morphic.Text"},"3930":{"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":{"__isSmartRef__":true,"id":3931},"_Extent":{"__isSmartRef__":true,"id":3932},"_BorderWidth":0,"_BorderColor":{"__isSmartRef__":true,"id":3933},"renderContextTable":{"__isSmartRef__":true,"id":3934},"_ClipMode":"visible","_Padding":{"__isSmartRef__":true,"id":3935},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"3931":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3932":{"x":364.65828402366867,"y":17,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3933":{"r":0,"g":0,"b":0,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3934":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"3935":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"3936":{"x":196.2892464506108,"y":3.7730671701785496,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3937":{"partsSpaceName":"PartsBin/NewWorld","__SourceModuleName__":"Global.lively.PartsBin","migrationLevel":1,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo"},"3938":{"style":{"__isSmartRef__":true,"id":3939},"chunkOwner":{"__isSmartRef__":true,"id":3929},"storedString":"http://lively-kernel.org/nodejs/PhantomJSServer/","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3939":{"uri":"http://lively-kernel.org/nodejs/PhantomJSServer/","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3940":{"x":364.65828402366867,"y":17,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3941":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML","updateText":"updateTextHTML","setTextExtent":"setTextExtentHTML","setMaxTextWidth":"setMaxTextWidthHTML","setMaxTextHeight":"setMaxTextHeightHTML","setMinTextWidth":"setMinTextWidthHTML","setMinTextHeight":"setMinTextHeightHTML","getTextExtent":"getTextExtentHTML","getTextString":"getTextStringHTML","ignoreTextEvents":"ignoreTextEventsHTML","unignoreTextEvents":"unignoreTextEventsHTML","enableTextEvents":"enableTextEventsHTML","setFontFamily":"setFontFamilyHTML","setFontSize":"setFontSizeHTML","setTextColor":"setTextColorHTML","setFontWeight":"setFontWeightHTML","setFontStyle":"setFontStyleHTML","setTextDecoration":"setTextDecorationHTML","setPadding":"setPaddingHTML","setAlign":"setAlignHTML","setVerticalAlign":"setVerticalAlignHTML","setDisplay":"setDisplayHTML","setWhiteSpaceHandling":"setWhiteSpaceHandlingHTML","focusMorph":"focusMorphHTML","setInputAllowed":"setInputAllowedHTML"},"3942":{"morph":{"__isSmartRef__":true,"id":3929},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"3943":{"position":{"__isSmartRef__":true,"id":3944},"_Extent":{"__isSmartRef__":true,"id":3945},"_BorderWidth":1,"_BorderColor":{"__isSmartRef__":true,"id":3946},"_Fill":{"__isSmartRef__":true,"id":3947},"__SourceModuleName__":"Global.lively.morphic.Shapes","renderContextTable":{"__isSmartRef__":true,"id":3948},"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_ClipMode":"visible","_Padding":{"__isSmartRef__":true,"id":3949},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"3944":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3945":{"x":596.9475304742795,"y":278,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3946":{"r":0.372,"g":0.369,"b":0.372,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"3947":{"r":1,"g":1,"b":1,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3948":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"3949":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"3950":{"partsSpaceName":"PartsBin/Basic","__SourceModuleName__":"Global.lively.PartsBin","comment":"A simple box morph. A really blue one. Its amazing what you can build out of simple boxes.... Who needs stars when you got blue rectangles!","migrationLevel":2,"partName":"NodeJSControl","requiredModules":["server.nodejs.WebInterface"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo"},"3951":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML"},"3952":{"morph":{"__isSmartRef__":true,"id":3216},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"3953":{"sourceObj":{"__isSmartRef__":true,"id":3216},"sourceAttrName":"currentServer","targetObj":{"__isSmartRef__":true,"id":3216},"targetMethodName":"showServerInfo","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"3954":{"x":596.9475304742795,"y":278,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3955":{"resizeWidth":true,"resizeHeight":true,"adjustForNewBounds":true},"3956":{"refreshServerList":{"__isSmartRef__":true,"id":3957},"getMasterServerInterface":{"__isSmartRef__":true,"id":3959},"getRunningServers":{"__isSmartRef__":true,"id":3961},"showServerInfo":{"__isSmartRef__":true,"id":3963},"setupConnections":{"__isSmartRef__":true,"id":3965},"restartCurrentServer":{"__isSmartRef__":true,"id":3967},"serverIsRunning":{"__isSmartRef__":true,"id":3969},"setColorOfServerStateIndicator":{"__isSmartRef__":true,"id":3971},"serverIsNotRunning":{"__isSmartRef__":true,"id":3973},"serverstateIsUnknown":{"__isSmartRef__":true,"id":3975},"serverStateIsUnknown":{"__isSmartRef__":true,"id":3977},"stopCurrentServer":{"__isSmartRef__":true,"id":3979},"createNewServer":{"__isSmartRef__":true,"id":3981},"removeServer":{"__isSmartRef__":true,"id":3983},"browseSelectedServer":{"__isSmartRef__":true,"id":3985},"reset":{"__isSmartRef__":true,"id":3987},"onLoadFromPartsBin":{"__isSmartRef__":true,"id":3989}},"3957":{"time":{"__isSmartRef__":true,"id":3958},"user":"robertkrahn"},"3958":{"isSerializedDate":true,"string":"Thu Jul 14 2011 15:19:10 GMT+0200 (CEST)"},"3959":{"time":{"__isSmartRef__":true,"id":3960},"user":"robertkrahn"},"3960":{"isSerializedDate":true,"string":"Wed Jul 13 2011 19:05:22 GMT+0200 (CEST)"},"3961":{"time":{"__isSmartRef__":true,"id":3962},"user":"robertkrahn"},"3962":{"isSerializedDate":true,"string":"Wed Jul 13 2011 20:36:29 GMT+0200 (CEST)"},"3963":{"time":{"__isSmartRef__":true,"id":3964},"user":"robertkrahn"},"3964":{"isSerializedDate":true,"string":"Thu Jul 14 2011 02:47:56 GMT+0200 (CEST)"},"3965":{"time":{"__isSmartRef__":true,"id":3966},"user":"robertkrahn"},"3966":{"isSerializedDate":true,"string":"Wed Jul 13 2011 18:57:57 GMT+0200 (CEST)"},"3967":{"time":{"__isSmartRef__":true,"id":3968},"user":"robertkrahn"},"3968":{"isSerializedDate":true,"string":"Wed Jul 13 2011 21:36:07 GMT+0200 (CEST)"},"3969":{"time":{"__isSmartRef__":true,"id":3970},"user":"robertkrahn"},"3970":{"isSerializedDate":true,"string":"Wed Jul 13 2011 21:14:41 GMT+0200 (CEST)"},"3971":{"time":{"__isSmartRef__":true,"id":3972},"user":"robertkrahn"},"3972":{"isSerializedDate":true,"string":"Wed Jul 13 2011 21:14:57 GMT+0200 (CEST)"},"3973":{"time":{"__isSmartRef__":true,"id":3974},"user":"robertkrahn"},"3974":{"isSerializedDate":true,"string":"Wed Jul 13 2011 21:15:06 GMT+0200 (CEST)"},"3975":{"time":{"__isSmartRef__":true,"id":3976},"user":"robertkrahn"},"3976":{"isSerializedDate":true,"string":"Wed Jul 13 2011 21:15:27 GMT+0200 (CEST)"},"3977":{"time":{"__isSmartRef__":true,"id":3978},"user":"robertkrahn"},"3978":{"isSerializedDate":true,"string":"Wed Jul 13 2011 21:15:36 GMT+0200 (CEST)"},"3979":{"time":{"__isSmartRef__":true,"id":3980},"user":"robertkrahn"},"3980":{"isSerializedDate":true,"string":"Wed Jul 13 2011 21:35:48 GMT+0200 (CEST)"},"3981":{"time":{"__isSmartRef__":true,"id":3982},"user":"robertkrahn"},"3982":{"isSerializedDate":true,"string":"Wed Jul 13 2011 22:56:23 GMT+0200 (CEST)"},"3983":{"time":{"__isSmartRef__":true,"id":3984},"user":"robertkrahn"},"3984":{"isSerializedDate":true,"string":"Thu Jul 14 2011 15:17:53 GMT+0200 (CEST)"},"3985":{"time":{"__isSmartRef__":true,"id":3986},"user":"robertkrahn"},"3986":{"isSerializedDate":true,"string":"Thu Jul 14 2011 15:05:04 GMT+0200 (CEST)"},"3987":{"time":{"__isSmartRef__":true,"id":3988},"user":"robertkrahn"},"3988":{"isSerializedDate":true,"string":"Thu Jul 14 2011 02:45:32 GMT+0200 (CEST)"},"3989":{"time":{"__isSmartRef__":true,"id":3990},"user":"robertkrahn"},"3990":{"isSerializedDate":true,"string":"Thu Jul 14 2011 02:51:33 GMT+0200 (CEST)"},"3991":{"x":0,"y":21,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3992":{"x":393,"y":-9,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"3993":{"refreshServerList":{"__isSmartRef__":true,"id":3994},"getMasterServerInterface":{"__isSmartRef__":true,"id":3997},"showServerInfo":{"__isSmartRef__":true,"id":4000},"setupConnections":{"__isSmartRef__":true,"id":4003},"restartCurrentServer":{"__isSmartRef__":true,"id":4006},"serverIsRunning":{"__isSmartRef__":true,"id":4009},"setColorOfServerStateIndicator":{"__isSmartRef__":true,"id":4012},"serverIsNotRunning":{"__isSmartRef__":true,"id":4015},"serverStateIsUnknown":{"__isSmartRef__":true,"id":4018},"stopCurrentServer":{"__isSmartRef__":true,"id":4021},"createNewServer":{"__isSmartRef__":true,"id":4024},"removeServer":{"__isSmartRef__":true,"id":4027},"browseSelectedServer":{"__isSmartRef__":true,"id":4030},"reset":{"__isSmartRef__":true,"id":4033}},"3994":{"varMapping":{"__isSmartRef__":true,"id":3995},"source":"function refreshServerList() {\n var serverList = this.get('serverList'),\n master = this.getMasterServerInterface(),\n prevSel = serverList.selection;\n this.reset();\n connect(\n master, 'serverInfos',\n {$: function(list) {\n var items = list.collect(function(ea) {\n return {string: ea.serverName, value: ea, isListItem: true}\n });\n serverList.setList(items);\n if (prevSel && prevSel.serverName) \n serverList.\nsetSelectionMatching(prevSel.serverName);\n }}, '$')\n master.getServerInfos();\n}","funcProperties":{"__isSmartRef__":true,"id":3996},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"3995":{"this":{"__isSmartRef__":true,"id":3216}},"3996":{},"3997":{"varMapping":{"__isSmartRef__":true,"id":3998},"source":"function getMasterServerInterface() {\n var master = new NodeJSMasterServer()\n master.beAsync();\n return master;\n}","funcProperties":{"__isSmartRef__":true,"id":3999},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"3998":{"this":{"__isSmartRef__":true,"id":3216}},"3999":{},"4000":{"varMapping":{"__isSmartRef__":true,"id":4001},"source":"function showServerInfo() {\n if (!this.currentServer) return;\n if (this.currentServer.isRunning) this.serverIsRunning();\n else this.serverIsNotRunning();\n // var info = JSON.prettyPrint(this.currentServer);\n // this.get('serverInfoText').textString = info;\n\n var master = this.getMasterServerInterface();\n master.isAsync = false;\n\n var url = 'http://lively-kernel.org/nodejs/' + this.currentServer.serverName + '/';\n this.get('urlText').textString = url;\n this.get('urlText').emphasizeAll({uri: url});\n\n this.get('logText').textString = '';\n this.get('logText').textString = master.getLog(this.currentServer.serverName)\n}","funcProperties":{"__isSmartRef__":true,"id":4002},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"4001":{"this":{"__isSmartRef__":true,"id":3216}},"4002":{},"4003":{"varMapping":{"__isSmartRef__":true,"id":4004},"source":"function setupConnections() {\n connect(this, 'currentServer', this, 'showServerInfo')\n}","funcProperties":{"__isSmartRef__":true,"id":4005},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"4004":{"this":{"__isSmartRef__":true,"id":3216}},"4005":{},"4006":{"varMapping":{"__isSmartRef__":true,"id":4007},"source":"function restartCurrentServer() {\n if (!this.currentServer) return;\n \n var master= this.getMasterServerInterface(),\n serverName = this.currentServer.serverName;\n\n connect(master, 'lastServerResult', this, 'refreshServerList');\n\n master.updateAndRestart(serverName);\n}","funcProperties":{"__isSmartRef__":true,"id":4008},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"4007":{"this":{"__isSmartRef__":true,"id":3216}},"4008":{},"4009":{"varMapping":{"__isSmartRef__":true,"id":4010},"source":"function serverIsRunning() {\n this.setColorOfServerStateIndicator(Color.green)\n}","funcProperties":{"__isSmartRef__":true,"id":4011},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"4010":{"this":{"__isSmartRef__":true,"id":3216}},"4011":{},"4012":{"varMapping":{"__isSmartRef__":true,"id":4013},"source":"function setColorOfServerStateIndicator(color) {\n this.get('serverStateIndicator').setFill(color)\n}","funcProperties":{"__isSmartRef__":true,"id":4014},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"4013":{"this":{"__isSmartRef__":true,"id":3216}},"4014":{},"4015":{"varMapping":{"__isSmartRef__":true,"id":4016},"source":"function serverIsNotRunning() {\n this.setColorOfServerStateIndicator(Color.red)\n}","funcProperties":{"__isSmartRef__":true,"id":4017},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"4016":{"this":{"__isSmartRef__":true,"id":3216}},"4017":{},"4018":{"varMapping":{"__isSmartRef__":true,"id":4019},"source":"function serverStateIsUnknown() {\n this.setColorOfServerStateIndicator(Color.gray)\n}","funcProperties":{"__isSmartRef__":true,"id":4020},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"4019":{"this":{"__isSmartRef__":true,"id":3216}},"4020":{},"4021":{"varMapping":{"__isSmartRef__":true,"id":4022},"source":"function stopCurrentServer() {\n if (!this.currentServer) return;\n \n var master= this.getMasterServerInterface(),\n serverName = this.currentServer.serverName;\n\n alert('Stopping ' + serverName + '...');\n connect(master, 'lastServerResult', this, 'refreshServerList');\n\n master.stopServer(serverName);\n}","funcProperties":{"__isSmartRef__":true,"id":4023},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"4022":{"this":{"__isSmartRef__":true,"id":3216}},"4023":{},"4024":{"varMapping":{"__isSmartRef__":true,"id":4025},"source":"function createNewServer() {\n this.world().prompt(\n 'Please enter a server name',\n function(input) {\n if (!input) { alert('aborting'); return };\n ServerCreator.create(input)\n this.refreshServerList();\n }.bind(this),\n 'NewServer')\n}","funcProperties":{"__isSmartRef__":true,"id":4026},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"4025":{"this":{"__isSmartRef__":true,"id":3216}},"4026":{},"4027":{"varMapping":{"__isSmartRef__":true,"id":4028},"source":"function removeServer() {\n var serverName = this.currentServer.serverName;\n this.world().confirm(\n 'Really remove ' + serverName + '?' ,\n function(input) {\n if (!input) { alertOK('nothing removed'); return };\n ServerCreator.remove(serverName);\n this.refreshServerList();\n }.bind(this))\n}","funcProperties":{"__isSmartRef__":true,"id":4029},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"4028":{"this":{"__isSmartRef__":true,"id":3216}},"4029":{},"4030":{"varMapping":{"__isSmartRef__":true,"id":4031},"source":"function browseSelectedServer() {\n if (!this.currentServer) return;\n var name = this.currentServer.serverName;\n require('lively.ide').toRun(function() {\n lively.ide.SystemBrowser.browse('server.nodejs.' + name);\n })\n}","funcProperties":{"__isSmartRef__":true,"id":4032},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"4031":{"this":{"__isSmartRef__":true,"id":3216}},"4032":{},"4033":{"varMapping":{"__isSmartRef__":true,"id":4034},"source":"function reset() {\n this.currentServer = null;\n this.get('serverList').setList([]);\n this.serverStateIsUnknown();\n this.get('logText').textString = '';\n this.get('urlText').textString = '';\n}","funcProperties":{"__isSmartRef__":true,"id":4035},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"4034":{"this":{"__isSmartRef__":true,"id":3216}},"4035":{},"4036":{"submorphs":[{"__isSmartRef__":true,"id":4037},{"__isSmartRef__":true,"id":4051},{"__isSmartRef__":true,"id":4099},{"__isSmartRef__":true,"id":4134}],"scripts":[],"shape":{"__isSmartRef__":true,"id":4170},"id":"8F31B45E-E6B3-48E4-AAFB-2F88DD0FA628","renderContextTable":{"__isSmartRef__":true,"id":4176},"eventHandler":{"__isSmartRef__":true,"id":4177},"droppingEnabled":true,"halosEnabled":true,"layout":{"__isSmartRef__":true,"id":4178},"_Position":{"__isSmartRef__":true,"id":4179},"windowMorph":{"__isSmartRef__":true,"id":3215},"label":{"__isSmartRef__":true,"id":4037},"closeButton":{"__isSmartRef__":true,"id":4051},"menuButton":{"__isSmartRef__":true,"id":4099},"collapseButton":{"__isSmartRef__":true,"id":4134},"priorExtent":{"__isSmartRef__":true,"id":4180},"owner":{"__isSmartRef__":true,"id":3215},"__SourceModuleName__":"Global.lively.morphic.Widgets","attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"derivationIds":[2962,"30EC5D9F-01AA-4939-A5AD-3F10D97BC5D0"],"showsHalos":false,"_ClipMode":"visible","_Scale":1,"prevScroll":[0,0],"__LivelyClassName__":"lively.morphic.TitleBar"},"4037":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":4038},"id":"7CFCED25-1364-4F9D-89D4-157DC535B4C0","renderContextTable":{"__isSmartRef__":true,"id":4043},"textChunks":[{"__isSmartRef__":true,"id":4044}],"eventHandler":{"__isSmartRef__":true,"id":4046},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"_Padding":{"__isSmartRef__":true,"id":4047},"_ClipMode":"hidden","fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"isLabel":true,"_HandStyle":"default","layout":{"__isSmartRef__":true,"id":4048},"_Align":"center","eventsAreIgnored":true,"_PointerEvents":"none","owner":{"__isSmartRef__":true,"id":4036},"priorExtent":{"__isSmartRef__":true,"id":4049},"_MaxTextWidth":537.9475304742795,"_MaxTextHeight":null,"_Position":{"__isSmartRef__":true,"id":4050},"__SourceModuleName__":"Global.lively.morphic.TextCore","attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"derivationIds":[2963,"659AFF1C-229D-4F62-B8A7-D0297C57337A"],"_MinTextWidth":537.9475304742795,"_MinTextHeight":null,"_Scale":1,"__LivelyClassName__":"lively.morphic.Text"},"4038":{"_Position":{"__isSmartRef__":true,"id":4039},"renderContextTable":{"__isSmartRef__":true,"id":4040},"_Extent":{"__isSmartRef__":true,"id":4041},"_BorderWidth":0,"_BorderColor":{"__isSmartRef__":true,"id":3307},"_Fill":null,"_BorderRadius":0,"__SourceModuleName__":"Global.lively.morphic.Shapes","_ClipMode":"hidden","_Padding":{"__isSmartRef__":true,"id":4042},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"4039":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4040":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"4041":{"x":537.9475304742795,"y":17,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"4042":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"4043":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML","updateText":"updateTextHTML","setTextExtent":"setTextExtentHTML","setMaxTextWidth":"setMaxTextWidthHTML","setMaxTextHeight":"setMaxTextHeightHTML","setMinTextWidth":"setMinTextWidthHTML","setMinTextHeight":"setMinTextHeightHTML","getTextExtent":"getTextExtentHTML","getTextString":"getTextStringHTML","ignoreTextEvents":"ignoreTextEventsHTML","unignoreTextEvents":"unignoreTextEventsHTML","enableTextEvents":"enableTextEventsHTML","setFontFamily":"setFontFamilyHTML","setFontSize":"setFontSizeHTML","setTextColor":"setTextColorHTML","setFontWeight":"setFontWeightHTML","setFontStyle":"setFontStyleHTML","setTextDecoration":"setTextDecorationHTML","setPadding":"setPaddingHTML","setAlign":"setAlignHTML","setVerticalAlign":"setVerticalAlignHTML","setDisplay":"setDisplayHTML","setWhiteSpaceHandling":"setWhiteSpaceHandlingHTML","focusMorph":"focusMorphHTML","setInputAllowed":"setInputAllowedHTML"},"4044":{"style":{"__isSmartRef__":true,"id":4045},"chunkOwner":{"__isSmartRef__":true,"id":4037},"storedString":"NodeJSControl","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4045":{"fontWeight":"normal","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4046":{"morph":{"__isSmartRef__":true,"id":4037},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"4047":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"4048":{"resizeWidth":true},"4049":{"x":537.9475304742795,"y":17,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4050":{"x":20,"y":3,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4051":{"submorphs":[{"__isSmartRef__":true,"id":4052}],"scripts":[],"shape":{"__isSmartRef__":true,"id":4065},"id":"9603EAC9-1028-4937-BD91-9F85D40AA98F","renderContextTable":{"__isSmartRef__":true,"id":4081},"eventHandler":{"__isSmartRef__":true,"id":4082},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"_Position":{"__isSmartRef__":true,"id":4083},"priorExtent":{"__isSmartRef__":true,"id":4084},"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":4070},"lighterFill":{"__isSmartRef__":true,"id":4085},"label":{"__isSmartRef__":true,"id":4052},"owner":{"__isSmartRef__":true,"id":4036},"layout":{"__isSmartRef__":true,"id":4094},"attributeConnections":[{"__isSmartRef__":true,"id":4095},{"__isSmartRef__":true,"id":4097}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"__SourceModuleName__":"Global.lively.morphic.Widgets","derivationIds":[2964,"766DF018-E484-4203-9644-0D7FC6324670"],"_ClipMode":"visible","_Scale":1,"__LivelyClassName__":"lively.morphic.WindowControl"},"4052":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":4053},"id":"F21FB8FC-B3BD-427A-BA49-A5B80F7D2418","renderContextTable":{"__isSmartRef__":true,"id":4058},"textChunks":[{"__isSmartRef__":true,"id":4059}],"eventHandler":{"__isSmartRef__":true,"id":4061},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"_Padding":{"__isSmartRef__":true,"id":4062},"_ClipMode":"hidden","fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":false,"_FontFamily":"Helvetica","_FontSize":8,"_Position":{"__isSmartRef__":true,"id":4063},"priorExtent":{"__isSmartRef__":true,"id":4064},"_MaxTextWidth":17,"_MaxTextHeight":null,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":4051},"isLabel":true,"_HandStyle":"default","_Align":"center","eventsAreIgnored":true,"_PointerEvents":"none","__SourceModuleName__":"Global.lively.morphic.TextCore","attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"derivationIds":[2965,"5F0AA972-C4B5-4759-9142-BC2522167051"],"_MinTextWidth":17,"_MinTextHeight":null,"_Scale":1,"__LivelyClassName__":"lively.morphic.Text"},"4053":{"_Position":{"__isSmartRef__":true,"id":4054},"renderContextTable":{"__isSmartRef__":true,"id":4055},"_Extent":{"__isSmartRef__":true,"id":4056},"_BorderWidth":0,"_BorderColor":{"__isSmartRef__":true,"id":3307},"_Fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","_ClipMode":"hidden","_Padding":{"__isSmartRef__":true,"id":4057},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"4054":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4055":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"4056":{"x":17,"y":17,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"4057":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"4058":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML","updateText":"updateTextHTML","setTextExtent":"setTextExtentHTML","setMaxTextWidth":"setMaxTextWidthHTML","setMaxTextHeight":"setMaxTextHeightHTML","setMinTextWidth":"setMinTextWidthHTML","setMinTextHeight":"setMinTextHeightHTML","getTextExtent":"getTextExtentHTML","getTextString":"getTextStringHTML","ignoreTextEvents":"ignoreTextEventsHTML","unignoreTextEvents":"unignoreTextEventsHTML","enableTextEvents":"enableTextEventsHTML","setFontFamily":"setFontFamilyHTML","setFontSize":"setFontSizeHTML","setTextColor":"setTextColorHTML","setFontWeight":"setFontWeightHTML","setFontStyle":"setFontStyleHTML","setTextDecoration":"setTextDecorationHTML","setPadding":"setPaddingHTML","setAlign":"setAlignHTML","setVerticalAlign":"setVerticalAlignHTML","setDisplay":"setDisplayHTML","setWhiteSpaceHandling":"setWhiteSpaceHandlingHTML","focusMorph":"focusMorphHTML","setInputAllowed":"setInputAllowedHTML"},"4059":{"style":{"__isSmartRef__":true,"id":4060},"chunkOwner":{"__isSmartRef__":true,"id":4052},"__SourceModuleName__":"Global.lively.morphic.TextCore","storedString":"X","__LivelyClassName__":"lively.morphic.TextChunk"},"4060":{"__SourceModuleName__":"Global.lively.morphic.TextCore","__LivelyClassName__":"lively.morphic.TextEmphasis"},"4061":{"morph":{"__isSmartRef__":true,"id":4052},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"4062":{"x":0,"y":3,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"4063":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4064":{"x":17,"y":17,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4065":{"_Position":{"__isSmartRef__":true,"id":4066},"renderContextTable":{"__isSmartRef__":true,"id":4067},"_Extent":{"__isSmartRef__":true,"id":4068},"_BorderWidth":0,"_BorderColor":{"__isSmartRef__":true,"id":4069},"_Fill":{"__isSmartRef__":true,"id":4070},"_StrokeOpacity":0,"_BorderRadius":5,"__SourceModuleName__":"Global.lively.morphic.Shapes","_ClipMode":"visible","_Padding":{"__isSmartRef__":true,"id":4080},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"4066":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4067":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"4068":{"x":17,"y":17,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4069":{"r":0.7411764705882353,"g":0.7450980392156863,"b":0.7529411764705882,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"4070":{"stops":[{"__isSmartRef__":true,"id":4071},{"__isSmartRef__":true,"id":4073},{"__isSmartRef__":true,"id":4075},{"__isSmartRef__":true,"id":4077}],"vector":{"__isSmartRef__":true,"id":4079},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"4071":{"offset":0,"color":{"__isSmartRef__":true,"id":4072}},"4072":{"r":0.9600000000000001,"g":0.9600000000000001,"b":0.9600000000000001,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"4073":{"offset":0.4,"color":{"__isSmartRef__":true,"id":4074}},"4074":{"r":0.8200000000000001,"g":0.8200000000000001,"b":0.8200000000000001,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"4075":{"offset":0.6,"color":{"__isSmartRef__":true,"id":4076}},"4076":{"r":0.8200000000000001,"g":0.8200000000000001,"b":0.8200000000000001,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"4077":{"offset":1,"color":{"__isSmartRef__":true,"id":4078}},"4078":{"r":0.94,"g":0.94,"b":0.94,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"4079":{"x":0,"y":0,"width":0,"height":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"4080":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"4081":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML"},"4082":{"morph":{"__isSmartRef__":true,"id":4051},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"4083":{"x":576.9475304742795,"y":3,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4084":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4085":{"stops":[{"__isSmartRef__":true,"id":4086},{"__isSmartRef__":true,"id":4088},{"__isSmartRef__":true,"id":4090},{"__isSmartRef__":true,"id":4092}],"vector":{"__isSmartRef__":true,"id":4079},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"4086":{"offset":0,"color":{"__isSmartRef__":true,"id":4087}},"4087":{"r":0.98,"g":0.98,"b":0.98,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"4088":{"offset":0.4,"color":{"__isSmartRef__":true,"id":4089}},"4089":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"4090":{"offset":0.6,"color":{"__isSmartRef__":true,"id":4091}},"4091":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"4092":{"offset":1,"color":{"__isSmartRef__":true,"id":4093}},"4093":{"r":0.97,"g":0.97,"b":0.97,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"4094":{"moveHorizontal":true},"4095":{"sourceObj":{"__isSmartRef__":true,"id":4051},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":3215},"targetMethodName":"getCloseHelp","converter":null,"converterString":null,"updater":null,"updaterString":null,"varMapping":{"__isSmartRef__":true,"id":4096},"__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"4096":{"source":{"__isSmartRef__":true,"id":4051},"target":{"__isSmartRef__":true,"id":3215}},"4097":{"sourceObj":{"__isSmartRef__":true,"id":4051},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":3215},"targetMethodName":"initiateShutdown","converter":null,"converterString":null,"updater":null,"updaterString":null,"varMapping":{"__isSmartRef__":true,"id":4098},"__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"4098":{"source":{"__isSmartRef__":true,"id":4051},"target":{"__isSmartRef__":true,"id":3215}},"4099":{"submorphs":[{"__isSmartRef__":true,"id":4100}],"scripts":[],"shape":{"__isSmartRef__":true,"id":4112},"id":"743224DE-3821-470C-ABE3-5D17BA5D25C4","renderContextTable":{"__isSmartRef__":true,"id":4117},"eventHandler":{"__isSmartRef__":true,"id":4118},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"_Position":{"__isSmartRef__":true,"id":4119},"priorExtent":{"__isSmartRef__":true,"id":4120},"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":4070},"lighterFill":{"__isSmartRef__":true,"id":4121},"label":{"__isSmartRef__":true,"id":4100},"owner":{"__isSmartRef__":true,"id":4036},"attributeConnections":[{"__isSmartRef__":true,"id":4130},{"__isSmartRef__":true,"id":4132}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"__SourceModuleName__":"Global.lively.morphic.Widgets","derivationIds":[2966,"F6747685-1C50-46B8-8A16-6AEBB5BEFF45"],"_ClipMode":"visible","_Scale":1,"__LivelyClassName__":"lively.morphic.WindowControl"},"4100":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":4101},"id":"1C8E93EC-BE58-4869-87C9-A08FB73D2E3F","renderContextTable":{"__isSmartRef__":true,"id":4106},"textChunks":[{"__isSmartRef__":true,"id":4107}],"eventHandler":{"__isSmartRef__":true,"id":4109},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"_Padding":{"__isSmartRef__":true,"id":4062},"_ClipMode":"hidden","fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":false,"_FontFamily":"Helvetica","_FontSize":8,"_Position":{"__isSmartRef__":true,"id":4110},"priorExtent":{"__isSmartRef__":true,"id":4111},"_MaxTextWidth":17,"_MaxTextHeight":null,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":4099},"isLabel":true,"_HandStyle":"default","_Align":"center","eventsAreIgnored":true,"_PointerEvents":"none","__SourceModuleName__":"Global.lively.morphic.TextCore","attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"derivationIds":[2967,"620E1251-5C94-4BBC-A728-00C8F8A41074"],"_MinTextWidth":17,"_MinTextHeight":null,"_Scale":1,"__LivelyClassName__":"lively.morphic.Text"},"4101":{"_Position":{"__isSmartRef__":true,"id":4102},"renderContextTable":{"__isSmartRef__":true,"id":4103},"_Extent":{"__isSmartRef__":true,"id":4104},"_BorderWidth":0,"_BorderColor":{"__isSmartRef__":true,"id":3307},"_Fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","_ClipMode":"hidden","_Padding":{"__isSmartRef__":true,"id":4105},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"4102":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4103":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"4104":{"x":17,"y":17,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"4105":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"4106":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML","updateText":"updateTextHTML","setTextExtent":"setTextExtentHTML","setMaxTextWidth":"setMaxTextWidthHTML","setMaxTextHeight":"setMaxTextHeightHTML","setMinTextWidth":"setMinTextWidthHTML","setMinTextHeight":"setMinTextHeightHTML","getTextExtent":"getTextExtentHTML","getTextString":"getTextStringHTML","ignoreTextEvents":"ignoreTextEventsHTML","unignoreTextEvents":"unignoreTextEventsHTML","enableTextEvents":"enableTextEventsHTML","setFontFamily":"setFontFamilyHTML","setFontSize":"setFontSizeHTML","setTextColor":"setTextColorHTML","setFontWeight":"setFontWeightHTML","setFontStyle":"setFontStyleHTML","setTextDecoration":"setTextDecorationHTML","setPadding":"setPaddingHTML","setAlign":"setAlignHTML","setVerticalAlign":"setVerticalAlignHTML","setDisplay":"setDisplayHTML","setWhiteSpaceHandling":"setWhiteSpaceHandlingHTML","focusMorph":"focusMorphHTML","setInputAllowed":"setInputAllowedHTML"},"4107":{"style":{"__isSmartRef__":true,"id":4108},"chunkOwner":{"__isSmartRef__":true,"id":4100},"__SourceModuleName__":"Global.lively.morphic.TextCore","storedString":"M","__LivelyClassName__":"lively.morphic.TextChunk"},"4108":{"__SourceModuleName__":"Global.lively.morphic.TextCore","__LivelyClassName__":"lively.morphic.TextEmphasis"},"4109":{"morph":{"__isSmartRef__":true,"id":4100},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"4110":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4111":{"x":17,"y":17,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4112":{"_Position":{"__isSmartRef__":true,"id":4113},"renderContextTable":{"__isSmartRef__":true,"id":4114},"_Extent":{"__isSmartRef__":true,"id":4115},"_BorderWidth":0,"_BorderColor":{"__isSmartRef__":true,"id":4069},"_Fill":{"__isSmartRef__":true,"id":4070},"_StrokeOpacity":0,"_BorderRadius":5,"__SourceModuleName__":"Global.lively.morphic.Shapes","_ClipMode":"visible","_Padding":{"__isSmartRef__":true,"id":4116},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"4113":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4114":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"4115":{"x":17,"y":17,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4116":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"4117":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML"},"4118":{"morph":{"__isSmartRef__":true,"id":4099},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"4119":{"x":3,"y":3,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4120":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4121":{"stops":[{"__isSmartRef__":true,"id":4122},{"__isSmartRef__":true,"id":4124},{"__isSmartRef__":true,"id":4126},{"__isSmartRef__":true,"id":4128}],"vector":{"__isSmartRef__":true,"id":4079},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"4122":{"offset":0,"color":{"__isSmartRef__":true,"id":4123}},"4123":{"r":0.98,"g":0.98,"b":0.98,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"4124":{"offset":0.4,"color":{"__isSmartRef__":true,"id":4125}},"4125":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"4126":{"offset":0.6,"color":{"__isSmartRef__":true,"id":4127}},"4127":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"4128":{"offset":1,"color":{"__isSmartRef__":true,"id":4129}},"4129":{"r":0.97,"g":0.97,"b":0.97,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"4130":{"sourceObj":{"__isSmartRef__":true,"id":4099},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":3215},"targetMethodName":"getMenuHelp","converter":null,"converterString":null,"updater":null,"updaterString":null,"varMapping":{"__isSmartRef__":true,"id":4131},"__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"4131":{"source":{"__isSmartRef__":true,"id":4099},"target":{"__isSmartRef__":true,"id":3215}},"4132":{"sourceObj":{"__isSmartRef__":true,"id":4099},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":3215},"targetMethodName":"showTargetMorphMenu","converter":null,"converterString":null,"updater":null,"updaterString":null,"varMapping":{"__isSmartRef__":true,"id":4133},"__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"4133":{"source":{"__isSmartRef__":true,"id":4099},"target":{"__isSmartRef__":true,"id":3215}},"4134":{"submorphs":[{"__isSmartRef__":true,"id":4135}],"scripts":[],"shape":{"__isSmartRef__":true,"id":4147},"id":"D7F316D1-E9B2-4074-B6B4-E1E24D126464","renderContextTable":{"__isSmartRef__":true,"id":4152},"eventHandler":{"__isSmartRef__":true,"id":4153},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"_Position":{"__isSmartRef__":true,"id":4154},"priorExtent":{"__isSmartRef__":true,"id":4155},"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":4070},"lighterFill":{"__isSmartRef__":true,"id":4156},"label":{"__isSmartRef__":true,"id":4135},"owner":{"__isSmartRef__":true,"id":4036},"layout":{"__isSmartRef__":true,"id":4165},"attributeConnections":[{"__isSmartRef__":true,"id":4166},{"__isSmartRef__":true,"id":4168}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"__SourceModuleName__":"Global.lively.morphic.Widgets","derivationIds":[2968,"AA72F467-8DB0-44CD-BB89-19B01942ECAC"],"_ClipMode":"visible","_Scale":1,"__LivelyClassName__":"lively.morphic.WindowControl"},"4135":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":4136},"id":"CB14F9B4-109B-4012-90CD-F8B03715FFCE","renderContextTable":{"__isSmartRef__":true,"id":4141},"textChunks":[{"__isSmartRef__":true,"id":4142}],"eventHandler":{"__isSmartRef__":true,"id":4144},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"_Padding":{"__isSmartRef__":true,"id":4062},"_ClipMode":"hidden","fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":false,"_FontFamily":"Helvetica","_FontSize":8,"_Position":{"__isSmartRef__":true,"id":4145},"priorExtent":{"__isSmartRef__":true,"id":4146},"_MaxTextWidth":17,"_MaxTextHeight":null,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":4134},"isLabel":true,"_HandStyle":"default","_Align":"center","eventsAreIgnored":true,"_PointerEvents":"none","__SourceModuleName__":"Global.lively.morphic.TextCore","attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"derivationIds":[2969,"CDA8E8B5-039C-4BC8-8144-2494187699C0"],"_MinTextWidth":17,"_MinTextHeight":null,"_Scale":1,"__LivelyClassName__":"lively.morphic.Text"},"4136":{"_Position":{"__isSmartRef__":true,"id":4137},"renderContextTable":{"__isSmartRef__":true,"id":4138},"_Extent":{"__isSmartRef__":true,"id":4139},"_BorderWidth":0,"_BorderColor":{"__isSmartRef__":true,"id":3307},"_Fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","_ClipMode":"hidden","_Padding":{"__isSmartRef__":true,"id":4140},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"4137":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4138":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"4139":{"x":17,"y":17,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"4140":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"4141":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML","updateText":"updateTextHTML","setTextExtent":"setTextExtentHTML","setMaxTextWidth":"setMaxTextWidthHTML","setMaxTextHeight":"setMaxTextHeightHTML","setMinTextWidth":"setMinTextWidthHTML","setMinTextHeight":"setMinTextHeightHTML","getTextExtent":"getTextExtentHTML","getTextString":"getTextStringHTML","ignoreTextEvents":"ignoreTextEventsHTML","unignoreTextEvents":"unignoreTextEventsHTML","enableTextEvents":"enableTextEventsHTML","setFontFamily":"setFontFamilyHTML","setFontSize":"setFontSizeHTML","setTextColor":"setTextColorHTML","setFontWeight":"setFontWeightHTML","setFontStyle":"setFontStyleHTML","setTextDecoration":"setTextDecorationHTML","setPadding":"setPaddingHTML","setAlign":"setAlignHTML","setVerticalAlign":"setVerticalAlignHTML","setDisplay":"setDisplayHTML","setWhiteSpaceHandling":"setWhiteSpaceHandlingHTML","focusMorph":"focusMorphHTML","setInputAllowed":"setInputAllowedHTML"},"4142":{"style":{"__isSmartRef__":true,"id":4143},"chunkOwner":{"__isSmartRef__":true,"id":4135},"__SourceModuleName__":"Global.lively.morphic.TextCore","storedString":"–","__LivelyClassName__":"lively.morphic.TextChunk"},"4143":{"__SourceModuleName__":"Global.lively.morphic.TextCore","__LivelyClassName__":"lively.morphic.TextEmphasis"},"4144":{"morph":{"__isSmartRef__":true,"id":4135},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"4145":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4146":{"x":17,"y":17,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4147":{"_Position":{"__isSmartRef__":true,"id":4148},"renderContextTable":{"__isSmartRef__":true,"id":4149},"_Extent":{"__isSmartRef__":true,"id":4150},"_BorderWidth":0,"_BorderColor":{"__isSmartRef__":true,"id":4069},"_Fill":{"__isSmartRef__":true,"id":4070},"_StrokeOpacity":0,"_BorderRadius":5,"__SourceModuleName__":"Global.lively.morphic.Shapes","_ClipMode":"visible","_Padding":{"__isSmartRef__":true,"id":4151},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"4148":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4149":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"4150":{"x":17,"y":17,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4151":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"4152":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML"},"4153":{"morph":{"__isSmartRef__":true,"id":4134},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"4154":{"x":557.9475304742795,"y":3,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4155":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4156":{"stops":[{"__isSmartRef__":true,"id":4157},{"__isSmartRef__":true,"id":4159},{"__isSmartRef__":true,"id":4161},{"__isSmartRef__":true,"id":4163}],"vector":{"__isSmartRef__":true,"id":4079},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"4157":{"offset":0,"color":{"__isSmartRef__":true,"id":4158}},"4158":{"r":0.98,"g":0.98,"b":0.98,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"4159":{"offset":0.4,"color":{"__isSmartRef__":true,"id":4160}},"4160":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"4161":{"offset":0.6,"color":{"__isSmartRef__":true,"id":4162}},"4162":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"4163":{"offset":1,"color":{"__isSmartRef__":true,"id":4164}},"4164":{"r":0.97,"g":0.97,"b":0.97,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"4165":{"moveHorizontal":true},"4166":{"sourceObj":{"__isSmartRef__":true,"id":4134},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":3215},"targetMethodName":"getCollapseHelp","converter":null,"converterString":null,"updater":null,"updaterString":null,"varMapping":{"__isSmartRef__":true,"id":4167},"__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"4167":{"source":{"__isSmartRef__":true,"id":4134},"target":{"__isSmartRef__":true,"id":3215}},"4168":{"sourceObj":{"__isSmartRef__":true,"id":4134},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":3215},"targetMethodName":"toggleCollapse","converter":null,"converterString":null,"updater":null,"updaterString":null,"varMapping":{"__isSmartRef__":true,"id":4169},"__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"4169":{"source":{"__isSmartRef__":true,"id":4134},"target":{"__isSmartRef__":true,"id":3215}},"4170":{"_Position":{"__isSmartRef__":true,"id":4171},"renderContextTable":{"__isSmartRef__":true,"id":4172},"_Extent":{"__isSmartRef__":true,"id":4173},"_BorderWidth":1,"_BorderColor":{"__isSmartRef__":true,"id":4174},"_Fill":{"__isSmartRef__":true,"id":2206},"_StrokeOpacity":1,"_BorderRadius":"8px 8px 0px 0px","__SourceModuleName__":"Global.lively.morphic.Shapes","_ClipMode":"visible","_Padding":{"__isSmartRef__":true,"id":4175},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"4171":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4172":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"4173":{"x":596.9475304742795,"y":22,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4174":{"r":0.4,"g":0.4,"b":0.4,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"4175":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"4176":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML"},"4177":{"morph":{"__isSmartRef__":true,"id":4036},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"4178":{"resizeWidth":true,"adjustForNewBounds":true},"4179":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4180":{"x":596.9475304742795,"y":22,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4181":{"submorphs":[],"scripts":[],"id":"03FC8DC2-D2B2-4B50-B764-A562C2E01888","shape":{"__isSmartRef__":true,"id":4182},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"_Position":{"__isSmartRef__":true,"id":4189},"showsHalos":false,"name":"ResizeCorner","partsBinMetaInfo":{"__isSmartRef__":true,"id":4190},"__SourceModuleName__":"Global.lively.morphic.Core","draggingEnabled":true,"dragStartPoint":null,"originalExtent":{"__isSmartRef__":true,"id":4191},"originalTargetExtent":null,"renderContextTable":{"__isSmartRef__":true,"id":4192},"eventHandler":{"__isSmartRef__":true,"id":4193},"priorExtent":{"__isSmartRef__":true,"id":4194},"originalTargetInnerBounds":null,"isResizeCorner":true,"relativeOrigin":null,"derivationIds":[7147,"16E962DF-21E9-4FE6-8B9B-953F0E908113","ADD0B5C0-0DC6-4D8E-9C2A-0EC7E3C71F21","5795E091-41AD-49D0-AADF-DA6356B899D5"],"moved":true,"attributeConnections":[{"__isSmartRef__":true,"id":4195}],"doNotSerialize":["$$cornerName"],"doNotCopyProperties":["$$cornerName"],"originalTargetBounds":null,"cornerName":"bottomRight","owner":{"__isSmartRef__":true,"id":3215},"distanceToDragEvent":{"__isSmartRef__":true,"id":4196},"_ClipMode":"visible","_Rotation":0,"_Scale":1,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4197},"__LivelyClassName__":"lively.morphic.Box"},"4182":{"position":{"__isSmartRef__":true,"id":4183},"_Extent":{"__isSmartRef__":true,"id":4184},"_BorderWidth":0,"_BorderColor":{"__isSmartRef__":true,"id":4185},"_Fill":{"__isSmartRef__":true,"id":4186},"__SourceModuleName__":"Global.lively.morphic.Shapes","renderContextTable":{"__isSmartRef__":true,"id":4187},"_ClipMode":"visible","_Padding":{"__isSmartRef__":true,"id":4188},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"4183":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4184":{"x":10,"y":10,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4185":{"r":0.568,"g":0.568,"b":0.568,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"4186":{"r":0.258,"g":0.258,"b":0.258,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global.lively.morphic.Graphics"},"4187":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"4188":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"4189":{"x":586.9475304742795,"y":289,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4190":{"partsSpaceName":"PartsBin/Widgets/","__SourceModuleName__":"Global.lively.PartsBin","migrationLevel":2,"comment":"Resize an object without using halos.","partName":"ResizeCorner","revisionOnLoad":140152,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo"},"4191":{"x":239,"y":138,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4192":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML"},"4193":{"morph":{"__isSmartRef__":true,"id":4181},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"4194":{"x":10,"y":10,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4195":{"sourceObj":{"__isSmartRef__":true,"id":4181},"sourceAttrName":"cornerName","targetObj":{"__isSmartRef__":true,"id":4181},"targetMethodName":"alignToOwner","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"4196":{"x":33,"y":-10,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4197":{"onDrag":{"__isSmartRef__":true,"id":4198},"onDragEnd":{"__isSmartRef__":true,"id":4206},"onDragStart":{"__isSmartRef__":true,"id":4214},"reset":{"__isSmartRef__":true,"id":4222},"morphMenuItems":{"__isSmartRef__":true,"id":4225},"alignToOwner":{"__isSmartRef__":true,"id":4232}},"4198":{"varMapping":{"__isSmartRef__":true,"id":4199},"source":"function onDrag(evt) {\n // alert(\"onDrag\")\n // this.owner.setPosition(pt(0,0))\n // this.owner.setOrigin(pt(0,0))\n var moveDelta = evt.mousePoint.subPt(this.dragStartPoint)\n \n // moveDelta = moveDelta.maxPt(pt(0,0))\n var ownerExtent = this.owner.getExtent();\n\n // TODO does not work\n if (evt.isShiftDown()) {\n var maxDelta = Math.max(moveDelta.x, moveDelta.y);\n if (maxDelta == 0) return;\n var factor = ownerExtent.x / ownerExtent.y\n moveDelta = pt(maxDelta * factor, maxDelta )\n }\n var accessor = \"with\" + this.cornerName.charAt(0).toUpperCase() + this.cornerName.substring(1);\n\n var newCorner = this.originalTargetBounds[this.cornerName]().addPt(moveDelta);\n var newBounds = this.originalTargetBounds[accessor ](newCorner);\n\n this.owner.setBounds(newBounds);\n \n // var newExtent = this.originalTargetExtent.addPt(moveDelta)\n // alertOK(\"new extent\" + newExtent)\n // this.owner.setExtent(newExtent);\n this.owner.submorphs.select(function(ea) {\n return ea.isResizeCorner\n }).invoke('alignToOwner');\n if (this.owner.halos) {\n this.owner.halos.invoke('alignAtTarget')\n }\n // alertOK(\"relative \" + this.relativeOrigin)\n var newOrigin = pt(0,0).extent(this.owner.getExtent()).relativeToAbsPoint(this.relativeOrigin)\n\n // TODO IMPLEMENT updating the origin does not work yet\n // this.owner.setOrigin(newOrigin);\n // alertOK(\"new origin \" + newOrigin)\n\n}","funcProperties":{"__isSmartRef__":true,"id":4204},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"4199":{"this":{"__isSmartRef__":true,"id":4181},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4200}},"4200":{"$super":{"__isSmartRef__":true,"id":4201}},"4201":{"varMapping":{"__isSmartRef__":true,"id":4202},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":4203},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"4202":{"obj":{"__isSmartRef__":true,"id":4181},"name":"onDrag"},"4203":{},"4204":{"timestamp":{"__isSmartRef__":true,"id":4205},"user":"sstamm","tags":[]},"4205":{"isSerializedDate":true,"string":"Thu Feb 23 2012 12:08:52 GMT+0100 (CET)"},"4206":{"varMapping":{"__isSmartRef__":true,"id":4207},"source":"function onDragEnd(evt) {\n this.dragStartPoint = null;\n this.originalTargetBounds = null;\n this.relativeOrigin = null;\n}","funcProperties":{"__isSmartRef__":true,"id":4212},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"4207":{"this":{"__isSmartRef__":true,"id":4181},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4208}},"4208":{"$super":{"__isSmartRef__":true,"id":4209}},"4209":{"varMapping":{"__isSmartRef__":true,"id":4210},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":4211},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"4210":{"obj":{"__isSmartRef__":true,"id":4181},"name":"onDragEnd"},"4211":{},"4212":{"timestamp":{"__isSmartRef__":true,"id":4213},"user":"sstamm","tags":[]},"4213":{"isSerializedDate":true,"string":"Thu Feb 23 2012 12:09:00 GMT+0100 (CET)"},"4214":{"varMapping":{"__isSmartRef__":true,"id":4215},"source":"function onDragStart(evt) {\n var absToRelativePoint = function (r, absPt) {\n\t\treturn new Point(\n\t\t\t(absPt.x - r.x) / r.width,\n\t\t\t(absPt.y - r.y) / r.height)\n\t}\n // absToRelativePoint(new Rectangle(10,10,100,100), pt(20,20))\n // absToRelativePoint(new Rectangle(10,10,100,100), pt(0,0))\n // absToRelativePoint(new Rectangle(-100,-100,200,200), pt(0,0))\n\n\n this.dragStartPoint = evt.mousePoint;\n this.originalTargetBounds= this.owner.bounds();\n this.relativeOrigin = absToRelativePoint(pt(0,0).extent(this.owner.getExtent()), this.owner.getOrigin())\n}","funcProperties":{"__isSmartRef__":true,"id":4220},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"4215":{"this":{"__isSmartRef__":true,"id":4181},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4216}},"4216":{"$super":{"__isSmartRef__":true,"id":4217}},"4217":{"varMapping":{"__isSmartRef__":true,"id":4218},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":4219},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"4218":{"obj":{"__isSmartRef__":true,"id":4181},"name":"onDragStart"},"4219":{},"4220":{"timestamp":{"__isSmartRef__":true,"id":4221},"user":"sstamm","tags":[]},"4221":{"isSerializedDate":true,"string":"Thu Feb 23 2012 12:08:40 GMT+0100 (CET)"},"4222":{"varMapping":{"__isSmartRef__":true,"id":4223},"source":"function reset() {\n this.isResizeCorner = true\n this.cornerName = 'bottomRight'\n this.setExtent(pt(10,10));\n this.setPosition(pt(0,0))\n}","funcProperties":{"__isSmartRef__":true,"id":4224},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"4223":{"this":{"__isSmartRef__":true,"id":4181}},"4224":{},"4225":{"varMapping":{"__isSmartRef__":true,"id":4226},"source":"function morphMenuItems() {\n return $super().concat([\n [\"corner\", [\n [\"top left\", function() { this.cornerName = 'topLeft'}.bind(this)],\n [\"top right\", function() { this.cornerName = 'topRight'}.bind(this)],\n [\"bottom right\", function() { this.cornerName = 'bottomRight'}.bind(this)],\n [\"bottom left\", function() { this.cornerName = 'bottomLeft'}.bind(this)],\n ]]\n ])\t\n}","funcProperties":{"__isSmartRef__":true,"id":4231},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"4226":{"this":{"__isSmartRef__":true,"id":4181},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4227}},"4227":{"$super":{"__isSmartRef__":true,"id":4228}},"4228":{"varMapping":{"__isSmartRef__":true,"id":4229},"source":"function () {\n\t\t\t\ttry {\n\t\t\t\t\treturn obj.constructor.prototype[name].apply(obj, arguments)\n\t\t\t\t} catch(e) {\n\t\t\t\t\talert('Error in $super call: ' + e + '\\n' + e.stack);\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t}","funcProperties":{"__isSmartRef__":true,"id":4230},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"4229":{"obj":{"__isSmartRef__":true,"id":4181},"name":"morphMenuItems"},"4230":{},"4231":{},"4232":{"varMapping":{"__isSmartRef__":true,"id":4233},"source":"function alignToOwner() {\n this.align(this.bounds()[this.cornerName](), this.owner.shape.bounds()[this.cornerName]() )\n}","funcProperties":{"__isSmartRef__":true,"id":4234},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"4233":{"this":{"__isSmartRef__":true,"id":4181}},"4234":{},"4235":{"renderContextTable":{"__isSmartRef__":true,"id":4236},"_BorderWidth":0,"_Fill":null,"_StrokeOpacity":0,"_BorderRadius":0,"_Extent":{"__isSmartRef__":true,"id":4237},"__SourceModuleName__":"Global.lively.morphic.Shapes","_ClipMode":"visible","_Padding":{"__isSmartRef__":true,"id":4238},"_Opacity":1,"_BorderStyle":"solid","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"4236":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"4237":{"x":596.9475304742795,"y":299,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4238":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"4239":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML"},"4240":{"morph":{"__isSmartRef__":true,"id":3215},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"4241":{"adjustForNewBounds":true,"resizeWidth":true,"resizeHeight":true},"4242":{"x":596.9475304742795,"y":299,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4243":{"x":0,"y":21,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4244":{"partsSpaceName":"PartsBin/Server/","__SourceModuleName__":"Global.lively.PartsBin","comment":"Starts, stops, creates, and deletes Lively node.js servers.","migrationLevel":4,"partName":"NodeJSControl","requiredModules":["server.nodejs.WebInterface"],"revisionOnLoad":146569,"changes":[{"__isSmartRef__":true,"id":4245}],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo"},"4245":{"date":{"__isSmartRef__":true,"id":4246},"author":"conradcalmez","message":"Added resize corner ...","id":"4C56F349-8D15-4829-AFC2-E2C69FF44C4E"},"4246":{"isSerializedDate":true,"string":"Mon Mar 19 2012 15:49:02 GMT+0100 (CET)"},"4247":{"x":504,"y":852,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4248":{"onLoadFromPartsBin":{"__isSmartRef__":true,"id":4249}},"4249":{"time":{"__isSmartRef__":true,"id":4250},"user":"robertkrahn"},"4250":{"isSerializedDate":true,"string":"Thu Jul 14 2011 02:55:22 GMT+0200 (CEST)"},"4251":{"x":50,"y":834,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"4252":{"onLoadFromPartsBin":{"__isSmartRef__":true,"id":4253}},"4253":{"varMapping":{"__isSmartRef__":true,"id":4254},"source":"function onLoadFromPartsBin() {\n $super();\n this.targetMorph.refreshServerList();\n}","funcProperties":{"__isSmartRef__":true,"id":4259},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"4254":{"this":{"__isSmartRef__":true,"id":3215},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4255}},"4255":{"$super":{"__isSmartRef__":true,"id":4256}},"4256":{"varMapping":{"__isSmartRef__":true,"id":4257},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch(e) {\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":4258},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"4257":{"obj":{"__isSmartRef__":true,"id":3215},"name":"onLoadFromPartsBin"},"4258":{},"4259":{},"4260":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":4261},"id":2,"renderContextTable":{"__isSmartRef__":true,"id":4267},"eventHandler":{"__isSmartRef__":true,"id":4268},"droppingEnabled":false,"halosEnabled":false,"_world":{"__isSmartRef__":true,"id":0},"eventsAreIgnored":true,"_HandStyle":"default","_PointerEvents":"none","_Position":{"__isSmartRef__":true,"id":4269},"priorExtent":{"__isSmartRef__":true,"id":4270},"owner":{"__isSmartRef__":true,"id":0},"_Rotation":0,"_Scale":1,"__SourceModuleName__":"Global.lively.morphic.Events","clickedOnMorph":{"__isSmartRef__":true,"id":4271},"internalClickedOnMorph":{"__isSmartRef__":true,"id":50},"scrollFocusMorph":{"__isSmartRef__":true,"id":50},"_ClipMode":"visible","carriesGrabbedMorphs":false,"lastScrollTime":1337785383472,"__LivelyClassName__":"lively.morphic.HandMorph","withLayers":["Global.NoMagnetsLayer"]},"4261":{"_Position":{"__isSmartRef__":true,"id":4262},"renderContextTable":{"__isSmartRef__":true,"id":4263},"_Extent":{"__isSmartRef__":true,"id":4264},"_Fill":{"__isSmartRef__":true,"id":4265},"__SourceModuleName__":"Global.lively.morphic.Shapes","_ClipMode":"visible","_Padding":{"__isSmartRef__":true,"id":4266},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"4262":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4263":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"4264":{"x":2,"y":2,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4265":{"r":0.8,"g":0,"b":0,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global.lively.morphic.Graphics"},"4266":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"4267":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML"},"4268":{"morph":{"__isSmartRef__":true,"id":4260},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"4269":{"x":199,"y":244,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"4270":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4271":{"submorphs":[{"__isSmartRef__":true,"id":4272}],"scripts":[],"shape":{"__isSmartRef__":true,"id":4285},"id":73,"renderContextTable":{"__isSmartRef__":true,"id":4300},"eventHandler":{"__isSmartRef__":true,"id":4301},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"_Position":{"__isSmartRef__":true,"id":4302},"priorExtent":{"__isSmartRef__":true,"id":4303},"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":4304},"lighterFill":{"__isSmartRef__":true,"id":4290},"label":{"__isSmartRef__":true,"id":4272},"layout":{"__isSmartRef__":true,"id":4313},"owner":{"__isSmartRef__":true,"id":4314},"attributeConnections":[{"__isSmartRef__":true,"id":4400},{"__isSmartRef__":true,"id":4401}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.Button"},"4272":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":4273},"id":74,"renderContextTable":{"__isSmartRef__":true,"id":4279},"textChunks":[{"__isSmartRef__":true,"id":4280}],"eventHandler":{"__isSmartRef__":true,"id":4282},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"_ClipMode":"hidden","fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"_Position":{"__isSmartRef__":true,"id":4283},"priorExtent":{"__isSmartRef__":true,"id":4284},"_MaxTextWidth":60,"_MinTextWidth":60,"_MaxTextHeight":null,"_MinTextHeight":null,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":4271},"isLabel":true,"_HandStyle":"default","_Align":"center","eventsAreIgnored":true,"_PointerEvents":"none","__SourceModuleName__":"Global.lively.morphic.TextCore","__LivelyClassName__":"lively.morphic.Text"},"4273":{"_Position":{"__isSmartRef__":true,"id":4274},"renderContextTable":{"__isSmartRef__":true,"id":4275},"_Extent":{"__isSmartRef__":true,"id":4276},"_ClipMode":"hidden","_BorderWidth":0,"_BorderColor":{"__isSmartRef__":true,"id":4277},"_Fill":null,"_Padding":{"__isSmartRef__":true,"id":4278},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"4274":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4275":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClipMode":"setClipModeHTML"},"4276":{"x":60,"y":30,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4277":{"r":0,"g":0,"b":0,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"4278":{"x":0,"y":3,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"4279":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML","updateText":"updateTextHTML","setTextExtent":"setTextExtentHTML","setMaxTextWidth":"setMaxTextWidthHTML","setMaxTextHeight":"setMaxTextHeightHTML","setMinTextWidth":"setMinTextWidthHTML","setMinTextHeight":"setMinTextHeightHTML","getTextExtent":"getTextExtentHTML","getTextString":"getTextStringHTML","ignoreTextEvents":"ignoreTextEventsHTML","unignoreTextEvents":"unignoreTextEventsHTML","enableTextEvents":"enableTextEventsHTML","setFontFamily":"setFontFamilyHTML","setFontSize":"setFontSizeHTML","setTextColor":"setTextColorHTML","setFontWeight":"setFontWeightHTML","setFontStyle":"setFontStyleHTML","setTextDecoration":"setTextDecorationHTML","setPadding":"setPaddingHTML","setAlign":"setAlignHTML","setVerticalAlign":"setVerticalAlignHTML","setDisplay":"setDisplayHTML","setWhiteSpaceHandling":"setWhiteSpaceHandlingHTML","focusMorph":"focusMorphHTML","setInputAllowed":"setInputAllowedHTML"},"4280":{"style":{"__isSmartRef__":true,"id":4281},"chunkOwner":{"__isSmartRef__":true,"id":4272},"storedString":"","__SourceModuleName__":"Global.lively.morphic.TextCore","__LivelyClassName__":"lively.morphic.TextChunk"},"4281":{"__SourceModuleName__":"Global.lively.morphic.TextCore","__LivelyClassName__":"lively.morphic.TextEmphasis"},"4282":{"morph":{"__isSmartRef__":true,"id":4272},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"4283":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4284":{"x":60,"y":30,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4285":{"_Position":{"__isSmartRef__":true,"id":4286},"renderContextTable":{"__isSmartRef__":true,"id":4287},"_Extent":{"__isSmartRef__":true,"id":4288},"_ClipMode":"visible","_BorderWidth":1,"_BorderColor":{"__isSmartRef__":true,"id":4289},"_Fill":{"__isSmartRef__":true,"id":4290},"_BorderRadius":5,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"4286":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4287":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClipMode":"setClipModeHTML"},"4288":{"x":60,"y":30,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4289":{"r":0.7411764705882353,"g":0.7450980392156863,"b":0.7529411764705882,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"4290":{"stops":[{"__isSmartRef__":true,"id":4291},{"__isSmartRef__":true,"id":4293},{"__isSmartRef__":true,"id":4295},{"__isSmartRef__":true,"id":4297}],"vector":{"__isSmartRef__":true,"id":4299},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"4291":{"offset":0,"color":{"__isSmartRef__":true,"id":4292}},"4292":{"r":0.98,"g":0.98,"b":0.98,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"4293":{"offset":0.4,"color":{"__isSmartRef__":true,"id":4294}},"4294":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"4295":{"offset":0.6,"color":{"__isSmartRef__":true,"id":4296}},"4296":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"4297":{"offset":1,"color":{"__isSmartRef__":true,"id":4298}},"4298":{"r":0.97,"g":0.97,"b":0.97,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"4299":{"x":0,"y":0,"width":0,"height":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"4300":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","setOrigin":"setOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML"},"4301":{"morph":{"__isSmartRef__":true,"id":4271},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"4302":{"x":184,"y":56,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4303":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4304":{"stops":[{"__isSmartRef__":true,"id":4305},{"__isSmartRef__":true,"id":4307},{"__isSmartRef__":true,"id":4309},{"__isSmartRef__":true,"id":4311}],"vector":{"__isSmartRef__":true,"id":4299},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"4305":{"offset":0,"color":{"__isSmartRef__":true,"id":4306}},"4306":{"r":0.9600000000000001,"g":0.9600000000000001,"b":0.9600000000000001,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"4307":{"offset":0.4,"color":{"__isSmartRef__":true,"id":4308}},"4308":{"r":0.8200000000000001,"g":0.8200000000000001,"b":0.8200000000000001,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"4309":{"offset":0.6,"color":{"__isSmartRef__":true,"id":4310}},"4310":{"r":0.8200000000000001,"g":0.8200000000000001,"b":0.8200000000000001,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"4311":{"offset":1,"color":{"__isSmartRef__":true,"id":4312}},"4312":{"r":0.94,"g":0.94,"b":0.94,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"4313":{"moveVertical":true,"moveHorizontal":true},"4314":{"submorphs":[{"__isSmartRef__":true,"id":4315},{"__isSmartRef__":true,"id":4328},{"__isSmartRef__":true,"id":4271},{"__isSmartRef__":true,"id":4361}],"scripts":[],"shape":{"__isSmartRef__":true,"id":4378},"id":69,"renderContextTable":{"__isSmartRef__":true,"id":4384},"eventHandler":{"__isSmartRef__":true,"id":4385},"droppingEnabled":true,"halosEnabled":true,"_Position":{"__isSmartRef__":true,"id":4386},"isLockOwner":true,"layout":{"__isSmartRef__":true,"id":4387},"attributeConnections":[{"__isSmartRef__":true,"id":4388},{"__isSmartRef__":true,"id":4390}],"ownerApp":{"__isSmartRef__":true,"id":4359},"owner":null,"__SourceModuleName__":"Global.lively.morphic.Core","__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4392},"__LivelyClassName__":"lively.morphic.Box","withoutLayers":["Global.lively.morphic.GrabbingLayer"]},"4315":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":4316},"id":70,"renderContextTable":{"__isSmartRef__":true,"id":4322},"textChunks":[{"__isSmartRef__":true,"id":4323}],"eventHandler":{"__isSmartRef__":true,"id":4325},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"_ClipMode":"hidden","fixedWidth":false,"_WhiteSpaceHandling":"pre","fixedHeight":true,"allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"_Position":{"__isSmartRef__":true,"id":4326},"priorExtent":{"__isSmartRef__":true,"id":4327},"_MaxTextWidth":null,"_MinTextWidth":null,"_MaxTextHeight":null,"_MinTextHeight":null,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":4314},"isLabel":true,"_HandStyle":"default","eventsAreIgnored":true,"_PointerEvents":"none","__SourceModuleName__":"Global.lively.morphic.TextCore","__LivelyClassName__":"lively.morphic.Text"},"4316":{"_Position":{"__isSmartRef__":true,"id":4317},"renderContextTable":{"__isSmartRef__":true,"id":4318},"_Extent":{"__isSmartRef__":true,"id":4319},"_ClipMode":"hidden","_BorderWidth":0,"_BorderColor":{"__isSmartRef__":true,"id":4277},"_Fill":{"__isSmartRef__":true,"id":4320},"_Padding":{"__isSmartRef__":true,"id":4321},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"4317":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4318":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClipMode":"setClipModeHTML"},"4319":{"x":235,"y":20,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4320":{"r":1,"g":1,"b":1,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"4321":{"x":4,"y":2,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"4322":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML","updateText":"updateTextHTML","setTextExtent":"setTextExtentHTML","setMaxTextWidth":"setMaxTextWidthHTML","setMaxTextHeight":"setMaxTextHeightHTML","setMinTextWidth":"setMinTextWidthHTML","setMinTextHeight":"setMinTextHeightHTML","getTextExtent":"getTextExtentHTML","getTextString":"getTextStringHTML","ignoreTextEvents":"ignoreTextEventsHTML","unignoreTextEvents":"unignoreTextEventsHTML","enableTextEvents":"enableTextEventsHTML","setFontFamily":"setFontFamilyHTML","setFontSize":"setFontSizeHTML","setTextColor":"setTextColorHTML","setFontWeight":"setFontWeightHTML","setFontStyle":"setFontStyleHTML","setTextDecoration":"setTextDecorationHTML","setPadding":"setPaddingHTML","setAlign":"setAlignHTML","setVerticalAlign":"setVerticalAlignHTML","setDisplay":"setDisplayHTML","setWhiteSpaceHandling":"setWhiteSpaceHandlingHTML","focusMorph":"focusMorphHTML","setInputAllowed":"setInputAllowedHTML"},"4323":{"style":{"__isSmartRef__":true,"id":4324},"chunkOwner":{"__isSmartRef__":true,"id":4315},"storedString":"","__SourceModuleName__":"Global.lively.morphic.TextCore","__LivelyClassName__":"lively.morphic.TextChunk"},"4324":{"__SourceModuleName__":"Global.lively.morphic.TextCore","__LivelyClassName__":"lively.morphic.TextEmphasis"},"4325":{"morph":{"__isSmartRef__":true,"id":4315},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"4326":{"x":4,"y":4,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4327":{"x":308,"y":20,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4328":{"submorphs":[{"__isSmartRef__":true,"id":4329}],"scripts":[],"shape":{"__isSmartRef__":true,"id":4340},"id":71,"renderContextTable":{"__isSmartRef__":true,"id":4344},"eventHandler":{"__isSmartRef__":true,"id":4345},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"_Position":{"__isSmartRef__":true,"id":4346},"priorExtent":{"__isSmartRef__":true,"id":4347},"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":4304},"lighterFill":{"__isSmartRef__":true,"id":4348},"label":{"__isSmartRef__":true,"id":4329},"layout":{"__isSmartRef__":true,"id":4357},"owner":{"__isSmartRef__":true,"id":4314},"attributeConnections":[{"__isSmartRef__":true,"id":4358},{"__isSmartRef__":true,"id":4376}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.Button"},"4329":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":4330},"id":72,"renderContextTable":{"__isSmartRef__":true,"id":4334},"textChunks":[{"__isSmartRef__":true,"id":4335}],"eventHandler":{"__isSmartRef__":true,"id":4337},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"_ClipMode":"hidden","fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"_Position":{"__isSmartRef__":true,"id":4338},"priorExtent":{"__isSmartRef__":true,"id":4339},"_MaxTextWidth":60,"_MinTextWidth":60,"_MaxTextHeight":null,"_MinTextHeight":null,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":4328},"isLabel":true,"_HandStyle":"default","_Align":"center","eventsAreIgnored":true,"_PointerEvents":"none","__SourceModuleName__":"Global.lively.morphic.TextCore","__LivelyClassName__":"lively.morphic.Text"},"4330":{"_Position":{"__isSmartRef__":true,"id":4331},"renderContextTable":{"__isSmartRef__":true,"id":4332},"_Extent":{"__isSmartRef__":true,"id":4333},"_ClipMode":"hidden","_BorderWidth":0,"_BorderColor":{"__isSmartRef__":true,"id":4277},"_Fill":null,"_Padding":{"__isSmartRef__":true,"id":4278},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"4331":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4332":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClipMode":"setClipModeHTML"},"4333":{"x":60,"y":30,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4334":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML","updateText":"updateTextHTML","setTextExtent":"setTextExtentHTML","setMaxTextWidth":"setMaxTextWidthHTML","setMaxTextHeight":"setMaxTextHeightHTML","setMinTextWidth":"setMinTextWidthHTML","setMinTextHeight":"setMinTextHeightHTML","getTextExtent":"getTextExtentHTML","getTextString":"getTextStringHTML","ignoreTextEvents":"ignoreTextEventsHTML","unignoreTextEvents":"unignoreTextEventsHTML","enableTextEvents":"enableTextEventsHTML","setFontFamily":"setFontFamilyHTML","setFontSize":"setFontSizeHTML","setTextColor":"setTextColorHTML","setFontWeight":"setFontWeightHTML","setFontStyle":"setFontStyleHTML","setTextDecoration":"setTextDecorationHTML","setPadding":"setPaddingHTML","setAlign":"setAlignHTML","setVerticalAlign":"setVerticalAlignHTML","setDisplay":"setDisplayHTML","setWhiteSpaceHandling":"setWhiteSpaceHandlingHTML","focusMorph":"focusMorphHTML","setInputAllowed":"setInputAllowedHTML"},"4335":{"style":{"__isSmartRef__":true,"id":4336},"chunkOwner":{"__isSmartRef__":true,"id":4329},"storedString":"","__SourceModuleName__":"Global.lively.morphic.TextCore","__LivelyClassName__":"lively.morphic.TextChunk"},"4336":{"__SourceModuleName__":"Global.lively.morphic.TextCore","__LivelyClassName__":"lively.morphic.TextEmphasis"},"4337":{"morph":{"__isSmartRef__":true,"id":4329},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"4338":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4339":{"x":60,"y":30,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4340":{"_Position":{"__isSmartRef__":true,"id":4341},"renderContextTable":{"__isSmartRef__":true,"id":4342},"_Extent":{"__isSmartRef__":true,"id":4343},"_ClipMode":"visible","_BorderWidth":1,"_BorderColor":{"__isSmartRef__":true,"id":4289},"_Fill":{"__isSmartRef__":true,"id":4304},"_BorderRadius":5,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"4341":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4342":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClipMode":"setClipModeHTML"},"4343":{"x":60,"y":30,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4344":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","setOrigin":"setOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML"},"4345":{"morph":{"__isSmartRef__":true,"id":4328},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"4346":{"x":248,"y":56,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4347":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4348":{"stops":[{"__isSmartRef__":true,"id":4349},{"__isSmartRef__":true,"id":4351},{"__isSmartRef__":true,"id":4353},{"__isSmartRef__":true,"id":4355}],"vector":{"__isSmartRef__":true,"id":4299},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"4349":{"offset":0,"color":{"__isSmartRef__":true,"id":4350}},"4350":{"r":0.98,"g":0.98,"b":0.98,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"4351":{"offset":0.4,"color":{"__isSmartRef__":true,"id":4352}},"4352":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"4353":{"offset":0.6,"color":{"__isSmartRef__":true,"id":4354}},"4354":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"4355":{"offset":1,"color":{"__isSmartRef__":true,"id":4356}},"4356":{"r":0.97,"g":0.97,"b":0.97,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"4357":{"moveVertical":true,"moveHorizontal":true},"4358":{"sourceObj":{"__isSmartRef__":true,"id":4328},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":4359},"targetMethodName":"removeTopLevel","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"4359":{"message":"Please enter a relative or absolute path","attributeConnections":[{"__isSmartRef__":true,"id":4360}],"doNotSerialize":["$$result"],"doNotCopyProperties":["$$result"],"defaultInput":"blank.xhtml","panel":{"__isSmartRef__":true,"id":4314},"label":{"__isSmartRef__":true,"id":4315},"cancelButton":{"__isSmartRef__":true,"id":4328},"okButton":{"__isSmartRef__":true,"id":4271},"inputText":{"__isSmartRef__":true,"id":4361},"view":{"__isSmartRef__":true,"id":4314},"__SourceModuleName__":"Global.lively.morphic.Widgets","result":"/users/hjust/blank.xhtml","__LivelyClassName__":"lively.morphic.PromptDialog"},"4360":{"sourceObj":{"__isSmartRef__":true,"id":4359},"sourceAttrName":"result","targetObj":{"__isSmartRef__":true,"id":4359},"targetMethodName":"triggerCallback","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"4361":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":4362},"id":75,"renderContextTable":{"__isSmartRef__":true,"id":4367},"textChunks":[{"__isSmartRef__":true,"id":4368}],"eventHandler":{"__isSmartRef__":true,"id":4370},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"_ClipMode":"hidden","fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":true,"_FontFamily":"Helvetica","_FontSize":10,"_Position":{"__isSmartRef__":true,"id":4371},"priorExtent":{"__isSmartRef__":true,"id":4372},"_MaxTextWidth":298,"_MinTextWidth":298,"_MaxTextHeight":null,"_MinTextHeight":null,"evalEnabled":false,"isInputLine":true,"attributeConnections":[{"__isSmartRef__":true,"id":4373},{"__isSmartRef__":true,"id":4374}],"doNotSerialize":["$$savedTextString"],"doNotCopyProperties":["$$savedTextString"],"owner":{"__isSmartRef__":true,"id":4314},"priorSelectionRange":[1,1],"previousSelection":[0,11],"__SourceModuleName__":"Global.lively.morphic.TextCore","savedTextString":"/users/hjust/blank.xhtml","__LivelyClassName__":"lively.morphic.Text"},"4362":{"_Position":{"__isSmartRef__":true,"id":4363},"renderContextTable":{"__isSmartRef__":true,"id":4364},"_Extent":{"__isSmartRef__":true,"id":4365},"_ClipMode":"hidden","_BorderWidth":1,"_BorderColor":{"__isSmartRef__":true,"id":4277},"_Fill":{"__isSmartRef__":true,"id":4366},"_Padding":{"__isSmartRef__":true,"id":4321},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"4363":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4364":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClipMode":"setClipModeHTML"},"4365":{"x":308,"y":20,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4366":{"r":0.95,"g":0.95,"b":0.95,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"4367":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML","updateText":"updateTextHTML","setTextExtent":"setTextExtentHTML","setMaxTextWidth":"setMaxTextWidthHTML","setMaxTextHeight":"setMaxTextHeightHTML","setMinTextWidth":"setMinTextWidthHTML","setMinTextHeight":"setMinTextHeightHTML","getTextExtent":"getTextExtentHTML","getTextString":"getTextStringHTML","ignoreTextEvents":"ignoreTextEventsHTML","unignoreTextEvents":"unignoreTextEventsHTML","enableTextEvents":"enableTextEventsHTML","setFontFamily":"setFontFamilyHTML","setFontSize":"setFontSizeHTML","setTextColor":"setTextColorHTML","setFontWeight":"setFontWeightHTML","setFontStyle":"setFontStyleHTML","setTextDecoration":"setTextDecorationHTML","setPadding":"setPaddingHTML","setAlign":"setAlignHTML","setVerticalAlign":"setVerticalAlignHTML","setDisplay":"setDisplayHTML","setWhiteSpaceHandling":"setWhiteSpaceHandlingHTML","focusMorph":"focusMorphHTML","setInputAllowed":"setInputAllowedHTML"},"4368":{"style":{"__isSmartRef__":true,"id":4369},"chunkOwner":{"__isSmartRef__":true,"id":4361},"storedString":"","__SourceModuleName__":"Global.lively.morphic.TextCore","__LivelyClassName__":"lively.morphic.TextChunk"},"4369":{"__SourceModuleName__":"Global.lively.morphic.TextCore","__LivelyClassName__":"lively.morphic.TextEmphasis"},"4370":{"morph":{"__isSmartRef__":true,"id":4361},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"4371":{"x":4,"y":24,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4372":{"x":308,"y":20,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4373":{"sourceObj":{"__isSmartRef__":true,"id":4361},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":4359},"targetMethodName":"result","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"4374":{"sourceObj":{"__isSmartRef__":true,"id":4361},"sourceAttrName":"onEscPressed","targetObj":{"__isSmartRef__":true,"id":4359},"targetMethodName":"result","converter":null,"converterString":"function () { return null }","updater":null,"updaterString":null,"varMapping":{"__isSmartRef__":true,"id":4375},"__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"4375":{"source":{"__isSmartRef__":true,"id":4361},"target":{"__isSmartRef__":true,"id":4359}},"4376":{"sourceObj":{"__isSmartRef__":true,"id":4328},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":4359},"targetMethodName":"result","converter":null,"converterString":"function () { return null }","updater":null,"updaterString":null,"varMapping":{"__isSmartRef__":true,"id":4377},"__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"4377":{"source":{"__isSmartRef__":true,"id":4328},"target":{"__isSmartRef__":true,"id":4359}},"4378":{"_Position":{"__isSmartRef__":true,"id":4379},"renderContextTable":{"__isSmartRef__":true,"id":4380},"_Extent":{"__isSmartRef__":true,"id":4381},"_ClipMode":"visible","_BorderWidth":1,"_BorderColor":{"__isSmartRef__":true,"id":4382},"_Fill":{"__isSmartRef__":true,"id":4383},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"4379":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4380":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClipMode":"setClipModeHTML"},"4381":{"x":300,"y":90,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4382":{"r":0.4,"g":0.4,"b":0.4,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"4383":{"r":0.8235294117647058,"g":0.8235294117647058,"b":0.8235294117647058,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"4384":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","setOrigin":"setOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML"},"4385":{"morph":{"__isSmartRef__":true,"id":4314},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"4386":{"x":356,"y":339,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4387":{"adjustForNewBounds":true},"4388":{"sourceObj":{"__isSmartRef__":true,"id":4314},"sourceAttrName":"onEscPressed","targetObj":{"__isSmartRef__":true,"id":4359},"targetMethodName":"result","converter":null,"converterString":"function () { return null}","updater":null,"updaterString":null,"varMapping":{"__isSmartRef__":true,"id":4389},"__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"4389":{"source":{"__isSmartRef__":true,"id":4314},"target":{"__isSmartRef__":true,"id":4359}},"4390":{"sourceObj":{"__isSmartRef__":true,"id":4314},"sourceAttrName":"onEnterPressed","targetObj":{"__isSmartRef__":true,"id":4361},"targetMethodName":"doSave","converter":null,"converterString":"function (arg) { return arg }","updater":null,"updaterString":null,"varMapping":{"__isSmartRef__":true,"id":4391},"__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"4391":{"source":{"__isSmartRef__":true,"id":4314},"target":{"__isSmartRef__":true,"id":4361}},"4392":{"$$onEnterPressed":{"__isSmartRef__":true,"id":4393}},"4393":{"varMapping":{"__isSmartRef__":true,"id":4394},"source":"function onEnterPressed(evt) {\n evt.stop();\n }","funcProperties":{"__isSmartRef__":true,"id":4399},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"4394":{"this":{"__isSmartRef__":true,"id":4314},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4395}},"4395":{"$super":{"__isSmartRef__":true,"id":4396}},"4396":{"varMapping":{"__isSmartRef__":true,"id":4397},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch(e) {\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":4398},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"4397":{"obj":{"__isSmartRef__":true,"id":4314},"name":"onEnterPressed"},"4398":{},"4399":{},"4400":{"sourceObj":{"__isSmartRef__":true,"id":4271},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":4359},"targetMethodName":"removeTopLevel","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"4401":{"sourceObj":{"__isSmartRef__":true,"id":4271},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":4361},"targetMethodName":"doSave","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"4402":{"_Position":{"__isSmartRef__":true,"id":4403},"renderContextTable":{"__isSmartRef__":true,"id":4404},"_Extent":{"__isSmartRef__":true,"id":4405},"_Fill":{"__isSmartRef__":true,"id":4406},"__SourceModuleName__":"Global.lively.morphic.Shapes","_ClipMode":"visible","_Padding":{"__isSmartRef__":true,"id":4407},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"4403":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4404":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"4405":{"x":10240,"y":7680,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4406":{"r":1,"g":1,"b":1,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global.lively.morphic.Graphics"},"4407":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"4408":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML","setScroll":"setScrollHTML"},"4409":{"morph":{"__isSmartRef__":true,"id":0},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"4410":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4411":{"x":1024,"y":768,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4412":{"x":197,"y":242,"__LivelyClassName__":"Point","__SourceModuleName__":"Global.lively.morphic.Graphics"},"4413":{"submorphs":[{"__isSmartRef__":true,"id":4414}],"scripts":[],"id":"0DF39C74-E6F7-4E66-95A0-F598984DE60C","shape":{"__isSmartRef__":true,"id":4443},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"_Position":{"__isSmartRef__":true,"id":4450},"showsHalos":false,"name":"LoadingMorph","partsBinMetaInfo":{"__isSmartRef__":true,"id":4451},"__SourceModuleName__":"Global.lively.morphic.Core","renderContextTable":{"__isSmartRef__":true,"id":4548},"eventHandler":{"__isSmartRef__":true,"id":4549},"attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"derivationIds":[127,"59692BC3-6C7B-4E23-B820-8699260EA722","486BB935-1313-4103-B2A8-642B19437478","18AFFD44-46CD-489E-B1D6-DED43E2B6B06","2608C892-2204-4981-9A87-8E749F8944AB","5535861F-4EA2-44AB-8A40-0538124E0AAC","16C292B3-86E8-4622-B516-27C48263B8CC","87731A20-D455-44D0-97E5-98A7CFD4E417","A17081E7-E597-47ED-BD32-6E4D206BD7D7","CFB4A44C-BFEA-4584-BCBA-AE2A56739200","76B3DD9B-8D01-42BA-A574-AB99D5F899BB","1EBC5512-8F54-4B24-998C-69A285EC8533","DD1165C7-6C1A-4361-A4AE-FCF6F31152FD","4D6D36E8-48F3-408A-B03C-202E4DC182BD","5F3B3E0F-BBC6-4DDA-BAA0-7EFC05FF2011","E0A6B33B-767A-4532-9021-892414520200","F5F5E2B1-5FF0-4E09-B323-AE88A3920B8D","0C7E832A-A741-430F-B295-8BC181D066FE","472AED3B-CB76-49BD-BF49-354A2D568F86","A7C52F65-D140-4791-880F-F7584C7BB570","3516412B-8B36-4E52-9416-6B7FB358BDC2","1840CACC-078C-4795-AD3F-E9D6F8D557A0","1FEDCA25-0131-46FA-840F-DC5F1B05C6CA","C620CED3-0AE9-4097-9AA7-2706A042F9C9","679A861B-40E0-4DB2-B22F-95B454C6978D","FEF39B3C-E634-4825-BAB8-2D44FE647B03"],"isBeingDragged":false,"priorExtent":{"__isSmartRef__":true,"id":4550},"layout":{"__isSmartRef__":true,"id":4551},"distanceToDragEvent":{"__isSmartRef__":true,"id":4552},"prevScroll":[0,0],"moved":true,"_Rotation":0,"_Scale":1,"headRevision":146469,"_ClipMode":"visible","__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4553},"__LivelyClassName__":"lively.morphic.Box"},"4414":{"submorphs":[{"__isSmartRef__":true,"id":4415}],"scripts":[],"shape":{"__isSmartRef__":true,"id":4431},"id":"26022C48-D6DB-43E5-B10C-687490F1D3F5","renderContextTable":{"__isSmartRef__":true,"id":4436},"eventHandler":{"__isSmartRef__":true,"id":4437},"droppingEnabled":true,"halosEnabled":true,"_Position":{"__isSmartRef__":true,"id":4438},"name":"ProgressIndicator","priorExtent":{"__isSmartRef__":true,"id":4439},"showsHalos":false,"distanceToDragEvent":{"__isSmartRef__":true,"id":4440},"partsBinMetaInfo":{"__isSmartRef__":true,"id":4441},"__SourceModuleName__":"Global.lively.morphic.Widgets","derivationIds":[520,"071F18BE-FF28-40F5-ACAD-1916E0D25C38","DF185A10-743D-45FC-B9C2-76E12D908BCF","BF125D2C-596A-4C1E-A5F8-DAE4801E9497","3CEE8CFF-B8F1-4B4B-A405-CB583080252A","D0652878-8F9C-4591-8A82-296898AACDB6","31441DDF-2220-43BE-A99F-69E1FEC68030","14A90039-0D3E-46DC-8445-D42B8E02EB42","681EF5DE-A344-4114-B2F3-B96CE3872524","C0381116-5116-4F33-B082-A411D0E4534E","24E9581E-B008-46EE-9CBC-D5190E100D98","C69D1041-2C5E-48FE-B04C-04E66450658A","4830945B-4FFF-4564-9424-34D7995DAE60","8602C233-B3E7-4682-9B0E-D7549761D934","B4E0E11F-2BED-462E-B708-89D63971856E","EE0144C2-D016-4390-8A67-4E7DEF171C83","F44DF6E4-5F27-440E-AB5F-3721C0A10CA6","73FC6648-DAAF-4673-8CF4-7DA219513F22","B78EB1B5-780C-45F7-B0A7-B988B52B1FF1","DFDB8CD1-72F7-40F4-849B-1F9B866277AB","66111105-B1FC-41F7-BF70-D45118C9E09F","02420416-1E35-4831-AABB-91CD0460CA1A","7C6B2EB2-4510-4A8E-BAFF-5CF0040DD7F5","0503F5A1-1732-4610-9A5A-920D658CA766","07C5AE03-36AD-4849-BACD-27D7D9A2CCF2","9FFF9D73-931C-404C-AA4B-5AC2E7C53504"],"attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"owner":{"__isSmartRef__":true,"id":4413},"isBeingDragged":false,"layout":{"__isSmartRef__":true,"id":4442},"prevScroll":[0,0],"_Rotation":0,"_Scale":1,"_ClipMode":"visible","__LivelyClassName__":"lively.morphic.Image"},"4415":{"submorphs":[],"scripts":[],"id":"5E192EA3-A9CE-4142-BBEA-8D1369D0608B","shape":{"__isSmartRef__":true,"id":4416},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_Position":{"__isSmartRef__":true,"id":4422},"_MaxTextWidth":257,"_MaxTextHeight":null,"textColor":{"__isSmartRef__":true,"id":4419},"showsHalos":false,"_FontSize":14,"__SourceModuleName__":"Global.lively.morphic.TextCore","name":"loadedMorphName","partsBinMetaInfo":{"__isSmartRef__":true,"id":4423},"textChunks":[{"__isSmartRef__":true,"id":4424}],"charsReplaced":"MorphName","lastFindLoc":18,"priorSelectionRange":[9,0],"prevScroll":[0,0],"priorExtent":{"__isSmartRef__":true,"id":4426},"renderContextTable":{"__isSmartRef__":true,"id":4427},"eventHandler":{"__isSmartRef__":true,"id":4428},"attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"_Padding":{"__isSmartRef__":true,"id":4429},"_ClipMode":"visible","derivationIds":[355,"023045B3-2D6B-4425-89FB-F4806D527BE0","DC0C2365-868C-41AE-8369-51C31E91493E","C6D9D314-86A1-4015-970B-F6787F535E1A","6AA4552E-2E85-447E-9033-99D5AA1A94BC","D94BE49C-8A3E-4F1F-BF28-FEDD9B40D213","AA8F0470-654C-4AA2-8135-4607F5429AC5","E0BAABCC-FFB2-4EDF-BAE5-C63CC99B6A97","1A86AE17-73AE-442E-AB36-DD90C6DFC8BC","EF750075-E964-4CD3-B6A4-161511E1D058","CED69CBF-FFA5-45E7-B333-FBACE4F278AC","E56978C1-7424-4C10-8168-11FD3237B540","D5AB2532-A4DC-42D6-AF17-99CBBCEAA848","245866CB-598A-4172-A3A0-A06D4D26C6AD","43B0F12E-5793-43AA-80E1-496774E0EBA6","1B776A8C-0413-475F-8EBD-120BBD91D2BB","F84F2C9A-8003-4E81-833A-83F48C92F3B8","3124B389-9FA4-4348-BC5D-0DFF9C59CD1B","1A1BCBAC-D7CC-4BAE-B8C2-7C693F7327A1","1CB201BA-5E0B-4771-821A-139FA2AEFBC2","195520FA-4816-47A4-B0F5-BA890AFD9DF9","0D15F28A-24C9-46B7-89C5-6D2354728AC1","316FE9D3-62EC-4FD6-9B0F-FFA622B79575","739F3743-9BE1-48C8-813D-C0BFB0DCACA6","01877B3B-7DA7-4222-B011-7B5F4E501862","B8FE7DEE-9568-4BE6-BA12-EA674BA79E08"],"_WhiteSpaceHandling":"pre-wrap","owner":{"__isSmartRef__":true,"id":4414},"_MinTextWidth":257,"_MinTextHeight":null,"previousSelection":[6,6],"_Align":"center","distanceToDragEvent":{"__isSmartRef__":true,"id":4430},"isBeingDragged":false,"_Rotation":0,"_Scale":1,"__LivelyClassName__":"lively.morphic.Text"},"4416":{"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":{"__isSmartRef__":true,"id":4417},"_Extent":{"__isSmartRef__":true,"id":4418},"_BorderWidth":0,"_BorderColor":{"__isSmartRef__":true,"id":4419},"renderContextTable":{"__isSmartRef__":true,"id":4420},"_ClipMode":"visible","_Padding":{"__isSmartRef__":true,"id":4421},"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"4417":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4418":{"x":257,"y":23,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4419":{"r":0,"g":0,"b":0,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"4420":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"4421":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"4422":{"x":-109,"y":38,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4423":{"partsSpaceName":"PartsBin/Basic","__SourceModuleName__":"Global.lively.PartsBin","migrationLevel":4,"comment":"a simple text morph","partName":"Text","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo"},"4424":{"style":{"__isSmartRef__":true,"id":4425},"chunkOwner":{"__isSmartRef__":true,"id":4415},"__SourceModuleName__":"Global.lively.morphic.TextCore","storedString":"loading part","__LivelyClassName__":"lively.morphic.TextChunk"},"4425":{"__SourceModuleName__":"Global.lively.morphic.TextCore","__LivelyClassName__":"lively.morphic.TextEmphasis"},"4426":{"x":257,"y":23,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4427":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML","updateText":"updateTextHTML","setTextExtent":"setTextExtentHTML","setMaxTextWidth":"setMaxTextWidthHTML","setMaxTextHeight":"setMaxTextHeightHTML","setMinTextWidth":"setMinTextWidthHTML","setMinTextHeight":"setMinTextHeightHTML","getTextExtent":"getTextExtentHTML","getTextString":"getTextStringHTML","ignoreTextEvents":"ignoreTextEventsHTML","unignoreTextEvents":"unignoreTextEventsHTML","enableTextEvents":"enableTextEventsHTML","setFontFamily":"setFontFamilyHTML","setFontSize":"setFontSizeHTML","setTextColor":"setTextColorHTML","setFontWeight":"setFontWeightHTML","setFontStyle":"setFontStyleHTML","setTextDecoration":"setTextDecorationHTML","setPadding":"setPaddingHTML","setAlign":"setAlignHTML","setVerticalAlign":"setVerticalAlignHTML","setDisplay":"setDisplayHTML","setWhiteSpaceHandling":"setWhiteSpaceHandlingHTML","focusMorph":"focusMorphHTML","setInputAllowed":"setInputAllowedHTML"},"4428":{"morph":{"__isSmartRef__":true,"id":4415},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"4429":{"x":5,"y":5,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"4430":{"x":179,"y":-11,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4431":{"_Position":{"__isSmartRef__":true,"id":4432},"renderContextTable":{"__isSmartRef__":true,"id":4433},"_Extent":{"__isSmartRef__":true,"id":4434},"_ImageURL":"data:image/gif;base64,R0lGODlhEAAQAPIAAP///wAAAMLCwkJCQgAAAGJiYoKCgpKSkiH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCgAAACwAAAAAEAAQAAADMwi63P4wyklrE2MIOggZnAdOmGYJRbExwroUmcG2LmDEwnHQLVsYOd2mBzkYDAdKa+dIAAAh+QQJCgAAACwAAAAAEAAQAAADNAi63P5OjCEgG4QMu7DmikRxQlFUYDEZIGBMRVsaqHwctXXf7WEYB4Ag1xjihkMZsiUkKhIAIfkECQoAAAAsAAAAABAAEAAAAzYIujIjK8pByJDMlFYvBoVjHA70GU7xSUJhmKtwHPAKzLO9HMaoKwJZ7Rf8AYPDDzKpZBqfvwQAIfkECQoAAAAsAAAAABAAEAAAAzMIumIlK8oyhpHsnFZfhYumCYUhDAQxRIdhHBGqRoKw0R8DYlJd8z0fMDgsGo/IpHI5TAAAIfkECQoAAAAsAAAAABAAEAAAAzIIunInK0rnZBTwGPNMgQwmdsNgXGJUlIWEuR5oWUIpz8pAEAMe6TwfwyYsGo/IpFKSAAAh+QQJCgAAACwAAAAAEAAQAAADMwi6IMKQORfjdOe82p4wGccc4CEuQradylesojEMBgsUc2G7sDX3lQGBMLAJibufbSlKAAAh+QQJCgAAACwAAAAAEAAQAAADMgi63P7wCRHZnFVdmgHu2nFwlWCI3WGc3TSWhUFGxTAUkGCbtgENBMJAEJsxgMLWzpEAACH5BAkKAAAALAAAAAAQABAAAAMyCLrc/jDKSatlQtScKdceCAjDII7HcQ4EMTCpyrCuUBjCYRgHVtqlAiB1YhiCnlsRkAAAOwAAAAAAAAAAAA==","attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"isLoaded":true,"__SourceModuleName__":"Global.lively.morphic.Shapes","_ClipMode":"visible","_Padding":{"__isSmartRef__":true,"id":4435},"_BorderWidth":0,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","__LivelyClassName__":"lively.morphic.Shapes.Image"},"4432":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4433":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML","setImageURL":"setImageURLHTML","getNativeExtent":"getNativeExtentHTML"},"4434":{"x":31,"y":31,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4435":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"4436":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML"},"4437":{"morph":{"__isSmartRef__":true,"id":4414},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"4438":{"x":113.5,"y":81,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4439":{"x":30,"y":31,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4440":{"x":39,"y":-11,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4441":{"partName":"ProgressIndicator","requiredModules":[],"migrationLevel":2,"partsSpaceName":"PartsBin/Widgets/","__SourceModuleName__":"Global.lively.PartsBin","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo"},"4442":{"centeredHorizontal":true,"centeredVertical":true},"4443":{"position":{"__isSmartRef__":true,"id":4444},"_Extent":{"__isSmartRef__":true,"id":4445},"_BorderWidth":1,"_BorderColor":{"__isSmartRef__":true,"id":4446},"_Fill":{"__isSmartRef__":true,"id":4447},"__SourceModuleName__":"Global.lively.morphic.Shapes","renderContextTable":{"__isSmartRef__":true,"id":4448},"_ClipMode":"visible","_Padding":{"__isSmartRef__":true,"id":4449},"_BorderRadius":8.515,"_Opacity":0.8146,"_BorderStyle":"solid","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"4444":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4445":{"x":266,"y":223,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4446":{"r":0,"g":0,"b":0,"a":1,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Color"},"4447":{"r":0.839,"g":0.839,"b":0.839,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global.lively.morphic.Graphics"},"4448":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setPadding":"setPaddingHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML","setClassName":"setClassNameHTML"},"4449":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Rectangle"},"4450":{"x":0,"y":0,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4451":{"partsSpaceName":"PartsBin/iPadWidgets","__SourceModuleName__":"Global.lively.PartsBin","comment":"This is a placeholder to indicate that a morph is being loaded. It will be replaced by the morph as soon as the requested morph finished loading.","migrationLevel":4,"partName":"LoadingMorph","changes":[{"__isSmartRef__":true,"id":4452},{"__isSmartRef__":true,"id":4454},{"__isSmartRef__":true,"id":4456},{"__isSmartRef__":true,"id":4458},{"__isSmartRef__":true,"id":4460},{"__isSmartRef__":true,"id":4462},{"__isSmartRef__":true,"id":4464},{"__isSmartRef__":true,"id":4466},{"__isSmartRef__":true,"id":4468},{"__isSmartRef__":true,"id":4470},{"__isSmartRef__":true,"id":4472},{"__isSmartRef__":true,"id":4474},{"__isSmartRef__":true,"id":4476},{"__isSmartRef__":true,"id":4478},{"__isSmartRef__":true,"id":4480},{"__isSmartRef__":true,"id":4482},{"__isSmartRef__":true,"id":4484},{"__isSmartRef__":true,"id":4486},{"__isSmartRef__":true,"id":4488},{"__isSmartRef__":true,"id":4490},{"__isSmartRef__":true,"id":4492},{"__isSmartRef__":true,"id":4494},{"__isSmartRef__":true,"id":4496},{"__isSmartRef__":true,"id":4498},{"__isSmartRef__":true,"id":4500},{"__isSmartRef__":true,"id":4502},{"__isSmartRef__":true,"id":4504},{"__isSmartRef__":true,"id":4506},{"__isSmartRef__":true,"id":4508},{"__isSmartRef__":true,"id":4510},{"__isSmartRef__":true,"id":4512},{"__isSmartRef__":true,"id":4514},{"__isSmartRef__":true,"id":4516},{"__isSmartRef__":true,"id":4518},{"__isSmartRef__":true,"id":4520},{"__isSmartRef__":true,"id":4522},{"__isSmartRef__":true,"id":4524},{"__isSmartRef__":true,"id":4526},{"__isSmartRef__":true,"id":4528},{"__isSmartRef__":true,"id":4530},{"__isSmartRef__":true,"id":4532},{"__isSmartRef__":true,"id":4534},{"__isSmartRef__":true,"id":4536},{"__isSmartRef__":true,"id":4538},{"__isSmartRef__":true,"id":4540},{"__isSmartRef__":true,"id":4542},{"__isSmartRef__":true,"id":4544},{"__isSmartRef__":true,"id":4546}],"revisionOnLoad":151069,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo"},"4452":{"date":{"__isSmartRef__":true,"id":4453},"author":"sstamm","message":"","id":"1C1391AE-5722-4707-BE52-F0094FC56829"},"4453":{"isSerializedDate":true,"string":"Wed Feb 22 2012 14:02:04 GMT+0100 (CET)"},"4454":{"date":{"__isSmartRef__":true,"id":4455},"author":"sstamm","message":"","id":"663F147A-9084-4AC3-81A7-1E7BA6547F08"},"4455":{"isSerializedDate":true,"string":"Wed Feb 22 2012 12:43:10 GMT+0100 (CET)"},"4456":{"date":{"__isSmartRef__":true,"id":4457},"author":"sstamm","message":"","id":"F72B746E-B170-4EFB-9074-5E8770640B8A"},"4457":{"isSerializedDate":true,"string":"Wed Feb 22 2012 12:36:14 GMT+0100 (CET)"},"4458":{"date":{"__isSmartRef__":true,"id":4459},"author":"sstamm","message":"","id":"568D2EFD-C535-43AE-8944-6D8B967129F5"},"4459":{"isSerializedDate":true,"string":"Wed Feb 22 2012 12:23:04 GMT+0100 (CET)"},"4460":{"date":{"__isSmartRef__":true,"id":4461},"author":"sstamm","message":"","id":"AB2484A6-0707-4E13-845E-F0A5F48BBA3D"},"4461":{"isSerializedDate":true,"string":"Wed Feb 22 2012 11:59:45 GMT+0100 (CET)"},"4462":{"date":{"__isSmartRef__":true,"id":4463},"author":"sstamm","message":"","id":"97D20633-F76C-46A5-A32A-FFE9BC83CAB3"},"4463":{"isSerializedDate":true,"string":"Wed Feb 22 2012 11:59:10 GMT+0100 (CET)"},"4464":{"date":{"__isSmartRef__":true,"id":4465},"author":"sstamm","message":"","id":"8A697DF5-9A45-4A84-B709-9719BF55083E"},"4465":{"isSerializedDate":true,"string":"Wed Feb 22 2012 11:56:54 GMT+0100 (CET)"},"4466":{"date":{"__isSmartRef__":true,"id":4467},"author":"sstamm","message":"","id":"F2157D66-1571-4B9A-B325-6FA96488260F"},"4467":{"isSerializedDate":true,"string":"Wed Feb 22 2012 11:51:05 GMT+0100 (CET)"},"4468":{"date":{"__isSmartRef__":true,"id":4469},"author":"sstamm","message":"","id":"E5E808CA-06AB-47DC-A9C9-CA7967591545"},"4469":{"isSerializedDate":true,"string":"Wed Feb 22 2012 11:47:19 GMT+0100 (CET)"},"4470":{"date":{"__isSmartRef__":true,"id":4471},"author":"sstamm","message":"","id":"009DC4E0-23CA-485A-A796-801AA0F75049"},"4471":{"isSerializedDate":true,"string":"Wed Feb 22 2012 11:46:25 GMT+0100 (CET)"},"4472":{"date":{"__isSmartRef__":true,"id":4473},"author":"sstamm","message":"","id":"C0CE1397-6E2E-4E8C-AEFF-9017E24BB7E4"},"4473":{"isSerializedDate":true,"string":"Wed Feb 22 2012 11:45:05 GMT+0100 (CET)"},"4474":{"date":{"__isSmartRef__":true,"id":4475},"author":"sstamm","message":"","id":"FFE16986-548D-4AC2-A627-CF6416282BC4"},"4475":{"isSerializedDate":true,"string":"Wed Feb 22 2012 11:37:15 GMT+0100 (CET)"},"4476":{"date":{"__isSmartRef__":true,"id":4477},"author":"sstamm","message":"","id":"57213D63-7147-4057-ADC9-30994443B066"},"4477":{"isSerializedDate":true,"string":"Wed Feb 22 2012 11:35:29 GMT+0100 (CET)"},"4478":{"date":{"__isSmartRef__":true,"id":4479},"author":"sstamm","message":"","id":"75A31364-B380-4312-BB5B-F8F2DA1CE824"},"4479":{"isSerializedDate":true,"string":"Wed Feb 22 2012 11:31:52 GMT+0100 (CET)"},"4480":{"date":{"__isSmartRef__":true,"id":4481},"author":"sstamm","message":"","id":"5AA50B7E-7D33-44C4-807B-BF1ABA31D530"},"4481":{"isSerializedDate":true,"string":"Wed Feb 22 2012 11:14:10 GMT+0100 (CET)"},"4482":{"date":{"__isSmartRef__":true,"id":4483},"author":"sstamm","message":"","id":"BCDCC505-534C-45E5-9BB2-5238959A5AD0"},"4483":{"isSerializedDate":true,"string":"Wed Feb 22 2012 11:02:56 GMT+0100 (CET)"},"4484":{"date":{"__isSmartRef__":true,"id":4485},"author":"sstamm","message":"","id":"890D14F4-E89D-4E05-BFB9-875D6AB6C765"},"4485":{"isSerializedDate":true,"string":"Wed Feb 22 2012 11:01:50 GMT+0100 (CET)"},"4486":{"date":{"__isSmartRef__":true,"id":4487},"author":"sstamm","message":"","id":"B6FE0805-0D24-4267-8238-8B332352617E"},"4487":{"isSerializedDate":true,"string":"Wed Feb 22 2012 10:55:44 GMT+0100 (CET)"},"4488":{"date":{"__isSmartRef__":true,"id":4489},"author":"sstamm","message":"callbacks are working","id":"9348260A-3B55-4659-BC85-440BFBD98EA4"},"4489":{"isSerializedDate":true,"string":"Fri Feb 10 2012 09:45:55 GMT+0100 (CET)"},"4490":{"date":{"__isSmartRef__":true,"id":4491},"author":"sstamm","message":"made it more opaque","id":"1B84264C-2822-407F-A58F-19217BCD2762"},"4491":{"isSerializedDate":true,"string":"Wed Feb 08 2012 11:41:50 GMT+0100 (CET)"},"4492":{"date":{"__isSmartRef__":true,"id":4493},"author":"sstamm","message":"","id":"0FB41D7D-2A52-4782-814B-A66C24FCE569"},"4493":{"isSerializedDate":true,"string":"Tue Feb 07 2012 11:13:49 GMT+0100 (CET)"},"4494":{"date":{"__isSmartRef__":true,"id":4495},"author":"sstamm","message":"","id":"A0C2D7C1-04AF-493A-A7D7-70750F7D3E2F"},"4495":{"isSerializedDate":true,"string":"Thu Feb 02 2012 17:22:07 GMT+0100 (CET)"},"4496":{"date":{"__isSmartRef__":true,"id":4497},"author":"sstamm","message":"trollolol","id":"F6CFAD78-AC72-4DE2-9F38-79776C2E9462"},"4497":{"isSerializedDate":true,"string":"Thu Feb 02 2012 14:55:14 GMT+0100 (CET)"},"4498":{"date":{"__isSmartRef__":true,"id":4499},"author":"sstamm","message":"should be centered now","id":"EE366B4D-C272-477F-8C28-4EAE5A7EC7CB"},"4499":{"isSerializedDate":true,"string":"Thu Feb 02 2012 14:54:35 GMT+0100 (CET)"},"4500":{"date":{"__isSmartRef__":true,"id":4501},"author":"sstamm","message":"initial commit","id":"8920D925-DD16-4667-B8C7-FB74D78C2424"},"4501":{"isSerializedDate":true,"string":"Thu Feb 02 2012 13:26:01 GMT+0100 (CET)"},"4502":{"date":{"__isSmartRef__":true,"id":4503},"author":"sstamm","message":"changed text morph name","id":"80E88A3C-5AF3-48F2-A600-710877630997"},"4503":{"isSerializedDate":true,"string":"Thu Feb 02 2012 14:04:01 GMT+0100 (CET)"},"4504":{"date":{"__isSmartRef__":true,"id":4505},"author":"sstamm","message":"added loading script","id":"EE9B8F4D-1F03-4232-82E6-794046974F8F"},"4505":{"isSerializedDate":true,"string":"Thu Feb 02 2012 14:28:30 GMT+0100 (CET)"},"4506":{"date":{"__isSmartRef__":true,"id":4507},"author":"sstamm","message":"added disconnection","id":"11F19267-924E-4087-99ED-998245576BD2"},"4507":{"isSerializedDate":true,"string":"Thu Feb 02 2012 14:32:58 GMT+0100 (CET)"},"4508":{"date":{"__isSmartRef__":true,"id":4509},"author":"sstamm","message":"removed connections before deletion","id":"35A88218-6864-4D52-83A2-BFF7B9A6907C"},"4509":{"isSerializedDate":true,"string":"Thu Feb 02 2012 14:41:00 GMT+0100 (CET)"},"4510":{"date":{"__isSmartRef__":true,"id":4511},"author":"sstamm","message":"now able to load parts by name and category as well as per partItem","id":"F36A5782-461D-4813-95F8-0207990A261C"},"4511":{"isSerializedDate":true,"string":"Thu Feb 02 2012 15:24:30 GMT+0100 (CET)"},"4512":{"date":{"__isSmartRef__":true,"id":4513},"author":"sstamm","message":"now with round corners","id":"F42C39CB-CC37-467D-BF10-D362241F047E"},"4513":{"isSerializedDate":true,"string":"Thu Feb 02 2012 15:26:23 GMT+0100 (CET)"},"4514":{"date":{"__isSmartRef__":true,"id":4515},"author":"sstamm","message":"loadingMorph is sync now","id":"12ACFFC9-BA53-4A2A-ABD4-894A5ECE1145"},"4515":{"isSerializedDate":true,"string":"Thu Feb 02 2012 15:48:04 GMT+0100 (CET)"},"4516":{"date":{"__isSmartRef__":true,"id":4517},"author":"sstamm","message":"display the loadingMorph in new thread","id":"2BA51E30-F02B-4AF0-B3BE-52DD4ED522CC"},"4517":{"isSerializedDate":true,"string":"Thu Feb 02 2012 15:53:49 GMT+0100 (CET)"},"4518":{"date":{"__isSmartRef__":true,"id":4519},"author":"sstamm","message":"","id":"DF0AE4EA-1B08-4556-8BBE-E6488F23B8A3"},"4519":{"isSerializedDate":true,"string":"Thu Feb 02 2012 16:49:48 GMT+0100 (CET)"},"4520":{"date":{"__isSmartRef__":true,"id":4521},"author":"sstamm","message":"","id":"220821B3-C589-41C9-A324-8E7E6D9D6CEB"},"4521":{"isSerializedDate":true,"string":"Thu Feb 02 2012 16:58:43 GMT+0100 (CET)"},"4522":{"date":{"__isSmartRef__":true,"id":4523},"author":"sstamm","message":"","id":"DEBFACE2-7EC5-4A86-AD46-5A0A88A73707"},"4523":{"isSerializedDate":true,"string":"Thu Feb 02 2012 17:04:28 GMT+0100 (CET)"},"4524":{"date":{"__isSmartRef__":true,"id":4525},"author":"sstamm","message":"load request in new thread if loading should be async","id":"18282D28-D6D4-48C9-A508-6E3244449BD8"},"4525":{"isSerializedDate":true,"string":"Tue Feb 07 2012 11:10:27 GMT+0100 (CET)"},"4526":{"date":{"__isSmartRef__":true,"id":4527},"author":"sstamm","message":"added benchmarking output","id":"249CFF90-DDF5-4A83-9759-0289E96D7D58"},"4527":{"isSerializedDate":true,"string":"Tue Feb 07 2012 11:31:50 GMT+0100 (CET)"},"4528":{"date":{"__isSmartRef__":true,"id":4529},"author":"sstamm","message":"","id":"882082E1-29B6-418D-9B8B-672729D60619"},"4529":{"isSerializedDate":true,"string":"Tue Feb 07 2012 11:38:26 GMT+0100 (CET)"},"4530":{"date":{"__isSmartRef__":true,"id":4531},"author":"sstamm","message":"","id":"5179AEF9-E19F-4B0C-BBD8-556C5687988A"},"4531":{"isSerializedDate":true,"string":"Tue Feb 07 2012 11:44:11 GMT+0100 (CET)"},"4532":{"date":{"__isSmartRef__":true,"id":4533},"author":"sstamm","message":"","id":"1159C5B4-724E-4124-9D7B-5CD5DC4A8EE3"},"4533":{"isSerializedDate":true,"string":"Tue Feb 07 2012 11:48:14 GMT+0100 (CET)"},"4534":{"date":{"__isSmartRef__":true,"id":4535},"author":"sstamm","message":"","id":"2A718D1F-1036-41D6-999A-336F2B14E65D"},"4535":{"isSerializedDate":true,"string":"Tue Feb 07 2012 11:49:47 GMT+0100 (CET)"},"4536":{"date":{"__isSmartRef__":true,"id":4537},"author":"sstamm","message":"","id":"EB6BDD0C-7EEC-4124-B77F-2F106A601538"},"4537":{"isSerializedDate":true,"string":"Tue Feb 07 2012 11:59:48 GMT+0100 (CET)"},"4538":{"date":{"__isSmartRef__":true,"id":4539},"author":"sstamm","message":"","id":"63EC8D07-AB6A-450A-BB84-9B4D37E03647"},"4539":{"isSerializedDate":true,"string":"Tue Feb 07 2012 12:02:33 GMT+0100 (CET)"},"4540":{"date":{"__isSmartRef__":true,"id":4541},"author":"sstamm","message":"","id":"19CE12E4-5AA5-48DC-B1D1-B0EB0EDF1CB9"},"4541":{"isSerializedDate":true,"string":"Tue Feb 07 2012 12:03:42 GMT+0100 (CET)"},"4542":{"date":{"__isSmartRef__":true,"id":4543},"author":"sstamm","message":"first attempt to introduce callback functions to part loading","id":"22BD0B95-8948-411A-A56E-AD7CBE445F1D"},"4543":{"isSerializedDate":true,"string":"Thu Feb 09 2012 20:20:11 GMT+0100 (CET)"},"4544":{"date":{"__isSmartRef__":true,"id":4545},"author":"sstamm","message":"","id":"A216DFD2-9D1F-4E62-A22F-6B5472823E1B"},"4545":{"isSerializedDate":true,"string":"Fri Mar 16 2012 15:37:34 GMT+0100 (CET)"},"4546":{"date":{"__isSmartRef__":true,"id":4547},"author":"sstamm","message":"","id":"464E723A-08DC-433C-AA5C-CEC850DBAF0B"},"4547":{"isSerializedDate":true,"string":"Fri Mar 16 2012 15:42:29 GMT+0100 (CET)"},"4548":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","onRenderFinished":"onRenderFinishedHTML","triggerEvent":"triggerEventHTML","setTransform":"setTransformHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","adjustOrigin":"adjustOriginHTML","setPivotPoint":"setPivotPointHTML","setClipMode":"setClipModeHTML","showsVerticalScrollBar":"showsVerticalScrollBarHTML","showsHorizontalScrollBar":"showsHorizontalScrollBarHTML","getScrollBarExtent":"getScrollBarExtentHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","setToolTip":"setToolTipHTML","focus":"focusHTML","blur":"blurHTML","setFocusable":"setFocusableHTML"},"4549":{"morph":{"__isSmartRef__":true,"id":4413},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"4550":{"x":266,"y":223,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4551":{"adjustForNewBounds":true},"4552":{"x":171,"y":-13,"__SourceModuleName__":"Global.lively.morphic.Graphics","__LivelyClassName__":"Point"},"4553":{"loadPart":{"__isSmartRef__":true,"id":4554},"loadFinished":{"__isSmartRef__":true,"id":4558},"loadPartByName":{"__isSmartRef__":true,"id":4562}},"4554":{"varMapping":{"__isSmartRef__":true,"id":4555},"source":"function loadPart(partItem, isAsync) {\n this.partItem = partItem;\n \n this.openInWorld();\n if(partItem.part) {\n this.setExtent(partItem.part.getExtent());\n }\n this.align(this.bounds().center(), $world.visibleBounds().center());\n \n \n if(typeof isAsync === \"function\") {\n this.callback = isAsync;\n }\n\n connect(partItem, 'part', this, \"loadFinished\");\n\n partItem.loadPart(isAsync);\n\n return partItem.part;\n\n}","funcProperties":{"__isSmartRef__":true,"id":4556},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"4555":{"this":{"__isSmartRef__":true,"id":4413}},"4556":{"timestamp":{"__isSmartRef__":true,"id":4557},"user":"sstamm","tags":[]},"4557":{"isSerializedDate":true,"string":"Fri Mar 16 2012 15:42:18 GMT+0100 (CET)"},"4558":{"varMapping":{"__isSmartRef__":true,"id":4559},"source":"function loadFinished(part) {\n if(this.owner === $world.firstHand()) {\n $world.firstHand().removeAllMorphs();\n } else {\n this.owner.addMorph(part);\n part.align(part.bounds().center(), this.bounds().center());\n this.remove();\n }\n disconnect(this.partItem, 'part', this, \"loadFinished\");\n if(this.callback) {\n this.callback(part);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":4560},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"4559":{"this":{"__isSmartRef__":true,"id":4413}},"4560":{"timestamp":{"__isSmartRef__":true,"id":4561},"user":"sstamm","tags":[]},"4561":{"isSerializedDate":true,"string":"Wed Feb 22 2012 14:01:53 GMT+0100 (CET)"},"4562":{"varMapping":{"__isSmartRef__":true,"id":4563},"source":"function loadPartByName(partName, optPartsSpaceName, isAsync) {\n var partItem = lively.PartsBin.getPartItem(partName, optPartsSpaceName);\n return this.loadPart(partItem, isAsync);\n}","funcProperties":{"__isSmartRef__":true,"id":4564},"__SourceModuleName__":"Global.lively.lang.Closure","__LivelyClassName__":"lively.Closure"},"4563":{"this":{"__isSmartRef__":true,"id":4413}},"4564":{"timestamp":{"__isSmartRef__":true,"id":4565},"user":"sstamm","tags":[]},"4565":{"isSerializedDate":true,"string":"Thu Feb 02 2012 17:03:18 GMT+0100 (CET)"},"4566":{"protocol":"http:","hostname":"lively-kernel.org","pathname":"/repository/webwerkstatt/users/hjust/stop-n-go.xhtml","__LivelyClassName__":"URL","__SourceModuleName__":"Global.lively.Network"},"4567":{"sourceObj":{"__isSmartRef__":true,"id":0},"sourceAttrName":"savedWorldAsURL","targetObj":{"__isSmartRef__":true,"id":0},"targetMethodName":"visitNewPageAfterSaveAs","converter":null,"converterString":null,"updaterString":"function ($upd, v) {\n if (v && v.toString() !== URL.source.toString()) {\n $upd(v)\n }\n }","varMapping":{"__isSmartRef__":true,"id":4568},"__SourceModuleName__":"Global.lively.bindings","__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4569},"__LivelyClassName__":"AttributeConnection"},"4568":{"source":{"__isSmartRef__":true,"id":0},"target":{"__isSmartRef__":true,"id":0}},"4569":{"updater":{"__isSmartRef__":true,"id":4570}},"4570":{"originalFunc":null,"varMapping":{"__isSmartRef__":true,"id":4568},"source":"function ($upd, v) {\n if (v && v.toString() !== URL.source.toString()) {\n $upd(v)\n }\n }","funcProperties":{"__isSmartRef__":true,"id":4571},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4571":{},"4572":{"sourceObj":{"__isSmartRef__":true,"id":0},"sourceAttrName":"savedWorldAsUrl","targetObj":{"__isSmartRef__":true,"id":1},"targetMethodName":"startOnServerCallback","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"4573":{"sourceObj":{"__isSmartRef__":true,"id":0},"sourceAttrName":"savingDone","targetObj":{"__isSmartRef__":true,"id":1},"targetMethodName":"startOnServerCallback","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"isSimplifiedRegistry":true}}]]>