' + (ea.targetObj.name || ea.targetObj.constructor.name) + '.' + ea.targetMethodName \n}).join('\\n')\n","_Rotation":0,"_Scale":1,"owner":{"__isSmartRef__":true,"id":0},"target":{"__isSmartRef__":true,"id":232},"layout":{"__isSmartRef__":true,"id":561},"__serializedExpressions__":["_Position","textColor","_Padding","distanceToDragEvent"],"textString":"#Line.connect(#A, #B)\n\n#Line.connect(#A, #C)","__serializedLivelyClosures__":{"__isSmartRef__":true,"id":562},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(40.0,482.4)","textColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(5,5,0,0)","distanceToDragEvent":"lively.pt(305.4,-41.1)"},"20":{"submorphs":[{"__isSmartRef__":true,"id":21},{"__isSmartRef__":true,"id":36}],"scripts":[],"id":"72BEBA6F-7C26-47B6-AED2-253F02E48DE5","shape":{"__isSmartRef__":true,"id":47},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":53},"lighterFill":{"__isSmartRef__":true,"id":58},"label":{"__isSmartRef__":true,"id":21},"name":"MagnifierButton1","showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":63},"attributeConnections":[{"__isSmartRef__":true,"id":66}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"eventHandler":{"__isSmartRef__":true,"id":67},"derivationIds":[2588,"22797D34-67DE-4A06-81F0-4DF0A87ADBBC","81CB4C12-BCF0-4097-8B6D-D9419046367A","0767A57D-9BB2-48C6-9654-753D2B9D00A6","42871246-6725-4E41-A2C1-5A5BCF041097","BCE6E775-B5DF-4D6B-9F06-CDC02C1B1D0F","797EC165-A639-42D9-A059-669F6BEB92A7","FA498EFD-E50E-4CE0-9FA8-9AE2E8AE9580","4B68C371-CB37-45B4-910A-611E5FFC23DD","94E374B9-7ED4-4E39-96F1-6FD4E7AC3428","34D63515-7CC7-43FB-B7BB-87AFCA377D63","7E0B172C-0AF5-4C6E-B184-25A8FAE4FAB8","12239D52-D3D3-4713-BC3E-F0B95C488CB7","72559D92-4616-45A9-A0F2-72BA4147C0FB","E86C7328-AF24-4881-84AF-B7C7CEFEAE14","22D731CF-38F0-41CC-B125-74D2842ED847","B58A1A30-782E-4675-A276-2C01D35BEC70","ACEABA6D-071C-46C2-A325-BE30189AA45F","686443AE-DCDC-4998-8A39-48BC57D64FDC","8D660766-7C93-404C-9D92-B12CBF59A3CE","20DF1A18-6F2B-4D66-9110-75EB343C3C61","6295FA32-B7AA-4C61-BF03-5E69084C8FE8"],"_ClipMode":"visible","highlightRectangle":{"__isSmartRef__":true,"id":68},"isPressed":false,"owner":{"__isSmartRef__":true,"id":19},"_Rotation":0,"_Scale":0.9920279440699439,"prevScroll":[0,0],"layout":{"__isSmartRef__":true,"id":144},"magnets":[{"__isSmartRef__":true,"id":145},{"__isSmartRef__":true,"id":146},{"__isSmartRef__":true,"id":147},{"__isSmartRef__":true,"id":148},{"__isSmartRef__":true,"id":149},{"__isSmartRef__":true,"id":150},{"__isSmartRef__":true,"id":151},{"__isSmartRef__":true,"id":152}],"__serializedExpressions__":["_Position","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":153},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(784.4,-5.0)","distanceToDragEvent":"lively.pt(39.2,-13.1)"},"21":{"submorphs":[],"scripts":[],"id":"ED910382-D586-4EC1-BD77-5E8DD759BDB4","shape":{"__isSmartRef__":true,"id":22},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":false,"_FontFamily":"Helvetica","registeredForMouseEvents":true,"_MaxTextWidth":24,"_MaxTextHeight":null,"textStyle":null,"owner":{"__isSmartRef__":true,"id":20},"isLabel":true,"eventsAreIgnored":true,"_ClipMode":"hidden","textChunks":[{"__isSmartRef__":true,"id":23},{"__isSmartRef__":true,"id":25}],"_Align":"center","eventHandler":{"__isSmartRef__":true,"id":27},"_HandStyle":"default","_PointerEvents":"none","derivationIds":[2589,"024C5ADE-C4CF-4E8E-BEC5-F93AD4839702","A2CC4D56-B9D8-4A48-B6FF-DDDD85ACDC2E","5AC5C4DE-00B0-43DB-B7F1-765674CE818B","750A11C6-766E-4B48-AE32-D71DE811EB4A","66A7B56E-A94E-44AE-8AED-C0C1B07554D4","CA8596D3-2D4F-453B-BE1B-DCEC8F85389B","4D7DC32F-79CB-4AF8-8B21-AB4F1809D4A8","439DE430-7651-470E-97D8-00E7F96B04DA","DAC920E6-217B-4515-AC09-2F9DCBA7375C","BD48C003-0502-451D-B6AA-7369FF3D1030","C3B8F4EA-3F44-47F4-B569-A0D5AB263BA0","BF7F0FA3-3F2A-4EEF-9687-BE2B0635DF13","3D7AEAC1-C9DD-4941-BA46-16F6783F5699","E04A78F9-3D6E-403F-BA8D-2583FCFFCE53","47E1F29B-6896-467D-8654-CA18929AE57A","509D86FF-5400-4374-BE79-90F0A7E3E90C","C7E53EE0-065A-4C59-8D13-311566722BB7","BA078BAC-7263-4B10-AFD3-3C4EA0DD8707","BCFE28D1-A115-453E-9116-EECC8FE1D50F","A354FF2E-BD85-429A-97C2-254D6033F50C","B26A73EB-9EB9-4CB0-89AF-FEE10445E3EA"],"_MinTextWidth":24,"_MinTextHeight":null,"_FontSize":10,"_WordBreak":"break-all","magnets":[{"__isSmartRef__":true,"id":28},{"__isSmartRef__":true,"id":29},{"__isSmartRef__":true,"id":30},{"__isSmartRef__":true,"id":31},{"__isSmartRef__":true,"id":32},{"__isSmartRef__":true,"id":33},{"__isSmartRef__":true,"id":34},{"__isSmartRef__":true,"id":35}],"__serializedExpressions__":["_Position","padding","_Padding","_TextColor"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(0.0,0.0)","padding":"lively.rect(5,5,0,0)","_Padding":"lively.rect(0,0,0,0)","_TextColor":"Color.rgb(0,0,0)"},"22":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(64.2,21.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,3,0,0)"},"23":{"style":{"__isSmartRef__":true,"id":24},"chunkOwner":{"__isSmartRef__":true,"id":21},"storedString":"","_id":"_1372","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"24":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"25":{"style":{"__isSmartRef__":true,"id":26},"chunkOwner":{"__isSmartRef__":true,"id":21},"storedString":"","_id":"_1373","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"26":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"27":{"morph":{"__isSmartRef__":true,"id":21},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"28":{"morph":{"__isSmartRef__":true,"id":21},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(813.3,869.3)"},"29":{"morph":{"__isSmartRef__":true,"id":21},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(845.1,869.3)"},"30":{"morph":{"__isSmartRef__":true,"id":21},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(877.0,869.3)"},"31":{"morph":{"__isSmartRef__":true,"id":21},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(877.0,879.7)"},"32":{"morph":{"__isSmartRef__":true,"id":21},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(877.0,890.1)"},"33":{"morph":{"__isSmartRef__":true,"id":21},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(845.1,890.1)"},"34":{"morph":{"__isSmartRef__":true,"id":21},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(813.3,890.1)"},"35":{"morph":{"__isSmartRef__":true,"id":21},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(813.3,879.7)"},"36":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":37},"derivationIds":[null,"29E543E0-AE93-493A-A694-FC1C330D0544","F0366E4C-E97F-4C77-BEE4-340A0668ADD5","347F6028-5092-4F54-9A34-3EFF3FF0B815","BF7387E7-BCD7-4A5B-B9D2-C14ECF59EFCA","85BA370B-966E-41F7-8C2F-F3A926EC2AA2","1652172B-339A-43A1-9589-70E68B35A28E","705524F7-129B-4102-834E-2A1A45985BB5","5707DF70-CD77-4D53-96ED-5A0AEB227FB7","257E62CE-C668-4317-B5B7-8D394BDC3F6C","2DD4BEA5-E85A-4CD0-953E-9EB2E0735654","BB96B696-7BD4-44C4-9D60-B1551B89D6FA","FCAABC48-FBAF-4E12-8BC9-AC4ACB5A167B","EB81C4D7-5BD8-4DAC-BD70-8675E2338AAC","1DBAE3FF-B2F6-4348-8E06-81139C138D6E","49E7D450-EF74-4E94-B33B-B888D952F3BD","F0B267C4-54BA-4E6F-BFDD-4B047F4FF41A","36B8611D-B449-4F6E-8D0F-B5FD6406D45D","779DB518-01BD-4D32-AD65-BFED801E5D06","F47D501C-3750-4F0D-A2E1-E1B9CDA8368C","5DEBC468-2070-496D-A3DA-1A5C54BBBC41"],"id":"1DB6E59C-CCC0-45D1-B3DA-6B2ECCE90296","eventHandler":{"__isSmartRef__":true,"id":38},"_ClipMode":"visible","__layered_droppingEnabled__":true,"halosEnabled":true,"owner":{"__isSmartRef__":true,"id":20},"name":"leftpointing_magnifying_glass.png","isBeingDragged":false,"showsHalos":false,"eventsAreDisabled":true,"_HandStyle":"default","_PointerEvents":"none","_Rotation":0,"_Scale":1,"magnets":[{"__isSmartRef__":true,"id":39},{"__isSmartRef__":true,"id":40},{"__isSmartRef__":true,"id":41},{"__isSmartRef__":true,"id":42},{"__isSmartRef__":true,"id":43},{"__isSmartRef__":true,"id":44},{"__isSmartRef__":true,"id":45},{"__isSmartRef__":true,"id":46}],"__serializedExpressions__":["_Position","distanceToDragEvent"],"__LivelyClassName__":"lively.morphic.Image","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(-3.0,0.0)","distanceToDragEvent":"lively.pt(39.9,-9.0)"},"37":{"_ImageURL":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAACXBIWXMAAAABAAAAAQBPJcTWAAAALnRFWHRUaXRsZQBMRUZULVBPSU5USU5HIE1BR05JRllJTkcgR0xBU1MgKFUrMUY1MEQpw88haQAAABV0RVh0QXV0aG9yAEFuZHJldyBNYXJjdXNl5zc3gwAAAC90RVh0U29mdHdhcmUAaW5mby5maWxlZm9ybWF0LmRhdGEuVW5pY29kZVBuZ1NlcnZsZXRoAX8wAAAAQ3RFWHREZXNjcmlwdGlvbgBodHRwOi8vd3d3LmZpbGVmb3JtYXQuaW5mby9pbmZvL3VuaWNvZGUvMWY1MGQvaW5kZXguaHRtk2hNQgAAADt0RVh0Q29weXJpZ2h0AGh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LW5jLXNhLzIuMC9siJKDAAAIDklEQVR42u1daWxVRRQeCi0tIqCAQCTIUtEIGlk0ilqEkEbiQhSKGAyCooIIggsiQuMWZNGwVMUFNIhKZBMobZClgK1FwAU3wIpSREDcUFZFEM/JOzf3vPHet9ze1/eYe77k+zNzl5nz3ZlzZntPKYFAcHojDXimmKH6cQbwZuBM4HLgx8A9wBPAU8BjwJ3ADcDFwMnArsCaYjr/0BB4DwlwjAwfL38DzgX2AdYWk3pDJnAM8E/NuN8BpwEHAq8DXgpsCswANgN2APak/BeBu7T7sQX1A9YQE8fuDwYAf2BG/JrEaefxmSjaeOAO9syNwBwxd2Q0o/7fMhr6h8Fx+oBIX346cATwF/aON6Qbc0ZH4G4y0lHgOGAdD8/Be/KAs4AFwKsdrqkHnAA8Tu8rAzYWCWz0Bh5hraKTT11fL+AH1FXlA8/SrsEu61fmW9qLFEqNAv5LRsEw9twEvKMzcAvwJ3LoHG2AW+n9B4HdgixGHhNjiccuKlbUp9aC7yoGnqflraa8A8C2QRTjMvIVaITyKI61BjnkqiILWEjvPAwcxvLqAj+nvAqH7s1oNAfupcpjeNskhnvQOQ/xYfxQCziHRVl3sjxsNfspvYSuNR4Ywn5ClT5CA7lYkUPRU0YVy4CivkVlOE7TKxa6AP+ivKlBEORe9nUO8XD/QhWay6oqmlK3dYoirTYs70FK/wd4ocli1KVIByu7XXmb9BsOPEmj76riSfZxbAM2oPQMmqLB9GUmC/I0M8AtHp9xCd3/rM8fCHISy+vH0ruaOi3Coyqv6ETPKPSpXEOZ4X9XoSl+y89sovTNJgoyklW8rw8+aKFP5apFo3SrbMNcWsnFpgmylkU19R3yY4mc0mk0j88Z62PZ5jHDV7DQugE5dkx/3CQxzlb2qt6aCF1HtJH6BHoGju4v97F8+Sp8zeRGlldCaZtMEmQAq+zICL5hpUvrwfXy19gzZvhcvj6aILNZ3ij2ETQzRZA3WWU7RrgOfQsu05YCnyLxcFS9h91fTlMgfqKdJsg6lteBpQ8wRZASVqmmUa7txvwEJ/qe8SoxGxYymK+wpnMsNGHpxviRbVShkzEatAb5iEHUSrqzQVuiUMkMf5IFGWnM/71giiAHqEL7U7iMf2gtkk/B7/M51E4qMlklvzwNymgxl+VvobQPTRCkMavkDpaelkJlbOkgyDUsv0LZu19Oe/A++BBLvyIB0ZJX9HIQhHdZBymt1BQfso9V1Jorag28PUXKN8tBkHqUV4elLTJFkM9YpVqzllOcAmXDiG6vJsZhlt+Kpc80RZBiF2eJK4fZSS5bd4fWUcTyc1n6Y6YIMpVVii+LTgFOTHLZNjoIMpTlT2fpXUwRpIcKn021gHuwcDN0ss525Cnn3fIt2DXfK3vPljGbHtK1gdcFmkNdkYTK4gz0Tgcxytg1fI6rUBkGvubA54Ta0lTFK9VYFhS/xKV18PEHX3MfYpogfPUND9DwuamFlP5oNZXlZRcxlmsDWutsCl/aNQYZWhfBnTlOceNsLq459E1wyyhwEeNvFb7ZusClrEbhNlbJoyp8Y3UejehxPWS08v/MBrbIlcr92BvfwZit7KMKOC3f3FRBcBC2mRlBnz0dpOzN17gvqrdP7+2p7PkoJz7Hrq2pCfeqMhzXasbI1/KHa/m4Y93reRFcU1mrIh8IXaLCJzpnsLyfKRozHrNZpbFF9NHyx2pGw2tWAZ8H3gW8UjmvvWdSlIQb3raq6Kdzp6vwBbOhWn5/FRCggy9lFcdN1521ax5Q0Y9B41o7nkn8Rv1/gSkS0T/crb0vV4Uv465UAUNjLerCkfAN2jUXKef19apwnYP4AynK4tfNU6m1ZlMtaK/stQZrLXu0Q6g6OIpTjoVfAK/Xnp1GDp1fhy0th1rwHLqmEbXYHkEQJYcGitwouG2onoPx0Ne8q+yDmtGIs8lPUFCgH/Q5R4XPQlt8nfKzKB9/ouNHLT/ddFEw7t+uGQbPko90GY+gOHgcoRc5+YeBj1DY3JPyGrq8qy6JdMhBDAyz8azhZLq2JRuP4HE3a6f8KhNH7k4Dt9UORqoE3qGqfiAUo7L7lX1kjfMd4H0UHGTTFMpLzH8VUAS3iN2znsQ1GugvprCvkvMYdSFouBYxPu98FdoKusblmZXUoiz0J1FuYgPUfCrXAof7S4MgimXIRVH8wwHq5vBLna9Cs8ULyEgVWrCg8zAJ79TtjGDXjSMx5kd4Fk7XB+a3uq5Sob1QfoW86JzxR2zcjjyj3/mKTafUpCAi2nPLVcB+QA379YdoGuWEBxEwars1hujIOpZQQS1jWhzvKXeIDAOBRhT+YgQ2kcYK71NLwgOauAKJ50jwpFW8J2jHKHvLKwYBuENmVxyibAiqKIlCOkVY1g8HZHkQ5SOXeTaBR9RW9vT7agp34xVlo4jiL7KoG0TjriCR4hVlk0r8EYrAtZQiZa+14wx1qzhF2Syi+C+K5VOWko8RUVJIlPc8irIhKCP6ZItSqeJbh8kSU/qHDCbKMuZT4hFlrpgxcaIUUcuJR5TdYsLEiFLIQuLMOESZJOZLnCjLyMhrabqkZRRR1qsArDQmW5SlZOxPVWhJ2E2UNRJlVQ/wi19CRv9WhXbJoCh8zb+IujVBNYqymIyPP55ZxsQoVvK78kkBrp28rXVThSJGcoE7YZ5RoTMlc8SBpw7kj2IEAoFAIBAIBAKBQCAQCAQCgUAgEAgEAoFAIBAIBAKBQCAQCAQCgSAZ+A+0ucC4BysctgAAAABJRU5ErkJggg==","_NodeClass":["image"],"_NodeId":"29E543E0-AE93-493A-A694-FC1C330D0544","attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"isLoaded":true,"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Image","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(29.0,29.0)","_Padding":"lively.rect(0,0,0,0)"},"38":{"morph":{"__isSmartRef__":true,"id":36},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"39":{"morph":{"__isSmartRef__":true,"id":36},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(810.3,869.3)"},"40":{"morph":{"__isSmartRef__":true,"id":36},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(824.7,869.3)"},"41":{"morph":{"__isSmartRef__":true,"id":36},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(839.1,869.3)"},"42":{"morph":{"__isSmartRef__":true,"id":36},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(839.1,883.7)"},"43":{"morph":{"__isSmartRef__":true,"id":36},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(839.1,898.1)"},"44":{"morph":{"__isSmartRef__":true,"id":36},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(824.7,898.1)"},"45":{"morph":{"__isSmartRef__":true,"id":36},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(810.3,898.1)"},"46":{"morph":{"__isSmartRef__":true,"id":36},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(810.3,883.7)"},"47":{"_BorderWidth":1.1840000000000002,"_Fill":{"__isSmartRef__":true,"id":48},"_BorderRadius":5.2,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(64.2,21.0)","_BorderColor":"Color.rgb(214,214,214)","_Padding":"lively.rect(0,0,0,0)"},"48":{"stops":[{"__isSmartRef__":true,"id":49},{"__isSmartRef__":true,"id":50},{"__isSmartRef__":true,"id":51},{"__isSmartRef__":true,"id":52}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"49":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"50":{"offset":0.3,"__serializedExpressions__":["color"],"color":"Color.rgb(221,221,221)"},"51":{"offset":0.7,"__serializedExpressions__":["color"],"color":"Color.rgb(221,221,221)"},"52":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(204,204,204)"},"53":{"stops":[{"__isSmartRef__":true,"id":54},{"__isSmartRef__":true,"id":55},{"__isSmartRef__":true,"id":56},{"__isSmartRef__":true,"id":57}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"54":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"55":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"56":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"57":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(240,240,240)"},"58":{"stops":[{"__isSmartRef__":true,"id":59},{"__isSmartRef__":true,"id":60},{"__isSmartRef__":true,"id":61},{"__isSmartRef__":true,"id":62}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"59":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"60":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"61":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"62":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"63":{"partsSpaceName":"PartsBin/Inputs","migrationLevel":4,"partName":"ScriptableButton","comment":"Has a script that is called on button press","changes":[{"__isSmartRef__":true,"id":64}],"revisionOnLoad":154251,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"64":{"date":{"__isSmartRef__":true,"id":65},"author":"robertkrahn","message":"no comment","id":"0366C0A2-0C8E-4AEB-AAC3-120434134545"},"65":{"isSerializedDate":true,"string":"Sat Apr 21 2012 14:10:10 GMT+0200 (CEST)"},"66":{"sourceObj":{"__isSmartRef__":true,"id":20},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":20},"targetMethodName":"onFire","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"67":{"morph":{"__isSmartRef__":true,"id":20},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"68":{"submorphs":[],"scripts":[],"id":"364FF344-E489-461B-BC8C-ED45E4823ED4","shape":{"__isSmartRef__":true,"id":69},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"HighlightRectangle","partsBinMetaInfo":{"__isSmartRef__":true,"id":70},"eventHandler":{"__isSmartRef__":true,"id":111},"doNotSerialize":[],"doNotCopyProperties":[],"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","6FECB598-D130-4242-BF1B-E18767608129","0B23F218-078F-4912-A262-31B957885F41","C56BA290-B836-4946-B4EF-DBB6FBA2368C","61176BAF-CFE6-4F2C-9F0A-971AAD6595A1","CB4127B2-0AA5-4B50-9978-F1FF39924A82","113050BB-CF0E-4193-91C6-9C25FC857EE8","EFF939E4-317B-4662-943F-77A6E6F65BD0","AA288E7F-3972-4F0D-87DD-61E4BD9C9C97","903E8C60-1158-42D5-85D2-DF134DA6CEC1","28FD6210-A549-4A11-9178-04E77FF556C0","B3312E29-D786-469F-865E-91FD69475A52","D947A1C1-DCBE-4485-A33D-DF549F6978E0","56CE0E60-45BE-43FF-9C6C-296D8AC326B6","CC61E3F8-8C8D-4F24-A591-023D3C88DEC8"],"partTests":{"__isSmartRef__":true,"id":112},"_ClipMode":"visible","moved":true,"isBeingDragged":false,"prevScroll":[0,0],"#startLetters":"","eventsAreDisabled":false,"_HandStyle":"default","_PointerEvents":"auto","_Rotation":0,"_Scale":1.0060210561262526,"owner":null,"magnifierButton":{"__isSmartRef__":true,"id":20},"attributeConnections":[{"__isSmartRef__":true,"id":117},{"__isSmartRef__":true,"id":119},{"__isSmartRef__":true,"id":121}],"isMetaTool":true,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":123},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(28.9,116.9)","distanceToDragEvent":"lively.pt(44.0,-14.0)"},"69":{"_BorderWidth":0,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":0.2597,"_BorderStyle":"hidden","__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(847.0,355.4)","_BorderColor":"Color.rgb(204,0,0)","_Fill":"Color.rgb(58,0,255)","_Padding":"lively.rect(0,0,0,0)"},"70":{"partsSpaceName":"PartsBin/Tools","comment":"A rectangle which highlights the object under the first hand of the world","migrationLevel":4,"partName":"HighlightRectangle","changes":[{"__isSmartRef__":true,"id":71},{"__isSmartRef__":true,"id":73},{"__isSmartRef__":true,"id":75},{"__isSmartRef__":true,"id":77},{"__isSmartRef__":true,"id":79},{"__isSmartRef__":true,"id":81},{"__isSmartRef__":true,"id":83},{"__isSmartRef__":true,"id":85},{"__isSmartRef__":true,"id":87},{"__isSmartRef__":true,"id":89},{"__isSmartRef__":true,"id":91},{"__isSmartRef__":true,"id":93},{"__isSmartRef__":true,"id":95},{"__isSmartRef__":true,"id":97},{"__isSmartRef__":true,"id":99},{"__isSmartRef__":true,"id":101},{"__isSmartRef__":true,"id":103},{"__isSmartRef__":true,"id":105},{"__isSmartRef__":true,"id":107},{"__isSmartRef__":true,"id":109}],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"71":{"date":{"__isSmartRef__":true,"id":72},"author":"timfelgentreff","message":"no comment","id":"3DB7DB40-210A-4BED-91FD-9287005703EC"},"72":{"isSerializedDate":true,"string":"Thu May 24 2012 17:04:54 GMT+0200 (CEST)"},"73":{"date":{"__isSmartRef__":true,"id":74},"author":"tessi","message":"no comment","id":"23D7AA12-66A9-4C3B-B494-131256C291AC"},"74":{"isSerializedDate":true,"string":"Thu May 24 2012 16:57:13 GMT+0200 (CEST)"},"75":{"date":{"__isSmartRef__":true,"id":76},"author":"tessi","message":"no comment","id":"2C30B7CA-388F-4F51-B4CF-A2E50E381148"},"76":{"isSerializedDate":true,"string":"Thu May 24 2012 16:23:11 GMT+0200 (CEST)"},"77":{"date":{"__isSmartRef__":true,"id":78},"author":"tessi","message":"diable events","id":"7C1F71A3-FDAC-470A-B9A9-E1F2C9FEF18E"},"78":{"isSerializedDate":true,"string":"Thu May 24 2012 14:46:08 GMT+0200 (CEST)"},"79":{"date":{"__isSmartRef__":true,"id":80},"author":"tessi","message":"no comment","id":"01996A33-11BC-4C15-96D7-B7D219E2E961"},"80":{"isSerializedDate":true,"string":"Thu May 24 2012 14:39:50 GMT+0200 (CEST)"},"81":{"date":{"__isSmartRef__":true,"id":82},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"82":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"83":{"date":{"__isSmartRef__":true,"id":84},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"84":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"85":{"date":{"__isSmartRef__":true,"id":86},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"86":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"87":{"date":{"__isSmartRef__":true,"id":88},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"88":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"89":{"date":{"__isSmartRef__":true,"id":90},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"90":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"91":{"date":{"__isSmartRef__":true,"id":92},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"92":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"93":{"date":{"__isSmartRef__":true,"id":94},"author":"tessi","message":"no comment","id":"4B982A01-25B3-455A-848D-89C2C3C471D7"},"94":{"isSerializedDate":true,"string":"Thu May 24 2012 13:58:01 GMT+0200 (CEST)"},"95":{"date":{"__isSmartRef__":true,"id":96},"author":"tessi","message":"no comment","id":"2FD6CB7B-3BC7-4666-98B4-AACF1001954D"},"96":{"isSerializedDate":true,"string":"Thu May 24 2012 14:07:32 GMT+0200 (CEST)"},"97":{"date":{"__isSmartRef__":true,"id":98},"author":"tessi","message":"no comment","id":"09CF5ECF-2C87-4B66-A164-39848628596F"},"98":{"isSerializedDate":true,"string":"Thu May 24 2012 15:34:59 GMT+0200 (CEST)"},"99":{"date":{"__isSmartRef__":true,"id":100},"author":"tessi","message":"no comment","id":"252A3EB5-DB00-4CF9-BF38-2927DD1C5229"},"100":{"isSerializedDate":true,"string":"Thu May 24 2012 16:34:29 GMT+0200 (CEST)"},"101":{"date":{"__isSmartRef__":true,"id":102},"author":"tessi","message":"no comment","id":"81534551-62C1-4FC9-96CB-A5AC6642CA1E"},"102":{"isSerializedDate":true,"string":"Thu May 24 2012 16:45:49 GMT+0200 (CEST)"},"103":{"date":{"__isSmartRef__":true,"id":104},"author":"tessi","message":"no comment","id":"5125DE3A-D50E-4621-8490-F3A9D99C2C4C"},"104":{"isSerializedDate":true,"string":"Thu May 24 2012 16:47:20 GMT+0200 (CEST)"},"105":{"date":{"__isSmartRef__":true,"id":106},"author":"tessi","message":"no comment","id":"C81A2FBF-CB0B-4A0B-9D63-F9AEDFCB5DA6"},"106":{"isSerializedDate":true,"string":"Thu May 24 2012 16:51:06 GMT+0200 (CEST)"},"107":{"date":{"__isSmartRef__":true,"id":108},"author":"tessi","message":"no comment","id":"DC8EF5EC-7563-45B6-816D-20E2DC218525"},"108":{"isSerializedDate":true,"string":"Thu May 24 2012 16:52:10 GMT+0200 (CEST)"},"109":{"date":{"__isSmartRef__":true,"id":110},"author":"timfelgentreff","message":"no comment","id":"E7515DFB-DE7D-4E1F-A2C3-85166DCE4942"},"110":{"isSerializedDate":true,"string":"Thu May 24 2012 16:59:39 GMT+0200 (CEST)"},"111":{"morph":{"__isSmartRef__":true,"id":68},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"112":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":113}},"113":{"test01IsMorph":{"__isSmartRef__":true,"id":114}},"114":{"varMapping":{"__isSmartRef__":true,"id":115},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":116},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"115":{"this":{"__isSmartRef__":true,"id":112}},"116":{},"117":{"sourceObj":{"__isSmartRef__":true,"id":68},"sourceAttrName":"onMouseMove","targetObj":{"__isSmartRef__":true,"id":68},"targetMethodName":"updateOnMove","varMapping":{"__isSmartRef__":true,"id":118},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"118":{"source":{"__isSmartRef__":true,"id":68},"target":{"__isSmartRef__":true,"id":68}},"119":{"sourceObj":{"__isSmartRef__":true,"id":68},"sourceAttrName":"onMouseUp","targetObj":{"__isSmartRef__":true,"id":20},"targetMethodName":"removeHighlighting","varMapping":{"__isSmartRef__":true,"id":120},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"120":{"source":{"__isSmartRef__":true,"id":68},"target":{"__isSmartRef__":true,"id":20}},"121":{"sourceObj":{"__isSmartRef__":true,"id":68},"sourceAttrName":"onMouseUp","targetObj":{"__isSmartRef__":true,"id":20},"targetMethodName":"setTarget","varMapping":{"__isSmartRef__":true,"id":122},"converterString":"function () {\n return this.sourceObj.morphUnderCursor();\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"122":{"source":{"__isSmartRef__":true,"id":68},"target":{"__isSmartRef__":true,"id":20}},"123":{"update":{"__isSmartRef__":true,"id":124},"updateOnMove":{"__isSmartRef__":true,"id":128},"bringToFront":{"__isSmartRef__":true,"id":132},"morphUnderCursor":{"__isSmartRef__":true,"id":140}},"124":{"varMapping":{"__isSmartRef__":true,"id":125},"source":"function update(morphUnderCursor) {\n if (!morphUnderCursor) return;\n if (morphUnderCursor === this.magnifierButton ||\n this.magnifierButton.submorphs.include(morphUnderCursor)) {\n morphToHighlight = this.magnifierButton.currentTarget();\n } else {\n morphToHighlight = morphUnderCursor;\n }\n\n if (morphToHighlight && morphToHighlight.world()) {\n this.setPosition(morphToHighlight.getPositionInWorld());\n this.setExtent(morphToHighlight.getExtent());\n }\n}","funcProperties":{"__isSmartRef__":true,"id":126},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"125":{"this":{"__isSmartRef__":true,"id":68}},"126":{"timestamp":{"__isSmartRef__":true,"id":127},"user":"jenslincke","tags":[]},"127":{"isSerializedDate":true,"string":"Thu Dec 13 2012 10:44:50 GMT+0100 (CET)"},"128":{"varMapping":{"__isSmartRef__":true,"id":129},"source":"function updateOnMove() {\n this.update(this.morphUnderCursor());\n this.bringToFront();\n}","funcProperties":{"__isSmartRef__":true,"id":130},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"129":{"this":{"__isSmartRef__":true,"id":68}},"130":{"timestamp":{"__isSmartRef__":true,"id":131},"user":"lauritz","tags":[]},"131":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:18:33 GMT+0200 (CEST)"},"132":{"varMapping":{"__isSmartRef__":true,"id":133},"source":"function bringToFront() {\n this.renderContext().morphNode.style.zIndex= 1000;\n}","funcProperties":{"__isSmartRef__":true,"id":138},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"133":{"this":{"__isSmartRef__":true,"id":68},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":134}},"134":{"$super":{"__isSmartRef__":true,"id":135}},"135":{"varMapping":{"__isSmartRef__":true,"id":136},"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":137},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"136":{"obj":{"__isSmartRef__":true,"id":68},"name":"bringToFront"},"137":{},"138":{"timestamp":{"__isSmartRef__":true,"id":139},"user":"lauritz","tags":[]},"139":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:12:09 GMT+0200 (CEST)"},"140":{"varMapping":{"__isSmartRef__":true,"id":141},"source":"function morphUnderCursor() {\n var that = this,\n world = lively.morphic.World.current();\n var result = world.morphsContainingPoint(world.firstHand().getPosition()).detect(\n function(ea) {\n return !ea.isPlaceholder &&\n !ea.isHalo &&\n !ea.isWorld &&\n (!ea.owner || !ea.owner.isHalo) &&\n !(ea === that);\n });\n if (result == world) \n return null;\n else\n return result;\n}","funcProperties":{"__isSmartRef__":true,"id":142},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"141":{"this":{"__isSmartRef__":true,"id":68}},"142":{"timestamp":{"__isSmartRef__":true,"id":143},"user":"jenslincke","tags":[]},"143":{"isSerializedDate":true,"string":"Thu Dec 13 2012 10:44:22 GMT+0100 (CET)"},"144":{"moveHorizontal":true},"145":{"morph":{"__isSmartRef__":true,"id":20},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(813.3,869.3)"},"146":{"morph":{"__isSmartRef__":true,"id":20},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(845.1,869.3)"},"147":{"morph":{"__isSmartRef__":true,"id":20},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(877.0,869.3)"},"148":{"morph":{"__isSmartRef__":true,"id":20},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(877.0,879.7)"},"149":{"morph":{"__isSmartRef__":true,"id":20},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(877.0,890.1)"},"150":{"morph":{"__isSmartRef__":true,"id":20},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(845.1,890.1)"},"151":{"morph":{"__isSmartRef__":true,"id":20},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(813.3,890.1)"},"152":{"morph":{"__isSmartRef__":true,"id":20},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(813.3,879.7)"},"153":{"onFire":{"__isSmartRef__":true,"id":154},"removeHighlighting":{"__isSmartRef__":true,"id":158},"onMouseMove":{"__isSmartRef__":true,"id":162},"onMouseOut":{"__isSmartRef__":true,"id":170},"reset":{"__isSmartRef__":true,"id":178},"isTracking":{"__isSmartRef__":true,"id":182},"isHighlighting":{"__isSmartRef__":true,"id":186},"currentTarget":{"__isSmartRef__":true,"id":190},"setTarget":{"__isSmartRef__":true,"id":194}},"154":{"varMapping":{"__isSmartRef__":true,"id":155},"source":"function onFire() {\n var hand = lively.morphic.World.current().firstHand(),\n highlight = this.highlightRectangle,\n that = this;\n\n if (this.isTracking()) {\n this.removeHighlighting();\n } else {\n this.world().addMorph(highlight);\n hand.highlightConnection = connect(hand, \"scrollFocusMorph\", highlight, \"update\");\n highlight.bringToFront();\n if (!this.currentTarget() || !this.currentTarget().world()) {\n highlight.setExtent(pt(0,0));\n }\n }\n}","funcProperties":{"__isSmartRef__":true,"id":156},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"155":{"this":{"__isSmartRef__":true,"id":20}},"156":{"timestamp":{"__isSmartRef__":true,"id":157},"user":"lauritz","tags":[]},"157":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:40:51 GMT+0200 (CEST)"},"158":{"varMapping":{"__isSmartRef__":true,"id":159},"source":"function removeHighlighting() {\n var hand = this.world().firstHand();\n \n if (this.highlightRectangle) {\n this.highlightRectangle.remove();\n }\n \n hand.attributeConnections.removeAt(\n hand.attributeConnections.indexOf(hand.highlightConnection));\n hand.highlightConnection = null;\n}","funcProperties":{"__isSmartRef__":true,"id":160},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"159":{"this":{"__isSmartRef__":true,"id":20}},"160":{"timestamp":{"__isSmartRef__":true,"id":161},"user":"lauritz","tags":[]},"161":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:20:30 GMT+0200 (CEST)"},"162":{"varMapping":{"__isSmartRef__":true,"id":163},"source":"function onMouseMove(evt) {\n var target = this.currentTarget();\n if (target && target.world() && !this.isHighlighting()) {\n this.highlightRectangle.update(target);\n this.world().addMorph(this.highlightRectangle);\n this.highlightRectangle.bringToFront();\n this.targetHighlight = this.highlightRectangle;\n }\n}","funcProperties":{"__isSmartRef__":true,"id":168},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"163":{"this":{"__isSmartRef__":true,"id":20},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":164}},"164":{"$super":{"__isSmartRef__":true,"id":165}},"165":{"varMapping":{"__isSmartRef__":true,"id":166},"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":167},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"166":{"obj":{"__isSmartRef__":true,"id":20},"name":"onMouseMove"},"167":{},"168":{"timestamp":{"__isSmartRef__":true,"id":169},"user":"lauritz","tags":[]},"169":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:25:52 GMT+0200 (CEST)"},"170":{"varMapping":{"__isSmartRef__":true,"id":171},"source":"function onMouseOut() {\n if (this.isHighlighting()) {\n if (!this.isTracking()) {\n this.targetHighlight.remove();\n }\n delete this.targetHighlight;\n }\n}","funcProperties":{"__isSmartRef__":true,"id":176},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"171":{"this":{"__isSmartRef__":true,"id":20},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":172}},"172":{"$super":{"__isSmartRef__":true,"id":173}},"173":{"varMapping":{"__isSmartRef__":true,"id":174},"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":175},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"174":{"obj":{"__isSmartRef__":true,"id":20},"name":"onMouseOut"},"175":{},"176":{"timestamp":{"__isSmartRef__":true,"id":177},"user":"lauritz","tags":[]},"177":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:21:57 GMT+0200 (CEST)"},"178":{"varMapping":{"__isSmartRef__":true,"id":179},"source":"function reset() {\n this.highlightRectangle.attributeConnections = [];\n \n var r = this.highlightRectangle;\n r.isMetaTool = true;\n disconnectAll(r)\n connect(r, \"onMouseMove\", this.highlightRectangle, \"updateOnMove\")\n connect(r, \"onMouseUp\", this, \"removeHighlighting\")\n connect(r, \"onMouseUp\", this, \"setTarget\",\n {converter: function () {\n return this.sourceObj.morphUnderCursor();\n }\n })\n}","funcProperties":{"__isSmartRef__":true,"id":180},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"179":{"this":{"__isSmartRef__":true,"id":20}},"180":{"timestamp":{"__isSmartRef__":true,"id":181},"user":"jenslincke","tags":[]},"181":{"isSerializedDate":true,"string":"Thu Dec 13 2012 10:39:09 GMT+0100 (CET)"},"182":{"varMapping":{"__isSmartRef__":true,"id":183},"source":"function isTracking() {\n return !!this.world().firstHand().highlightConnection;\n}","funcProperties":{"__isSmartRef__":true,"id":184},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"183":{"this":{"__isSmartRef__":true,"id":20}},"184":{"timestamp":{"__isSmartRef__":true,"id":185},"user":"lauritz","tags":[]},"185":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:11:25 GMT+0200 (CEST)"},"186":{"varMapping":{"__isSmartRef__":true,"id":187},"source":"function isHighlighting() {\n return !!this.targetHighlight;\n}","funcProperties":{"__isSmartRef__":true,"id":188},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"187":{"this":{"__isSmartRef__":true,"id":20}},"188":{"timestamp":{"__isSmartRef__":true,"id":189},"user":"lauritz","tags":[]},"189":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:11:22 GMT+0200 (CEST)"},"190":{"varMapping":{"__isSmartRef__":true,"id":191},"source":"function currentTarget() {\n return this.owner.target;\n}","funcProperties":{"__isSmartRef__":true,"id":192},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"191":{"this":{"__isSmartRef__":true,"id":20}},"192":{"timestamp":{"__isSmartRef__":true,"id":193},"user":"lauritz","tags":[]},"193":{"isSerializedDate":true,"string":"Wed Jun 06 2012 18:26:02 GMT+0200 (CEST)"},"194":{"varMapping":{"__isSmartRef__":true,"id":195},"source":"function setTarget(obj) {\n this.owner.setTarget(obj)\n}","funcProperties":{"__isSmartRef__":true,"id":196},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"195":{"this":{"__isSmartRef__":true,"id":20}},"196":{"timestamp":{"__isSmartRef__":true,"id":197},"user":"jenslincke","tags":[]},"197":{"isSerializedDate":true,"string":"Thu Dec 13 2012 10:27:04 GMT+0100 (CET)"},"198":{"fill":null,"_BorderWidth":0,"_ClipMode":"visible","_BorderRadius":17.78,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding","_Fill"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(2.0,18.0)","_Extent":"lively.pt(847.0,55.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(4,2,0,0)","_Fill":"Color.rgb(223,249,127)"},"199":{"partsSpaceName":"PartsBin/Jens","migrationLevel":4,"comment":"a simple text morph","partName":"SpecialSyntaxWorkspace","changes":[{"__isSmartRef__":true,"id":200},{"__isSmartRef__":true,"id":202},{"__isSmartRef__":true,"id":204},{"__isSmartRef__":true,"id":206},{"__isSmartRef__":true,"id":208},{"__isSmartRef__":true,"id":210},{"__isSmartRef__":true,"id":212},{"__isSmartRef__":true,"id":214},{"__isSmartRef__":true,"id":216}],"revisionOnLoad":186537,"lastModifiedDate":{"__isSmartRef__":true,"id":218},"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"200":{"date":{"__isSmartRef__":true,"id":201},"author":"robertkrahn","message":"text click was broken?","id":"9D065E14-9653-4B2A-9A2E-3AD84EBBC3E0"},"201":{"isSerializedDate":true,"string":"Sat Apr 21 2012 16:30:30 GMT+0200 (CEST)"},"202":{"date":{"__isSmartRef__":true,"id":203},"author":"undefined","message":"Set the inset as: this.setPadding(Rectangle.inset(4,2)). This gives it a more pleasing appearance with a border, and also makes it easier to select near the bounds.","id":"BD5B0E4C-4830-4863-A013-35BB66D5AD6F"},"203":{"isSerializedDate":true,"string":"Mon Feb 27 2012 06:20:38 GMT+0100 (CET)"},"204":{"date":{"__isSmartRef__":true,"id":205},"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"0F4DE333-A551-4961-B29D-70270977EBEF"},"205":{"isSerializedDate":true,"string":"Sat Apr 21 2012 07:31:43 GMT+0200 (CEST)"},"206":{"date":{"__isSmartRef__":true,"id":207},"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"785D95BD-7858-43EB-90E6-A1C085E2F2B9"},"207":{"isSerializedDate":true,"string":"Sat Apr 21 2012 07:32:09 GMT+0200 (CEST)"},"208":{"date":{"__isSmartRef__":true,"id":209},"author":"timfelgentreff","message":"better text","id":"B904F9AC-6EA0-4A8A-83C9-AFC85AADC194"},"209":{"isSerializedDate":true,"string":"Tue May 08 2012 14:18:18 GMT+0200 (CEST)"},"210":{"date":{"__isSmartRef__":true,"id":211},"author":"jenslincke","message":"no comment","id":"FBFBFDA1-7B2B-4E09-B7EC-270BD1E20D91"},"211":{"isSerializedDate":true,"string":"Tue Dec 11 2012 12:05:06 GMT+0100 (CET)"},"212":{"date":{"__isSmartRef__":true,"id":213},"author":"jenslincke","message":"no comment","id":"4867AA9B-8A78-46E2-A531-138A243E78F9"},"213":{"isSerializedDate":true,"string":"Tue Dec 11 2012 12:07:25 GMT+0100 (CET)"},"214":{"date":{"__isSmartRef__":true,"id":215},"author":"jenslincke","message":"no comment","id":"E9F4BC8B-D5C2-42F9-A1D1-E7D3843A9A3B"},"215":{"isSerializedDate":true,"string":"Thu Dec 13 2012 10:14:18 GMT+0100 (CET)"},"216":{"date":{"__isSmartRef__":true,"id":217},"author":"jenslincke","message":"no comment","id":"5A416C80-0936-40FE-B19A-D8B3AB3E243C"},"217":{"isSerializedDate":true,"string":"Thu Dec 13 2012 10:29:08 GMT+0100 (CET)"},"218":{"isSerializedDate":true,"string":"Thu Dec 13 2012 10:28:45 GMT+0100 (CET)"},"219":{"style":{"__isSmartRef__":true,"id":220},"chunkOwner":{"__isSmartRef__":true,"id":19},"_id":"_7","storedString":"#Line.connect(#A, #B)\n\n#Line.connect(#A, #C)","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"220":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"221":{"morph":{"__isSmartRef__":true,"id":19},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"222":{"morph":{"__isSmartRef__":true,"id":19},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(28.9,874.3)"},"223":{"morph":{"__isSmartRef__":true,"id":19},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(452.4,874.3)"},"224":{"morph":{"__isSmartRef__":true,"id":19},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(875.9,874.3)"},"225":{"morph":{"__isSmartRef__":true,"id":19},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(875.9,901.8)"},"226":{"morph":{"__isSmartRef__":true,"id":19},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(875.9,929.3)"},"227":{"morph":{"__isSmartRef__":true,"id":19},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(452.4,929.3)"},"228":{"morph":{"__isSmartRef__":true,"id":19},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(28.9,929.3)"},"229":{"morph":{"__isSmartRef__":true,"id":19},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(28.9,901.8)"},"230":{"sourceObj":{"__isSmartRef__":true,"id":19},"sourceAttrName":"textString","targetObj":{"__isSmartRef__":true,"id":19},"targetMethodName":"highlightSyntaxDebounced","varMapping":{"__isSmartRef__":true,"id":231},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"231":{"source":{"__isSmartRef__":true,"id":19},"target":{"__isSmartRef__":true,"id":19}},"232":{"submorphs":[{"__isSmartRef__":true,"id":233},{"__isSmartRef__":true,"id":521},{"__isSmartRef__":true,"id":304},{"__isSmartRef__":true,"id":404}],"scripts":[],"id":"81795DC6-889C-4FC6-B336-BAB6D7FC3CBD","shape":{"__isSmartRef__":true,"id":545},"__layered_droppingEnabled__":true,"halosEnabled":true,"showsHalos":false,"_isInFullScreen":false,"_traitConfig_":{"__isSmartRef__":true,"id":546},"draggingEnabled":true,"partsBinMetaInfo":{"__isSmartRef__":true,"id":548},"isCopyMorphRef":true,"morphRefId":1,"derivationIds":[1708],"eventHandler":{"__isSmartRef__":true,"id":550},"_ClipMode":"visible","moved":true,"name":"Figure1","prevScroll":[0,0],"magnets":[{"__isSmartRef__":true,"id":551},{"__isSmartRef__":true,"id":552},{"__isSmartRef__":true,"id":553},{"__isSmartRef__":true,"id":554},{"__isSmartRef__":true,"id":555},{"__isSmartRef__":true,"id":556},{"__isSmartRef__":true,"id":557},{"__isSmartRef__":true,"id":558}],"attributeConnections":[{"__isSmartRef__":true,"id":559},{"__isSmartRef__":true,"id":374},{"__isSmartRef__":true,"id":376},{"__isSmartRef__":true,"id":378},{"__isSmartRef__":true,"id":380},{"__isSmartRef__":true,"id":394},{"__isSmartRef__":true,"id":396},{"__isSmartRef__":true,"id":398},{"__isSmartRef__":true,"id":400},{"__isSmartRef__":true,"id":474},{"__isSmartRef__":true,"id":476},{"__isSmartRef__":true,"id":478},{"__isSmartRef__":true,"id":480}],"doNotSerialize":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"doNotCopyProperties":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"_Scale":1,"_Rotation":0,"owner":{"__isSmartRef__":true,"id":0},"__serializedExpressions__":["distanceToDragEvent","_Position"],"__LivelyClassName__":"lively.Presentation.PageMorph","__SourceModuleName__":"Global.lively.Presentation","distanceToDragEvent":"lively.pt(511.9,-14.0)","_Position":"lively.pt(42.0,110.0)"},"233":{"submorphs":[{"__isSmartRef__":true,"id":234}],"scripts":[],"shape":{"__isSmartRef__":true,"id":294},"id":"A8D5C37A-F23F-47FE-8DE2-211CE4484A4F","eventHandler":{"__isSmartRef__":true,"id":297},"__layered_droppingEnabled__":true,"halosEnabled":true,"isBeingDragged":false,"controlPoints":[{"__isSmartRef__":true,"id":298},{"__isSmartRef__":true,"id":299}],"showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":300},"name":"Line","derivationIds":[731,"5E6BD741-9C99-47B9-95C1-7A028178DB17"],"_ClipMode":"visible","controlPointsHalos":[],"prevScroll":[0,0],"grabbingEnabled":false,"moved":true,"#startLetters":"controlPoints[0]","fromMorph":{"__isSmartRef__":true,"id":304},"toMorph":{"__isSmartRef__":true,"id":404},"update":{"__isSmartRef__":true,"id":382},"isCopyMorphRef":true,"morphRefId":1,"_Scale":1,"_Rotation":0,"owner":{"__isSmartRef__":true,"id":232},"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":484},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","distanceToDragEvent":"lively.pt(78.8,-14.7)","_Position":"lively.pt(434.4,10.6)"},"234":{"submorphs":[{"__isSmartRef__":true,"id":235}],"scripts":[],"id":"5B810AFE-E692-4EB4-A695-ABB4A95CEA39","shape":{"__isSmartRef__":true,"id":259},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"C","partsBinMetaInfo":{"__isSmartRef__":true,"id":260},"eventHandler":{"__isSmartRef__":true,"id":278},"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","BBAFB862-93AE-4F89-BCFF-9F1C67B7FE4C","7EC17E78-593A-4CC8-B7E3-859BCBBFE785","FDB06D4A-9F4E-4B8C-A67C-671A9583EFE8","1C80FDE1-05C0-4148-9AD8-33C88667084C","5059E383-6BE3-4AD3-A9C4-89DA9D8D5E99"],"partTests":{"__isSmartRef__":true,"id":279},"_ClipMode":"visible","moved":true,"isBeingDragged":false,"magnets":[{"__isSmartRef__":true,"id":284},{"__isSmartRef__":true,"id":285},{"__isSmartRef__":true,"id":286},{"__isSmartRef__":true,"id":287},{"__isSmartRef__":true,"id":288},{"__isSmartRef__":true,"id":289},{"__isSmartRef__":true,"id":290},{"__isSmartRef__":true,"id":291}],"attributeConnections":[{"__isSmartRef__":true,"id":292}],"doNotSerialize":["$$name"],"doNotCopyProperties":["$$name"],"isCopyMorphRef":true,"morphRefId":1,"prevScroll":[0,0],"_Scale":1,"_Rotation":0,"owner":{"__isSmartRef__":true,"id":233},"__serializedExpressions__":["distanceToDragEvent","_Position"],"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","distanceToDragEvent":"lively.pt(76.9,-17.0)","_Position":"lively.pt(-158.3,52.0)"},"235":{"submorphs":[],"scripts":[],"id":"E6E38336-AA2D-4F75-80C1-B1617DD8544E","shape":{"__isSmartRef__":true,"id":236},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":180.8018403394826,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":19,"name":"NameLabel2","partsBinMetaInfo":{"__isSmartRef__":true,"id":237},"textChunks":[{"__isSmartRef__":true,"id":239}],"charsReplaced":"B1","lastFindLoc":2,"prevScroll":[0,0],"attributeConnections":[{"__isSmartRef__":true,"id":241},{"__isSmartRef__":true,"id":242}],"doNotSerialize":["$$owner","$$savedTextString"],"doNotCopyProperties":["$$owner","$$savedTextString"],"isInputLine":true,"savedTextString":"C","eventHandler":{"__isSmartRef__":true,"id":243},"derivationIds":[7027,"331C6367-0699-4BD6-9916-ABA82517453B","BEAA7850-FEFB-4AFD-9E06-730FF35D99A4","559B0B8A-5C01-4133-88B2-0D08385E23F6","BE195383-D309-4B6E-A6B0-79A6112B4011","E323F75A-232F-4712-9A03-20C8FD574C9A"],"_WhiteSpaceHandling":"pre-wrap","_ClipMode":"visible","moved":true,"isBeingDragged":false,"_WordBreak":"break-all","magnets":[{"__isSmartRef__":true,"id":244},{"__isSmartRef__":true,"id":245},{"__isSmartRef__":true,"id":246},{"__isSmartRef__":true,"id":247},{"__isSmartRef__":true,"id":248},{"__isSmartRef__":true,"id":249},{"__isSmartRef__":true,"id":250},{"__isSmartRef__":true,"id":251}],"_PreviousBorderWidth":1,"owner":{"__isSmartRef__":true,"id":234},"oldOwner":{"__isSmartRef__":true,"id":234},"_Rotation":0,"_Scale":0.9999999999999997,"__serializedExpressions__":["_Position","textColor","distanceToDragEvent","_TextColor"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":252},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(34.8,36.8)","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(31.1,-9.9)","_TextColor":"Color.rgb(255,143,0)"},"236":{"fill":null,"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(42.8,29.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"237":{"migrationLevel":2,"comment":"Label that shows the name of a morph. Updates automatically.","partName":"NameLabel","lastModifiedDate":{"__isSmartRef__":true,"id":238},"revisionOnLoad":140039,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"238":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (CEST)"},"239":{"style":{"__isSmartRef__":true,"id":240},"chunkOwner":{"__isSmartRef__":true,"id":235},"_id":"_9293","storedString":"C","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"240":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"241":{"sourceObj":{"__isSmartRef__":true,"id":235},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":235},"targetMethodName":"updateLabel","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"242":{"sourceObj":{"__isSmartRef__":true,"id":235},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":235},"targetMethodName":"renameOwner","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"243":{"morph":{"__isSmartRef__":true,"id":235},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"244":{"morph":{"__isSmartRef__":true,"id":235},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(339.8,604.3)"},"245":{"morph":{"__isSmartRef__":true,"id":235},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(361.2,604.3)"},"246":{"morph":{"__isSmartRef__":true,"id":235},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(382.6,604.3)"},"247":{"morph":{"__isSmartRef__":true,"id":235},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(382.6,618.8)"},"248":{"morph":{"__isSmartRef__":true,"id":235},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(382.6,633.3)"},"249":{"morph":{"__isSmartRef__":true,"id":235},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(361.2,633.3)"},"250":{"morph":{"__isSmartRef__":true,"id":235},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(339.8,633.3)"},"251":{"morph":{"__isSmartRef__":true,"id":235},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(339.8,618.8)"},"252":{"updateLabel":{"__isSmartRef__":true,"id":253},"renameOwner":{"__isSmartRef__":true,"id":256}},"253":{"varMapping":{"__isSmartRef__":true,"id":254},"source":"function updateLabel() {\n\t// observe name changes in owner\n\tif (this.owner !== this.oldOwner) {\n\t\tif (this.oldOwner)\n\t\t\tdisconnect(this.oldOwner, 'name', this, 'updateLabel')\n\t\tif (this.owner)\n\t\t\tconnect(this.owner, 'name', this, 'updateLabel')\n\t\tthis.oldOwner = this.owner\n\t}\n\tvar name = (this.owner ? this.owner.name : \"no owner\")\n\tif (this.textString != name)\n\tthis.setTextString(name)\n}","funcProperties":{"__isSmartRef__":true,"id":255},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"254":{"this":{"__isSmartRef__":true,"id":235}},"255":{},"256":{"varMapping":{"__isSmartRef__":true,"id":257},"source":"function renameOwner(name) {\n\tif (this.owner && this.owner.name != name) {\n\t\talertOK(\"renamed \" + this.owner + \" to \" + name)\n\t\tthis.owner.setName(name);\n\t}\n}","funcProperties":{"__isSmartRef__":true,"id":258},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"257":{"this":{"__isSmartRef__":true,"id":235}},"258":{},"259":{"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(100.0,100.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgba(204,204,204,0.5)","_Padding":"lively.rect(0,0,0,0)"},"260":{"partsSpaceName":"PartsBin/Basic","comment":"A simple box morph. A really orange one. Its amazing what you can build out of simple boxes.... Who needs stars when you got orange rectangles!","migrationLevel":4,"partName":"Rectangle","changes":[{"__isSmartRef__":true,"id":261},{"__isSmartRef__":true,"id":263},{"__isSmartRef__":true,"id":265},{"__isSmartRef__":true,"id":267},{"__isSmartRef__":true,"id":269},{"__isSmartRef__":true,"id":271},{"__isSmartRef__":true,"id":273},{"__isSmartRef__":true,"id":275}],"lastModifiedDate":{"__isSmartRef__":true,"id":277},"revisionOnLoad":184624,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"261":{"date":{"__isSmartRef__":true,"id":262},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"262":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"263":{"date":{"__isSmartRef__":true,"id":264},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"264":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"265":{"date":{"__isSmartRef__":true,"id":266},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"266":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"267":{"date":{"__isSmartRef__":true,"id":268},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"268":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"269":{"date":{"__isSmartRef__":true,"id":270},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"270":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"271":{"date":{"__isSmartRef__":true,"id":272},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"272":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"273":{"date":{"__isSmartRef__":true,"id":274},"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8"},"274":{"isSerializedDate":true,"string":"Mon Jun 18 2012 19:35:08 GMT+0200 (CEST)"},"275":{"date":{"__isSmartRef__":true,"id":276},"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205"},"276":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:35:51 GMT+0100 (CET)"},"277":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:33:25 GMT+0100 (CET)"},"278":{"morph":{"__isSmartRef__":true,"id":234},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"279":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":280}},"280":{"test01IsMorph":{"__isSmartRef__":true,"id":281}},"281":{"varMapping":{"__isSmartRef__":true,"id":282},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":283},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"282":{"this":{"__isSmartRef__":true,"id":279}},"283":{},"284":{"morph":{"__isSmartRef__":true,"id":234},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(305.0,567.5)"},"285":{"morph":{"__isSmartRef__":true,"id":234},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(355.0,567.5)"},"286":{"morph":{"__isSmartRef__":true,"id":234},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(405.0,567.5)"},"287":{"morph":{"__isSmartRef__":true,"id":234},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(405.0,617.5)"},"288":{"morph":{"__isSmartRef__":true,"id":234},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(405.0,667.5)"},"289":{"morph":{"__isSmartRef__":true,"id":234},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(355.0,667.5)"},"290":{"morph":{"__isSmartRef__":true,"id":234},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(305.0,667.5)"},"291":{"morph":{"__isSmartRef__":true,"id":234},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(305.0,617.5)"},"292":{"sourceObj":{"__isSmartRef__":true,"id":234},"sourceAttrName":"name","targetObj":{"__isSmartRef__":true,"id":235},"targetMethodName":"updateLabel","varMapping":{"__isSmartRef__":true,"id":293},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"293":{"source":{"__isSmartRef__":true,"id":234},"target":{"__isSmartRef__":true,"id":235}},"294":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":295},{"__isSmartRef__":true,"id":296}],"_ClipMode":"visible","_BorderWidth":3.1119999999999997,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Padding","_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(-321.6,75.4)","_Extent":"lively.pt(525.6,18.7)","_BorderColor":"Color.rgb(161,161,161)"},"295":{"isAbsolute":true,"x":-319.59999999999997,"y":77.4,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"296":{"isAbsolute":true,"x":203,"y":93.1,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"297":{"morph":{"__isSmartRef__":true,"id":233},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"298":{"morph":{"__isSmartRef__":true,"id":233},"index":0,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"299":{"morph":{"__isSmartRef__":true,"id":233},"index":1,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"300":{"requiredModules":[],"migrationLevel":4,"partsSpaceName":"PartsBin/Jens/","comment":"a line","partName":"Connector","lastModifiedDate":{"__isSmartRef__":true,"id":301},"revisionOnLoad":186528,"changes":[{"__isSmartRef__":true,"id":302}],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"301":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:18 GMT+0100 (CET)"},"302":{"date":{"__isSmartRef__":true,"id":303},"author":"jenslincke","message":"no comment","id":"28165CED-C8C5-4B8E-9655-645E3F5099BB"},"303":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:42 GMT+0100 (CET)"},"304":{"submorphs":[{"__isSmartRef__":true,"id":305}],"scripts":[],"id":"1C80FDE1-05C0-4148-9AD8-33C88667084C","shape":{"__isSmartRef__":true,"id":329},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"A","partsBinMetaInfo":{"__isSmartRef__":true,"id":330},"eventHandler":{"__isSmartRef__":true,"id":348},"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","BBAFB862-93AE-4F89-BCFF-9F1C67B7FE4C","7EC17E78-593A-4CC8-B7E3-859BCBBFE785","FDB06D4A-9F4E-4B8C-A67C-671A9583EFE8"],"partTests":{"__isSmartRef__":true,"id":349},"_ClipMode":"visible","moved":true,"isBeingDragged":false,"magnets":[{"__isSmartRef__":true,"id":354},{"__isSmartRef__":true,"id":355},{"__isSmartRef__":true,"id":356},{"__isSmartRef__":true,"id":357},{"__isSmartRef__":true,"id":358},{"__isSmartRef__":true,"id":359},{"__isSmartRef__":true,"id":360},{"__isSmartRef__":true,"id":361}],"attributeConnections":[{"__isSmartRef__":true,"id":362},{"__isSmartRef__":true,"id":364},{"__isSmartRef__":true,"id":366},{"__isSmartRef__":true,"id":368},{"__isSmartRef__":true,"id":370},{"__isSmartRef__":true,"id":372},{"__isSmartRef__":true,"id":384},{"__isSmartRef__":true,"id":386},{"__isSmartRef__":true,"id":388},{"__isSmartRef__":true,"id":390},{"__isSmartRef__":true,"id":392}],"doNotSerialize":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"doNotCopyProperties":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"isCopyMorphRef":true,"morphRefId":1,"prevScroll":[0,0],"_Scale":1,"_Rotation":0,"owner":{"__isSmartRef__":true,"id":232},"__serializedExpressions__":["distanceToDragEvent","_Position"],"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","distanceToDragEvent":"lively.pt(60.9,-16.0)","_Position":"lively.pt(64.8,38.0)"},"305":{"submorphs":[],"scripts":[],"id":"BE195383-D309-4B6E-A6B0-79A6112B4011","shape":{"__isSmartRef__":true,"id":306},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":180.8018403394826,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":19,"name":"NameLabel2","partsBinMetaInfo":{"__isSmartRef__":true,"id":307},"textChunks":[{"__isSmartRef__":true,"id":309}],"charsReplaced":"Rectangle1","lastFindLoc":10,"prevScroll":[0,0],"attributeConnections":[{"__isSmartRef__":true,"id":311},{"__isSmartRef__":true,"id":312}],"doNotSerialize":["$$owner","$$savedTextString"],"doNotCopyProperties":["$$owner","$$savedTextString"],"isInputLine":true,"savedTextString":"B","eventHandler":{"__isSmartRef__":true,"id":313},"derivationIds":[7027,"331C6367-0699-4BD6-9916-ABA82517453B","BEAA7850-FEFB-4AFD-9E06-730FF35D99A4","559B0B8A-5C01-4133-88B2-0D08385E23F6"],"_WhiteSpaceHandling":"pre-wrap","_ClipMode":"visible","moved":true,"isBeingDragged":false,"_WordBreak":"break-all","magnets":[{"__isSmartRef__":true,"id":314},{"__isSmartRef__":true,"id":315},{"__isSmartRef__":true,"id":316},{"__isSmartRef__":true,"id":317},{"__isSmartRef__":true,"id":318},{"__isSmartRef__":true,"id":319},{"__isSmartRef__":true,"id":320},{"__isSmartRef__":true,"id":321}],"_PreviousBorderWidth":1,"owner":{"__isSmartRef__":true,"id":304},"oldOwner":{"__isSmartRef__":true,"id":304},"previousSelection":[0,1],"_Rotation":0,"_Scale":0.9999999999999997,"__serializedExpressions__":["_Position","textColor","distanceToDragEvent","_TextColor"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":322},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(34.8,36.8)","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(31.1,-9.9)","_TextColor":"Color.rgb(255,143,0)"},"306":{"fill":null,"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(42.8,29.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"307":{"migrationLevel":2,"comment":"Label that shows the name of a morph. Updates automatically.","partName":"NameLabel","lastModifiedDate":{"__isSmartRef__":true,"id":308},"revisionOnLoad":140039,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"308":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (CEST)"},"309":{"style":{"__isSmartRef__":true,"id":310},"chunkOwner":{"__isSmartRef__":true,"id":305},"_id":"_4888","storedString":"A","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"310":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"311":{"sourceObj":{"__isSmartRef__":true,"id":305},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":305},"targetMethodName":"updateLabel","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"312":{"sourceObj":{"__isSmartRef__":true,"id":305},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":305},"targetMethodName":"renameOwner","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"313":{"morph":{"__isSmartRef__":true,"id":305},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"314":{"morph":{"__isSmartRef__":true,"id":305},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(128.5,579.7)"},"315":{"morph":{"__isSmartRef__":true,"id":305},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(149.9,579.7)"},"316":{"morph":{"__isSmartRef__":true,"id":305},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(171.3,579.7)"},"317":{"morph":{"__isSmartRef__":true,"id":305},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(171.3,594.2)"},"318":{"morph":{"__isSmartRef__":true,"id":305},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(171.3,608.7)"},"319":{"morph":{"__isSmartRef__":true,"id":305},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(149.9,608.7)"},"320":{"morph":{"__isSmartRef__":true,"id":305},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(128.5,608.7)"},"321":{"morph":{"__isSmartRef__":true,"id":305},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(128.5,594.2)"},"322":{"updateLabel":{"__isSmartRef__":true,"id":323},"renameOwner":{"__isSmartRef__":true,"id":326}},"323":{"varMapping":{"__isSmartRef__":true,"id":324},"source":"function updateLabel() {\n\t// observe name changes in owner\n\tif (this.owner !== this.oldOwner) {\n\t\tif (this.oldOwner)\n\t\t\tdisconnect(this.oldOwner, 'name', this, 'updateLabel')\n\t\tif (this.owner)\n\t\t\tconnect(this.owner, 'name', this, 'updateLabel')\n\t\tthis.oldOwner = this.owner\n\t}\n\tvar name = (this.owner ? this.owner.name : \"no owner\")\n\tif (this.textString != name)\n\tthis.setTextString(name)\n}","funcProperties":{"__isSmartRef__":true,"id":325},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"324":{"this":{"__isSmartRef__":true,"id":305}},"325":{},"326":{"varMapping":{"__isSmartRef__":true,"id":327},"source":"function renameOwner(name) {\n\tif (this.owner && this.owner.name != name) {\n\t\talertOK(\"renamed \" + this.owner + \" to \" + name)\n\t\tthis.owner.setName(name);\n\t}\n}","funcProperties":{"__isSmartRef__":true,"id":328},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"327":{"this":{"__isSmartRef__":true,"id":305}},"328":{},"329":{"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(100.0,100.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgba(204,204,204,0.5)","_Padding":"lively.rect(0,0,0,0)"},"330":{"partsSpaceName":"PartsBin/Basic","comment":"A simple box morph. A really orange one. Its amazing what you can build out of simple boxes.... Who needs stars when you got orange rectangles!","migrationLevel":4,"partName":"Rectangle","changes":[{"__isSmartRef__":true,"id":331},{"__isSmartRef__":true,"id":333},{"__isSmartRef__":true,"id":335},{"__isSmartRef__":true,"id":337},{"__isSmartRef__":true,"id":339},{"__isSmartRef__":true,"id":341},{"__isSmartRef__":true,"id":343},{"__isSmartRef__":true,"id":345}],"lastModifiedDate":{"__isSmartRef__":true,"id":347},"revisionOnLoad":184624,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"331":{"date":{"__isSmartRef__":true,"id":332},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"332":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"333":{"date":{"__isSmartRef__":true,"id":334},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"334":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"335":{"date":{"__isSmartRef__":true,"id":336},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"336":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"337":{"date":{"__isSmartRef__":true,"id":338},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"338":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"339":{"date":{"__isSmartRef__":true,"id":340},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"340":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"341":{"date":{"__isSmartRef__":true,"id":342},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"342":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"343":{"date":{"__isSmartRef__":true,"id":344},"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8"},"344":{"isSerializedDate":true,"string":"Mon Jun 18 2012 19:35:08 GMT+0200 (CEST)"},"345":{"date":{"__isSmartRef__":true,"id":346},"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205"},"346":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:35:51 GMT+0100 (CET)"},"347":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:33:25 GMT+0100 (CET)"},"348":{"morph":{"__isSmartRef__":true,"id":304},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"349":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":350}},"350":{"test01IsMorph":{"__isSmartRef__":true,"id":351}},"351":{"varMapping":{"__isSmartRef__":true,"id":352},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":353},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"352":{"this":{"__isSmartRef__":true,"id":349}},"353":{},"354":{"morph":{"__isSmartRef__":true,"id":304},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(93.7,542.9)"},"355":{"morph":{"__isSmartRef__":true,"id":304},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(143.7,542.9)"},"356":{"morph":{"__isSmartRef__":true,"id":304},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(193.7,542.9)"},"357":{"morph":{"__isSmartRef__":true,"id":304},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(193.7,592.9)"},"358":{"morph":{"__isSmartRef__":true,"id":304},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(193.7,642.9)"},"359":{"morph":{"__isSmartRef__":true,"id":304},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(143.7,642.9)"},"360":{"morph":{"__isSmartRef__":true,"id":304},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(93.7,642.9)"},"361":{"morph":{"__isSmartRef__":true,"id":304},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(93.7,592.9)"},"362":{"sourceObj":{"__isSmartRef__":true,"id":304},"sourceAttrName":"name","targetObj":{"__isSmartRef__":true,"id":305},"targetMethodName":"updateLabel","varMapping":{"__isSmartRef__":true,"id":363},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"363":{"source":{"__isSmartRef__":true,"id":304},"target":{"__isSmartRef__":true,"id":305}},"364":{"sourceObj":{"__isSmartRef__":true,"id":304},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":233},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":365},"dependendConnections":[{"__isSmartRef__":true,"id":366},{"__isSmartRef__":true,"id":368},{"__isSmartRef__":true,"id":370},{"__isSmartRef__":true,"id":372},{"__isSmartRef__":true,"id":374},{"__isSmartRef__":true,"id":376},{"__isSmartRef__":true,"id":378},{"__isSmartRef__":true,"id":380}],"oldTransform":{"__isSmartRef__":true,"id":382},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"365":{"source":{"__isSmartRef__":true,"id":304},"target":{"__isSmartRef__":true,"id":233}},"366":{"sourceObj":{"__isSmartRef__":true,"id":304},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":364},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":367},"dependedBy":{"__isSmartRef__":true,"id":364},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"367":{"source":{"__isSmartRef__":true,"id":304},"target":{"__isSmartRef__":true,"id":364}},"368":{"sourceObj":{"__isSmartRef__":true,"id":304},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":364},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":369},"dependedBy":{"__isSmartRef__":true,"id":364},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"369":{"source":{"__isSmartRef__":true,"id":304},"target":{"__isSmartRef__":true,"id":364}},"370":{"sourceObj":{"__isSmartRef__":true,"id":304},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":364},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":371},"dependedBy":{"__isSmartRef__":true,"id":364},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"371":{"source":{"__isSmartRef__":true,"id":304},"target":{"__isSmartRef__":true,"id":364}},"372":{"sourceObj":{"__isSmartRef__":true,"id":304},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":364},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":373},"dependedBy":{"__isSmartRef__":true,"id":364},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"373":{"source":{"__isSmartRef__":true,"id":304},"target":{"__isSmartRef__":true,"id":364}},"374":{"sourceObj":{"__isSmartRef__":true,"id":232},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":364},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":375},"dependedBy":{"__isSmartRef__":true,"id":364},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"375":{"source":{"__isSmartRef__":true,"id":232},"target":{"__isSmartRef__":true,"id":364}},"376":{"sourceObj":{"__isSmartRef__":true,"id":232},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":364},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":377},"dependedBy":{"__isSmartRef__":true,"id":364},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"377":{"source":{"__isSmartRef__":true,"id":232},"target":{"__isSmartRef__":true,"id":364}},"378":{"sourceObj":{"__isSmartRef__":true,"id":232},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":364},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":379},"dependedBy":{"__isSmartRef__":true,"id":364},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"379":{"source":{"__isSmartRef__":true,"id":232},"target":{"__isSmartRef__":true,"id":364}},"380":{"sourceObj":{"__isSmartRef__":true,"id":232},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":364},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":381},"dependedBy":{"__isSmartRef__":true,"id":364},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"381":{"source":{"__isSmartRef__":true,"id":232},"target":{"__isSmartRef__":true,"id":364}},"382":{"d":1,"a":1,"f":148.016016016016,"e":106.82502502502503,"c":0,"b":0,"matrix_":{"__isSmartRef__":true,"id":383},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"383":{"a":1,"b":0,"c":0,"d":1,"e":106.82502502502503,"f":148.016016016016,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"384":{"sourceObj":{"__isSmartRef__":true,"id":304},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":233},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":385},"dependendConnections":[{"__isSmartRef__":true,"id":386},{"__isSmartRef__":true,"id":388},{"__isSmartRef__":true,"id":390},{"__isSmartRef__":true,"id":392},{"__isSmartRef__":true,"id":394},{"__isSmartRef__":true,"id":396},{"__isSmartRef__":true,"id":398},{"__isSmartRef__":true,"id":400}],"oldTransform":{"__isSmartRef__":true,"id":402},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"385":{"source":{"__isSmartRef__":true,"id":304},"target":{"__isSmartRef__":true,"id":233}},"386":{"sourceObj":{"__isSmartRef__":true,"id":304},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":384},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":387},"dependedBy":{"__isSmartRef__":true,"id":384},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"387":{"source":{"__isSmartRef__":true,"id":304},"target":{"__isSmartRef__":true,"id":384}},"388":{"sourceObj":{"__isSmartRef__":true,"id":304},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":384},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":389},"dependedBy":{"__isSmartRef__":true,"id":384},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"389":{"source":{"__isSmartRef__":true,"id":304},"target":{"__isSmartRef__":true,"id":384}},"390":{"sourceObj":{"__isSmartRef__":true,"id":304},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":384},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":391},"dependedBy":{"__isSmartRef__":true,"id":384},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"391":{"source":{"__isSmartRef__":true,"id":304},"target":{"__isSmartRef__":true,"id":384}},"392":{"sourceObj":{"__isSmartRef__":true,"id":304},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":384},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":393},"dependedBy":{"__isSmartRef__":true,"id":384},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"393":{"source":{"__isSmartRef__":true,"id":304},"target":{"__isSmartRef__":true,"id":384}},"394":{"sourceObj":{"__isSmartRef__":true,"id":232},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":384},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":395},"dependedBy":{"__isSmartRef__":true,"id":384},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"395":{"source":{"__isSmartRef__":true,"id":232},"target":{"__isSmartRef__":true,"id":384}},"396":{"sourceObj":{"__isSmartRef__":true,"id":232},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":384},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":397},"dependedBy":{"__isSmartRef__":true,"id":384},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"397":{"source":{"__isSmartRef__":true,"id":232},"target":{"__isSmartRef__":true,"id":384}},"398":{"sourceObj":{"__isSmartRef__":true,"id":232},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":384},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":399},"dependedBy":{"__isSmartRef__":true,"id":384},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"399":{"source":{"__isSmartRef__":true,"id":232},"target":{"__isSmartRef__":true,"id":384}},"400":{"sourceObj":{"__isSmartRef__":true,"id":232},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":384},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":401},"dependedBy":{"__isSmartRef__":true,"id":384},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"401":{"source":{"__isSmartRef__":true,"id":232},"target":{"__isSmartRef__":true,"id":384}},"402":{"d":1,"a":1,"f":148.016016016016,"e":106.82502502502503,"c":0,"b":0,"matrix_":{"__isSmartRef__":true,"id":403},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"403":{"a":1,"b":0,"c":0,"d":1,"e":106.82502502502503,"f":148.016016016016,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"404":{"submorphs":[{"__isSmartRef__":true,"id":405}],"scripts":[],"id":"5059E383-6BE3-4AD3-A9C4-89DA9D8D5E99","shape":{"__isSmartRef__":true,"id":429},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"B","partsBinMetaInfo":{"__isSmartRef__":true,"id":430},"eventHandler":{"__isSmartRef__":true,"id":448},"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","BBAFB862-93AE-4F89-BCFF-9F1C67B7FE4C","7EC17E78-593A-4CC8-B7E3-859BCBBFE785","FDB06D4A-9F4E-4B8C-A67C-671A9583EFE8","1C80FDE1-05C0-4148-9AD8-33C88667084C"],"partTests":{"__isSmartRef__":true,"id":449},"_ClipMode":"visible","moved":true,"isBeingDragged":false,"magnets":[{"__isSmartRef__":true,"id":454},{"__isSmartRef__":true,"id":455},{"__isSmartRef__":true,"id":456},{"__isSmartRef__":true,"id":457},{"__isSmartRef__":true,"id":458},{"__isSmartRef__":true,"id":459},{"__isSmartRef__":true,"id":460},{"__isSmartRef__":true,"id":461}],"attributeConnections":[{"__isSmartRef__":true,"id":462},{"__isSmartRef__":true,"id":464},{"__isSmartRef__":true,"id":466},{"__isSmartRef__":true,"id":468},{"__isSmartRef__":true,"id":470},{"__isSmartRef__":true,"id":472}],"doNotSerialize":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"doNotCopyProperties":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"isCopyMorphRef":true,"morphRefId":1,"prevScroll":[0,0],"_Scale":1,"_Rotation":0,"owner":{"__isSmartRef__":true,"id":232},"__serializedExpressions__":["distanceToDragEvent","_Position"],"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","distanceToDragEvent":"lively.pt(67.9,-13.1)","_Position":"lively.pt(587.4,53.7)"},"405":{"submorphs":[],"scripts":[],"id":"E323F75A-232F-4712-9A03-20C8FD574C9A","shape":{"__isSmartRef__":true,"id":406},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":180.8018403394826,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":19,"name":"NameLabel2","partsBinMetaInfo":{"__isSmartRef__":true,"id":407},"textChunks":[{"__isSmartRef__":true,"id":409}],"charsReplaced":"A1","lastFindLoc":2,"prevScroll":[0,0],"attributeConnections":[{"__isSmartRef__":true,"id":411},{"__isSmartRef__":true,"id":412}],"doNotSerialize":["$$owner","$$savedTextString"],"doNotCopyProperties":["$$owner","$$savedTextString"],"isInputLine":true,"savedTextString":"B","eventHandler":{"__isSmartRef__":true,"id":413},"derivationIds":[7027,"331C6367-0699-4BD6-9916-ABA82517453B","BEAA7850-FEFB-4AFD-9E06-730FF35D99A4","559B0B8A-5C01-4133-88B2-0D08385E23F6","BE195383-D309-4B6E-A6B0-79A6112B4011"],"_WhiteSpaceHandling":"pre-wrap","_ClipMode":"visible","moved":true,"isBeingDragged":false,"_WordBreak":"break-all","magnets":[{"__isSmartRef__":true,"id":414},{"__isSmartRef__":true,"id":415},{"__isSmartRef__":true,"id":416},{"__isSmartRef__":true,"id":417},{"__isSmartRef__":true,"id":418},{"__isSmartRef__":true,"id":419},{"__isSmartRef__":true,"id":420},{"__isSmartRef__":true,"id":421}],"_PreviousBorderWidth":1,"owner":{"__isSmartRef__":true,"id":404},"oldOwner":{"__isSmartRef__":true,"id":404},"previousSelection":[0,0],"_Rotation":0,"_Scale":0.9999999999999997,"__serializedExpressions__":["_Position","textColor","distanceToDragEvent","_TextColor"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":422},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(34.8,36.8)","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(31.1,-9.9)","_TextColor":"Color.rgb(255,143,0)"},"406":{"fill":null,"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(42.8,29.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"407":{"migrationLevel":2,"comment":"Label that shows the name of a morph. Updates automatically.","partName":"NameLabel","lastModifiedDate":{"__isSmartRef__":true,"id":408},"revisionOnLoad":140039,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"408":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (CEST)"},"409":{"style":{"__isSmartRef__":true,"id":410},"chunkOwner":{"__isSmartRef__":true,"id":405},"_id":"_36","storedString":"B","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"410":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"411":{"sourceObj":{"__isSmartRef__":true,"id":405},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":405},"targetMethodName":"updateLabel","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"412":{"sourceObj":{"__isSmartRef__":true,"id":405},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":405},"targetMethodName":"renameOwner","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"413":{"morph":{"__isSmartRef__":true,"id":405},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"414":{"morph":{"__isSmartRef__":true,"id":405},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(651.1,595.4)"},"415":{"morph":{"__isSmartRef__":true,"id":405},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(672.5,595.4)"},"416":{"morph":{"__isSmartRef__":true,"id":405},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(693.9,595.4)"},"417":{"morph":{"__isSmartRef__":true,"id":405},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(693.9,609.9)"},"418":{"morph":{"__isSmartRef__":true,"id":405},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(693.9,624.4)"},"419":{"morph":{"__isSmartRef__":true,"id":405},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(672.5,624.4)"},"420":{"morph":{"__isSmartRef__":true,"id":405},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(651.1,624.4)"},"421":{"morph":{"__isSmartRef__":true,"id":405},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(651.1,609.9)"},"422":{"updateLabel":{"__isSmartRef__":true,"id":423},"renameOwner":{"__isSmartRef__":true,"id":426}},"423":{"varMapping":{"__isSmartRef__":true,"id":424},"source":"function updateLabel() {\n\t// observe name changes in owner\n\tif (this.owner !== this.oldOwner) {\n\t\tif (this.oldOwner)\n\t\t\tdisconnect(this.oldOwner, 'name', this, 'updateLabel')\n\t\tif (this.owner)\n\t\t\tconnect(this.owner, 'name', this, 'updateLabel')\n\t\tthis.oldOwner = this.owner\n\t}\n\tvar name = (this.owner ? this.owner.name : \"no owner\")\n\tif (this.textString != name)\n\tthis.setTextString(name)\n}","funcProperties":{"__isSmartRef__":true,"id":425},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"424":{"this":{"__isSmartRef__":true,"id":405}},"425":{},"426":{"varMapping":{"__isSmartRef__":true,"id":427},"source":"function renameOwner(name) {\n\tif (this.owner && this.owner.name != name) {\n\t\talertOK(\"renamed \" + this.owner + \" to \" + name)\n\t\tthis.owner.setName(name);\n\t}\n}","funcProperties":{"__isSmartRef__":true,"id":428},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"427":{"this":{"__isSmartRef__":true,"id":405}},"428":{},"429":{"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(100.0,100.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgba(204,204,204,0.5)","_Padding":"lively.rect(0,0,0,0)"},"430":{"partsSpaceName":"PartsBin/Basic","comment":"A simple box morph. A really orange one. Its amazing what you can build out of simple boxes.... Who needs stars when you got orange rectangles!","migrationLevel":4,"partName":"Rectangle","changes":[{"__isSmartRef__":true,"id":431},{"__isSmartRef__":true,"id":433},{"__isSmartRef__":true,"id":435},{"__isSmartRef__":true,"id":437},{"__isSmartRef__":true,"id":439},{"__isSmartRef__":true,"id":441},{"__isSmartRef__":true,"id":443},{"__isSmartRef__":true,"id":445}],"lastModifiedDate":{"__isSmartRef__":true,"id":447},"revisionOnLoad":184624,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"431":{"date":{"__isSmartRef__":true,"id":432},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"432":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"433":{"date":{"__isSmartRef__":true,"id":434},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"434":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"435":{"date":{"__isSmartRef__":true,"id":436},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"436":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"437":{"date":{"__isSmartRef__":true,"id":438},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"438":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"439":{"date":{"__isSmartRef__":true,"id":440},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"440":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"441":{"date":{"__isSmartRef__":true,"id":442},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"442":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"443":{"date":{"__isSmartRef__":true,"id":444},"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8"},"444":{"isSerializedDate":true,"string":"Mon Jun 18 2012 19:35:08 GMT+0200 (CEST)"},"445":{"date":{"__isSmartRef__":true,"id":446},"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205"},"446":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:35:51 GMT+0100 (CET)"},"447":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:33:25 GMT+0100 (CET)"},"448":{"morph":{"__isSmartRef__":true,"id":404},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"449":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":450}},"450":{"test01IsMorph":{"__isSmartRef__":true,"id":451}},"451":{"varMapping":{"__isSmartRef__":true,"id":452},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":453},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"452":{"this":{"__isSmartRef__":true,"id":449}},"453":{},"454":{"morph":{"__isSmartRef__":true,"id":404},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(616.3,558.6)"},"455":{"morph":{"__isSmartRef__":true,"id":404},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(666.3,558.6)"},"456":{"morph":{"__isSmartRef__":true,"id":404},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(716.3,558.6)"},"457":{"morph":{"__isSmartRef__":true,"id":404},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(716.3,608.6)"},"458":{"morph":{"__isSmartRef__":true,"id":404},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(716.3,658.6)"},"459":{"morph":{"__isSmartRef__":true,"id":404},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(666.3,658.6)"},"460":{"morph":{"__isSmartRef__":true,"id":404},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(616.3,658.6)"},"461":{"morph":{"__isSmartRef__":true,"id":404},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(616.3,608.6)"},"462":{"sourceObj":{"__isSmartRef__":true,"id":404},"sourceAttrName":"name","targetObj":{"__isSmartRef__":true,"id":405},"targetMethodName":"updateLabel","varMapping":{"__isSmartRef__":true,"id":463},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"463":{"source":{"__isSmartRef__":true,"id":404},"target":{"__isSmartRef__":true,"id":405}},"464":{"sourceObj":{"__isSmartRef__":true,"id":404},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":233},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":465},"dependendConnections":[{"__isSmartRef__":true,"id":466},{"__isSmartRef__":true,"id":468},{"__isSmartRef__":true,"id":470},{"__isSmartRef__":true,"id":472},{"__isSmartRef__":true,"id":474},{"__isSmartRef__":true,"id":476},{"__isSmartRef__":true,"id":478},{"__isSmartRef__":true,"id":480}],"oldTransform":{"__isSmartRef__":true,"id":482},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"465":{"source":{"__isSmartRef__":true,"id":404},"target":{"__isSmartRef__":true,"id":233}},"466":{"sourceObj":{"__isSmartRef__":true,"id":404},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":464},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":467},"dependedBy":{"__isSmartRef__":true,"id":464},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"467":{"source":{"__isSmartRef__":true,"id":404},"target":{"__isSmartRef__":true,"id":464}},"468":{"sourceObj":{"__isSmartRef__":true,"id":404},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":464},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":469},"dependedBy":{"__isSmartRef__":true,"id":464},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"469":{"source":{"__isSmartRef__":true,"id":404},"target":{"__isSmartRef__":true,"id":464}},"470":{"sourceObj":{"__isSmartRef__":true,"id":404},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":464},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":471},"dependedBy":{"__isSmartRef__":true,"id":464},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"471":{"source":{"__isSmartRef__":true,"id":404},"target":{"__isSmartRef__":true,"id":464}},"472":{"sourceObj":{"__isSmartRef__":true,"id":404},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":464},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":473},"dependedBy":{"__isSmartRef__":true,"id":464},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"473":{"source":{"__isSmartRef__":true,"id":404},"target":{"__isSmartRef__":true,"id":464}},"474":{"sourceObj":{"__isSmartRef__":true,"id":232},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":464},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":475},"dependedBy":{"__isSmartRef__":true,"id":464},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"475":{"source":{"__isSmartRef__":true,"id":232},"target":{"__isSmartRef__":true,"id":464}},"476":{"sourceObj":{"__isSmartRef__":true,"id":232},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":464},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":477},"dependedBy":{"__isSmartRef__":true,"id":464},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"477":{"source":{"__isSmartRef__":true,"id":232},"target":{"__isSmartRef__":true,"id":464}},"478":{"sourceObj":{"__isSmartRef__":true,"id":232},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":464},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":479},"dependedBy":{"__isSmartRef__":true,"id":464},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"479":{"source":{"__isSmartRef__":true,"id":232},"target":{"__isSmartRef__":true,"id":464}},"480":{"sourceObj":{"__isSmartRef__":true,"id":232},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":464},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":481},"dependedBy":{"__isSmartRef__":true,"id":464},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"481":{"source":{"__isSmartRef__":true,"id":232},"target":{"__isSmartRef__":true,"id":464}},"482":{"d":1,"a":1,"f":163.716016016016,"e":629.425025025025,"c":0,"b":0,"matrix_":{"__isSmartRef__":true,"id":483},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"483":{"a":1,"b":0,"c":0,"d":1,"e":629.425025025025,"f":163.716016016016,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"484":{"onClick":{"__isSmartRef__":true,"id":485},"onMouseUp":{"__isSmartRef__":true,"id":489},"toggleControlPointHalos":{"__isSmartRef__":true,"id":497},"connect":{"__isSmartRef__":true,"id":501},"updatePosition":{"__isSmartRef__":true,"id":505},"updateControlPoint":{"__isSmartRef__":true,"id":509},"disconnectMorph":{"__isSmartRef__":true,"id":513},"connectMorph":{"__isSmartRef__":true,"id":517}},"485":{"varMapping":{"__isSmartRef__":true,"id":486},"source":"function onClick() {\n // this.toggleControlPointHalos()\n}","funcProperties":{"__isSmartRef__":true,"id":487},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"486":{"this":{"__isSmartRef__":true,"id":233}},"487":{"timestamp":{"__isSmartRef__":true,"id":488},"user":"jenslincke","tags":[]},"488":{"isSerializedDate":true,"string":"Wed Dec 12 2012 17:56:13 GMT+0100 (CET)"},"489":{"varMapping":{"__isSmartRef__":true,"id":490},"source":"function onMouseUp(evt) {\n $super(evt)\n if (evt.isCommandKey() || !evt.isLeftMouseButtonDown()) {\n return \n }\n this.toggleControlPointHalos()\n}","funcProperties":{"__isSmartRef__":true,"id":495},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"490":{"this":{"__isSmartRef__":true,"id":233},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":491}},"491":{"$super":{"__isSmartRef__":true,"id":492}},"492":{"varMapping":{"__isSmartRef__":true,"id":493},"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":494},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"493":{"obj":{"__isSmartRef__":true,"id":233},"name":"onMouseUp"},"494":{},"495":{"timestamp":{"__isSmartRef__":true,"id":496},"user":"jenslincke","tags":[]},"496":{"isSerializedDate":true,"string":"Wed Dec 12 2012 17:55:57 GMT+0100 (CET)"},"497":{"varMapping":{"__isSmartRef__":true,"id":498},"source":"function toggleControlPointHalos() {\n if (this.halos && this.halos.length > 0) {\n this.removeHalos()\n return\n }\n this.halos = this.getControlPointHalos();\n this.showsHalos = true;\n this.world().showHalosFor(this, this.halos);\n this.halos.invoke('alignAtTarget');\n}","funcProperties":{"__isSmartRef__":true,"id":499},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"498":{"this":{"__isSmartRef__":true,"id":233}},"499":{"timestamp":{"__isSmartRef__":true,"id":500},"user":"jenslincke","tags":[]},"500":{"isSerializedDate":true,"string":"Wed Dec 12 2012 18:04:41 GMT+0100 (CET)"},"501":{"varMapping":{"__isSmartRef__":true,"id":502},"source":"function connect(morphA, morphB) {\n this.disconnectMorph(this.fromMorph)\n this.disconnectMorph(this.toMorph)\n this.fromMorph = morphA;\n this.toMorph = morphB;\n this.connectMorph(this.fromMorph)\n this.connectMorph(this.toMorph)\n\n this.updatePosition()\n}","funcProperties":{"__isSmartRef__":true,"id":503},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"502":{"this":{"__isSmartRef__":true,"id":233}},"503":{"timestamp":{"__isSmartRef__":true,"id":504},"user":"jenslincke","tags":[]},"504":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:52:38 GMT+0100 (CET)"},"505":{"varMapping":{"__isSmartRef__":true,"id":506},"source":"function updatePosition() {\n this.updateControlPoint(this.controlPoints[0], this.fromMorph)\n this.updateControlPoint(this.controlPoints[1], this.toMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":507},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"506":{"this":{"__isSmartRef__":true,"id":233}},"507":{"timestamp":{"__isSmartRef__":true,"id":508},"user":"jenslincke","tags":[]},"508":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:45:42 GMT+0100 (CET)"},"509":{"varMapping":{"__isSmartRef__":true,"id":510},"source":"function updateControlPoint(cp, morph) {\n if (!cp || !morph) return;\n cp.setGlobalPos(morph.worldPoint(morph.shape.bounds().center()))\n}","funcProperties":{"__isSmartRef__":true,"id":511},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"510":{"this":{"__isSmartRef__":true,"id":233}},"511":{"timestamp":{"__isSmartRef__":true,"id":512},"user":"jenslincke","tags":[]},"512":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:45:56 GMT+0100 (CET)"},"513":{"varMapping":{"__isSmartRef__":true,"id":514},"source":"function disconnectMorph(morph) {\n lively.bindings.disconnect(morph, 'globalTransform', this, 'updatePosition')\n\n}","funcProperties":{"__isSmartRef__":true,"id":515},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"514":{"this":{"__isSmartRef__":true,"id":233}},"515":{"timestamp":{"__isSmartRef__":true,"id":516},"user":"jenslincke","tags":[]},"516":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:51:01 GMT+0100 (CET)"},"517":{"varMapping":{"__isSmartRef__":true,"id":518},"source":"function connectMorph(morph) {\n if (morph)\n lively.bindings.connect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":519},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"518":{"this":{"__isSmartRef__":true,"id":233}},"519":{"timestamp":{"__isSmartRef__":true,"id":520},"user":"jenslincke","tags":[]},"520":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:52:12 GMT+0100 (CET)"},"521":{"submorphs":[],"scripts":[],"id":"D1DCE0BF-FCF8-466F-838F-89595E55C245","shape":{"__isSmartRef__":true,"id":522},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":180.8018403394826,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":19,"name":"NameLabel3","partsBinMetaInfo":{"__isSmartRef__":true,"id":523},"textChunks":[{"__isSmartRef__":true,"id":525}],"charsReplaced":"A1","lastFindLoc":2,"prevScroll":[0,0],"attributeConnections":[{"__isSmartRef__":true,"id":527},{"__isSmartRef__":true,"id":528}],"doNotSerialize":["$$owner","$$savedTextString"],"doNotCopyProperties":["$$owner","$$savedTextString"],"isInputLine":true,"savedTextString":"Figure1","eventHandler":{"__isSmartRef__":true,"id":529},"derivationIds":[7027,"331C6367-0699-4BD6-9916-ABA82517453B","BEAA7850-FEFB-4AFD-9E06-730FF35D99A4","559B0B8A-5C01-4133-88B2-0D08385E23F6","BE195383-D309-4B6E-A6B0-79A6112B4011","E323F75A-232F-4712-9A03-20C8FD574C9A"],"_WhiteSpaceHandling":"pre-wrap","_ClipMode":"visible","moved":true,"isBeingDragged":false,"_WordBreak":"break-all","magnets":[{"__isSmartRef__":true,"id":530},{"__isSmartRef__":true,"id":531},{"__isSmartRef__":true,"id":532},{"__isSmartRef__":true,"id":533},{"__isSmartRef__":true,"id":534},{"__isSmartRef__":true,"id":535},{"__isSmartRef__":true,"id":536},{"__isSmartRef__":true,"id":537}],"_PreviousBorderWidth":1,"oldOwner":{"__isSmartRef__":true,"id":232},"previousSelection":[0,0],"owner":{"__isSmartRef__":true,"id":232},"_Rotation":0,"_Scale":0.9999999999999997,"priorSelectionRange":[6,6],"__serializedExpressions__":["_Position","textColor","distanceToDragEvent","_TextColor"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":538},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(5.8,0.9)","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(137.9,-12.9)","_TextColor":"Color.rgb(255,143,0)"},"522":{"fill":null,"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(206.5,29.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"523":{"migrationLevel":2,"comment":"Label that shows the name of a morph. Updates automatically.","partName":"NameLabel","lastModifiedDate":{"__isSmartRef__":true,"id":524},"revisionOnLoad":140039,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"524":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (CEST)"},"525":{"style":{"__isSmartRef__":true,"id":526},"chunkOwner":{"__isSmartRef__":true,"id":521},"_id":"_108","storedString":"Figure1","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"526":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"527":{"sourceObj":{"__isSmartRef__":true,"id":521},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":521},"targetMethodName":"updateLabel","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"528":{"sourceObj":{"__isSmartRef__":true,"id":521},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":521},"targetMethodName":"renameOwner","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"529":{"morph":{"__isSmartRef__":true,"id":521},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"530":{"morph":{"__isSmartRef__":true,"id":521},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(34.7,505.8)"},"531":{"morph":{"__isSmartRef__":true,"id":521},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(137.9,505.8)"},"532":{"morph":{"__isSmartRef__":true,"id":521},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(241.2,505.8)"},"533":{"morph":{"__isSmartRef__":true,"id":521},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(241.2,520.3)"},"534":{"morph":{"__isSmartRef__":true,"id":521},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(241.2,534.8)"},"535":{"morph":{"__isSmartRef__":true,"id":521},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(137.9,534.8)"},"536":{"morph":{"__isSmartRef__":true,"id":521},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(34.7,534.8)"},"537":{"morph":{"__isSmartRef__":true,"id":521},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(34.7,520.3)"},"538":{"updateLabel":{"__isSmartRef__":true,"id":539},"renameOwner":{"__isSmartRef__":true,"id":542}},"539":{"varMapping":{"__isSmartRef__":true,"id":540},"source":"function updateLabel() {\n\t// observe name changes in owner\n\tif (this.owner !== this.oldOwner) {\n\t\tif (this.oldOwner)\n\t\t\tdisconnect(this.oldOwner, 'name', this, 'updateLabel')\n\t\tif (this.owner)\n\t\t\tconnect(this.owner, 'name', this, 'updateLabel')\n\t\tthis.oldOwner = this.owner\n\t}\n\tvar name = (this.owner ? this.owner.name : \"no owner\")\n\tif (this.textString != name)\n\tthis.setTextString(name)\n}","funcProperties":{"__isSmartRef__":true,"id":541},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"540":{"this":{"__isSmartRef__":true,"id":521}},"541":{},"542":{"varMapping":{"__isSmartRef__":true,"id":543},"source":"function renameOwner(name) {\n\tif (this.owner && this.owner.name != name) {\n\t\talertOK(\"renamed \" + this.owner + \" to \" + name)\n\t\tthis.owner.setName(name);\n\t}\n}","funcProperties":{"__isSmartRef__":true,"id":544},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"543":{"this":{"__isSmartRef__":true,"id":521}},"544":{},"545":{"_BorderWidth":1,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(847.0,355.4)","_BorderColor":"Color.rgb(204,204,204)","_Fill":"Color.rgb(255,255,255)","_Padding":"lively.rect(0,0,0,0)"},"546":{"options":{"__isSmartRef__":true,"id":547}},"547":{"override":["onDrag","onDragStart","onDragEnd"]},"548":{"requiredModules":[],"partsSpaceName":"PartsBin/Presenting/","migrationLevel":2,"comment":"A copy of this object is used by the PresentationController when you press the button \"new slide\".","lastModifiedDate":{"__isSmartRef__":true,"id":549},"revisionOnLoad":140039,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"549":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (CEST)"},"550":{"morph":{"__isSmartRef__":true,"id":232},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"551":{"morph":{"__isSmartRef__":true,"id":232},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(28.9,504.9)"},"552":{"morph":{"__isSmartRef__":true,"id":232},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(452.4,504.9)"},"553":{"morph":{"__isSmartRef__":true,"id":232},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(875.9,504.9)"},"554":{"morph":{"__isSmartRef__":true,"id":232},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(875.9,682.6)"},"555":{"morph":{"__isSmartRef__":true,"id":232},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(875.9,860.3)"},"556":{"morph":{"__isSmartRef__":true,"id":232},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(452.4,860.3)"},"557":{"morph":{"__isSmartRef__":true,"id":232},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(28.9,860.3)"},"558":{"morph":{"__isSmartRef__":true,"id":232},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(28.9,682.6)"},"559":{"sourceObj":{"__isSmartRef__":true,"id":232},"sourceAttrName":"name","targetObj":{"__isSmartRef__":true,"id":521},"targetMethodName":"updateLabel","varMapping":{"__isSmartRef__":true,"id":560},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"560":{"source":{"__isSmartRef__":true,"id":232},"target":{"__isSmartRef__":true,"id":521}},"561":{"adjustForNewBounds":true},"562":{"boundEval":{"__isSmartRef__":true,"id":563},"getDoitContext":{"__isSmartRef__":true,"id":571},"setTarget":{"__isSmartRef__":true,"id":579}},"563":{"varMapping":{"__isSmartRef__":true,"id":564},"source":"function boundEval(str) {\n // Some little (Tim calls it ugly) funny preprocessor Macros\n str = str.replace(/#([A-Za-z][A-Za-z0-9]*)/g, \"this.get('$1')\")\n // alertOK(\"eval \" + str)\n return $super(str)\n}","funcProperties":{"__isSmartRef__":true,"id":569},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"564":{"this":{"__isSmartRef__":true,"id":19},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":565}},"565":{"$super":{"__isSmartRef__":true,"id":566}},"566":{"varMapping":{"__isSmartRef__":true,"id":567},"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":568},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"567":{"obj":{"__isSmartRef__":true,"id":19},"name":"boundEval"},"568":{},"569":{"timestamp":{"__isSmartRef__":true,"id":570},"user":"jenslincke","tags":[]},"570":{"isSerializedDate":true,"string":"Wed Dec 12 2012 11:22:45 GMT+0100 (CET)"},"571":{"varMapping":{"__isSmartRef__":true,"id":572},"source":"function getDoitContext() {\n return this.target\n}","funcProperties":{"__isSmartRef__":true,"id":577},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"572":{"this":{"__isSmartRef__":true,"id":19},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":573}},"573":{"$super":{"__isSmartRef__":true,"id":574}},"574":{"varMapping":{"__isSmartRef__":true,"id":575},"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":576},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"575":{"obj":{"__isSmartRef__":true,"id":19},"name":"getDoitContext"},"576":{},"577":{"timestamp":{"__isSmartRef__":true,"id":578},"user":"jenslincke","tags":[]},"578":{"isSerializedDate":true,"string":"Thu Dec 13 2012 10:17:05 GMT+0100 (CET)"},"579":{"varMapping":{"__isSmartRef__":true,"id":580},"source":"function setTarget(obj) {\n this.target= obj\n}","funcProperties":{"__isSmartRef__":true,"id":581},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"580":{"this":{"__isSmartRef__":true,"id":19}},"581":{"timestamp":{"__isSmartRef__":true,"id":582},"user":"jenslincke","tags":[]},"582":{"isSerializedDate":true,"string":"Thu Dec 13 2012 10:22:59 GMT+0100 (CET)"},"583":{"submorphs":[{"__isSmartRef__":true,"id":584},{"__isSmartRef__":true,"id":788},{"__isSmartRef__":true,"id":812}],"scripts":[],"id":"0F3ECCAA-EB6B-4891-82DA-A858E99D3CD8","shape":{"__isSmartRef__":true,"id":1016},"__layered_droppingEnabled__":true,"halosEnabled":true,"showsHalos":false,"_isInFullScreen":false,"_traitConfig_":{"__isSmartRef__":true,"id":1017},"draggingEnabled":true,"partsBinMetaInfo":{"__isSmartRef__":true,"id":1019},"isCopyMorphRef":true,"morphRefId":1,"derivationIds":[1708,"81795DC6-889C-4FC6-B336-BAB6D7FC3CBD"],"eventHandler":{"__isSmartRef__":true,"id":1021},"_ClipMode":"visible","moved":true,"name":"Figure2","prevScroll":[0,0],"magnets":[{"__isSmartRef__":true,"id":1022},{"__isSmartRef__":true,"id":1023},{"__isSmartRef__":true,"id":1024},{"__isSmartRef__":true,"id":1025},{"__isSmartRef__":true,"id":1026},{"__isSmartRef__":true,"id":1027},{"__isSmartRef__":true,"id":1028},{"__isSmartRef__":true,"id":1029}],"attributeConnections":[{"__isSmartRef__":true,"id":1030}],"doNotSerialize":["$$name"],"doNotCopyProperties":["$$name"],"_Scale":1,"_Rotation":0,"owner":{"__isSmartRef__":true,"id":0},"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1032},"__LivelyClassName__":"lively.Presentation.PageMorph","__SourceModuleName__":"Global.lively.Presentation","distanceToDragEvent":"lively.pt(511.9,-14.0)","_Position":"lively.pt(42.0,567.4)"},"584":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":585},"id":"F722069B-8602-4E8D-BE3F-92A1E0C0EF28","eventHandler":{"__isSmartRef__":true,"id":588},"__layered_droppingEnabled__":true,"halosEnabled":true,"isBeingDragged":false,"controlPoints":[{"__isSmartRef__":true,"id":589},{"__isSmartRef__":true,"id":590}],"showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":591},"name":"Line1","derivationIds":[731,"5E6BD741-9C99-47B9-95C1-7A028178DB17","A8D5C37A-F23F-47FE-8DE2-211CE4484A4F"],"_ClipMode":"visible","controlPointsHalos":[],"prevScroll":[0,0],"grabbingEnabled":false,"moved":true,"#startLetters":"controlPoints[0]","fromMorph":{"__isSmartRef__":true,"id":595},"toMorph":{"__isSmartRef__":true,"id":679},"update":{"__isSmartRef__":true,"id":665},"owner":{"__isSmartRef__":true,"id":583},"isCopyMorphRef":true,"morphRefId":1,"_Rotation":0,"_Scale":1,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":751},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","distanceToDragEvent":"lively.pt(78.8,-14.7)","_Position":"lively.pt(434.4,10.6)"},"585":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":586},{"__isSmartRef__":true,"id":587}],"_ClipMode":"visible","_BorderWidth":3.1119999999999997,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Padding","_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(-321.6,75.4)","_Extent":"lively.pt(385.4,56.2)","_BorderColor":"Color.rgb(161,161,161)"},"586":{"isAbsolute":true,"x":-319.59999999999997,"y":77.39999999999998,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"587":{"isAbsolute":true,"x":62.80870143954854,"y":130.62701195729824,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"588":{"morph":{"__isSmartRef__":true,"id":584},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"589":{"morph":{"__isSmartRef__":true,"id":584},"index":0,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"590":{"morph":{"__isSmartRef__":true,"id":584},"index":1,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"591":{"requiredModules":[],"migrationLevel":4,"partsSpaceName":"PartsBin/Jens/","comment":"a line","partName":"Connector","lastModifiedDate":{"__isSmartRef__":true,"id":592},"revisionOnLoad":186528,"changes":[{"__isSmartRef__":true,"id":593}],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"592":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:18 GMT+0100 (CET)"},"593":{"date":{"__isSmartRef__":true,"id":594},"author":"jenslincke","message":"no comment","id":"28165CED-C8C5-4B8E-9655-645E3F5099BB"},"594":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:42 GMT+0100 (CET)"},"595":{"submorphs":[{"__isSmartRef__":true,"id":596}],"scripts":[],"id":"D67F5AE5-1626-4556-B12B-9EA313404791","shape":{"__isSmartRef__":true,"id":620},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"A","partsBinMetaInfo":{"__isSmartRef__":true,"id":621},"eventHandler":{"__isSmartRef__":true,"id":639},"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","BBAFB862-93AE-4F89-BCFF-9F1C67B7FE4C","7EC17E78-593A-4CC8-B7E3-859BCBBFE785","FDB06D4A-9F4E-4B8C-A67C-671A9583EFE8","1C80FDE1-05C0-4148-9AD8-33C88667084C"],"partTests":{"__isSmartRef__":true,"id":640},"_ClipMode":"visible","moved":true,"isBeingDragged":false,"magnets":[{"__isSmartRef__":true,"id":645},{"__isSmartRef__":true,"id":646},{"__isSmartRef__":true,"id":647},{"__isSmartRef__":true,"id":648},{"__isSmartRef__":true,"id":649},{"__isSmartRef__":true,"id":650},{"__isSmartRef__":true,"id":651},{"__isSmartRef__":true,"id":652}],"attributeConnections":[{"__isSmartRef__":true,"id":653},{"__isSmartRef__":true,"id":655},{"__isSmartRef__":true,"id":657},{"__isSmartRef__":true,"id":659},{"__isSmartRef__":true,"id":661},{"__isSmartRef__":true,"id":663},{"__isSmartRef__":true,"id":667},{"__isSmartRef__":true,"id":669},{"__isSmartRef__":true,"id":671},{"__isSmartRef__":true,"id":673},{"__isSmartRef__":true,"id":675}],"doNotSerialize":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"doNotCopyProperties":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"isCopyMorphRef":true,"morphRefId":1,"prevScroll":[0,0],"_Scale":1,"_Rotation":0,"owner":null,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","distanceToDragEvent":"lively.pt(60.9,-16.0)","_Position":"lively.pt(64.8,38.0)"},"596":{"submorphs":[],"scripts":[],"id":"6F235864-5F42-46C5-B7CB-290C87A40FEE","shape":{"__isSmartRef__":true,"id":597},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":180.8018403394826,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":19,"name":"NameLabel2","partsBinMetaInfo":{"__isSmartRef__":true,"id":598},"textChunks":[{"__isSmartRef__":true,"id":600}],"charsReplaced":"Rectangle1","lastFindLoc":10,"prevScroll":[0,0],"attributeConnections":[{"__isSmartRef__":true,"id":602},{"__isSmartRef__":true,"id":603}],"doNotSerialize":["$$owner","$$savedTextString"],"doNotCopyProperties":["$$owner","$$savedTextString"],"isInputLine":true,"savedTextString":"B","eventHandler":{"__isSmartRef__":true,"id":604},"derivationIds":[7027,"331C6367-0699-4BD6-9916-ABA82517453B","BEAA7850-FEFB-4AFD-9E06-730FF35D99A4","559B0B8A-5C01-4133-88B2-0D08385E23F6","BE195383-D309-4B6E-A6B0-79A6112B4011"],"_WhiteSpaceHandling":"pre-wrap","_ClipMode":"visible","moved":true,"isBeingDragged":false,"_WordBreak":"break-all","magnets":[{"__isSmartRef__":true,"id":605},{"__isSmartRef__":true,"id":606},{"__isSmartRef__":true,"id":607},{"__isSmartRef__":true,"id":608},{"__isSmartRef__":true,"id":609},{"__isSmartRef__":true,"id":610},{"__isSmartRef__":true,"id":611},{"__isSmartRef__":true,"id":612}],"_PreviousBorderWidth":1,"owner":{"__isSmartRef__":true,"id":595},"oldOwner":{"__isSmartRef__":true,"id":595},"previousSelection":[0,1],"_Rotation":0,"_Scale":0.9999999999999997,"__serializedExpressions__":["_Position","textColor","distanceToDragEvent","_TextColor"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":613},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(34.8,36.8)","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(31.1,-9.9)","_TextColor":"Color.rgb(255,143,0)"},"597":{"fill":null,"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(42.8,29.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"598":{"migrationLevel":2,"comment":"Label that shows the name of a morph. Updates automatically.","partName":"NameLabel","lastModifiedDate":{"__isSmartRef__":true,"id":599},"revisionOnLoad":140039,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"599":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (CEST)"},"600":{"style":{"__isSmartRef__":true,"id":601},"chunkOwner":{"__isSmartRef__":true,"id":596},"_id":"_4888","storedString":"A","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"601":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"602":{"sourceObj":{"__isSmartRef__":true,"id":596},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":596},"targetMethodName":"updateLabel","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"603":{"sourceObj":{"__isSmartRef__":true,"id":596},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":596},"targetMethodName":"renameOwner","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"604":{"morph":{"__isSmartRef__":true,"id":596},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"605":{"morph":{"__isSmartRef__":true,"id":596},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(140.6,581.8)"},"606":{"morph":{"__isSmartRef__":true,"id":596},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(162.0,581.8)"},"607":{"morph":{"__isSmartRef__":true,"id":596},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(183.4,581.8)"},"608":{"morph":{"__isSmartRef__":true,"id":596},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(183.4,596.3)"},"609":{"morph":{"__isSmartRef__":true,"id":596},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(183.4,610.8)"},"610":{"morph":{"__isSmartRef__":true,"id":596},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(162.0,610.8)"},"611":{"morph":{"__isSmartRef__":true,"id":596},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(140.6,610.8)"},"612":{"morph":{"__isSmartRef__":true,"id":596},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(140.6,596.3)"},"613":{"updateLabel":{"__isSmartRef__":true,"id":614},"renameOwner":{"__isSmartRef__":true,"id":617}},"614":{"varMapping":{"__isSmartRef__":true,"id":615},"source":"function updateLabel() {\n\t// observe name changes in owner\n\tif (this.owner !== this.oldOwner) {\n\t\tif (this.oldOwner)\n\t\t\tdisconnect(this.oldOwner, 'name', this, 'updateLabel')\n\t\tif (this.owner)\n\t\t\tconnect(this.owner, 'name', this, 'updateLabel')\n\t\tthis.oldOwner = this.owner\n\t}\n\tvar name = (this.owner ? this.owner.name : \"no owner\")\n\tif (this.textString != name)\n\tthis.setTextString(name)\n}","funcProperties":{"__isSmartRef__":true,"id":616},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"615":{"this":{"__isSmartRef__":true,"id":596}},"616":{},"617":{"varMapping":{"__isSmartRef__":true,"id":618},"source":"function renameOwner(name) {\n\tif (this.owner && this.owner.name != name) {\n\t\talertOK(\"renamed \" + this.owner + \" to \" + name)\n\t\tthis.owner.setName(name);\n\t}\n}","funcProperties":{"__isSmartRef__":true,"id":619},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"618":{"this":{"__isSmartRef__":true,"id":596}},"619":{},"620":{"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(100.0,100.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgba(204,204,204,0.5)","_Padding":"lively.rect(0,0,0,0)"},"621":{"partsSpaceName":"PartsBin/Basic","comment":"A simple box morph. A really orange one. Its amazing what you can build out of simple boxes.... Who needs stars when you got orange rectangles!","migrationLevel":4,"partName":"Rectangle","changes":[{"__isSmartRef__":true,"id":622},{"__isSmartRef__":true,"id":624},{"__isSmartRef__":true,"id":626},{"__isSmartRef__":true,"id":628},{"__isSmartRef__":true,"id":630},{"__isSmartRef__":true,"id":632},{"__isSmartRef__":true,"id":634},{"__isSmartRef__":true,"id":636}],"lastModifiedDate":{"__isSmartRef__":true,"id":638},"revisionOnLoad":184624,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"622":{"date":{"__isSmartRef__":true,"id":623},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"623":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"624":{"date":{"__isSmartRef__":true,"id":625},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"625":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"626":{"date":{"__isSmartRef__":true,"id":627},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"627":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"628":{"date":{"__isSmartRef__":true,"id":629},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"629":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"630":{"date":{"__isSmartRef__":true,"id":631},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"631":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"632":{"date":{"__isSmartRef__":true,"id":633},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"633":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"634":{"date":{"__isSmartRef__":true,"id":635},"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8"},"635":{"isSerializedDate":true,"string":"Mon Jun 18 2012 19:35:08 GMT+0200 (CEST)"},"636":{"date":{"__isSmartRef__":true,"id":637},"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205"},"637":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:35:51 GMT+0100 (CET)"},"638":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:33:25 GMT+0100 (CET)"},"639":{"morph":{"__isSmartRef__":true,"id":595},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"640":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":641}},"641":{"test01IsMorph":{"__isSmartRef__":true,"id":642}},"642":{"varMapping":{"__isSmartRef__":true,"id":643},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":644},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"643":{"this":{"__isSmartRef__":true,"id":640}},"644":{},"645":{"morph":{"__isSmartRef__":true,"id":595},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(105.8,545.0)"},"646":{"morph":{"__isSmartRef__":true,"id":595},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(155.8,545.0)"},"647":{"morph":{"__isSmartRef__":true,"id":595},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(205.8,545.0)"},"648":{"morph":{"__isSmartRef__":true,"id":595},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(205.8,595.0)"},"649":{"morph":{"__isSmartRef__":true,"id":595},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(205.8,645.0)"},"650":{"morph":{"__isSmartRef__":true,"id":595},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(155.8,645.0)"},"651":{"morph":{"__isSmartRef__":true,"id":595},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(105.8,645.0)"},"652":{"morph":{"__isSmartRef__":true,"id":595},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(105.8,595.0)"},"653":{"sourceObj":{"__isSmartRef__":true,"id":595},"sourceAttrName":"name","targetObj":{"__isSmartRef__":true,"id":596},"targetMethodName":"updateLabel","varMapping":{"__isSmartRef__":true,"id":654},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"654":{"source":{"__isSmartRef__":true,"id":595},"target":{"__isSmartRef__":true,"id":596}},"655":{"sourceObj":{"__isSmartRef__":true,"id":595},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":584},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":656},"dependendConnections":[{"__isSmartRef__":true,"id":657},{"__isSmartRef__":true,"id":659},{"__isSmartRef__":true,"id":661},{"__isSmartRef__":true,"id":663}],"oldTransform":{"__isSmartRef__":true,"id":665},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"656":{"source":{"__isSmartRef__":true,"id":595},"target":{"__isSmartRef__":true,"id":584}},"657":{"sourceObj":{"__isSmartRef__":true,"id":595},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":655},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":658},"dependedBy":{"__isSmartRef__":true,"id":655},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"658":{"source":{"__isSmartRef__":true,"id":595},"target":{"__isSmartRef__":true,"id":655}},"659":{"sourceObj":{"__isSmartRef__":true,"id":595},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":655},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":660},"dependedBy":{"__isSmartRef__":true,"id":655},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"660":{"source":{"__isSmartRef__":true,"id":595},"target":{"__isSmartRef__":true,"id":655}},"661":{"sourceObj":{"__isSmartRef__":true,"id":595},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":655},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":662},"dependedBy":{"__isSmartRef__":true,"id":655},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"662":{"source":{"__isSmartRef__":true,"id":595},"target":{"__isSmartRef__":true,"id":655}},"663":{"sourceObj":{"__isSmartRef__":true,"id":595},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":655},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":664},"dependedBy":{"__isSmartRef__":true,"id":655},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"664":{"source":{"__isSmartRef__":true,"id":595},"target":{"__isSmartRef__":true,"id":655}},"665":{"d":1,"a":1,"f":906.1,"e":107.8,"c":0,"b":0,"matrix_":{"__isSmartRef__":true,"id":666},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"666":{"a":1,"b":0,"c":0,"d":1,"e":107.8,"f":906.1,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"667":{"sourceObj":{"__isSmartRef__":true,"id":595},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":584},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":668},"dependendConnections":[{"__isSmartRef__":true,"id":669},{"__isSmartRef__":true,"id":671},{"__isSmartRef__":true,"id":673},{"__isSmartRef__":true,"id":675}],"oldTransform":{"__isSmartRef__":true,"id":677},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"668":{"source":{"__isSmartRef__":true,"id":595},"target":{"__isSmartRef__":true,"id":584}},"669":{"sourceObj":{"__isSmartRef__":true,"id":595},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":667},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":670},"dependedBy":{"__isSmartRef__":true,"id":667},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"670":{"source":{"__isSmartRef__":true,"id":595},"target":{"__isSmartRef__":true,"id":667}},"671":{"sourceObj":{"__isSmartRef__":true,"id":595},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":667},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":672},"dependedBy":{"__isSmartRef__":true,"id":667},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"672":{"source":{"__isSmartRef__":true,"id":595},"target":{"__isSmartRef__":true,"id":667}},"673":{"sourceObj":{"__isSmartRef__":true,"id":595},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":667},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":674},"dependedBy":{"__isSmartRef__":true,"id":667},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"674":{"source":{"__isSmartRef__":true,"id":595},"target":{"__isSmartRef__":true,"id":667}},"675":{"sourceObj":{"__isSmartRef__":true,"id":595},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":667},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":676},"dependedBy":{"__isSmartRef__":true,"id":667},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"676":{"source":{"__isSmartRef__":true,"id":595},"target":{"__isSmartRef__":true,"id":667}},"677":{"d":1,"a":1,"f":906.1,"e":107.8,"c":0,"b":0,"matrix_":{"__isSmartRef__":true,"id":678},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"678":{"a":1,"b":0,"c":0,"d":1,"e":107.8,"f":906.1,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"679":{"submorphs":[{"__isSmartRef__":true,"id":680}],"scripts":[],"id":"26550839-59FB-470E-A06C-50EB74E57F9B","shape":{"__isSmartRef__":true,"id":704},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"B","partsBinMetaInfo":{"__isSmartRef__":true,"id":705},"eventHandler":{"__isSmartRef__":true,"id":723},"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","BBAFB862-93AE-4F89-BCFF-9F1C67B7FE4C","7EC17E78-593A-4CC8-B7E3-859BCBBFE785","FDB06D4A-9F4E-4B8C-A67C-671A9583EFE8","1C80FDE1-05C0-4148-9AD8-33C88667084C","5059E383-6BE3-4AD3-A9C4-89DA9D8D5E99"],"partTests":{"__isSmartRef__":true,"id":724},"_ClipMode":"visible","moved":true,"isBeingDragged":false,"magnets":[{"__isSmartRef__":true,"id":729},{"__isSmartRef__":true,"id":730},{"__isSmartRef__":true,"id":731},{"__isSmartRef__":true,"id":732},{"__isSmartRef__":true,"id":733},{"__isSmartRef__":true,"id":734},{"__isSmartRef__":true,"id":735},{"__isSmartRef__":true,"id":736}],"attributeConnections":[{"__isSmartRef__":true,"id":737},{"__isSmartRef__":true,"id":739},{"__isSmartRef__":true,"id":741},{"__isSmartRef__":true,"id":743},{"__isSmartRef__":true,"id":745},{"__isSmartRef__":true,"id":747}],"doNotSerialize":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"doNotCopyProperties":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"isCopyMorphRef":true,"morphRefId":1,"prevScroll":[0,0],"_Scale":1,"_Rotation":0,"owner":null,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","distanceToDragEvent":"lively.pt(67.9,-13.1)","_Position":"lively.pt(466.0,31.0)"},"680":{"submorphs":[],"scripts":[],"id":"7C5DB00E-3DCD-46B1-88F5-71FBFF1C9CDF","shape":{"__isSmartRef__":true,"id":681},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":180.8018403394826,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":19,"name":"NameLabel2","partsBinMetaInfo":{"__isSmartRef__":true,"id":682},"textChunks":[{"__isSmartRef__":true,"id":684}],"charsReplaced":"A1","lastFindLoc":2,"prevScroll":[0,0],"attributeConnections":[{"__isSmartRef__":true,"id":686},{"__isSmartRef__":true,"id":687}],"doNotSerialize":["$$owner","$$savedTextString"],"doNotCopyProperties":["$$owner","$$savedTextString"],"isInputLine":true,"savedTextString":"B","eventHandler":{"__isSmartRef__":true,"id":688},"derivationIds":[7027,"331C6367-0699-4BD6-9916-ABA82517453B","BEAA7850-FEFB-4AFD-9E06-730FF35D99A4","559B0B8A-5C01-4133-88B2-0D08385E23F6","BE195383-D309-4B6E-A6B0-79A6112B4011","E323F75A-232F-4712-9A03-20C8FD574C9A"],"_WhiteSpaceHandling":"pre-wrap","_ClipMode":"visible","moved":true,"isBeingDragged":false,"_WordBreak":"break-all","magnets":[{"__isSmartRef__":true,"id":689},{"__isSmartRef__":true,"id":690},{"__isSmartRef__":true,"id":691},{"__isSmartRef__":true,"id":692},{"__isSmartRef__":true,"id":693},{"__isSmartRef__":true,"id":694},{"__isSmartRef__":true,"id":695},{"__isSmartRef__":true,"id":696}],"_PreviousBorderWidth":1,"owner":{"__isSmartRef__":true,"id":679},"oldOwner":{"__isSmartRef__":true,"id":679},"previousSelection":[0,0],"_Rotation":0,"_Scale":0.9999999999999997,"__serializedExpressions__":["_Position","textColor","distanceToDragEvent","_TextColor"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":697},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(34.8,36.8)","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(31.1,-9.9)","_TextColor":"Color.rgb(255,143,0)"},"681":{"fill":null,"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(42.8,29.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"682":{"migrationLevel":2,"comment":"Label that shows the name of a morph. Updates automatically.","partName":"NameLabel","lastModifiedDate":{"__isSmartRef__":true,"id":683},"revisionOnLoad":140039,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"683":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (CEST)"},"684":{"style":{"__isSmartRef__":true,"id":685},"chunkOwner":{"__isSmartRef__":true,"id":680},"_id":"_36","storedString":"B","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"685":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"686":{"sourceObj":{"__isSmartRef__":true,"id":680},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":680},"targetMethodName":"updateLabel","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"687":{"sourceObj":{"__isSmartRef__":true,"id":680},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":680},"targetMethodName":"renameOwner","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"688":{"morph":{"__isSmartRef__":true,"id":680},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"689":{"morph":{"__isSmartRef__":true,"id":680},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(565.7,577.8)"},"690":{"morph":{"__isSmartRef__":true,"id":680},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(587.1,577.8)"},"691":{"morph":{"__isSmartRef__":true,"id":680},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(608.5,577.8)"},"692":{"morph":{"__isSmartRef__":true,"id":680},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(608.5,592.3)"},"693":{"morph":{"__isSmartRef__":true,"id":680},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(608.5,606.8)"},"694":{"morph":{"__isSmartRef__":true,"id":680},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(587.1,606.8)"},"695":{"morph":{"__isSmartRef__":true,"id":680},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(565.7,606.8)"},"696":{"morph":{"__isSmartRef__":true,"id":680},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(565.7,592.3)"},"697":{"updateLabel":{"__isSmartRef__":true,"id":698},"renameOwner":{"__isSmartRef__":true,"id":701}},"698":{"varMapping":{"__isSmartRef__":true,"id":699},"source":"function updateLabel() {\n\t// observe name changes in owner\n\tif (this.owner !== this.oldOwner) {\n\t\tif (this.oldOwner)\n\t\t\tdisconnect(this.oldOwner, 'name', this, 'updateLabel')\n\t\tif (this.owner)\n\t\t\tconnect(this.owner, 'name', this, 'updateLabel')\n\t\tthis.oldOwner = this.owner\n\t}\n\tvar name = (this.owner ? this.owner.name : \"no owner\")\n\tif (this.textString != name)\n\tthis.setTextString(name)\n}","funcProperties":{"__isSmartRef__":true,"id":700},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"699":{"this":{"__isSmartRef__":true,"id":680}},"700":{},"701":{"varMapping":{"__isSmartRef__":true,"id":702},"source":"function renameOwner(name) {\n\tif (this.owner && this.owner.name != name) {\n\t\talertOK(\"renamed \" + this.owner + \" to \" + name)\n\t\tthis.owner.setName(name);\n\t}\n}","funcProperties":{"__isSmartRef__":true,"id":703},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"702":{"this":{"__isSmartRef__":true,"id":680}},"703":{},"704":{"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(100.0,100.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgba(204,204,204,0.5)","_Padding":"lively.rect(0,0,0,0)"},"705":{"partsSpaceName":"PartsBin/Basic","comment":"A simple box morph. A really orange one. Its amazing what you can build out of simple boxes.... Who needs stars when you got orange rectangles!","migrationLevel":4,"partName":"Rectangle","changes":[{"__isSmartRef__":true,"id":706},{"__isSmartRef__":true,"id":708},{"__isSmartRef__":true,"id":710},{"__isSmartRef__":true,"id":712},{"__isSmartRef__":true,"id":714},{"__isSmartRef__":true,"id":716},{"__isSmartRef__":true,"id":718},{"__isSmartRef__":true,"id":720}],"lastModifiedDate":{"__isSmartRef__":true,"id":722},"revisionOnLoad":184624,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"706":{"date":{"__isSmartRef__":true,"id":707},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"707":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"708":{"date":{"__isSmartRef__":true,"id":709},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"709":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"710":{"date":{"__isSmartRef__":true,"id":711},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"711":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"712":{"date":{"__isSmartRef__":true,"id":713},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"713":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"714":{"date":{"__isSmartRef__":true,"id":715},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"715":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"716":{"date":{"__isSmartRef__":true,"id":717},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"717":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"718":{"date":{"__isSmartRef__":true,"id":719},"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8"},"719":{"isSerializedDate":true,"string":"Mon Jun 18 2012 19:35:08 GMT+0200 (CEST)"},"720":{"date":{"__isSmartRef__":true,"id":721},"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205"},"721":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:35:51 GMT+0100 (CET)"},"722":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:33:25 GMT+0100 (CET)"},"723":{"morph":{"__isSmartRef__":true,"id":679},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"724":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":725}},"725":{"test01IsMorph":{"__isSmartRef__":true,"id":726}},"726":{"varMapping":{"__isSmartRef__":true,"id":727},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":728},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"727":{"this":{"__isSmartRef__":true,"id":724}},"728":{},"729":{"morph":{"__isSmartRef__":true,"id":679},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(530.9,541.0)"},"730":{"morph":{"__isSmartRef__":true,"id":679},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(580.9,541.0)"},"731":{"morph":{"__isSmartRef__":true,"id":679},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(630.9,541.0)"},"732":{"morph":{"__isSmartRef__":true,"id":679},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(630.9,591.0)"},"733":{"morph":{"__isSmartRef__":true,"id":679},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(630.9,641.0)"},"734":{"morph":{"__isSmartRef__":true,"id":679},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(580.9,641.0)"},"735":{"morph":{"__isSmartRef__":true,"id":679},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(530.9,641.0)"},"736":{"morph":{"__isSmartRef__":true,"id":679},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(530.9,591.0)"},"737":{"sourceObj":{"__isSmartRef__":true,"id":679},"sourceAttrName":"name","targetObj":{"__isSmartRef__":true,"id":680},"targetMethodName":"updateLabel","varMapping":{"__isSmartRef__":true,"id":738},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"738":{"source":{"__isSmartRef__":true,"id":679},"target":{"__isSmartRef__":true,"id":680}},"739":{"sourceObj":{"__isSmartRef__":true,"id":679},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":584},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":740},"dependendConnections":[{"__isSmartRef__":true,"id":741},{"__isSmartRef__":true,"id":743},{"__isSmartRef__":true,"id":745},{"__isSmartRef__":true,"id":747}],"oldTransform":{"__isSmartRef__":true,"id":749},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"740":{"source":{"__isSmartRef__":true,"id":679},"target":{"__isSmartRef__":true,"id":584}},"741":{"sourceObj":{"__isSmartRef__":true,"id":679},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":739},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":742},"dependedBy":{"__isSmartRef__":true,"id":739},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"742":{"source":{"__isSmartRef__":true,"id":679},"target":{"__isSmartRef__":true,"id":739}},"743":{"sourceObj":{"__isSmartRef__":true,"id":679},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":739},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":744},"dependedBy":{"__isSmartRef__":true,"id":739},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"744":{"source":{"__isSmartRef__":true,"id":679},"target":{"__isSmartRef__":true,"id":739}},"745":{"sourceObj":{"__isSmartRef__":true,"id":679},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":739},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":746},"dependedBy":{"__isSmartRef__":true,"id":739},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"746":{"source":{"__isSmartRef__":true,"id":679},"target":{"__isSmartRef__":true,"id":739}},"747":{"sourceObj":{"__isSmartRef__":true,"id":679},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":739},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":748},"dependedBy":{"__isSmartRef__":true,"id":739},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"748":{"source":{"__isSmartRef__":true,"id":679},"target":{"__isSmartRef__":true,"id":739}},"749":{"d":1,"a":1,"f":899.1,"e":509,"c":0,"b":0,"matrix_":{"__isSmartRef__":true,"id":750},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"750":{"a":1,"b":0,"c":0,"d":1,"e":509,"f":899.1,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"751":{"onClick":{"__isSmartRef__":true,"id":752},"onMouseUp":{"__isSmartRef__":true,"id":756},"toggleControlPointHalos":{"__isSmartRef__":true,"id":764},"connect":{"__isSmartRef__":true,"id":768},"updatePosition":{"__isSmartRef__":true,"id":772},"updateControlPoint":{"__isSmartRef__":true,"id":776},"disconnectMorph":{"__isSmartRef__":true,"id":780},"connectMorph":{"__isSmartRef__":true,"id":784}},"752":{"varMapping":{"__isSmartRef__":true,"id":753},"source":"function onClick() {\n // this.toggleControlPointHalos()\n}","funcProperties":{"__isSmartRef__":true,"id":754},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"753":{"this":{"__isSmartRef__":true,"id":584}},"754":{"timestamp":{"__isSmartRef__":true,"id":755},"user":"jenslincke","tags":[]},"755":{"isSerializedDate":true,"string":"Wed Dec 12 2012 17:56:13 GMT+0100 (CET)"},"756":{"varMapping":{"__isSmartRef__":true,"id":757},"source":"function onMouseUp(evt) {\n $super(evt)\n if (evt.isCommandKey() || !evt.isLeftMouseButtonDown()) {\n return \n }\n this.toggleControlPointHalos()\n}","funcProperties":{"__isSmartRef__":true,"id":762},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"757":{"this":{"__isSmartRef__":true,"id":584},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":758}},"758":{"$super":{"__isSmartRef__":true,"id":759}},"759":{"varMapping":{"__isSmartRef__":true,"id":760},"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":761},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"760":{"obj":{"__isSmartRef__":true,"id":584},"name":"onMouseUp"},"761":{},"762":{"timestamp":{"__isSmartRef__":true,"id":763},"user":"jenslincke","tags":[]},"763":{"isSerializedDate":true,"string":"Wed Dec 12 2012 17:55:57 GMT+0100 (CET)"},"764":{"varMapping":{"__isSmartRef__":true,"id":765},"source":"function toggleControlPointHalos() {\n if (this.halos && this.halos.length > 0) {\n this.removeHalos()\n return\n }\n this.halos = this.getControlPointHalos();\n this.showsHalos = true;\n this.world().showHalosFor(this, this.halos);\n this.halos.invoke('alignAtTarget');\n}","funcProperties":{"__isSmartRef__":true,"id":766},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"765":{"this":{"__isSmartRef__":true,"id":584}},"766":{"timestamp":{"__isSmartRef__":true,"id":767},"user":"jenslincke","tags":[]},"767":{"isSerializedDate":true,"string":"Wed Dec 12 2012 18:04:41 GMT+0100 (CET)"},"768":{"varMapping":{"__isSmartRef__":true,"id":769},"source":"function connect(morphA, morphB) {\n this.disconnectMorph(this.fromMorph)\n this.disconnectMorph(this.toMorph)\n this.fromMorph = morphA;\n this.toMorph = morphB;\n this.connectMorph(this.fromMorph)\n this.connectMorph(this.toMorph)\n\n this.updatePosition()\n}","funcProperties":{"__isSmartRef__":true,"id":770},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"769":{"this":{"__isSmartRef__":true,"id":584}},"770":{"timestamp":{"__isSmartRef__":true,"id":771},"user":"jenslincke","tags":[]},"771":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:52:38 GMT+0100 (CET)"},"772":{"varMapping":{"__isSmartRef__":true,"id":773},"source":"function updatePosition() {\n this.updateControlPoint(this.controlPoints[0], this.fromMorph)\n this.updateControlPoint(this.controlPoints[1], this.toMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":774},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"773":{"this":{"__isSmartRef__":true,"id":584}},"774":{"timestamp":{"__isSmartRef__":true,"id":775},"user":"jenslincke","tags":[]},"775":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:45:42 GMT+0100 (CET)"},"776":{"varMapping":{"__isSmartRef__":true,"id":777},"source":"function updateControlPoint(cp, morph) {\n if (!cp || !morph) return;\n cp.setGlobalPos(morph.worldPoint(morph.shape.bounds().center()))\n}","funcProperties":{"__isSmartRef__":true,"id":778},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"777":{"this":{"__isSmartRef__":true,"id":584}},"778":{"timestamp":{"__isSmartRef__":true,"id":779},"user":"jenslincke","tags":[]},"779":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:45:56 GMT+0100 (CET)"},"780":{"varMapping":{"__isSmartRef__":true,"id":781},"source":"function disconnectMorph(morph) {\n lively.bindings.disconnect(morph, 'globalTransform', this, 'updatePosition')\n\n}","funcProperties":{"__isSmartRef__":true,"id":782},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"781":{"this":{"__isSmartRef__":true,"id":584}},"782":{"timestamp":{"__isSmartRef__":true,"id":783},"user":"jenslincke","tags":[]},"783":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:51:01 GMT+0100 (CET)"},"784":{"varMapping":{"__isSmartRef__":true,"id":785},"source":"function connectMorph(morph) {\n if (morph)\n lively.bindings.connect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":786},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"785":{"this":{"__isSmartRef__":true,"id":584}},"786":{"timestamp":{"__isSmartRef__":true,"id":787},"user":"jenslincke","tags":[]},"787":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:52:12 GMT+0100 (CET)"},"788":{"submorphs":[],"scripts":[],"id":"FCAF479D-4C9A-4FD1-8256-4AFC8C38B123","shape":{"__isSmartRef__":true,"id":789},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":180.8018403394826,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":19,"name":"NameLabel3","partsBinMetaInfo":{"__isSmartRef__":true,"id":790},"textChunks":[{"__isSmartRef__":true,"id":792}],"charsReplaced":"A1","lastFindLoc":2,"prevScroll":[0,0],"attributeConnections":[{"__isSmartRef__":true,"id":794},{"__isSmartRef__":true,"id":795}],"doNotSerialize":["$$owner","$$savedTextString"],"doNotCopyProperties":["$$owner","$$savedTextString"],"isInputLine":true,"savedTextString":"Figure1","eventHandler":{"__isSmartRef__":true,"id":796},"derivationIds":[7027,"331C6367-0699-4BD6-9916-ABA82517453B","BEAA7850-FEFB-4AFD-9E06-730FF35D99A4","559B0B8A-5C01-4133-88B2-0D08385E23F6","BE195383-D309-4B6E-A6B0-79A6112B4011","E323F75A-232F-4712-9A03-20C8FD574C9A","D1DCE0BF-FCF8-466F-838F-89595E55C245"],"_WhiteSpaceHandling":"pre-wrap","_ClipMode":"visible","moved":true,"isBeingDragged":false,"_WordBreak":"break-all","magnets":[{"__isSmartRef__":true,"id":797},{"__isSmartRef__":true,"id":798},{"__isSmartRef__":true,"id":799},{"__isSmartRef__":true,"id":800},{"__isSmartRef__":true,"id":801},{"__isSmartRef__":true,"id":802},{"__isSmartRef__":true,"id":803},{"__isSmartRef__":true,"id":804}],"_PreviousBorderWidth":1,"oldOwner":{"__isSmartRef__":true,"id":583},"owner":{"__isSmartRef__":true,"id":583},"_Rotation":0,"_Scale":0.9999999999999997,"priorSelectionRange":[6,6],"__serializedExpressions__":["_Position","textColor","distanceToDragEvent","_TextColor"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":805},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(5.8,0.9)","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(137.9,-12.9)","_TextColor":"Color.rgb(255,143,0)"},"789":{"fill":null,"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(206.5,29.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"790":{"migrationLevel":2,"comment":"Label that shows the name of a morph. Updates automatically.","partName":"NameLabel","lastModifiedDate":{"__isSmartRef__":true,"id":791},"revisionOnLoad":140039,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"791":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (CEST)"},"792":{"style":{"__isSmartRef__":true,"id":793},"chunkOwner":{"__isSmartRef__":true,"id":788},"_id":"_10073","storedString":"Figure2","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"793":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"794":{"sourceObj":{"__isSmartRef__":true,"id":788},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":788},"targetMethodName":"updateLabel","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"795":{"sourceObj":{"__isSmartRef__":true,"id":788},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":788},"targetMethodName":"renameOwner","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"796":{"morph":{"__isSmartRef__":true,"id":788},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"797":{"morph":{"__isSmartRef__":true,"id":788},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(36.7,1002.2)"},"798":{"morph":{"__isSmartRef__":true,"id":788},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(139.9,1002.2)"},"799":{"morph":{"__isSmartRef__":true,"id":788},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(243.2,1002.2)"},"800":{"morph":{"__isSmartRef__":true,"id":788},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(243.2,1016.7)"},"801":{"morph":{"__isSmartRef__":true,"id":788},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(243.2,1031.2)"},"802":{"morph":{"__isSmartRef__":true,"id":788},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(139.9,1031.2)"},"803":{"morph":{"__isSmartRef__":true,"id":788},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(36.7,1031.2)"},"804":{"morph":{"__isSmartRef__":true,"id":788},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(36.7,1016.7)"},"805":{"updateLabel":{"__isSmartRef__":true,"id":806},"renameOwner":{"__isSmartRef__":true,"id":809}},"806":{"varMapping":{"__isSmartRef__":true,"id":807},"source":"function updateLabel() {\n\t// observe name changes in owner\n\tif (this.owner !== this.oldOwner) {\n\t\tif (this.oldOwner)\n\t\t\tdisconnect(this.oldOwner, 'name', this, 'updateLabel')\n\t\tif (this.owner)\n\t\t\tconnect(this.owner, 'name', this, 'updateLabel')\n\t\tthis.oldOwner = this.owner\n\t}\n\tvar name = (this.owner ? this.owner.name : \"no owner\")\n\tif (this.textString != name)\n\tthis.setTextString(name)\n}","funcProperties":{"__isSmartRef__":true,"id":808},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"807":{"this":{"__isSmartRef__":true,"id":788}},"808":{},"809":{"varMapping":{"__isSmartRef__":true,"id":810},"source":"function renameOwner(name) {\n\tif (this.owner && this.owner.name != name) {\n\t\talertOK(\"renamed \" + this.owner + \" to \" + name)\n\t\tthis.owner.setName(name);\n\t}\n}","funcProperties":{"__isSmartRef__":true,"id":811},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"810":{"this":{"__isSmartRef__":true,"id":788}},"811":{},"812":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":813},"id":"79E825B4-4556-45FB-8A5B-54AA6EEDB5F2","eventHandler":{"__isSmartRef__":true,"id":816},"__layered_droppingEnabled__":true,"halosEnabled":true,"isBeingDragged":false,"controlPoints":[{"__isSmartRef__":true,"id":817},{"__isSmartRef__":true,"id":818}],"showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":819},"name":"Line2","derivationIds":[731,"5E6BD741-9C99-47B9-95C1-7A028178DB17","A8D5C37A-F23F-47FE-8DE2-211CE4484A4F","F722069B-8602-4E8D-BE3F-92A1E0C0EF28"],"_ClipMode":"visible","controlPointsHalos":[],"prevScroll":[0,0],"grabbingEnabled":false,"moved":true,"#startLetters":"controlPoints[0]","fromMorph":{"__isSmartRef__":true,"id":823},"toMorph":{"__isSmartRef__":true,"id":907},"update":{"__isSmartRef__":true,"id":893},"isCopyMorphRef":true,"morphRefId":1,"owner":{"__isSmartRef__":true,"id":583},"_Rotation":0,"_Scale":1,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":979},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","distanceToDragEvent":"lively.pt(78.8,-14.7)","_Position":"lively.pt(522.4,68.6)"},"813":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":814},{"__isSmartRef__":true,"id":815}],"_ClipMode":"visible","_BorderWidth":3.1119999999999997,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Padding","_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(-321.6,-33.7)","_Extent":"lively.pt(255.2,112.1)","_BorderColor":"Color.rgb(161,161,161)"},"814":{"isAbsolute":true,"x":-319.59999999999997,"y":77.39999999999998,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"815":{"isAbsolute":true,"x":-67.39876917630505,"y":-31.697406264213555,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"816":{"morph":{"__isSmartRef__":true,"id":812},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"817":{"morph":{"__isSmartRef__":true,"id":812},"index":0,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"818":{"morph":{"__isSmartRef__":true,"id":812},"index":1,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"819":{"requiredModules":[],"migrationLevel":4,"partsSpaceName":"PartsBin/Jens/","comment":"a line","partName":"Connector","lastModifiedDate":{"__isSmartRef__":true,"id":820},"revisionOnLoad":186528,"changes":[{"__isSmartRef__":true,"id":821}],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"820":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:18 GMT+0100 (CET)"},"821":{"date":{"__isSmartRef__":true,"id":822},"author":"jenslincke","message":"no comment","id":"28165CED-C8C5-4B8E-9655-645E3F5099BB"},"822":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:42 GMT+0100 (CET)"},"823":{"submorphs":[{"__isSmartRef__":true,"id":824}],"scripts":[],"id":"D67F5AE5-1626-4556-B12B-9EA313404791","shape":{"__isSmartRef__":true,"id":848},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"A","partsBinMetaInfo":{"__isSmartRef__":true,"id":849},"eventHandler":{"__isSmartRef__":true,"id":867},"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","BBAFB862-93AE-4F89-BCFF-9F1C67B7FE4C","7EC17E78-593A-4CC8-B7E3-859BCBBFE785","FDB06D4A-9F4E-4B8C-A67C-671A9583EFE8","1C80FDE1-05C0-4148-9AD8-33C88667084C"],"partTests":{"__isSmartRef__":true,"id":868},"_ClipMode":"visible","moved":true,"isBeingDragged":false,"magnets":[{"__isSmartRef__":true,"id":873},{"__isSmartRef__":true,"id":874},{"__isSmartRef__":true,"id":875},{"__isSmartRef__":true,"id":876},{"__isSmartRef__":true,"id":877},{"__isSmartRef__":true,"id":878},{"__isSmartRef__":true,"id":879},{"__isSmartRef__":true,"id":880}],"attributeConnections":[{"__isSmartRef__":true,"id":881},{"__isSmartRef__":true,"id":883},{"__isSmartRef__":true,"id":885},{"__isSmartRef__":true,"id":887},{"__isSmartRef__":true,"id":889},{"__isSmartRef__":true,"id":891},{"__isSmartRef__":true,"id":895},{"__isSmartRef__":true,"id":897},{"__isSmartRef__":true,"id":899},{"__isSmartRef__":true,"id":901},{"__isSmartRef__":true,"id":903}],"doNotSerialize":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"doNotCopyProperties":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"isCopyMorphRef":true,"morphRefId":1,"prevScroll":[0,0],"_Scale":1,"_Rotation":0,"owner":null,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","distanceToDragEvent":"lively.pt(60.9,-16.0)","_Position":"lively.pt(64.8,38.0)"},"824":{"submorphs":[],"scripts":[],"id":"6F235864-5F42-46C5-B7CB-290C87A40FEE","shape":{"__isSmartRef__":true,"id":825},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":180.8018403394826,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":19,"name":"NameLabel2","partsBinMetaInfo":{"__isSmartRef__":true,"id":826},"textChunks":[{"__isSmartRef__":true,"id":828}],"charsReplaced":"Rectangle1","lastFindLoc":10,"prevScroll":[0,0],"attributeConnections":[{"__isSmartRef__":true,"id":830},{"__isSmartRef__":true,"id":831}],"doNotSerialize":["$$owner","$$savedTextString"],"doNotCopyProperties":["$$owner","$$savedTextString"],"isInputLine":true,"savedTextString":"B","eventHandler":{"__isSmartRef__":true,"id":832},"derivationIds":[7027,"331C6367-0699-4BD6-9916-ABA82517453B","BEAA7850-FEFB-4AFD-9E06-730FF35D99A4","559B0B8A-5C01-4133-88B2-0D08385E23F6","BE195383-D309-4B6E-A6B0-79A6112B4011"],"_WhiteSpaceHandling":"pre-wrap","_ClipMode":"visible","moved":true,"isBeingDragged":false,"_WordBreak":"break-all","magnets":[{"__isSmartRef__":true,"id":833},{"__isSmartRef__":true,"id":834},{"__isSmartRef__":true,"id":835},{"__isSmartRef__":true,"id":836},{"__isSmartRef__":true,"id":837},{"__isSmartRef__":true,"id":838},{"__isSmartRef__":true,"id":839},{"__isSmartRef__":true,"id":840}],"_PreviousBorderWidth":1,"owner":{"__isSmartRef__":true,"id":823},"oldOwner":{"__isSmartRef__":true,"id":823},"previousSelection":[0,1],"_Rotation":0,"_Scale":0.9999999999999997,"__serializedExpressions__":["_Position","textColor","distanceToDragEvent","_TextColor"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":841},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(34.8,36.8)","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(31.1,-9.9)","_TextColor":"Color.rgb(255,143,0)"},"825":{"fill":null,"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(42.8,29.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"826":{"migrationLevel":2,"comment":"Label that shows the name of a morph. Updates automatically.","partName":"NameLabel","lastModifiedDate":{"__isSmartRef__":true,"id":827},"revisionOnLoad":140039,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"827":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (CEST)"},"828":{"style":{"__isSmartRef__":true,"id":829},"chunkOwner":{"__isSmartRef__":true,"id":824},"_id":"_4888","storedString":"A","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"829":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"830":{"sourceObj":{"__isSmartRef__":true,"id":824},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":824},"targetMethodName":"updateLabel","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"831":{"sourceObj":{"__isSmartRef__":true,"id":824},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":824},"targetMethodName":"renameOwner","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"832":{"morph":{"__isSmartRef__":true,"id":824},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"833":{"morph":{"__isSmartRef__":true,"id":824},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(140.6,581.8)"},"834":{"morph":{"__isSmartRef__":true,"id":824},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(162.0,581.8)"},"835":{"morph":{"__isSmartRef__":true,"id":824},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(183.4,581.8)"},"836":{"morph":{"__isSmartRef__":true,"id":824},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(183.4,596.3)"},"837":{"morph":{"__isSmartRef__":true,"id":824},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(183.4,610.8)"},"838":{"morph":{"__isSmartRef__":true,"id":824},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(162.0,610.8)"},"839":{"morph":{"__isSmartRef__":true,"id":824},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(140.6,610.8)"},"840":{"morph":{"__isSmartRef__":true,"id":824},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(140.6,596.3)"},"841":{"updateLabel":{"__isSmartRef__":true,"id":842},"renameOwner":{"__isSmartRef__":true,"id":845}},"842":{"varMapping":{"__isSmartRef__":true,"id":843},"source":"function updateLabel() {\n\t// observe name changes in owner\n\tif (this.owner !== this.oldOwner) {\n\t\tif (this.oldOwner)\n\t\t\tdisconnect(this.oldOwner, 'name', this, 'updateLabel')\n\t\tif (this.owner)\n\t\t\tconnect(this.owner, 'name', this, 'updateLabel')\n\t\tthis.oldOwner = this.owner\n\t}\n\tvar name = (this.owner ? this.owner.name : \"no owner\")\n\tif (this.textString != name)\n\tthis.setTextString(name)\n}","funcProperties":{"__isSmartRef__":true,"id":844},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"843":{"this":{"__isSmartRef__":true,"id":824}},"844":{},"845":{"varMapping":{"__isSmartRef__":true,"id":846},"source":"function renameOwner(name) {\n\tif (this.owner && this.owner.name != name) {\n\t\talertOK(\"renamed \" + this.owner + \" to \" + name)\n\t\tthis.owner.setName(name);\n\t}\n}","funcProperties":{"__isSmartRef__":true,"id":847},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"846":{"this":{"__isSmartRef__":true,"id":824}},"847":{},"848":{"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(100.0,100.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgba(204,204,204,0.5)","_Padding":"lively.rect(0,0,0,0)"},"849":{"partsSpaceName":"PartsBin/Basic","comment":"A simple box morph. A really orange one. Its amazing what you can build out of simple boxes.... Who needs stars when you got orange rectangles!","migrationLevel":4,"partName":"Rectangle","changes":[{"__isSmartRef__":true,"id":850},{"__isSmartRef__":true,"id":852},{"__isSmartRef__":true,"id":854},{"__isSmartRef__":true,"id":856},{"__isSmartRef__":true,"id":858},{"__isSmartRef__":true,"id":860},{"__isSmartRef__":true,"id":862},{"__isSmartRef__":true,"id":864}],"lastModifiedDate":{"__isSmartRef__":true,"id":866},"revisionOnLoad":184624,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"850":{"date":{"__isSmartRef__":true,"id":851},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"851":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"852":{"date":{"__isSmartRef__":true,"id":853},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"853":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"854":{"date":{"__isSmartRef__":true,"id":855},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"855":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"856":{"date":{"__isSmartRef__":true,"id":857},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"857":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"858":{"date":{"__isSmartRef__":true,"id":859},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"859":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"860":{"date":{"__isSmartRef__":true,"id":861},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"861":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"862":{"date":{"__isSmartRef__":true,"id":863},"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8"},"863":{"isSerializedDate":true,"string":"Mon Jun 18 2012 19:35:08 GMT+0200 (CEST)"},"864":{"date":{"__isSmartRef__":true,"id":865},"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205"},"865":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:35:51 GMT+0100 (CET)"},"866":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:33:25 GMT+0100 (CET)"},"867":{"morph":{"__isSmartRef__":true,"id":823},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"868":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":869}},"869":{"test01IsMorph":{"__isSmartRef__":true,"id":870}},"870":{"varMapping":{"__isSmartRef__":true,"id":871},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":872},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"871":{"this":{"__isSmartRef__":true,"id":868}},"872":{},"873":{"morph":{"__isSmartRef__":true,"id":823},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(105.8,545.0)"},"874":{"morph":{"__isSmartRef__":true,"id":823},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(155.8,545.0)"},"875":{"morph":{"__isSmartRef__":true,"id":823},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(205.8,545.0)"},"876":{"morph":{"__isSmartRef__":true,"id":823},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(205.8,595.0)"},"877":{"morph":{"__isSmartRef__":true,"id":823},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(205.8,645.0)"},"878":{"morph":{"__isSmartRef__":true,"id":823},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(155.8,645.0)"},"879":{"morph":{"__isSmartRef__":true,"id":823},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(105.8,645.0)"},"880":{"morph":{"__isSmartRef__":true,"id":823},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(105.8,595.0)"},"881":{"sourceObj":{"__isSmartRef__":true,"id":823},"sourceAttrName":"name","targetObj":{"__isSmartRef__":true,"id":824},"targetMethodName":"updateLabel","varMapping":{"__isSmartRef__":true,"id":882},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"882":{"source":{"__isSmartRef__":true,"id":823},"target":{"__isSmartRef__":true,"id":824}},"883":{"sourceObj":{"__isSmartRef__":true,"id":823},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":812},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":884},"dependendConnections":[{"__isSmartRef__":true,"id":885},{"__isSmartRef__":true,"id":887},{"__isSmartRef__":true,"id":889},{"__isSmartRef__":true,"id":891}],"oldTransform":{"__isSmartRef__":true,"id":893},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"884":{"source":{"__isSmartRef__":true,"id":823},"target":{"__isSmartRef__":true,"id":812}},"885":{"sourceObj":{"__isSmartRef__":true,"id":823},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":883},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":886},"dependedBy":{"__isSmartRef__":true,"id":883},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"886":{"source":{"__isSmartRef__":true,"id":823},"target":{"__isSmartRef__":true,"id":883}},"887":{"sourceObj":{"__isSmartRef__":true,"id":823},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":883},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":888},"dependedBy":{"__isSmartRef__":true,"id":883},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"888":{"source":{"__isSmartRef__":true,"id":823},"target":{"__isSmartRef__":true,"id":883}},"889":{"sourceObj":{"__isSmartRef__":true,"id":823},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":883},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":890},"dependedBy":{"__isSmartRef__":true,"id":883},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"890":{"source":{"__isSmartRef__":true,"id":823},"target":{"__isSmartRef__":true,"id":883}},"891":{"sourceObj":{"__isSmartRef__":true,"id":823},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":883},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":892},"dependedBy":{"__isSmartRef__":true,"id":883},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"892":{"source":{"__isSmartRef__":true,"id":823},"target":{"__isSmartRef__":true,"id":883}},"893":{"d":1,"a":1,"f":906.1,"e":107.8,"c":0,"b":0,"matrix_":{"__isSmartRef__":true,"id":894},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"894":{"a":1,"b":0,"c":0,"d":1,"e":107.8,"f":906.1,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"895":{"sourceObj":{"__isSmartRef__":true,"id":823},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":812},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":896},"dependendConnections":[{"__isSmartRef__":true,"id":897},{"__isSmartRef__":true,"id":899},{"__isSmartRef__":true,"id":901},{"__isSmartRef__":true,"id":903}],"oldTransform":{"__isSmartRef__":true,"id":905},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"896":{"source":{"__isSmartRef__":true,"id":823},"target":{"__isSmartRef__":true,"id":812}},"897":{"sourceObj":{"__isSmartRef__":true,"id":823},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":895},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":898},"dependedBy":{"__isSmartRef__":true,"id":895},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"898":{"source":{"__isSmartRef__":true,"id":823},"target":{"__isSmartRef__":true,"id":895}},"899":{"sourceObj":{"__isSmartRef__":true,"id":823},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":895},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":900},"dependedBy":{"__isSmartRef__":true,"id":895},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"900":{"source":{"__isSmartRef__":true,"id":823},"target":{"__isSmartRef__":true,"id":895}},"901":{"sourceObj":{"__isSmartRef__":true,"id":823},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":895},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":902},"dependedBy":{"__isSmartRef__":true,"id":895},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"902":{"source":{"__isSmartRef__":true,"id":823},"target":{"__isSmartRef__":true,"id":895}},"903":{"sourceObj":{"__isSmartRef__":true,"id":823},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":895},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":904},"dependedBy":{"__isSmartRef__":true,"id":895},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"904":{"source":{"__isSmartRef__":true,"id":823},"target":{"__isSmartRef__":true,"id":895}},"905":{"d":1,"a":1,"f":906.1,"e":107.8,"c":0,"b":0,"matrix_":{"__isSmartRef__":true,"id":906},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"906":{"a":1,"b":0,"c":0,"d":1,"e":107.8,"f":906.1,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"907":{"submorphs":[{"__isSmartRef__":true,"id":908}],"scripts":[],"id":"26550839-59FB-470E-A06C-50EB74E57F9B","shape":{"__isSmartRef__":true,"id":932},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"B","partsBinMetaInfo":{"__isSmartRef__":true,"id":933},"eventHandler":{"__isSmartRef__":true,"id":951},"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","BBAFB862-93AE-4F89-BCFF-9F1C67B7FE4C","7EC17E78-593A-4CC8-B7E3-859BCBBFE785","FDB06D4A-9F4E-4B8C-A67C-671A9583EFE8","1C80FDE1-05C0-4148-9AD8-33C88667084C","5059E383-6BE3-4AD3-A9C4-89DA9D8D5E99"],"partTests":{"__isSmartRef__":true,"id":952},"_ClipMode":"visible","moved":true,"isBeingDragged":false,"magnets":[{"__isSmartRef__":true,"id":957},{"__isSmartRef__":true,"id":958},{"__isSmartRef__":true,"id":959},{"__isSmartRef__":true,"id":960},{"__isSmartRef__":true,"id":961},{"__isSmartRef__":true,"id":962},{"__isSmartRef__":true,"id":963},{"__isSmartRef__":true,"id":964}],"attributeConnections":[{"__isSmartRef__":true,"id":965},{"__isSmartRef__":true,"id":967},{"__isSmartRef__":true,"id":969},{"__isSmartRef__":true,"id":971},{"__isSmartRef__":true,"id":973},{"__isSmartRef__":true,"id":975}],"doNotSerialize":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"doNotCopyProperties":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"isCopyMorphRef":true,"morphRefId":1,"prevScroll":[0,0],"_Scale":1,"_Rotation":0,"owner":null,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","distanceToDragEvent":"lively.pt(67.9,-13.1)","_Position":"lively.pt(466.0,31.0)"},"908":{"submorphs":[],"scripts":[],"id":"7C5DB00E-3DCD-46B1-88F5-71FBFF1C9CDF","shape":{"__isSmartRef__":true,"id":909},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":180.8018403394826,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":19,"name":"NameLabel2","partsBinMetaInfo":{"__isSmartRef__":true,"id":910},"textChunks":[{"__isSmartRef__":true,"id":912}],"charsReplaced":"A1","lastFindLoc":2,"prevScroll":[0,0],"attributeConnections":[{"__isSmartRef__":true,"id":914},{"__isSmartRef__":true,"id":915}],"doNotSerialize":["$$owner","$$savedTextString"],"doNotCopyProperties":["$$owner","$$savedTextString"],"isInputLine":true,"savedTextString":"B","eventHandler":{"__isSmartRef__":true,"id":916},"derivationIds":[7027,"331C6367-0699-4BD6-9916-ABA82517453B","BEAA7850-FEFB-4AFD-9E06-730FF35D99A4","559B0B8A-5C01-4133-88B2-0D08385E23F6","BE195383-D309-4B6E-A6B0-79A6112B4011","E323F75A-232F-4712-9A03-20C8FD574C9A"],"_WhiteSpaceHandling":"pre-wrap","_ClipMode":"visible","moved":true,"isBeingDragged":false,"_WordBreak":"break-all","magnets":[{"__isSmartRef__":true,"id":917},{"__isSmartRef__":true,"id":918},{"__isSmartRef__":true,"id":919},{"__isSmartRef__":true,"id":920},{"__isSmartRef__":true,"id":921},{"__isSmartRef__":true,"id":922},{"__isSmartRef__":true,"id":923},{"__isSmartRef__":true,"id":924}],"_PreviousBorderWidth":1,"owner":{"__isSmartRef__":true,"id":907},"oldOwner":{"__isSmartRef__":true,"id":907},"previousSelection":[0,0],"_Rotation":0,"_Scale":0.9999999999999997,"__serializedExpressions__":["_Position","textColor","distanceToDragEvent","_TextColor"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":925},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(34.8,36.8)","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(31.1,-9.9)","_TextColor":"Color.rgb(255,143,0)"},"909":{"fill":null,"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(42.8,29.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"910":{"migrationLevel":2,"comment":"Label that shows the name of a morph. Updates automatically.","partName":"NameLabel","lastModifiedDate":{"__isSmartRef__":true,"id":911},"revisionOnLoad":140039,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"911":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (CEST)"},"912":{"style":{"__isSmartRef__":true,"id":913},"chunkOwner":{"__isSmartRef__":true,"id":908},"_id":"_36","storedString":"B","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"913":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"914":{"sourceObj":{"__isSmartRef__":true,"id":908},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":908},"targetMethodName":"updateLabel","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"915":{"sourceObj":{"__isSmartRef__":true,"id":908},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":908},"targetMethodName":"renameOwner","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"916":{"morph":{"__isSmartRef__":true,"id":908},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"917":{"morph":{"__isSmartRef__":true,"id":908},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(565.7,577.8)"},"918":{"morph":{"__isSmartRef__":true,"id":908},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(587.1,577.8)"},"919":{"morph":{"__isSmartRef__":true,"id":908},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(608.5,577.8)"},"920":{"morph":{"__isSmartRef__":true,"id":908},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(608.5,592.3)"},"921":{"morph":{"__isSmartRef__":true,"id":908},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(608.5,606.8)"},"922":{"morph":{"__isSmartRef__":true,"id":908},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(587.1,606.8)"},"923":{"morph":{"__isSmartRef__":true,"id":908},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(565.7,606.8)"},"924":{"morph":{"__isSmartRef__":true,"id":908},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(565.7,592.3)"},"925":{"updateLabel":{"__isSmartRef__":true,"id":926},"renameOwner":{"__isSmartRef__":true,"id":929}},"926":{"varMapping":{"__isSmartRef__":true,"id":927},"source":"function updateLabel() {\n\t// observe name changes in owner\n\tif (this.owner !== this.oldOwner) {\n\t\tif (this.oldOwner)\n\t\t\tdisconnect(this.oldOwner, 'name', this, 'updateLabel')\n\t\tif (this.owner)\n\t\t\tconnect(this.owner, 'name', this, 'updateLabel')\n\t\tthis.oldOwner = this.owner\n\t}\n\tvar name = (this.owner ? this.owner.name : \"no owner\")\n\tif (this.textString != name)\n\tthis.setTextString(name)\n}","funcProperties":{"__isSmartRef__":true,"id":928},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"927":{"this":{"__isSmartRef__":true,"id":908}},"928":{},"929":{"varMapping":{"__isSmartRef__":true,"id":930},"source":"function renameOwner(name) {\n\tif (this.owner && this.owner.name != name) {\n\t\talertOK(\"renamed \" + this.owner + \" to \" + name)\n\t\tthis.owner.setName(name);\n\t}\n}","funcProperties":{"__isSmartRef__":true,"id":931},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"930":{"this":{"__isSmartRef__":true,"id":908}},"931":{},"932":{"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(100.0,100.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgba(204,204,204,0.5)","_Padding":"lively.rect(0,0,0,0)"},"933":{"partsSpaceName":"PartsBin/Basic","comment":"A simple box morph. A really orange one. Its amazing what you can build out of simple boxes.... Who needs stars when you got orange rectangles!","migrationLevel":4,"partName":"Rectangle","changes":[{"__isSmartRef__":true,"id":934},{"__isSmartRef__":true,"id":936},{"__isSmartRef__":true,"id":938},{"__isSmartRef__":true,"id":940},{"__isSmartRef__":true,"id":942},{"__isSmartRef__":true,"id":944},{"__isSmartRef__":true,"id":946},{"__isSmartRef__":true,"id":948}],"lastModifiedDate":{"__isSmartRef__":true,"id":950},"revisionOnLoad":184624,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"934":{"date":{"__isSmartRef__":true,"id":935},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"935":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"936":{"date":{"__isSmartRef__":true,"id":937},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"937":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"938":{"date":{"__isSmartRef__":true,"id":939},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"939":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"940":{"date":{"__isSmartRef__":true,"id":941},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"941":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"942":{"date":{"__isSmartRef__":true,"id":943},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"943":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"944":{"date":{"__isSmartRef__":true,"id":945},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"945":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"946":{"date":{"__isSmartRef__":true,"id":947},"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8"},"947":{"isSerializedDate":true,"string":"Mon Jun 18 2012 19:35:08 GMT+0200 (CEST)"},"948":{"date":{"__isSmartRef__":true,"id":949},"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205"},"949":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:35:51 GMT+0100 (CET)"},"950":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:33:25 GMT+0100 (CET)"},"951":{"morph":{"__isSmartRef__":true,"id":907},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"952":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":953}},"953":{"test01IsMorph":{"__isSmartRef__":true,"id":954}},"954":{"varMapping":{"__isSmartRef__":true,"id":955},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":956},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"955":{"this":{"__isSmartRef__":true,"id":952}},"956":{},"957":{"morph":{"__isSmartRef__":true,"id":907},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(530.9,541.0)"},"958":{"morph":{"__isSmartRef__":true,"id":907},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(580.9,541.0)"},"959":{"morph":{"__isSmartRef__":true,"id":907},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(630.9,541.0)"},"960":{"morph":{"__isSmartRef__":true,"id":907},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(630.9,591.0)"},"961":{"morph":{"__isSmartRef__":true,"id":907},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(630.9,641.0)"},"962":{"morph":{"__isSmartRef__":true,"id":907},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(580.9,641.0)"},"963":{"morph":{"__isSmartRef__":true,"id":907},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(530.9,641.0)"},"964":{"morph":{"__isSmartRef__":true,"id":907},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(530.9,591.0)"},"965":{"sourceObj":{"__isSmartRef__":true,"id":907},"sourceAttrName":"name","targetObj":{"__isSmartRef__":true,"id":908},"targetMethodName":"updateLabel","varMapping":{"__isSmartRef__":true,"id":966},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"966":{"source":{"__isSmartRef__":true,"id":907},"target":{"__isSmartRef__":true,"id":908}},"967":{"sourceObj":{"__isSmartRef__":true,"id":907},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":812},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":968},"dependendConnections":[{"__isSmartRef__":true,"id":969},{"__isSmartRef__":true,"id":971},{"__isSmartRef__":true,"id":973},{"__isSmartRef__":true,"id":975}],"oldTransform":{"__isSmartRef__":true,"id":977},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"968":{"source":{"__isSmartRef__":true,"id":907},"target":{"__isSmartRef__":true,"id":812}},"969":{"sourceObj":{"__isSmartRef__":true,"id":907},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":967},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":970},"dependedBy":{"__isSmartRef__":true,"id":967},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"970":{"source":{"__isSmartRef__":true,"id":907},"target":{"__isSmartRef__":true,"id":967}},"971":{"sourceObj":{"__isSmartRef__":true,"id":907},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":967},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":972},"dependedBy":{"__isSmartRef__":true,"id":967},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"972":{"source":{"__isSmartRef__":true,"id":907},"target":{"__isSmartRef__":true,"id":967}},"973":{"sourceObj":{"__isSmartRef__":true,"id":907},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":967},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":974},"dependedBy":{"__isSmartRef__":true,"id":967},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"974":{"source":{"__isSmartRef__":true,"id":907},"target":{"__isSmartRef__":true,"id":967}},"975":{"sourceObj":{"__isSmartRef__":true,"id":907},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":967},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":976},"dependedBy":{"__isSmartRef__":true,"id":967},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"976":{"source":{"__isSmartRef__":true,"id":907},"target":{"__isSmartRef__":true,"id":967}},"977":{"d":1,"a":1,"f":899.1,"e":509,"c":0,"b":0,"matrix_":{"__isSmartRef__":true,"id":978},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"978":{"a":1,"b":0,"c":0,"d":1,"e":509,"f":899.1,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"979":{"onClick":{"__isSmartRef__":true,"id":980},"onMouseUp":{"__isSmartRef__":true,"id":984},"toggleControlPointHalos":{"__isSmartRef__":true,"id":992},"connect":{"__isSmartRef__":true,"id":996},"updatePosition":{"__isSmartRef__":true,"id":1000},"updateControlPoint":{"__isSmartRef__":true,"id":1004},"disconnectMorph":{"__isSmartRef__":true,"id":1008},"connectMorph":{"__isSmartRef__":true,"id":1012}},"980":{"varMapping":{"__isSmartRef__":true,"id":981},"source":"function onClick() {\n // this.toggleControlPointHalos()\n}","funcProperties":{"__isSmartRef__":true,"id":982},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"981":{"this":{"__isSmartRef__":true,"id":812}},"982":{"timestamp":{"__isSmartRef__":true,"id":983},"user":"jenslincke","tags":[]},"983":{"isSerializedDate":true,"string":"Wed Dec 12 2012 17:56:13 GMT+0100 (CET)"},"984":{"varMapping":{"__isSmartRef__":true,"id":985},"source":"function onMouseUp(evt) {\n $super(evt)\n if (evt.isCommandKey() || !evt.isLeftMouseButtonDown()) {\n return \n }\n this.toggleControlPointHalos()\n}","funcProperties":{"__isSmartRef__":true,"id":990},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"985":{"this":{"__isSmartRef__":true,"id":812},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":986}},"986":{"$super":{"__isSmartRef__":true,"id":987}},"987":{"varMapping":{"__isSmartRef__":true,"id":988},"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":989},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"988":{"obj":{"__isSmartRef__":true,"id":812},"name":"onMouseUp"},"989":{},"990":{"timestamp":{"__isSmartRef__":true,"id":991},"user":"jenslincke","tags":[]},"991":{"isSerializedDate":true,"string":"Wed Dec 12 2012 17:55:57 GMT+0100 (CET)"},"992":{"varMapping":{"__isSmartRef__":true,"id":993},"source":"function toggleControlPointHalos() {\n if (this.halos && this.halos.length > 0) {\n this.removeHalos()\n return\n }\n this.halos = this.getControlPointHalos();\n this.showsHalos = true;\n this.world().showHalosFor(this, this.halos);\n this.halos.invoke('alignAtTarget');\n}","funcProperties":{"__isSmartRef__":true,"id":994},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"993":{"this":{"__isSmartRef__":true,"id":812}},"994":{"timestamp":{"__isSmartRef__":true,"id":995},"user":"jenslincke","tags":[]},"995":{"isSerializedDate":true,"string":"Wed Dec 12 2012 18:04:41 GMT+0100 (CET)"},"996":{"varMapping":{"__isSmartRef__":true,"id":997},"source":"function connect(morphA, morphB) {\n this.disconnectMorph(this.fromMorph)\n this.disconnectMorph(this.toMorph)\n this.fromMorph = morphA;\n this.toMorph = morphB;\n this.connectMorph(this.fromMorph)\n this.connectMorph(this.toMorph)\n\n this.updatePosition()\n}","funcProperties":{"__isSmartRef__":true,"id":998},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"997":{"this":{"__isSmartRef__":true,"id":812}},"998":{"timestamp":{"__isSmartRef__":true,"id":999},"user":"jenslincke","tags":[]},"999":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:52:38 GMT+0100 (CET)"},"1000":{"varMapping":{"__isSmartRef__":true,"id":1001},"source":"function updatePosition() {\n this.updateControlPoint(this.controlPoints[0], this.fromMorph)\n this.updateControlPoint(this.controlPoints[1], this.toMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":1002},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1001":{"this":{"__isSmartRef__":true,"id":812}},"1002":{"timestamp":{"__isSmartRef__":true,"id":1003},"user":"jenslincke","tags":[]},"1003":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:45:42 GMT+0100 (CET)"},"1004":{"varMapping":{"__isSmartRef__":true,"id":1005},"source":"function updateControlPoint(cp, morph) {\n if (!cp || !morph) return;\n cp.setGlobalPos(morph.worldPoint(morph.shape.bounds().center()))\n}","funcProperties":{"__isSmartRef__":true,"id":1006},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1005":{"this":{"__isSmartRef__":true,"id":812}},"1006":{"timestamp":{"__isSmartRef__":true,"id":1007},"user":"jenslincke","tags":[]},"1007":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:45:56 GMT+0100 (CET)"},"1008":{"varMapping":{"__isSmartRef__":true,"id":1009},"source":"function disconnectMorph(morph) {\n lively.bindings.disconnect(morph, 'globalTransform', this, 'updatePosition')\n\n}","funcProperties":{"__isSmartRef__":true,"id":1010},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1009":{"this":{"__isSmartRef__":true,"id":812}},"1010":{"timestamp":{"__isSmartRef__":true,"id":1011},"user":"jenslincke","tags":[]},"1011":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:51:01 GMT+0100 (CET)"},"1012":{"varMapping":{"__isSmartRef__":true,"id":1013},"source":"function connectMorph(morph) {\n if (morph)\n lively.bindings.connect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":1014},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1013":{"this":{"__isSmartRef__":true,"id":812}},"1014":{"timestamp":{"__isSmartRef__":true,"id":1015},"user":"jenslincke","tags":[]},"1015":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:52:12 GMT+0100 (CET)"},"1016":{"_BorderWidth":1,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(847.0,226.1)","_BorderColor":"Color.rgb(204,204,204)","_Fill":"Color.rgb(255,255,255)","_Padding":"lively.rect(0,0,0,0)"},"1017":{"options":{"__isSmartRef__":true,"id":1018}},"1018":{"override":["onDrag","onDragStart","onDragEnd"]},"1019":{"requiredModules":[],"partsSpaceName":"PartsBin/Presenting/","migrationLevel":2,"comment":"A copy of this object is used by the PresentationController when you press the button \"new slide\".","lastModifiedDate":{"__isSmartRef__":true,"id":1020},"revisionOnLoad":140039,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"1020":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (CEST)"},"1021":{"morph":{"__isSmartRef__":true,"id":583},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1022":{"morph":{"__isSmartRef__":true,"id":583},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(30.9,1001.3)"},"1023":{"morph":{"__isSmartRef__":true,"id":583},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(454.4,1001.3)"},"1024":{"morph":{"__isSmartRef__":true,"id":583},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(877.9,1001.3)"},"1025":{"morph":{"__isSmartRef__":true,"id":583},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(877.9,1114.3)"},"1026":{"morph":{"__isSmartRef__":true,"id":583},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(877.9,1227.4)"},"1027":{"morph":{"__isSmartRef__":true,"id":583},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(454.4,1227.4)"},"1028":{"morph":{"__isSmartRef__":true,"id":583},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(30.9,1227.4)"},"1029":{"morph":{"__isSmartRef__":true,"id":583},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(30.9,1114.3)"},"1030":{"sourceObj":{"__isSmartRef__":true,"id":583},"sourceAttrName":"name","targetObj":{"__isSmartRef__":true,"id":788},"targetMethodName":"updateLabel","varMapping":{"__isSmartRef__":true,"id":1031},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1031":{"source":{"__isSmartRef__":true,"id":583},"target":{"__isSmartRef__":true,"id":788}},"1032":{"intersects":{"__isSmartRef__":true,"id":1033}},"1033":{"varMapping":{"__isSmartRef__":true,"id":1034},"source":"function intersects(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":1035},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1034":{"this":{"__isSmartRef__":true,"id":583}},"1035":{},"1036":{"submorphs":[{"__isSmartRef__":true,"id":1037}],"scripts":[],"id":"8D4DCE34-6A61-4C28-A1B9-9E1A5220FAA9","shape":{"__isSmartRef__":true,"id":1215},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":120.695652,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":11,"name":"SpecialSyntaxWorkspace1","partsBinMetaInfo":{"__isSmartRef__":true,"id":1216},"textChunks":[{"__isSmartRef__":true,"id":1236},{"__isSmartRef__":true,"id":1238},{"__isSmartRef__":true,"id":1240},{"__isSmartRef__":true,"id":1242},{"__isSmartRef__":true,"id":1244},{"__isSmartRef__":true,"id":1246},{"__isSmartRef__":true,"id":1248},{"__isSmartRef__":true,"id":1250},{"__isSmartRef__":true,"id":1252},{"__isSmartRef__":true,"id":1254},{"__isSmartRef__":true,"id":1256},{"__isSmartRef__":true,"id":1258},{"__isSmartRef__":true,"id":1260},{"__isSmartRef__":true,"id":1262},{"__isSmartRef__":true,"id":1264},{"__isSmartRef__":true,"id":1266},{"__isSmartRef__":true,"id":1268},{"__isSmartRef__":true,"id":1270},{"__isSmartRef__":true,"id":1272},{"__isSmartRef__":true,"id":1274},{"__isSmartRef__":true,"id":1276},{"__isSmartRef__":true,"id":1278},{"__isSmartRef__":true,"id":1280},{"__isSmartRef__":true,"id":1282},{"__isSmartRef__":true,"id":1284},{"__isSmartRef__":true,"id":1286},{"__isSmartRef__":true,"id":1288},{"__isSmartRef__":true,"id":1290},{"__isSmartRef__":true,"id":1292},{"__isSmartRef__":true,"id":1294},{"__isSmartRef__":true,"id":1296},{"__isSmartRef__":true,"id":1298},{"__isSmartRef__":true,"id":1300},{"__isSmartRef__":true,"id":1302},{"__isSmartRef__":true,"id":1304},{"__isSmartRef__":true,"id":1306},{"__isSmartRef__":true,"id":1308},{"__isSmartRef__":true,"id":1310},{"__isSmartRef__":true,"id":1312},{"__isSmartRef__":true,"id":1314},{"__isSmartRef__":true,"id":1316},{"__isSmartRef__":true,"id":1318},{"__isSmartRef__":true,"id":1320},{"__isSmartRef__":true,"id":1322},{"__isSmartRef__":true,"id":1324},{"__isSmartRef__":true,"id":1326},{"__isSmartRef__":true,"id":1328},{"__isSmartRef__":true,"id":1330},{"__isSmartRef__":true,"id":1332},{"__isSmartRef__":true,"id":1334},{"__isSmartRef__":true,"id":1336},{"__isSmartRef__":true,"id":1338},{"__isSmartRef__":true,"id":1340},{"__isSmartRef__":true,"id":1342},{"__isSmartRef__":true,"id":1344},{"__isSmartRef__":true,"id":1346},{"__isSmartRef__":true,"id":1348},{"__isSmartRef__":true,"id":1350},{"__isSmartRef__":true,"id":1352},{"__isSmartRef__":true,"id":1354},{"__isSmartRef__":true,"id":1356},{"__isSmartRef__":true,"id":1358},{"__isSmartRef__":true,"id":1360},{"__isSmartRef__":true,"id":1362},{"__isSmartRef__":true,"id":1364},{"__isSmartRef__":true,"id":1366},{"__isSmartRef__":true,"id":1368},{"__isSmartRef__":true,"id":1370},{"__isSmartRef__":true,"id":1372},{"__isSmartRef__":true,"id":1374},{"__isSmartRef__":true,"id":1376},{"__isSmartRef__":true,"id":1378},{"__isSmartRef__":true,"id":1380},{"__isSmartRef__":true,"id":1382},{"__isSmartRef__":true,"id":1384},{"__isSmartRef__":true,"id":1386},{"__isSmartRef__":true,"id":1388},{"__isSmartRef__":true,"id":1390},{"__isSmartRef__":true,"id":1392},{"__isSmartRef__":true,"id":1394},{"__isSmartRef__":true,"id":1396},{"__isSmartRef__":true,"id":1398}],"charsReplaced":"#Line1","lastFindLoc":12,"prevScroll":[0,0],"eventHandler":{"__isSmartRef__":true,"id":1400},"_ClipMode":"visible","derivationIds":[355,"1EB1674F-8BF2-419B-B054-86129ED70335","63698904-DC05-4341-A9B6-5CC4A219CD04","F6A714BA-4735-41ED-8A2A-45CB153FBDF8","00EF5BDE-A6C1-4CDC-AAFD-8DB7D6C920A9","31625624-9A8F-4797-9CEB-6E0AC4E70EA8","D1F11C50-0C91-47DF-A055-1EA602857957","F2B8E6AA-6248-4340-A65D-FC05BD3AC6EC","2EFE11FE-5B9F-4624-8C5B-F77B7A7826DE"],"_WhiteSpaceHandling":"pre-wrap","_MinTextWidth":120.695652,"_MinTextHeight":null,"isBeingDragged":false,"moved":true,"magnets":[{"__isSmartRef__":true,"id":1401},{"__isSmartRef__":true,"id":1402},{"__isSmartRef__":true,"id":1403},{"__isSmartRef__":true,"id":1404},{"__isSmartRef__":true,"id":1405},{"__isSmartRef__":true,"id":1406},{"__isSmartRef__":true,"id":1407},{"__isSmartRef__":true,"id":1408}],"syntaxHighlightingWhileTyping":true,"attributeConnections":[{"__isSmartRef__":true,"id":1409}],"doNotSerialize":["$$textString","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors"],"doNotCopyProperties":["$$textString"],"_lastSyntaxHighlightTime":210,"_WordBreak":"break-all","savedTextString":"this.addScript(function intersects(v1, v2){\n var a1 = v1[0],\n a2 = v1[1],\n b1 = v2[0],\n b2 = v2[1];\n\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(t * b);\n})\n\nthis.intersects(#Line1.vertices(), #Line2.vertices())\n\n\n\n","target":{"__isSmartRef__":true,"id":583},"layout":{"__isSmartRef__":true,"id":1411},"previousSelection":[0,952],"owner":{"__isSmartRef__":true,"id":0},"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","textColor","_Padding","distanceToDragEvent"],"textString":"this.addScript(function intersects(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n})\n\nvar a1 = #Line1.controlPoints[0].getGlobalPos(), \n a2 = #Line1.controlPoints[1].getGlobalPos(),\n b1 = #Line2.controlPoints[0].getGlobalPos(), \n b2 = #Line2.controlPoints[1].getGlobalPos()\n\nshow(a1); show(a2); show(b1); show(b2); \n\nvar p = this.intersects(a1, a2, b1, b2)\nshow(p).setFill(Color.blue)\n","priorSelectionRange":[0,952],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1412},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(40.0,848.5)","textColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(5,5,0,0)","distanceToDragEvent":"lively.pt(305.4,-41.1)"},"1037":{"submorphs":[{"__isSmartRef__":true,"id":1038},{"__isSmartRef__":true,"id":1053}],"scripts":[],"id":"4C8C2413-A44D-4F57-8D6E-044435019381","shape":{"__isSmartRef__":true,"id":1064},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":1070},"lighterFill":{"__isSmartRef__":true,"id":1075},"label":{"__isSmartRef__":true,"id":1038},"name":"MagnifierButton1","showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":1080},"attributeConnections":[{"__isSmartRef__":true,"id":1083}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"eventHandler":{"__isSmartRef__":true,"id":1084},"derivationIds":[2588,"22797D34-67DE-4A06-81F0-4DF0A87ADBBC","81CB4C12-BCF0-4097-8B6D-D9419046367A","0767A57D-9BB2-48C6-9654-753D2B9D00A6","42871246-6725-4E41-A2C1-5A5BCF041097","BCE6E775-B5DF-4D6B-9F06-CDC02C1B1D0F","797EC165-A639-42D9-A059-669F6BEB92A7","FA498EFD-E50E-4CE0-9FA8-9AE2E8AE9580","4B68C371-CB37-45B4-910A-611E5FFC23DD","94E374B9-7ED4-4E39-96F1-6FD4E7AC3428","34D63515-7CC7-43FB-B7BB-87AFCA377D63","7E0B172C-0AF5-4C6E-B184-25A8FAE4FAB8","12239D52-D3D3-4713-BC3E-F0B95C488CB7","72559D92-4616-45A9-A0F2-72BA4147C0FB","E86C7328-AF24-4881-84AF-B7C7CEFEAE14","22D731CF-38F0-41CC-B125-74D2842ED847","B58A1A30-782E-4675-A276-2C01D35BEC70","ACEABA6D-071C-46C2-A325-BE30189AA45F","686443AE-DCDC-4998-8A39-48BC57D64FDC","8D660766-7C93-404C-9D92-B12CBF59A3CE","20DF1A18-6F2B-4D66-9110-75EB343C3C61","6295FA32-B7AA-4C61-BF03-5E69084C8FE8","72BEBA6F-7C26-47B6-AED2-253F02E48DE5"],"_ClipMode":"visible","highlightRectangle":{"__isSmartRef__":true,"id":1085},"isPressed":false,"owner":{"__isSmartRef__":true,"id":1036},"prevScroll":[0,0],"layout":{"__isSmartRef__":true,"id":1161},"magnets":[{"__isSmartRef__":true,"id":1162},{"__isSmartRef__":true,"id":1163},{"__isSmartRef__":true,"id":1164},{"__isSmartRef__":true,"id":1165},{"__isSmartRef__":true,"id":1166},{"__isSmartRef__":true,"id":1167},{"__isSmartRef__":true,"id":1168},{"__isSmartRef__":true,"id":1169}],"_Rotation":0,"_Scale":0.9920279440699439,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1170},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(784.4,-5.0)","distanceToDragEvent":"lively.pt(39.2,-13.1)"},"1038":{"submorphs":[],"scripts":[],"id":"F6E9EDE5-A210-4ABB-ABE1-2086939E8554","shape":{"__isSmartRef__":true,"id":1039},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":false,"_FontFamily":"Helvetica","registeredForMouseEvents":true,"_MaxTextWidth":24,"_MaxTextHeight":null,"textStyle":null,"owner":{"__isSmartRef__":true,"id":1037},"isLabel":true,"eventsAreIgnored":true,"_ClipMode":"hidden","textChunks":[{"__isSmartRef__":true,"id":1040},{"__isSmartRef__":true,"id":1042}],"_Align":"center","eventHandler":{"__isSmartRef__":true,"id":1044},"_HandStyle":"default","_PointerEvents":"none","derivationIds":[2589,"024C5ADE-C4CF-4E8E-BEC5-F93AD4839702","A2CC4D56-B9D8-4A48-B6FF-DDDD85ACDC2E","5AC5C4DE-00B0-43DB-B7F1-765674CE818B","750A11C6-766E-4B48-AE32-D71DE811EB4A","66A7B56E-A94E-44AE-8AED-C0C1B07554D4","CA8596D3-2D4F-453B-BE1B-DCEC8F85389B","4D7DC32F-79CB-4AF8-8B21-AB4F1809D4A8","439DE430-7651-470E-97D8-00E7F96B04DA","DAC920E6-217B-4515-AC09-2F9DCBA7375C","BD48C003-0502-451D-B6AA-7369FF3D1030","C3B8F4EA-3F44-47F4-B569-A0D5AB263BA0","BF7F0FA3-3F2A-4EEF-9687-BE2B0635DF13","3D7AEAC1-C9DD-4941-BA46-16F6783F5699","E04A78F9-3D6E-403F-BA8D-2583FCFFCE53","47E1F29B-6896-467D-8654-CA18929AE57A","509D86FF-5400-4374-BE79-90F0A7E3E90C","C7E53EE0-065A-4C59-8D13-311566722BB7","BA078BAC-7263-4B10-AFD3-3C4EA0DD8707","BCFE28D1-A115-453E-9116-EECC8FE1D50F","A354FF2E-BD85-429A-97C2-254D6033F50C","B26A73EB-9EB9-4CB0-89AF-FEE10445E3EA","ED910382-D586-4EC1-BD77-5E8DD759BDB4"],"_MinTextWidth":24,"_MinTextHeight":null,"_FontSize":10,"_WordBreak":"break-all","magnets":[{"__isSmartRef__":true,"id":1045},{"__isSmartRef__":true,"id":1046},{"__isSmartRef__":true,"id":1047},{"__isSmartRef__":true,"id":1048},{"__isSmartRef__":true,"id":1049},{"__isSmartRef__":true,"id":1050},{"__isSmartRef__":true,"id":1051},{"__isSmartRef__":true,"id":1052}],"__serializedExpressions__":["_Position","padding","_Padding","_TextColor"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(0.0,0.0)","padding":"lively.rect(5,5,0,0)","_Padding":"lively.rect(0,0,0,0)","_TextColor":"Color.rgb(0,0,0)"},"1039":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(64.2,21.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,3,0,0)"},"1040":{"style":{"__isSmartRef__":true,"id":1041},"chunkOwner":{"__isSmartRef__":true,"id":1038},"storedString":"","_id":"_1372","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1041":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1042":{"style":{"__isSmartRef__":true,"id":1043},"chunkOwner":{"__isSmartRef__":true,"id":1038},"storedString":"","_id":"_1373","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1043":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1044":{"morph":{"__isSmartRef__":true,"id":1038},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1045":{"morph":{"__isSmartRef__":true,"id":1038},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(815.3,1276.4)"},"1046":{"morph":{"__isSmartRef__":true,"id":1038},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(847.1,1276.4)"},"1047":{"morph":{"__isSmartRef__":true,"id":1038},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(879.0,1276.4)"},"1048":{"morph":{"__isSmartRef__":true,"id":1038},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(879.0,1286.8)"},"1049":{"morph":{"__isSmartRef__":true,"id":1038},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(879.0,1297.2)"},"1050":{"morph":{"__isSmartRef__":true,"id":1038},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(847.1,1297.2)"},"1051":{"morph":{"__isSmartRef__":true,"id":1038},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(815.3,1297.2)"},"1052":{"morph":{"__isSmartRef__":true,"id":1038},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(815.3,1286.8)"},"1053":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":1054},"derivationIds":[null,"29E543E0-AE93-493A-A694-FC1C330D0544","F0366E4C-E97F-4C77-BEE4-340A0668ADD5","347F6028-5092-4F54-9A34-3EFF3FF0B815","BF7387E7-BCD7-4A5B-B9D2-C14ECF59EFCA","85BA370B-966E-41F7-8C2F-F3A926EC2AA2","1652172B-339A-43A1-9589-70E68B35A28E","705524F7-129B-4102-834E-2A1A45985BB5","5707DF70-CD77-4D53-96ED-5A0AEB227FB7","257E62CE-C668-4317-B5B7-8D394BDC3F6C","2DD4BEA5-E85A-4CD0-953E-9EB2E0735654","BB96B696-7BD4-44C4-9D60-B1551B89D6FA","FCAABC48-FBAF-4E12-8BC9-AC4ACB5A167B","EB81C4D7-5BD8-4DAC-BD70-8675E2338AAC","1DBAE3FF-B2F6-4348-8E06-81139C138D6E","49E7D450-EF74-4E94-B33B-B888D952F3BD","F0B267C4-54BA-4E6F-BFDD-4B047F4FF41A","36B8611D-B449-4F6E-8D0F-B5FD6406D45D","779DB518-01BD-4D32-AD65-BFED801E5D06","F47D501C-3750-4F0D-A2E1-E1B9CDA8368C","5DEBC468-2070-496D-A3DA-1A5C54BBBC41","1DB6E59C-CCC0-45D1-B3DA-6B2ECCE90296"],"id":"7C4EE8E8-7D96-4792-A66A-5F5A65A5DBAC","eventHandler":{"__isSmartRef__":true,"id":1055},"_ClipMode":"visible","__layered_droppingEnabled__":true,"halosEnabled":true,"owner":{"__isSmartRef__":true,"id":1037},"name":"leftpointing_magnifying_glass.png","isBeingDragged":false,"showsHalos":false,"eventsAreDisabled":true,"_HandStyle":"default","_PointerEvents":"none","magnets":[{"__isSmartRef__":true,"id":1056},{"__isSmartRef__":true,"id":1057},{"__isSmartRef__":true,"id":1058},{"__isSmartRef__":true,"id":1059},{"__isSmartRef__":true,"id":1060},{"__isSmartRef__":true,"id":1061},{"__isSmartRef__":true,"id":1062},{"__isSmartRef__":true,"id":1063}],"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__LivelyClassName__":"lively.morphic.Image","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(-3.0,0.0)","distanceToDragEvent":"lively.pt(39.9,-9.0)"},"1054":{"_ImageURL":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAACXBIWXMAAAABAAAAAQBPJcTWAAAALnRFWHRUaXRsZQBMRUZULVBPSU5USU5HIE1BR05JRllJTkcgR0xBU1MgKFUrMUY1MEQpw88haQAAABV0RVh0QXV0aG9yAEFuZHJldyBNYXJjdXNl5zc3gwAAAC90RVh0U29mdHdhcmUAaW5mby5maWxlZm9ybWF0LmRhdGEuVW5pY29kZVBuZ1NlcnZsZXRoAX8wAAAAQ3RFWHREZXNjcmlwdGlvbgBodHRwOi8vd3d3LmZpbGVmb3JtYXQuaW5mby9pbmZvL3VuaWNvZGUvMWY1MGQvaW5kZXguaHRtk2hNQgAAADt0RVh0Q29weXJpZ2h0AGh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LW5jLXNhLzIuMC9siJKDAAAIDklEQVR42u1daWxVRRQeCi0tIqCAQCTIUtEIGlk0ilqEkEbiQhSKGAyCooIIggsiQuMWZNGwVMUFNIhKZBMobZClgK1FwAU3wIpSREDcUFZFEM/JOzf3vPHet9ze1/eYe77k+zNzl5nz3ZlzZntPKYFAcHojDXimmKH6cQbwZuBM4HLgx8A9wBPAU8BjwJ3ADcDFwMnArsCaYjr/0BB4DwlwjAwfL38DzgX2AdYWk3pDJnAM8E/NuN8BpwEHAq8DXgpsCswANgN2APak/BeBu7T7sQX1A9YQE8fuDwYAf2BG/JrEaefxmSjaeOAO9syNwBwxd2Q0o/7fMhr6h8Fx+oBIX346cATwF/aON6Qbc0ZH4G4y0lHgOGAdD8/Be/KAs4AFwKsdrqkHnAA8Tu8rAzYWCWz0Bh5hraKTT11fL+AH1FXlA8/SrsEu61fmW9qLFEqNAv5LRsEw9twEvKMzcAvwJ3LoHG2AW+n9B4HdgixGHhNjiccuKlbUp9aC7yoGnqflraa8A8C2QRTjMvIVaITyKI61BjnkqiILWEjvPAwcxvLqAj+nvAqH7s1oNAfupcpjeNskhnvQOQ/xYfxQCziHRVl3sjxsNfspvYSuNR4Ywn5ClT5CA7lYkUPRU0YVy4CivkVlOE7TKxa6AP+ivKlBEORe9nUO8XD/QhWay6oqmlK3dYoirTYs70FK/wd4ocli1KVIByu7XXmb9BsOPEmj76riSfZxbAM2oPQMmqLB9GUmC/I0M8AtHp9xCd3/rM8fCHISy+vH0ruaOi3Coyqv6ETPKPSpXEOZ4X9XoSl+y89sovTNJgoyklW8rw8+aKFP5apFo3SrbMNcWsnFpgmylkU19R3yY4mc0mk0j88Z62PZ5jHDV7DQugE5dkx/3CQxzlb2qt6aCF1HtJH6BHoGju4v97F8+Sp8zeRGlldCaZtMEmQAq+zICL5hpUvrwfXy19gzZvhcvj6aILNZ3ij2ETQzRZA3WWU7RrgOfQsu05YCnyLxcFS9h91fTlMgfqKdJsg6lteBpQ8wRZASVqmmUa7txvwEJ/qe8SoxGxYymK+wpnMsNGHpxviRbVShkzEatAb5iEHUSrqzQVuiUMkMf5IFGWnM/71giiAHqEL7U7iMf2gtkk/B7/M51E4qMlklvzwNymgxl+VvobQPTRCkMavkDpaelkJlbOkgyDUsv0LZu19Oe/A++BBLvyIB0ZJX9HIQhHdZBymt1BQfso9V1Jorag28PUXKN8tBkHqUV4elLTJFkM9YpVqzllOcAmXDiG6vJsZhlt+Kpc80RZBiF2eJK4fZSS5bd4fWUcTyc1n6Y6YIMpVVii+LTgFOTHLZNjoIMpTlT2fpXUwRpIcKn021gHuwcDN0ss525Cnn3fIt2DXfK3vPljGbHtK1gdcFmkNdkYTK4gz0Tgcxytg1fI6rUBkGvubA54Ta0lTFK9VYFhS/xKV18PEHX3MfYpogfPUND9DwuamFlP5oNZXlZRcxlmsDWutsCl/aNQYZWhfBnTlOceNsLq459E1wyyhwEeNvFb7ZusClrEbhNlbJoyp8Y3UejehxPWS08v/MBrbIlcr92BvfwZit7KMKOC3f3FRBcBC2mRlBnz0dpOzN17gvqrdP7+2p7PkoJz7Hrq2pCfeqMhzXasbI1/KHa/m4Y93reRFcU1mrIh8IXaLCJzpnsLyfKRozHrNZpbFF9NHyx2pGw2tWAZ8H3gW8UjmvvWdSlIQb3raq6Kdzp6vwBbOhWn5/FRCggy9lFcdN1521ax5Q0Y9B41o7nkn8Rv1/gSkS0T/crb0vV4Uv465UAUNjLerCkfAN2jUXKef19apwnYP4AynK4tfNU6m1ZlMtaK/stQZrLXu0Q6g6OIpTjoVfAK/Xnp1GDp1fhy0th1rwHLqmEbXYHkEQJYcGitwouG2onoPx0Ne8q+yDmtGIs8lPUFCgH/Q5R4XPQlt8nfKzKB9/ouNHLT/ddFEw7t+uGQbPko90GY+gOHgcoRc5+YeBj1DY3JPyGrq8qy6JdMhBDAyz8azhZLq2JRuP4HE3a6f8KhNH7k4Dt9UORqoE3qGqfiAUo7L7lX1kjfMd4H0UHGTTFMpLzH8VUAS3iN2znsQ1GugvprCvkvMYdSFouBYxPu98FdoKusblmZXUoiz0J1FuYgPUfCrXAof7S4MgimXIRVH8wwHq5vBLna9Cs8ULyEgVWrCg8zAJ79TtjGDXjSMx5kd4Fk7XB+a3uq5Sob1QfoW86JzxR2zcjjyj3/mKTafUpCAi2nPLVcB+QA379YdoGuWEBxEwars1hujIOpZQQS1jWhzvKXeIDAOBRhT+YgQ2kcYK71NLwgOauAKJ50jwpFW8J2jHKHvLKwYBuENmVxyibAiqKIlCOkVY1g8HZHkQ5SOXeTaBR9RW9vT7agp34xVlo4jiL7KoG0TjriCR4hVlk0r8EYrAtZQiZa+14wx1qzhF2Syi+C+K5VOWko8RUVJIlPc8irIhKCP6ZItSqeJbh8kSU/qHDCbKMuZT4hFlrpgxcaIUUcuJR5TdYsLEiFLIQuLMOESZJOZLnCjLyMhrabqkZRRR1qsArDQmW5SlZOxPVWhJ2E2UNRJlVQ/wi19CRv9WhXbJoCh8zb+IujVBNYqymIyPP55ZxsQoVvK78kkBrp28rXVThSJGcoE7YZ5RoTMlc8SBpw7kj2IEAoFAIBAIBAKBQCAQCAQCgUAgEAgEAoFAIBAIBAKBQCAQCAQCgSAZ+A+0ucC4BysctgAAAABJRU5ErkJggg==","_NodeClass":["image"],"_NodeId":"29E543E0-AE93-493A-A694-FC1C330D0544","attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"isLoaded":true,"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Image","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(29.0,29.0)","_Padding":"lively.rect(0,0,0,0)"},"1055":{"morph":{"__isSmartRef__":true,"id":1053},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1056":{"morph":{"__isSmartRef__":true,"id":1053},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(812.3,1276.4)"},"1057":{"morph":{"__isSmartRef__":true,"id":1053},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(826.7,1276.4)"},"1058":{"morph":{"__isSmartRef__":true,"id":1053},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(841.1,1276.4)"},"1059":{"morph":{"__isSmartRef__":true,"id":1053},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(841.1,1290.8)"},"1060":{"morph":{"__isSmartRef__":true,"id":1053},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(841.1,1305.2)"},"1061":{"morph":{"__isSmartRef__":true,"id":1053},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(826.7,1305.2)"},"1062":{"morph":{"__isSmartRef__":true,"id":1053},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(812.3,1305.2)"},"1063":{"morph":{"__isSmartRef__":true,"id":1053},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(812.3,1290.8)"},"1064":{"_BorderWidth":1.1840000000000002,"_Fill":{"__isSmartRef__":true,"id":1065},"_BorderRadius":5.2,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(64.2,21.0)","_BorderColor":"Color.rgb(214,214,214)","_Padding":"lively.rect(0,0,0,0)"},"1065":{"stops":[{"__isSmartRef__":true,"id":1066},{"__isSmartRef__":true,"id":1067},{"__isSmartRef__":true,"id":1068},{"__isSmartRef__":true,"id":1069}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"1066":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"1067":{"offset":0.3,"__serializedExpressions__":["color"],"color":"Color.rgb(221,221,221)"},"1068":{"offset":0.7,"__serializedExpressions__":["color"],"color":"Color.rgb(221,221,221)"},"1069":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(204,204,204)"},"1070":{"stops":[{"__isSmartRef__":true,"id":1071},{"__isSmartRef__":true,"id":1072},{"__isSmartRef__":true,"id":1073},{"__isSmartRef__":true,"id":1074}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"1071":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"1072":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"1073":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"1074":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(240,240,240)"},"1075":{"stops":[{"__isSmartRef__":true,"id":1076},{"__isSmartRef__":true,"id":1077},{"__isSmartRef__":true,"id":1078},{"__isSmartRef__":true,"id":1079}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"1076":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"1077":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"1078":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"1079":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"1080":{"partsSpaceName":"PartsBin/Inputs","migrationLevel":4,"partName":"ScriptableButton","comment":"Has a script that is called on button press","changes":[{"__isSmartRef__":true,"id":1081}],"revisionOnLoad":154251,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"1081":{"date":{"__isSmartRef__":true,"id":1082},"author":"robertkrahn","message":"no comment","id":"0366C0A2-0C8E-4AEB-AAC3-120434134545"},"1082":{"isSerializedDate":true,"string":"Sat Apr 21 2012 14:10:10 GMT+0200 (CEST)"},"1083":{"sourceObj":{"__isSmartRef__":true,"id":1037},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":1037},"targetMethodName":"onFire","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1084":{"morph":{"__isSmartRef__":true,"id":1037},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1085":{"submorphs":[],"scripts":[],"id":"364FF344-E489-461B-BC8C-ED45E4823ED4","shape":{"__isSmartRef__":true,"id":1086},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"HighlightRectangle","partsBinMetaInfo":{"__isSmartRef__":true,"id":1087},"eventHandler":{"__isSmartRef__":true,"id":1128},"doNotSerialize":[],"doNotCopyProperties":[],"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","6FECB598-D130-4242-BF1B-E18767608129","0B23F218-078F-4912-A262-31B957885F41","C56BA290-B836-4946-B4EF-DBB6FBA2368C","61176BAF-CFE6-4F2C-9F0A-971AAD6595A1","CB4127B2-0AA5-4B50-9978-F1FF39924A82","113050BB-CF0E-4193-91C6-9C25FC857EE8","EFF939E4-317B-4662-943F-77A6E6F65BD0","AA288E7F-3972-4F0D-87DD-61E4BD9C9C97","903E8C60-1158-42D5-85D2-DF134DA6CEC1","28FD6210-A549-4A11-9178-04E77FF556C0","B3312E29-D786-469F-865E-91FD69475A52","D947A1C1-DCBE-4485-A33D-DF549F6978E0","56CE0E60-45BE-43FF-9C6C-296D8AC326B6","CC61E3F8-8C8D-4F24-A591-023D3C88DEC8"],"partTests":{"__isSmartRef__":true,"id":1129},"_ClipMode":"visible","moved":true,"isBeingDragged":false,"prevScroll":[0,0],"#startLetters":"","eventsAreDisabled":false,"_HandStyle":"default","_PointerEvents":"auto","_Rotation":0,"_Scale":1.0060210561262526,"owner":null,"magnifierButton":{"__isSmartRef__":true,"id":1037},"attributeConnections":[{"__isSmartRef__":true,"id":1134},{"__isSmartRef__":true,"id":1136},{"__isSmartRef__":true,"id":1138}],"isMetaTool":true,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1140},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(23.0,906.1)","distanceToDragEvent":"lively.pt(44.0,-14.0)"},"1086":{"_BorderWidth":0,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":0.2597,"_BorderStyle":"hidden","__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(770.0,226.1)","_BorderColor":"Color.rgb(204,0,0)","_Fill":"Color.rgb(58,0,255)","_Padding":"lively.rect(0,0,0,0)"},"1087":{"partsSpaceName":"PartsBin/Tools","comment":"A rectangle which highlights the object under the first hand of the world","migrationLevel":4,"partName":"HighlightRectangle","changes":[{"__isSmartRef__":true,"id":1088},{"__isSmartRef__":true,"id":1090},{"__isSmartRef__":true,"id":1092},{"__isSmartRef__":true,"id":1094},{"__isSmartRef__":true,"id":1096},{"__isSmartRef__":true,"id":1098},{"__isSmartRef__":true,"id":1100},{"__isSmartRef__":true,"id":1102},{"__isSmartRef__":true,"id":1104},{"__isSmartRef__":true,"id":1106},{"__isSmartRef__":true,"id":1108},{"__isSmartRef__":true,"id":1110},{"__isSmartRef__":true,"id":1112},{"__isSmartRef__":true,"id":1114},{"__isSmartRef__":true,"id":1116},{"__isSmartRef__":true,"id":1118},{"__isSmartRef__":true,"id":1120},{"__isSmartRef__":true,"id":1122},{"__isSmartRef__":true,"id":1124},{"__isSmartRef__":true,"id":1126}],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"1088":{"date":{"__isSmartRef__":true,"id":1089},"author":"timfelgentreff","message":"no comment","id":"3DB7DB40-210A-4BED-91FD-9287005703EC"},"1089":{"isSerializedDate":true,"string":"Thu May 24 2012 17:04:54 GMT+0200 (CEST)"},"1090":{"date":{"__isSmartRef__":true,"id":1091},"author":"tessi","message":"no comment","id":"23D7AA12-66A9-4C3B-B494-131256C291AC"},"1091":{"isSerializedDate":true,"string":"Thu May 24 2012 16:57:13 GMT+0200 (CEST)"},"1092":{"date":{"__isSmartRef__":true,"id":1093},"author":"tessi","message":"no comment","id":"2C30B7CA-388F-4F51-B4CF-A2E50E381148"},"1093":{"isSerializedDate":true,"string":"Thu May 24 2012 16:23:11 GMT+0200 (CEST)"},"1094":{"date":{"__isSmartRef__":true,"id":1095},"author":"tessi","message":"diable events","id":"7C1F71A3-FDAC-470A-B9A9-E1F2C9FEF18E"},"1095":{"isSerializedDate":true,"string":"Thu May 24 2012 14:46:08 GMT+0200 (CEST)"},"1096":{"date":{"__isSmartRef__":true,"id":1097},"author":"tessi","message":"no comment","id":"01996A33-11BC-4C15-96D7-B7D219E2E961"},"1097":{"isSerializedDate":true,"string":"Thu May 24 2012 14:39:50 GMT+0200 (CEST)"},"1098":{"date":{"__isSmartRef__":true,"id":1099},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"1099":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"1100":{"date":{"__isSmartRef__":true,"id":1101},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"1101":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"1102":{"date":{"__isSmartRef__":true,"id":1103},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"1103":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"1104":{"date":{"__isSmartRef__":true,"id":1105},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"1105":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"1106":{"date":{"__isSmartRef__":true,"id":1107},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"1107":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"1108":{"date":{"__isSmartRef__":true,"id":1109},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"1109":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"1110":{"date":{"__isSmartRef__":true,"id":1111},"author":"tessi","message":"no comment","id":"4B982A01-25B3-455A-848D-89C2C3C471D7"},"1111":{"isSerializedDate":true,"string":"Thu May 24 2012 13:58:01 GMT+0200 (CEST)"},"1112":{"date":{"__isSmartRef__":true,"id":1113},"author":"tessi","message":"no comment","id":"2FD6CB7B-3BC7-4666-98B4-AACF1001954D"},"1113":{"isSerializedDate":true,"string":"Thu May 24 2012 14:07:32 GMT+0200 (CEST)"},"1114":{"date":{"__isSmartRef__":true,"id":1115},"author":"tessi","message":"no comment","id":"09CF5ECF-2C87-4B66-A164-39848628596F"},"1115":{"isSerializedDate":true,"string":"Thu May 24 2012 15:34:59 GMT+0200 (CEST)"},"1116":{"date":{"__isSmartRef__":true,"id":1117},"author":"tessi","message":"no comment","id":"252A3EB5-DB00-4CF9-BF38-2927DD1C5229"},"1117":{"isSerializedDate":true,"string":"Thu May 24 2012 16:34:29 GMT+0200 (CEST)"},"1118":{"date":{"__isSmartRef__":true,"id":1119},"author":"tessi","message":"no comment","id":"81534551-62C1-4FC9-96CB-A5AC6642CA1E"},"1119":{"isSerializedDate":true,"string":"Thu May 24 2012 16:45:49 GMT+0200 (CEST)"},"1120":{"date":{"__isSmartRef__":true,"id":1121},"author":"tessi","message":"no comment","id":"5125DE3A-D50E-4621-8490-F3A9D99C2C4C"},"1121":{"isSerializedDate":true,"string":"Thu May 24 2012 16:47:20 GMT+0200 (CEST)"},"1122":{"date":{"__isSmartRef__":true,"id":1123},"author":"tessi","message":"no comment","id":"C81A2FBF-CB0B-4A0B-9D63-F9AEDFCB5DA6"},"1123":{"isSerializedDate":true,"string":"Thu May 24 2012 16:51:06 GMT+0200 (CEST)"},"1124":{"date":{"__isSmartRef__":true,"id":1125},"author":"tessi","message":"no comment","id":"DC8EF5EC-7563-45B6-816D-20E2DC218525"},"1125":{"isSerializedDate":true,"string":"Thu May 24 2012 16:52:10 GMT+0200 (CEST)"},"1126":{"date":{"__isSmartRef__":true,"id":1127},"author":"timfelgentreff","message":"no comment","id":"E7515DFB-DE7D-4E1F-A2C3-85166DCE4942"},"1127":{"isSerializedDate":true,"string":"Thu May 24 2012 16:59:39 GMT+0200 (CEST)"},"1128":{"morph":{"__isSmartRef__":true,"id":1085},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1129":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1130}},"1130":{"test01IsMorph":{"__isSmartRef__":true,"id":1131}},"1131":{"varMapping":{"__isSmartRef__":true,"id":1132},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":1133},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1132":{"this":{"__isSmartRef__":true,"id":1129}},"1133":{},"1134":{"sourceObj":{"__isSmartRef__":true,"id":1085},"sourceAttrName":"onMouseMove","targetObj":{"__isSmartRef__":true,"id":1085},"targetMethodName":"updateOnMove","varMapping":{"__isSmartRef__":true,"id":1135},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1135":{"source":{"__isSmartRef__":true,"id":1085},"target":{"__isSmartRef__":true,"id":1085}},"1136":{"sourceObj":{"__isSmartRef__":true,"id":1085},"sourceAttrName":"onMouseUp","targetObj":{"__isSmartRef__":true,"id":1037},"targetMethodName":"removeHighlighting","varMapping":{"__isSmartRef__":true,"id":1137},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1137":{"source":{"__isSmartRef__":true,"id":1085},"target":{"__isSmartRef__":true,"id":1037}},"1138":{"sourceObj":{"__isSmartRef__":true,"id":1085},"sourceAttrName":"onMouseUp","targetObj":{"__isSmartRef__":true,"id":1037},"targetMethodName":"setTarget","varMapping":{"__isSmartRef__":true,"id":1139},"converterString":"function () {\n return this.sourceObj.morphUnderCursor();\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1139":{"source":{"__isSmartRef__":true,"id":1085},"target":{"__isSmartRef__":true,"id":1037}},"1140":{"update":{"__isSmartRef__":true,"id":1141},"updateOnMove":{"__isSmartRef__":true,"id":1145},"bringToFront":{"__isSmartRef__":true,"id":1149},"morphUnderCursor":{"__isSmartRef__":true,"id":1157}},"1141":{"varMapping":{"__isSmartRef__":true,"id":1142},"source":"function update(morphUnderCursor) {\n if (!morphUnderCursor) return;\n if (morphUnderCursor === this.magnifierButton ||\n this.magnifierButton.submorphs.include(morphUnderCursor)) {\n morphToHighlight = this.magnifierButton.currentTarget();\n } else {\n morphToHighlight = morphUnderCursor;\n }\n\n if (morphToHighlight && morphToHighlight.world()) {\n this.setPosition(morphToHighlight.getPositionInWorld());\n this.setExtent(morphToHighlight.getExtent());\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1143},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1142":{"this":{"__isSmartRef__":true,"id":1085}},"1143":{"timestamp":{"__isSmartRef__":true,"id":1144},"user":"jenslincke","tags":[]},"1144":{"isSerializedDate":true,"string":"Thu Dec 13 2012 10:44:50 GMT+0100 (CET)"},"1145":{"varMapping":{"__isSmartRef__":true,"id":1146},"source":"function updateOnMove() {\n this.update(this.morphUnderCursor());\n this.bringToFront();\n}","funcProperties":{"__isSmartRef__":true,"id":1147},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1146":{"this":{"__isSmartRef__":true,"id":1085}},"1147":{"timestamp":{"__isSmartRef__":true,"id":1148},"user":"lauritz","tags":[]},"1148":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:18:33 GMT+0200 (CEST)"},"1149":{"varMapping":{"__isSmartRef__":true,"id":1150},"source":"function bringToFront() {\n this.renderContext().morphNode.style.zIndex= 1000;\n}","funcProperties":{"__isSmartRef__":true,"id":1155},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1150":{"this":{"__isSmartRef__":true,"id":1085},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1151}},"1151":{"$super":{"__isSmartRef__":true,"id":1152}},"1152":{"varMapping":{"__isSmartRef__":true,"id":1153},"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":1154},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1153":{"obj":{"__isSmartRef__":true,"id":1085},"name":"bringToFront"},"1154":{},"1155":{"timestamp":{"__isSmartRef__":true,"id":1156},"user":"lauritz","tags":[]},"1156":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:12:09 GMT+0200 (CEST)"},"1157":{"varMapping":{"__isSmartRef__":true,"id":1158},"source":"function morphUnderCursor() {\n var that = this,\n world = lively.morphic.World.current();\n var result = world.morphsContainingPoint(world.firstHand().getPosition()).detect(\n function(ea) {\n return !ea.isPlaceholder &&\n !ea.isHalo &&\n !ea.isWorld &&\n (!ea.owner || !ea.owner.isHalo) &&\n !(ea === that);\n });\n if (result == world) \n return null;\n else\n return result;\n}","funcProperties":{"__isSmartRef__":true,"id":1159},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1158":{"this":{"__isSmartRef__":true,"id":1085}},"1159":{"timestamp":{"__isSmartRef__":true,"id":1160},"user":"jenslincke","tags":[]},"1160":{"isSerializedDate":true,"string":"Thu Dec 13 2012 10:44:22 GMT+0100 (CET)"},"1161":{"moveHorizontal":true},"1162":{"morph":{"__isSmartRef__":true,"id":1037},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(815.3,1276.4)"},"1163":{"morph":{"__isSmartRef__":true,"id":1037},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(847.1,1276.4)"},"1164":{"morph":{"__isSmartRef__":true,"id":1037},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(879.0,1276.4)"},"1165":{"morph":{"__isSmartRef__":true,"id":1037},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(879.0,1286.8)"},"1166":{"morph":{"__isSmartRef__":true,"id":1037},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(879.0,1297.2)"},"1167":{"morph":{"__isSmartRef__":true,"id":1037},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(847.1,1297.2)"},"1168":{"morph":{"__isSmartRef__":true,"id":1037},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(815.3,1297.2)"},"1169":{"morph":{"__isSmartRef__":true,"id":1037},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(815.3,1286.8)"},"1170":{"onFire":{"__isSmartRef__":true,"id":1171},"removeHighlighting":{"__isSmartRef__":true,"id":1175},"onMouseMove":{"__isSmartRef__":true,"id":1179},"onMouseOut":{"__isSmartRef__":true,"id":1187},"reset":{"__isSmartRef__":true,"id":1195},"isTracking":{"__isSmartRef__":true,"id":1199},"isHighlighting":{"__isSmartRef__":true,"id":1203},"currentTarget":{"__isSmartRef__":true,"id":1207},"setTarget":{"__isSmartRef__":true,"id":1211}},"1171":{"varMapping":{"__isSmartRef__":true,"id":1172},"source":"function onFire() {\n var hand = lively.morphic.World.current().firstHand(),\n highlight = this.highlightRectangle,\n that = this;\n\n if (this.isTracking()) {\n this.removeHighlighting();\n } else {\n this.world().addMorph(highlight);\n hand.highlightConnection = connect(hand, \"scrollFocusMorph\", highlight, \"update\");\n highlight.bringToFront();\n if (!this.currentTarget() || !this.currentTarget().world()) {\n highlight.setExtent(pt(0,0));\n }\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1173},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1172":{"this":{"__isSmartRef__":true,"id":1037}},"1173":{"timestamp":{"__isSmartRef__":true,"id":1174},"user":"lauritz","tags":[]},"1174":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:40:51 GMT+0200 (CEST)"},"1175":{"varMapping":{"__isSmartRef__":true,"id":1176},"source":"function removeHighlighting() {\n var hand = this.world().firstHand();\n \n if (this.highlightRectangle) {\n this.highlightRectangle.remove();\n }\n \n hand.attributeConnections.removeAt(\n hand.attributeConnections.indexOf(hand.highlightConnection));\n hand.highlightConnection = null;\n}","funcProperties":{"__isSmartRef__":true,"id":1177},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1176":{"this":{"__isSmartRef__":true,"id":1037}},"1177":{"timestamp":{"__isSmartRef__":true,"id":1178},"user":"lauritz","tags":[]},"1178":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:20:30 GMT+0200 (CEST)"},"1179":{"varMapping":{"__isSmartRef__":true,"id":1180},"source":"function onMouseMove(evt) {\n var target = this.currentTarget();\n if (target && target.world() && !this.isHighlighting()) {\n this.highlightRectangle.update(target);\n this.world().addMorph(this.highlightRectangle);\n this.highlightRectangle.bringToFront();\n this.targetHighlight = this.highlightRectangle;\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1185},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1180":{"this":{"__isSmartRef__":true,"id":1037},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1181}},"1181":{"$super":{"__isSmartRef__":true,"id":1182}},"1182":{"varMapping":{"__isSmartRef__":true,"id":1183},"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":1184},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1183":{"obj":{"__isSmartRef__":true,"id":1037},"name":"onMouseMove"},"1184":{},"1185":{"timestamp":{"__isSmartRef__":true,"id":1186},"user":"lauritz","tags":[]},"1186":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:25:52 GMT+0200 (CEST)"},"1187":{"varMapping":{"__isSmartRef__":true,"id":1188},"source":"function onMouseOut() {\n if (this.isHighlighting()) {\n if (!this.isTracking()) {\n this.targetHighlight.remove();\n }\n delete this.targetHighlight;\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1193},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1188":{"this":{"__isSmartRef__":true,"id":1037},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1189}},"1189":{"$super":{"__isSmartRef__":true,"id":1190}},"1190":{"varMapping":{"__isSmartRef__":true,"id":1191},"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":1192},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1191":{"obj":{"__isSmartRef__":true,"id":1037},"name":"onMouseOut"},"1192":{},"1193":{"timestamp":{"__isSmartRef__":true,"id":1194},"user":"lauritz","tags":[]},"1194":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:21:57 GMT+0200 (CEST)"},"1195":{"varMapping":{"__isSmartRef__":true,"id":1196},"source":"function reset() {\n this.highlightRectangle.attributeConnections = [];\n \n var r = this.highlightRectangle;\n r.isMetaTool = true;\n disconnectAll(r)\n connect(r, \"onMouseMove\", this.highlightRectangle, \"updateOnMove\")\n connect(r, \"onMouseUp\", this, \"removeHighlighting\")\n connect(r, \"onMouseUp\", this, \"setTarget\",\n {converter: function () {\n return this.sourceObj.morphUnderCursor();\n }\n })\n}","funcProperties":{"__isSmartRef__":true,"id":1197},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1196":{"this":{"__isSmartRef__":true,"id":1037}},"1197":{"timestamp":{"__isSmartRef__":true,"id":1198},"user":"jenslincke","tags":[]},"1198":{"isSerializedDate":true,"string":"Thu Dec 13 2012 10:39:09 GMT+0100 (CET)"},"1199":{"varMapping":{"__isSmartRef__":true,"id":1200},"source":"function isTracking() {\n return !!this.world().firstHand().highlightConnection;\n}","funcProperties":{"__isSmartRef__":true,"id":1201},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1200":{"this":{"__isSmartRef__":true,"id":1037}},"1201":{"timestamp":{"__isSmartRef__":true,"id":1202},"user":"lauritz","tags":[]},"1202":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:11:25 GMT+0200 (CEST)"},"1203":{"varMapping":{"__isSmartRef__":true,"id":1204},"source":"function isHighlighting() {\n return !!this.targetHighlight;\n}","funcProperties":{"__isSmartRef__":true,"id":1205},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1204":{"this":{"__isSmartRef__":true,"id":1037}},"1205":{"timestamp":{"__isSmartRef__":true,"id":1206},"user":"lauritz","tags":[]},"1206":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:11:22 GMT+0200 (CEST)"},"1207":{"varMapping":{"__isSmartRef__":true,"id":1208},"source":"function currentTarget() {\n return this.owner.target;\n}","funcProperties":{"__isSmartRef__":true,"id":1209},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1208":{"this":{"__isSmartRef__":true,"id":1037}},"1209":{"timestamp":{"__isSmartRef__":true,"id":1210},"user":"lauritz","tags":[]},"1210":{"isSerializedDate":true,"string":"Wed Jun 06 2012 18:26:02 GMT+0200 (CEST)"},"1211":{"varMapping":{"__isSmartRef__":true,"id":1212},"source":"function setTarget(obj) {\n this.owner.setTarget(obj)\n}","funcProperties":{"__isSmartRef__":true,"id":1213},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1212":{"this":{"__isSmartRef__":true,"id":1037}},"1213":{"timestamp":{"__isSmartRef__":true,"id":1214},"user":"jenslincke","tags":[]},"1214":{"isSerializedDate":true,"string":"Thu Dec 13 2012 10:27:04 GMT+0100 (CET)"},"1215":{"fill":null,"_BorderWidth":0,"_ClipMode":"visible","_BorderRadius":17.78,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding","_Fill"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(2.0,18.0)","_Extent":"lively.pt(847.0,548.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(4,2,0,0)","_Fill":"Color.rgb(223,249,127)"},"1216":{"partsSpaceName":"PartsBin/Jens","migrationLevel":4,"comment":"a simple text morph","partName":"SpecialSyntaxWorkspace","changes":[{"__isSmartRef__":true,"id":1217},{"__isSmartRef__":true,"id":1219},{"__isSmartRef__":true,"id":1221},{"__isSmartRef__":true,"id":1223},{"__isSmartRef__":true,"id":1225},{"__isSmartRef__":true,"id":1227},{"__isSmartRef__":true,"id":1229},{"__isSmartRef__":true,"id":1231},{"__isSmartRef__":true,"id":1233}],"revisionOnLoad":186537,"lastModifiedDate":{"__isSmartRef__":true,"id":1235},"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"1217":{"date":{"__isSmartRef__":true,"id":1218},"author":"robertkrahn","message":"text click was broken?","id":"9D065E14-9653-4B2A-9A2E-3AD84EBBC3E0"},"1218":{"isSerializedDate":true,"string":"Sat Apr 21 2012 16:30:30 GMT+0200 (CEST)"},"1219":{"date":{"__isSmartRef__":true,"id":1220},"author":"undefined","message":"Set the inset as: this.setPadding(Rectangle.inset(4,2)). This gives it a more pleasing appearance with a border, and also makes it easier to select near the bounds.","id":"BD5B0E4C-4830-4863-A013-35BB66D5AD6F"},"1220":{"isSerializedDate":true,"string":"Mon Feb 27 2012 06:20:38 GMT+0100 (CET)"},"1221":{"date":{"__isSmartRef__":true,"id":1222},"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"0F4DE333-A551-4961-B29D-70270977EBEF"},"1222":{"isSerializedDate":true,"string":"Sat Apr 21 2012 07:31:43 GMT+0200 (CEST)"},"1223":{"date":{"__isSmartRef__":true,"id":1224},"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"785D95BD-7858-43EB-90E6-A1C085E2F2B9"},"1224":{"isSerializedDate":true,"string":"Sat Apr 21 2012 07:32:09 GMT+0200 (CEST)"},"1225":{"date":{"__isSmartRef__":true,"id":1226},"author":"timfelgentreff","message":"better text","id":"B904F9AC-6EA0-4A8A-83C9-AFC85AADC194"},"1226":{"isSerializedDate":true,"string":"Tue May 08 2012 14:18:18 GMT+0200 (CEST)"},"1227":{"date":{"__isSmartRef__":true,"id":1228},"author":"jenslincke","message":"no comment","id":"FBFBFDA1-7B2B-4E09-B7EC-270BD1E20D91"},"1228":{"isSerializedDate":true,"string":"Tue Dec 11 2012 12:05:06 GMT+0100 (CET)"},"1229":{"date":{"__isSmartRef__":true,"id":1230},"author":"jenslincke","message":"no comment","id":"4867AA9B-8A78-46E2-A531-138A243E78F9"},"1230":{"isSerializedDate":true,"string":"Tue Dec 11 2012 12:07:25 GMT+0100 (CET)"},"1231":{"date":{"__isSmartRef__":true,"id":1232},"author":"jenslincke","message":"no comment","id":"E9F4BC8B-D5C2-42F9-A1D1-E7D3843A9A3B"},"1232":{"isSerializedDate":true,"string":"Thu Dec 13 2012 10:14:18 GMT+0100 (CET)"},"1233":{"date":{"__isSmartRef__":true,"id":1234},"author":"jenslincke","message":"no comment","id":"5A416C80-0936-40FE-B19A-D8B3AB3E243C"},"1234":{"isSerializedDate":true,"string":"Thu Dec 13 2012 10:29:08 GMT+0100 (CET)"},"1235":{"isSerializedDate":true,"string":"Thu Dec 13 2012 10:28:45 GMT+0100 (CET)"},"1236":{"style":{"__isSmartRef__":true,"id":1237},"chunkOwner":{"__isSmartRef__":true,"id":1036},"_id":"_8","storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1237":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"1238":{"_id":"_13","style":{"__isSmartRef__":true,"id":1239},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":".addScript(","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1239":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"1240":{"_id":"_14","style":{"__isSmartRef__":true,"id":1241},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":"function","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1241":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"1242":{"_id":"_15","style":{"__isSmartRef__":true,"id":1243},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":" intersects(a1, a2, b1, b2)","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1243":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"1244":{"_id":"_16","style":{"__isSmartRef__":true,"id":1245},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1245":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"1246":{"_id":"_17","style":{"__isSmartRef__":true,"id":1247},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1247":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"1248":{"_id":"_18","style":{"__isSmartRef__":true,"id":1249},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":"//","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1249":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(128,0,0)"},"1250":{"_id":"_19","style":{"__isSmartRef__":true,"id":1251},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":" inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1251":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"1252":{"_id":"_20","style":{"__isSmartRef__":true,"id":1253},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1253":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"1254":{"_id":"_21","style":{"__isSmartRef__":true,"id":1255},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":"var","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1255":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"1256":{"_id":"_22","style":{"__isSmartRef__":true,"id":1257},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":" b = a2.subPt(a1);\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1257":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"1258":{"_id":"_23","style":{"__isSmartRef__":true,"id":1259},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":"var","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1259":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"1260":{"_id":"_24","style":{"__isSmartRef__":true,"id":1261},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":" d = b2.subPt(b1);\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1261":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"1262":{"_id":"_25","style":{"__isSmartRef__":true,"id":1263},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":"var","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1263":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"1264":{"_id":"_26","style":{"__isSmartRef__":true,"id":1265},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":" bDotDPerp = b.x * d.y - b.y * d.x;\n\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1265":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"1266":{"_id":"_27","style":{"__isSmartRef__":true,"id":1267},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":"//","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1267":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(128,0,0)"},"1268":{"_id":"_28","style":{"__isSmartRef__":true,"id":1269},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":" if b dot d == 0, it means the lines are parallel so have infinite intersection points","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1269":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"1270":{"_id":"_29","style":{"__isSmartRef__":true,"id":1271},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1271":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"1272":{"_id":"_30","style":{"__isSmartRef__":true,"id":1273},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":"if","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1273":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"1274":{"_id":"_31","style":{"__isSmartRef__":true,"id":1275},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":" (bDotDPerp == ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1275":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"1276":{"_id":"_32","style":{"__isSmartRef__":true,"id":1277},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":"0","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1277":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,255)"},"1278":{"_id":"_33","style":{"__isSmartRef__":true,"id":1279},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":")\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1279":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"1280":{"_id":"_34","style":{"__isSmartRef__":true,"id":1281},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":"return","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1281":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"1282":{"_id":"_35","style":{"__isSmartRef__":true,"id":1283},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":" null;\n\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1283":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"1284":{"_id":"_36","style":{"__isSmartRef__":true,"id":1285},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":"var","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1285":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"1286":{"_id":"_37","style":{"__isSmartRef__":true,"id":1287},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":" c = b1.subPt(a1);\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1287":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"1288":{"_id":"_38","style":{"__isSmartRef__":true,"id":1289},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":"var","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1289":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"1290":{"_id":"_39","style":{"__isSmartRef__":true,"id":1291},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":" t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1291":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"1292":{"_id":"_40","style":{"__isSmartRef__":true,"id":1293},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":"if","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1293":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"1294":{"_id":"_41","style":{"__isSmartRef__":true,"id":1295},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":" (t < ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1295":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"1296":{"_id":"_42","style":{"__isSmartRef__":true,"id":1297},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":"0","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1297":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,255)"},"1298":{"_id":"_43","style":{"__isSmartRef__":true,"id":1299},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":" || t > ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1299":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"1300":{"_id":"_44","style":{"__isSmartRef__":true,"id":1301},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":"1","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1301":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,255)"},"1302":{"_id":"_45","style":{"__isSmartRef__":true,"id":1303},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":")\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1303":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"1304":{"_id":"_46","style":{"__isSmartRef__":true,"id":1305},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":"return","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1305":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"1306":{"_id":"_47","style":{"__isSmartRef__":true,"id":1307},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":" null;\n\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1307":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"1308":{"_id":"_48","style":{"__isSmartRef__":true,"id":1309},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":"var","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1309":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"1310":{"_id":"_49","style":{"__isSmartRef__":true,"id":1311},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":" u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1311":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"1312":{"_id":"_50","style":{"__isSmartRef__":true,"id":1313},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":"if","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1313":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"1314":{"_id":"_51","style":{"__isSmartRef__":true,"id":1315},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":" (u < ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1315":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"1316":{"_id":"_52","style":{"__isSmartRef__":true,"id":1317},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":"0","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1317":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,255)"},"1318":{"_id":"_53","style":{"__isSmartRef__":true,"id":1319},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":" || u > ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1319":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"1320":{"_id":"_54","style":{"__isSmartRef__":true,"id":1321},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":"1","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1321":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,255)"},"1322":{"_id":"_55","style":{"__isSmartRef__":true,"id":1323},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":")\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1323":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"1324":{"_id":"_56","style":{"__isSmartRef__":true,"id":1325},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":"return","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1325":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"1326":{"_id":"_57","style":{"__isSmartRef__":true,"id":1327},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":" null;\n\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1327":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"1328":{"_id":"_58","style":{"__isSmartRef__":true,"id":1329},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":"return","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1329":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"1330":{"_id":"_59","style":{"__isSmartRef__":true,"id":1331},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":" a1.addPt(b.scaleBy(t));\n","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1331":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"1332":{"_id":"_60","style":{"__isSmartRef__":true,"id":1333},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1333":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"1334":{"_id":"_61","style":{"__isSmartRef__":true,"id":1335},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":")\n\n","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1335":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"1336":{"_id":"_62","style":{"__isSmartRef__":true,"id":1337},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":"var","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1337":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"1338":{"_id":"_63","style":{"__isSmartRef__":true,"id":1339},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":" a1 = #Line1.controlPoints[","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1339":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"1340":{"_id":"_64","style":{"__isSmartRef__":true,"id":1341},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":"0","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1341":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,255)"},"1342":{"_id":"_65","style":{"__isSmartRef__":true,"id":1343},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":"].getGlobalPos(),","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1343":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"1344":{"_id":"_66","style":{"__isSmartRef__":true,"id":1345},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":" \n","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1345":{"__serializedExpressions__":["backgroundColor"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","backgroundColor":"Color.rgba(204,204,0,0.4)"},"1346":{"_id":"_67","style":{"__isSmartRef__":true,"id":1347},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":" a2 = #Line1.controlPoints[","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1347":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"1348":{"_id":"_68","style":{"__isSmartRef__":true,"id":1349},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":"1","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1349":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,255)"},"1350":{"_id":"_69","style":{"__isSmartRef__":true,"id":1351},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":"].getGlobalPos(),\n b1 = #Line2.controlPoints[","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1351":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"1352":{"_id":"_70","style":{"__isSmartRef__":true,"id":1353},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":"0","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1353":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,255)"},"1354":{"_id":"_71","style":{"__isSmartRef__":true,"id":1355},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":"].getGlobalPos(),","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1355":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"1356":{"_id":"_72","style":{"__isSmartRef__":true,"id":1357},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":" \n","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1357":{"__serializedExpressions__":["backgroundColor"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","backgroundColor":"Color.rgba(204,204,0,0.4)"},"1358":{"_id":"_73","style":{"__isSmartRef__":true,"id":1359},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":" b2 = #Line2.controlPoints[","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1359":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"1360":{"_id":"_74","style":{"__isSmartRef__":true,"id":1361},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":"1","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1361":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,255)"},"1362":{"_id":"_75","style":{"__isSmartRef__":true,"id":1363},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":"].getGlobalPos()\n\n","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1363":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"1364":{"_id":"_491","style":{"__isSmartRef__":true,"id":1365},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":"show","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1365":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(204,0,0)"},"1366":{"_id":"_492","style":{"__isSmartRef__":true,"id":1367},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":"(a1); ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1367":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"1368":{"_id":"_493","style":{"__isSmartRef__":true,"id":1369},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":"show","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1369":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(204,0,0)"},"1370":{"_id":"_494","style":{"__isSmartRef__":true,"id":1371},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":"(a2); ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1371":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"1372":{"_id":"_495","style":{"__isSmartRef__":true,"id":1373},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":"show","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1373":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(204,0,0)"},"1374":{"_id":"_496","style":{"__isSmartRef__":true,"id":1375},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":"(b1); ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1375":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"1376":{"_id":"_497","style":{"__isSmartRef__":true,"id":1377},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":"show","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1377":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(204,0,0)"},"1378":{"_id":"_498","style":{"__isSmartRef__":true,"id":1379},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":"(b2);","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1379":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"1380":{"_id":"_76","style":{"__isSmartRef__":true,"id":1381},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":" \n","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1381":{"__serializedExpressions__":["backgroundColor"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","backgroundColor":"Color.rgba(204,204,0,0.4)"},"1382":{"_id":"_77","style":{"__isSmartRef__":true,"id":1383},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":"\n","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1383":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"1384":{"_id":"_78","style":{"__isSmartRef__":true,"id":1385},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":"var","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1385":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"1386":{"_id":"_79","style":{"__isSmartRef__":true,"id":1387},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":" p = ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1387":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"1388":{"_id":"_80","style":{"__isSmartRef__":true,"id":1389},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1389":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"1390":{"_id":"_81","style":{"__isSmartRef__":true,"id":1391},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":".intersects(a1, a2, b1, b2)\n","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1391":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"1392":{"_id":"_499","style":{"__isSmartRef__":true,"id":1393},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":"show","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1393":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(204,0,0)"},"1394":{"_id":"_500","style":{"__isSmartRef__":true,"id":1395},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":"(p).setFill(","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1395":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"1396":{"_id":"_501","style":{"__isSmartRef__":true,"id":1397},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":"Color","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1397":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(204,0,0)"},"1398":{"_id":"_502","style":{"__isSmartRef__":true,"id":1399},"chunkOwner":{"__isSmartRef__":true,"id":1036},"storedString":".blue)\n","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1399":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"1400":{"morph":{"__isSmartRef__":true,"id":1036},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1401":{"morph":{"__isSmartRef__":true,"id":1036},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(30.9,1281.4)"},"1402":{"morph":{"__isSmartRef__":true,"id":1036},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(454.4,1281.4)"},"1403":{"morph":{"__isSmartRef__":true,"id":1036},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(877.9,1281.4)"},"1404":{"morph":{"__isSmartRef__":true,"id":1036},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(877.9,1546.9)"},"1405":{"morph":{"__isSmartRef__":true,"id":1036},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(877.9,1812.4)"},"1406":{"morph":{"__isSmartRef__":true,"id":1036},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(454.4,1812.4)"},"1407":{"morph":{"__isSmartRef__":true,"id":1036},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(30.9,1812.4)"},"1408":{"morph":{"__isSmartRef__":true,"id":1036},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(30.9,1546.9)"},"1409":{"sourceObj":{"__isSmartRef__":true,"id":1036},"sourceAttrName":"textString","targetObj":{"__isSmartRef__":true,"id":1036},"targetMethodName":"highlightSyntaxDebounced","varMapping":{"__isSmartRef__":true,"id":1410},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1410":{"source":{"__isSmartRef__":true,"id":1036},"target":{"__isSmartRef__":true,"id":1036}},"1411":{"adjustForNewBounds":true},"1412":{"boundEval":{"__isSmartRef__":true,"id":1413},"getDoitContext":{"__isSmartRef__":true,"id":1421},"setTarget":{"__isSmartRef__":true,"id":1429}},"1413":{"varMapping":{"__isSmartRef__":true,"id":1414},"source":"function boundEval(str) {\n // Some little (Tim calls it ugly) funny preprocessor Macros\n str = str.replace(/#([A-Za-z][A-Za-z0-9]*)/g, \"this.get('$1')\")\n // alertOK(\"eval \" + str)\n return $super(str)\n}","funcProperties":{"__isSmartRef__":true,"id":1419},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1414":{"this":{"__isSmartRef__":true,"id":1036},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1415}},"1415":{"$super":{"__isSmartRef__":true,"id":1416}},"1416":{"varMapping":{"__isSmartRef__":true,"id":1417},"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":1418},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1417":{"obj":{"__isSmartRef__":true,"id":1036},"name":"boundEval"},"1418":{},"1419":{"timestamp":{"__isSmartRef__":true,"id":1420},"user":"jenslincke","tags":[]},"1420":{"isSerializedDate":true,"string":"Wed Dec 12 2012 11:22:45 GMT+0100 (CET)"},"1421":{"varMapping":{"__isSmartRef__":true,"id":1422},"source":"function getDoitContext() {\n return this.target\n}","funcProperties":{"__isSmartRef__":true,"id":1427},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1422":{"this":{"__isSmartRef__":true,"id":1036},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1423}},"1423":{"$super":{"__isSmartRef__":true,"id":1424}},"1424":{"varMapping":{"__isSmartRef__":true,"id":1425},"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":1426},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1425":{"obj":{"__isSmartRef__":true,"id":1036},"name":"getDoitContext"},"1426":{},"1427":{"timestamp":{"__isSmartRef__":true,"id":1428},"user":"jenslincke","tags":[]},"1428":{"isSerializedDate":true,"string":"Thu Dec 13 2012 10:17:05 GMT+0100 (CET)"},"1429":{"varMapping":{"__isSmartRef__":true,"id":1430},"source":"function setTarget(obj) {\n this.target= obj\n}","funcProperties":{"__isSmartRef__":true,"id":1431},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1430":{"this":{"__isSmartRef__":true,"id":1036}},"1431":{"timestamp":{"__isSmartRef__":true,"id":1432},"user":"jenslincke","tags":[]},"1432":{"isSerializedDate":true,"string":"Thu Dec 13 2012 10:22:59 GMT+0100 (CET)"},"1433":{"submorphs":[],"scripts":[],"id":"D06C2F6F-EA61-45E6-8FB4-D472093ACBEB","shape":{"__isSmartRef__":true,"id":1434},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":760.695652,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":14,"name":"Text3","partsBinMetaInfo":{"__isSmartRef__":true,"id":1435},"textChunks":[{"__isSmartRef__":true,"id":1446}],"charsReplaced":"So, jetzt hab ich auch Figures und Code im Fließtext! Vielen Dank, Page Morph!","lastFindLoc":78,"prevScroll":[0,0],"eventHandler":{"__isSmartRef__":true,"id":1448},"_ClipMode":"visible","derivationIds":[355,"1EB1674F-8BF2-419B-B054-86129ED70335","63698904-DC05-4341-A9B6-5CC4A219CD04","F6A714BA-4735-41ED-8A2A-45CB153FBDF8","5848BD12-8F39-45F4-958F-07FC46FFCFCE","4B322E37-76CC-450D-9DC9-7710369468AB"],"_WhiteSpaceHandling":"pre-wrap","_MinTextWidth":760.695652,"_MinTextHeight":null,"isBeingDragged":false,"moved":true,"magnets":[{"__isSmartRef__":true,"id":1449},{"__isSmartRef__":true,"id":1450},{"__isSmartRef__":true,"id":1451},{"__isSmartRef__":true,"id":1452},{"__isSmartRef__":true,"id":1453},{"__isSmartRef__":true,"id":1454},{"__isSmartRef__":true,"id":1455},{"__isSmartRef__":true,"id":1456}],"owner":{"__isSmartRef__":true,"id":0},"_Rotation":0,"_Scale":1,"priorSelectionRange":[1,1],"__serializedExpressions__":["_Position","textColor","_Padding","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1457},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(42.0,805.5)","textColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(5,5,0,0)","distanceToDragEvent":"lively.pt(86.0,-18.0)"},"1434":{"fill":null,"_BorderWidth":0,"_ClipMode":"visible","__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(847.0,26.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(4,2,0,0)"},"1435":{"partsSpaceName":"PartsBin/Basic","migrationLevel":4,"comment":"a simple text morph","partName":"Text","changes":[{"__isSmartRef__":true,"id":1436},{"__isSmartRef__":true,"id":1438},{"__isSmartRef__":true,"id":1440},{"__isSmartRef__":true,"id":1442},{"__isSmartRef__":true,"id":1444}],"revisionOnLoad":160159,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"1436":{"date":{"__isSmartRef__":true,"id":1437},"author":"robertkrahn","message":"text click was broken?","id":"9D065E14-9653-4B2A-9A2E-3AD84EBBC3E0"},"1437":{"isSerializedDate":true,"string":"Sat Apr 21 2012 16:30:30 GMT+0200 (CEST)"},"1438":{"date":{"__isSmartRef__":true,"id":1439},"author":"undefined","message":"Set the inset as: this.setPadding(Rectangle.inset(4,2)). This gives it a more pleasing appearance with a border, and also makes it easier to select near the bounds.","id":"BD5B0E4C-4830-4863-A013-35BB66D5AD6F"},"1439":{"isSerializedDate":true,"string":"Mon Feb 27 2012 06:20:38 GMT+0100 (CET)"},"1440":{"date":{"__isSmartRef__":true,"id":1441},"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"0F4DE333-A551-4961-B29D-70270977EBEF"},"1441":{"isSerializedDate":true,"string":"Sat Apr 21 2012 07:31:43 GMT+0200 (CEST)"},"1442":{"date":{"__isSmartRef__":true,"id":1443},"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"785D95BD-7858-43EB-90E6-A1C085E2F2B9"},"1443":{"isSerializedDate":true,"string":"Sat Apr 21 2012 07:32:09 GMT+0200 (CEST)"},"1444":{"date":{"__isSmartRef__":true,"id":1445},"author":"timfelgentreff","message":"better text","id":"B904F9AC-6EA0-4A8A-83C9-AFC85AADC194"},"1445":{"isSerializedDate":true,"string":"Tue May 08 2012 14:18:18 GMT+0200 (CEST)"},"1446":{"style":{"__isSmartRef__":true,"id":1447},"morph":{"__isSmartRef__":true,"id":1433},"chunkOwner":{"__isSmartRef__":true,"id":1433},"storedString":"Now we need some code that computes the intersection....","_id":"_65","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1447":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1448":{"morph":{"__isSmartRef__":true,"id":1433},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1449":{"morph":{"__isSmartRef__":true,"id":1433},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(30.9,1241.4)"},"1450":{"morph":{"__isSmartRef__":true,"id":1433},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(454.4,1241.4)"},"1451":{"morph":{"__isSmartRef__":true,"id":1433},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(877.9,1241.4)"},"1452":{"morph":{"__isSmartRef__":true,"id":1433},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(877.9,1254.4)"},"1453":{"morph":{"__isSmartRef__":true,"id":1433},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(877.9,1267.4)"},"1454":{"morph":{"__isSmartRef__":true,"id":1433},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(454.4,1267.4)"},"1455":{"morph":{"__isSmartRef__":true,"id":1433},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(30.9,1267.4)"},"1456":{"morph":{"__isSmartRef__":true,"id":1433},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(30.9,1254.4)"},"1457":{"doSave":{"__isSmartRef__":true,"id":1458}},"1458":{"varMapping":{"__isSmartRef__":true,"id":1459},"source":"function doSave() {\n $world.saveWorld()\n}","funcProperties":{"__isSmartRef__":true,"id":1464},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1459":{"this":{"__isSmartRef__":true,"id":1433},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1460}},"1460":{"$super":{"__isSmartRef__":true,"id":1461}},"1461":{"varMapping":{"__isSmartRef__":true,"id":1462},"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":1463},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1462":{"obj":{"__isSmartRef__":true,"id":1433},"name":"doSave"},"1463":{},"1464":{"timestamp":{"__isSmartRef__":true,"id":1465},"user":"jenslincke","tags":[]},"1465":{"isSerializedDate":true,"string":"Fri Nov 16 2012 14:44:36 GMT+0100 (CET)"},"1466":{"submorphs":[],"scripts":[],"id":"3D3ADD27-BDDA-4E54-81E3-36C63DF33F17","shape":{"__isSmartRef__":true,"id":1467},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":760.695652,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":14,"name":"Text4","partsBinMetaInfo":{"__isSmartRef__":true,"id":1468},"textChunks":[{"__isSmartRef__":true,"id":1479}],"charsReplaced":"Now we need some code that computes the intersection....","lastFindLoc":56,"prevScroll":[0,0],"eventHandler":{"__isSmartRef__":true,"id":1481},"_ClipMode":"visible","derivationIds":[355,"1EB1674F-8BF2-419B-B054-86129ED70335","63698904-DC05-4341-A9B6-5CC4A219CD04","F6A714BA-4735-41ED-8A2A-45CB153FBDF8","5848BD12-8F39-45F4-958F-07FC46FFCFCE","4B322E37-76CC-450D-9DC9-7710369468AB","D06C2F6F-EA61-45E6-8FB4-D472093ACBEB"],"_WhiteSpaceHandling":"pre-wrap","_MinTextWidth":760.695652,"_MinTextHeight":null,"isBeingDragged":false,"moved":true,"previousSelection":[1,1],"magnets":[{"__isSmartRef__":true,"id":1482},{"__isSmartRef__":true,"id":1483},{"__isSmartRef__":true,"id":1484},{"__isSmartRef__":true,"id":1485},{"__isSmartRef__":true,"id":1486},{"__isSmartRef__":true,"id":1487},{"__isSmartRef__":true,"id":1488},{"__isSmartRef__":true,"id":1489}],"owner":{"__isSmartRef__":true,"id":0},"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","textColor","_Padding","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1490},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(42.0,1426.5)","textColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(5,5,0,0)","distanceToDragEvent":"lively.pt(86.0,-18.0)"},"1467":{"fill":null,"_BorderWidth":0,"_ClipMode":"visible","__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(847.0,26.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(4,2,0,0)"},"1468":{"partsSpaceName":"PartsBin/Basic","migrationLevel":4,"comment":"a simple text morph","partName":"Text","changes":[{"__isSmartRef__":true,"id":1469},{"__isSmartRef__":true,"id":1471},{"__isSmartRef__":true,"id":1473},{"__isSmartRef__":true,"id":1475},{"__isSmartRef__":true,"id":1477}],"revisionOnLoad":160159,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"1469":{"date":{"__isSmartRef__":true,"id":1470},"author":"robertkrahn","message":"text click was broken?","id":"9D065E14-9653-4B2A-9A2E-3AD84EBBC3E0"},"1470":{"isSerializedDate":true,"string":"Sat Apr 21 2012 16:30:30 GMT+0200 (CEST)"},"1471":{"date":{"__isSmartRef__":true,"id":1472},"author":"undefined","message":"Set the inset as: this.setPadding(Rectangle.inset(4,2)). This gives it a more pleasing appearance with a border, and also makes it easier to select near the bounds.","id":"BD5B0E4C-4830-4863-A013-35BB66D5AD6F"},"1472":{"isSerializedDate":true,"string":"Mon Feb 27 2012 06:20:38 GMT+0100 (CET)"},"1473":{"date":{"__isSmartRef__":true,"id":1474},"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"0F4DE333-A551-4961-B29D-70270977EBEF"},"1474":{"isSerializedDate":true,"string":"Sat Apr 21 2012 07:31:43 GMT+0200 (CEST)"},"1475":{"date":{"__isSmartRef__":true,"id":1476},"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"785D95BD-7858-43EB-90E6-A1C085E2F2B9"},"1476":{"isSerializedDate":true,"string":"Sat Apr 21 2012 07:32:09 GMT+0200 (CEST)"},"1477":{"date":{"__isSmartRef__":true,"id":1478},"author":"timfelgentreff","message":"better text","id":"B904F9AC-6EA0-4A8A-83C9-AFC85AADC194"},"1478":{"isSerializedDate":true,"string":"Tue May 08 2012 14:18:18 GMT+0200 (CEST)"},"1479":{"style":{"__isSmartRef__":true,"id":1480},"morph":{"__isSmartRef__":true,"id":1466},"chunkOwner":{"__isSmartRef__":true,"id":1466},"storedString":"Since this is a very general algorithm, we could use the also for rotated rectangles etc","_id":"_65","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1480":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1481":{"morph":{"__isSmartRef__":true,"id":1466},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1482":{"morph":{"__isSmartRef__":true,"id":1466},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(32.9,1844.4)"},"1483":{"morph":{"__isSmartRef__":true,"id":1466},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(456.4,1844.4)"},"1484":{"morph":{"__isSmartRef__":true,"id":1466},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(879.9,1844.4)"},"1485":{"morph":{"__isSmartRef__":true,"id":1466},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(879.9,1857.4)"},"1486":{"morph":{"__isSmartRef__":true,"id":1466},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(879.9,1870.4)"},"1487":{"morph":{"__isSmartRef__":true,"id":1466},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(456.4,1870.4)"},"1488":{"morph":{"__isSmartRef__":true,"id":1466},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(32.9,1870.4)"},"1489":{"morph":{"__isSmartRef__":true,"id":1466},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(32.9,1857.4)"},"1490":{"doSave":{"__isSmartRef__":true,"id":1491}},"1491":{"varMapping":{"__isSmartRef__":true,"id":1492},"source":"function doSave() {\n $world.saveWorld()\n}","funcProperties":{"__isSmartRef__":true,"id":1497},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1492":{"this":{"__isSmartRef__":true,"id":1466},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1493}},"1493":{"$super":{"__isSmartRef__":true,"id":1494}},"1494":{"varMapping":{"__isSmartRef__":true,"id":1495},"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":1496},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1495":{"obj":{"__isSmartRef__":true,"id":1466},"name":"doSave"},"1496":{},"1497":{"timestamp":{"__isSmartRef__":true,"id":1498},"user":"jenslincke","tags":[]},"1498":{"isSerializedDate":true,"string":"Fri Nov 16 2012 14:44:36 GMT+0100 (CET)"},"1499":{"submorphs":[{"__isSmartRef__":true,"id":1500},{"__isSmartRef__":true,"id":1704},{"__isSmartRef__":true,"id":1728}],"scripts":[],"id":"980A9694-B20B-4B10-A412-90AB7930BF00","shape":{"__isSmartRef__":true,"id":1802},"__layered_droppingEnabled__":true,"halosEnabled":true,"showsHalos":false,"_isInFullScreen":false,"_traitConfig_":{"__isSmartRef__":true,"id":1803},"draggingEnabled":true,"partsBinMetaInfo":{"__isSmartRef__":true,"id":1805},"isCopyMorphRef":true,"morphRefId":1,"derivationIds":[1708,"81795DC6-889C-4FC6-B336-BAB6D7FC3CBD","0F3ECCAA-EB6B-4891-82DA-A858E99D3CD8"],"eventHandler":{"__isSmartRef__":true,"id":1807},"_ClipMode":"visible","moved":true,"name":"Figure3","prevScroll":[0,0],"magnets":[{"__isSmartRef__":true,"id":1808},{"__isSmartRef__":true,"id":1809},{"__isSmartRef__":true,"id":1810},{"__isSmartRef__":true,"id":1811},{"__isSmartRef__":true,"id":1812},{"__isSmartRef__":true,"id":1813},{"__isSmartRef__":true,"id":1814},{"__isSmartRef__":true,"id":1815}],"attributeConnections":[{"__isSmartRef__":true,"id":1816}],"doNotSerialize":["$$name"],"doNotCopyProperties":["$$name"],"owner":{"__isSmartRef__":true,"id":0},"_Rotation":0,"_Scale":1,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1818},"__LivelyClassName__":"lively.Presentation.PageMorph","__SourceModuleName__":"Global.lively.Presentation","distanceToDragEvent":"lively.pt(511.9,-14.0)","_Position":"lively.pt(42.0,1464.5)"},"1500":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":1501},"id":"D5ED19F9-968E-4C7E-9936-69F2735A813F","eventHandler":{"__isSmartRef__":true,"id":1504},"__layered_droppingEnabled__":true,"halosEnabled":true,"isBeingDragged":false,"controlPoints":[{"__isSmartRef__":true,"id":1505},{"__isSmartRef__":true,"id":1506}],"showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":1507},"name":"Line","derivationIds":[731,"5E6BD741-9C99-47B9-95C1-7A028178DB17","A8D5C37A-F23F-47FE-8DE2-211CE4484A4F","F722069B-8602-4E8D-BE3F-92A1E0C0EF28"],"_ClipMode":"visible","controlPointsHalos":[],"prevScroll":[0,0],"grabbingEnabled":false,"moved":true,"#startLetters":"controlPoints[0]","fromMorph":{"__isSmartRef__":true,"id":1511},"toMorph":{"__isSmartRef__":true,"id":1595},"update":{"__isSmartRef__":true,"id":1581},"owner":{"__isSmartRef__":true,"id":1499},"isCopyMorphRef":true,"morphRefId":1,"_Rotation":0,"_Scale":1,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1667},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","distanceToDragEvent":"lively.pt(78.8,-14.7)","_Position":"lively.pt(434.4,10.6)"},"1501":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":1502},{"__isSmartRef__":true,"id":1503}],"_ClipMode":"visible","_BorderWidth":3.1119999999999997,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Padding","_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(-321.6,70.2)","_Extent":"lively.pt(598.2,8.2)","_BorderColor":"Color.rgb(161,161,161)"},"1502":{"isAbsolute":true,"x":-319.59999999999997,"y":77.39999999999998,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"1503":{"isAbsolute":true,"x":275.6022665168042,"y":72.20558373676238,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"1504":{"morph":{"__isSmartRef__":true,"id":1500},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1505":{"morph":{"__isSmartRef__":true,"id":1500},"index":0,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"1506":{"morph":{"__isSmartRef__":true,"id":1500},"index":1,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"1507":{"requiredModules":[],"migrationLevel":4,"partsSpaceName":"PartsBin/Jens/","comment":"a line","partName":"Connector","lastModifiedDate":{"__isSmartRef__":true,"id":1508},"revisionOnLoad":186528,"changes":[{"__isSmartRef__":true,"id":1509}],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"1508":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:18 GMT+0100 (CET)"},"1509":{"date":{"__isSmartRef__":true,"id":1510},"author":"jenslincke","message":"no comment","id":"28165CED-C8C5-4B8E-9655-645E3F5099BB"},"1510":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:42 GMT+0100 (CET)"},"1511":{"submorphs":[{"__isSmartRef__":true,"id":1512}],"scripts":[],"id":"D67F5AE5-1626-4556-B12B-9EA313404791","shape":{"__isSmartRef__":true,"id":1536},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"A","partsBinMetaInfo":{"__isSmartRef__":true,"id":1537},"eventHandler":{"__isSmartRef__":true,"id":1555},"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","BBAFB862-93AE-4F89-BCFF-9F1C67B7FE4C","7EC17E78-593A-4CC8-B7E3-859BCBBFE785","FDB06D4A-9F4E-4B8C-A67C-671A9583EFE8","1C80FDE1-05C0-4148-9AD8-33C88667084C"],"partTests":{"__isSmartRef__":true,"id":1556},"_ClipMode":"visible","moved":true,"isBeingDragged":false,"magnets":[{"__isSmartRef__":true,"id":1561},{"__isSmartRef__":true,"id":1562},{"__isSmartRef__":true,"id":1563},{"__isSmartRef__":true,"id":1564},{"__isSmartRef__":true,"id":1565},{"__isSmartRef__":true,"id":1566},{"__isSmartRef__":true,"id":1567},{"__isSmartRef__":true,"id":1568}],"attributeConnections":[{"__isSmartRef__":true,"id":1569},{"__isSmartRef__":true,"id":1571},{"__isSmartRef__":true,"id":1573},{"__isSmartRef__":true,"id":1575},{"__isSmartRef__":true,"id":1577},{"__isSmartRef__":true,"id":1579},{"__isSmartRef__":true,"id":1583},{"__isSmartRef__":true,"id":1585},{"__isSmartRef__":true,"id":1587},{"__isSmartRef__":true,"id":1589},{"__isSmartRef__":true,"id":1591}],"doNotSerialize":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"doNotCopyProperties":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"isCopyMorphRef":true,"morphRefId":1,"prevScroll":[0,0],"_Scale":1,"_Rotation":0,"owner":null,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","distanceToDragEvent":"lively.pt(60.9,-16.0)","_Position":"lively.pt(64.8,38.0)"},"1512":{"submorphs":[],"scripts":[],"id":"6F235864-5F42-46C5-B7CB-290C87A40FEE","shape":{"__isSmartRef__":true,"id":1513},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":180.8018403394826,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":19,"name":"NameLabel2","partsBinMetaInfo":{"__isSmartRef__":true,"id":1514},"textChunks":[{"__isSmartRef__":true,"id":1516}],"charsReplaced":"Rectangle1","lastFindLoc":10,"prevScroll":[0,0],"attributeConnections":[{"__isSmartRef__":true,"id":1518},{"__isSmartRef__":true,"id":1519}],"doNotSerialize":["$$owner","$$savedTextString"],"doNotCopyProperties":["$$owner","$$savedTextString"],"isInputLine":true,"savedTextString":"B","eventHandler":{"__isSmartRef__":true,"id":1520},"derivationIds":[7027,"331C6367-0699-4BD6-9916-ABA82517453B","BEAA7850-FEFB-4AFD-9E06-730FF35D99A4","559B0B8A-5C01-4133-88B2-0D08385E23F6","BE195383-D309-4B6E-A6B0-79A6112B4011"],"_WhiteSpaceHandling":"pre-wrap","_ClipMode":"visible","moved":true,"isBeingDragged":false,"_WordBreak":"break-all","magnets":[{"__isSmartRef__":true,"id":1521},{"__isSmartRef__":true,"id":1522},{"__isSmartRef__":true,"id":1523},{"__isSmartRef__":true,"id":1524},{"__isSmartRef__":true,"id":1525},{"__isSmartRef__":true,"id":1526},{"__isSmartRef__":true,"id":1527},{"__isSmartRef__":true,"id":1528}],"_PreviousBorderWidth":1,"owner":{"__isSmartRef__":true,"id":1511},"oldOwner":{"__isSmartRef__":true,"id":1511},"previousSelection":[0,1],"_Rotation":0,"_Scale":0.9999999999999997,"__serializedExpressions__":["_Position","textColor","distanceToDragEvent","_TextColor"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1529},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(34.8,36.8)","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(31.1,-9.9)","_TextColor":"Color.rgb(255,143,0)"},"1513":{"fill":null,"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(42.8,29.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"1514":{"migrationLevel":2,"comment":"Label that shows the name of a morph. Updates automatically.","partName":"NameLabel","lastModifiedDate":{"__isSmartRef__":true,"id":1515},"revisionOnLoad":140039,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"1515":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (CEST)"},"1516":{"style":{"__isSmartRef__":true,"id":1517},"chunkOwner":{"__isSmartRef__":true,"id":1512},"_id":"_4888","storedString":"A","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1517":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1518":{"sourceObj":{"__isSmartRef__":true,"id":1512},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":1512},"targetMethodName":"updateLabel","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1519":{"sourceObj":{"__isSmartRef__":true,"id":1512},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":1512},"targetMethodName":"renameOwner","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1520":{"morph":{"__isSmartRef__":true,"id":1512},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1521":{"morph":{"__isSmartRef__":true,"id":1512},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(140.6,581.8)"},"1522":{"morph":{"__isSmartRef__":true,"id":1512},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(162.0,581.8)"},"1523":{"morph":{"__isSmartRef__":true,"id":1512},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(183.4,581.8)"},"1524":{"morph":{"__isSmartRef__":true,"id":1512},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(183.4,596.3)"},"1525":{"morph":{"__isSmartRef__":true,"id":1512},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(183.4,610.8)"},"1526":{"morph":{"__isSmartRef__":true,"id":1512},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(162.0,610.8)"},"1527":{"morph":{"__isSmartRef__":true,"id":1512},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(140.6,610.8)"},"1528":{"morph":{"__isSmartRef__":true,"id":1512},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(140.6,596.3)"},"1529":{"updateLabel":{"__isSmartRef__":true,"id":1530},"renameOwner":{"__isSmartRef__":true,"id":1533}},"1530":{"varMapping":{"__isSmartRef__":true,"id":1531},"source":"function updateLabel() {\n\t// observe name changes in owner\n\tif (this.owner !== this.oldOwner) {\n\t\tif (this.oldOwner)\n\t\t\tdisconnect(this.oldOwner, 'name', this, 'updateLabel')\n\t\tif (this.owner)\n\t\t\tconnect(this.owner, 'name', this, 'updateLabel')\n\t\tthis.oldOwner = this.owner\n\t}\n\tvar name = (this.owner ? this.owner.name : \"no owner\")\n\tif (this.textString != name)\n\tthis.setTextString(name)\n}","funcProperties":{"__isSmartRef__":true,"id":1532},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1531":{"this":{"__isSmartRef__":true,"id":1512}},"1532":{},"1533":{"varMapping":{"__isSmartRef__":true,"id":1534},"source":"function renameOwner(name) {\n\tif (this.owner && this.owner.name != name) {\n\t\talertOK(\"renamed \" + this.owner + \" to \" + name)\n\t\tthis.owner.setName(name);\n\t}\n}","funcProperties":{"__isSmartRef__":true,"id":1535},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1534":{"this":{"__isSmartRef__":true,"id":1512}},"1535":{},"1536":{"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(100.0,100.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgba(204,204,204,0.5)","_Padding":"lively.rect(0,0,0,0)"},"1537":{"partsSpaceName":"PartsBin/Basic","comment":"A simple box morph. A really orange one. Its amazing what you can build out of simple boxes.... Who needs stars when you got orange rectangles!","migrationLevel":4,"partName":"Rectangle","changes":[{"__isSmartRef__":true,"id":1538},{"__isSmartRef__":true,"id":1540},{"__isSmartRef__":true,"id":1542},{"__isSmartRef__":true,"id":1544},{"__isSmartRef__":true,"id":1546},{"__isSmartRef__":true,"id":1548},{"__isSmartRef__":true,"id":1550},{"__isSmartRef__":true,"id":1552}],"lastModifiedDate":{"__isSmartRef__":true,"id":1554},"revisionOnLoad":184624,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"1538":{"date":{"__isSmartRef__":true,"id":1539},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"1539":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"1540":{"date":{"__isSmartRef__":true,"id":1541},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"1541":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"1542":{"date":{"__isSmartRef__":true,"id":1543},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"1543":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"1544":{"date":{"__isSmartRef__":true,"id":1545},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"1545":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"1546":{"date":{"__isSmartRef__":true,"id":1547},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"1547":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"1548":{"date":{"__isSmartRef__":true,"id":1549},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"1549":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"1550":{"date":{"__isSmartRef__":true,"id":1551},"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8"},"1551":{"isSerializedDate":true,"string":"Mon Jun 18 2012 19:35:08 GMT+0200 (CEST)"},"1552":{"date":{"__isSmartRef__":true,"id":1553},"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205"},"1553":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:35:51 GMT+0100 (CET)"},"1554":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:33:25 GMT+0100 (CET)"},"1555":{"morph":{"__isSmartRef__":true,"id":1511},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1556":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1557}},"1557":{"test01IsMorph":{"__isSmartRef__":true,"id":1558}},"1558":{"varMapping":{"__isSmartRef__":true,"id":1559},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":1560},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1559":{"this":{"__isSmartRef__":true,"id":1556}},"1560":{},"1561":{"morph":{"__isSmartRef__":true,"id":1511},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(105.8,545.0)"},"1562":{"morph":{"__isSmartRef__":true,"id":1511},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(155.8,545.0)"},"1563":{"morph":{"__isSmartRef__":true,"id":1511},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(205.8,545.0)"},"1564":{"morph":{"__isSmartRef__":true,"id":1511},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(205.8,595.0)"},"1565":{"morph":{"__isSmartRef__":true,"id":1511},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(205.8,645.0)"},"1566":{"morph":{"__isSmartRef__":true,"id":1511},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(155.8,645.0)"},"1567":{"morph":{"__isSmartRef__":true,"id":1511},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(105.8,645.0)"},"1568":{"morph":{"__isSmartRef__":true,"id":1511},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(105.8,595.0)"},"1569":{"sourceObj":{"__isSmartRef__":true,"id":1511},"sourceAttrName":"name","targetObj":{"__isSmartRef__":true,"id":1512},"targetMethodName":"updateLabel","varMapping":{"__isSmartRef__":true,"id":1570},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1570":{"source":{"__isSmartRef__":true,"id":1511},"target":{"__isSmartRef__":true,"id":1512}},"1571":{"sourceObj":{"__isSmartRef__":true,"id":1511},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":1500},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":1572},"dependendConnections":[{"__isSmartRef__":true,"id":1573},{"__isSmartRef__":true,"id":1575},{"__isSmartRef__":true,"id":1577},{"__isSmartRef__":true,"id":1579}],"oldTransform":{"__isSmartRef__":true,"id":1581},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"1572":{"source":{"__isSmartRef__":true,"id":1511},"target":{"__isSmartRef__":true,"id":1500}},"1573":{"sourceObj":{"__isSmartRef__":true,"id":1511},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":1571},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":1574},"dependedBy":{"__isSmartRef__":true,"id":1571},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1574":{"source":{"__isSmartRef__":true,"id":1511},"target":{"__isSmartRef__":true,"id":1571}},"1575":{"sourceObj":{"__isSmartRef__":true,"id":1511},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":1571},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":1576},"dependedBy":{"__isSmartRef__":true,"id":1571},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1576":{"source":{"__isSmartRef__":true,"id":1511},"target":{"__isSmartRef__":true,"id":1571}},"1577":{"sourceObj":{"__isSmartRef__":true,"id":1511},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":1571},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":1578},"dependedBy":{"__isSmartRef__":true,"id":1571},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1578":{"source":{"__isSmartRef__":true,"id":1511},"target":{"__isSmartRef__":true,"id":1571}},"1579":{"sourceObj":{"__isSmartRef__":true,"id":1511},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":1571},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":1580},"dependedBy":{"__isSmartRef__":true,"id":1571},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1580":{"source":{"__isSmartRef__":true,"id":1511},"target":{"__isSmartRef__":true,"id":1571}},"1581":{"d":1,"a":1,"f":906.1,"e":107.8,"c":0,"b":0,"matrix_":{"__isSmartRef__":true,"id":1582},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"1582":{"a":1,"b":0,"c":0,"d":1,"e":107.8,"f":906.1,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"1583":{"sourceObj":{"__isSmartRef__":true,"id":1511},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":1500},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":1584},"dependendConnections":[{"__isSmartRef__":true,"id":1585},{"__isSmartRef__":true,"id":1587},{"__isSmartRef__":true,"id":1589},{"__isSmartRef__":true,"id":1591}],"oldTransform":{"__isSmartRef__":true,"id":1593},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"1584":{"source":{"__isSmartRef__":true,"id":1511},"target":{"__isSmartRef__":true,"id":1500}},"1585":{"sourceObj":{"__isSmartRef__":true,"id":1511},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":1583},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":1586},"dependedBy":{"__isSmartRef__":true,"id":1583},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1586":{"source":{"__isSmartRef__":true,"id":1511},"target":{"__isSmartRef__":true,"id":1583}},"1587":{"sourceObj":{"__isSmartRef__":true,"id":1511},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":1583},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":1588},"dependedBy":{"__isSmartRef__":true,"id":1583},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1588":{"source":{"__isSmartRef__":true,"id":1511},"target":{"__isSmartRef__":true,"id":1583}},"1589":{"sourceObj":{"__isSmartRef__":true,"id":1511},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":1583},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":1590},"dependedBy":{"__isSmartRef__":true,"id":1583},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1590":{"source":{"__isSmartRef__":true,"id":1511},"target":{"__isSmartRef__":true,"id":1583}},"1591":{"sourceObj":{"__isSmartRef__":true,"id":1511},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":1583},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":1592},"dependedBy":{"__isSmartRef__":true,"id":1583},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1592":{"source":{"__isSmartRef__":true,"id":1511},"target":{"__isSmartRef__":true,"id":1583}},"1593":{"d":1,"a":1,"f":906.1,"e":107.8,"c":0,"b":0,"matrix_":{"__isSmartRef__":true,"id":1594},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"1594":{"a":1,"b":0,"c":0,"d":1,"e":107.8,"f":906.1,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"1595":{"submorphs":[{"__isSmartRef__":true,"id":1596}],"scripts":[],"id":"26550839-59FB-470E-A06C-50EB74E57F9B","shape":{"__isSmartRef__":true,"id":1620},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"B","partsBinMetaInfo":{"__isSmartRef__":true,"id":1621},"eventHandler":{"__isSmartRef__":true,"id":1639},"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","BBAFB862-93AE-4F89-BCFF-9F1C67B7FE4C","7EC17E78-593A-4CC8-B7E3-859BCBBFE785","FDB06D4A-9F4E-4B8C-A67C-671A9583EFE8","1C80FDE1-05C0-4148-9AD8-33C88667084C","5059E383-6BE3-4AD3-A9C4-89DA9D8D5E99"],"partTests":{"__isSmartRef__":true,"id":1640},"_ClipMode":"visible","moved":true,"isBeingDragged":false,"magnets":[{"__isSmartRef__":true,"id":1645},{"__isSmartRef__":true,"id":1646},{"__isSmartRef__":true,"id":1647},{"__isSmartRef__":true,"id":1648},{"__isSmartRef__":true,"id":1649},{"__isSmartRef__":true,"id":1650},{"__isSmartRef__":true,"id":1651},{"__isSmartRef__":true,"id":1652}],"attributeConnections":[{"__isSmartRef__":true,"id":1653},{"__isSmartRef__":true,"id":1655},{"__isSmartRef__":true,"id":1657},{"__isSmartRef__":true,"id":1659},{"__isSmartRef__":true,"id":1661},{"__isSmartRef__":true,"id":1663}],"doNotSerialize":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"doNotCopyProperties":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"isCopyMorphRef":true,"morphRefId":1,"prevScroll":[0,0],"_Scale":1,"_Rotation":0,"owner":null,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","distanceToDragEvent":"lively.pt(67.9,-13.1)","_Position":"lively.pt(466.0,31.0)"},"1596":{"submorphs":[],"scripts":[],"id":"7C5DB00E-3DCD-46B1-88F5-71FBFF1C9CDF","shape":{"__isSmartRef__":true,"id":1597},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":180.8018403394826,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":19,"name":"NameLabel2","partsBinMetaInfo":{"__isSmartRef__":true,"id":1598},"textChunks":[{"__isSmartRef__":true,"id":1600}],"charsReplaced":"A1","lastFindLoc":2,"prevScroll":[0,0],"attributeConnections":[{"__isSmartRef__":true,"id":1602},{"__isSmartRef__":true,"id":1603}],"doNotSerialize":["$$owner","$$savedTextString"],"doNotCopyProperties":["$$owner","$$savedTextString"],"isInputLine":true,"savedTextString":"B","eventHandler":{"__isSmartRef__":true,"id":1604},"derivationIds":[7027,"331C6367-0699-4BD6-9916-ABA82517453B","BEAA7850-FEFB-4AFD-9E06-730FF35D99A4","559B0B8A-5C01-4133-88B2-0D08385E23F6","BE195383-D309-4B6E-A6B0-79A6112B4011","E323F75A-232F-4712-9A03-20C8FD574C9A"],"_WhiteSpaceHandling":"pre-wrap","_ClipMode":"visible","moved":true,"isBeingDragged":false,"_WordBreak":"break-all","magnets":[{"__isSmartRef__":true,"id":1605},{"__isSmartRef__":true,"id":1606},{"__isSmartRef__":true,"id":1607},{"__isSmartRef__":true,"id":1608},{"__isSmartRef__":true,"id":1609},{"__isSmartRef__":true,"id":1610},{"__isSmartRef__":true,"id":1611},{"__isSmartRef__":true,"id":1612}],"_PreviousBorderWidth":1,"owner":{"__isSmartRef__":true,"id":1595},"oldOwner":{"__isSmartRef__":true,"id":1595},"previousSelection":[0,0],"_Rotation":0,"_Scale":0.9999999999999997,"__serializedExpressions__":["_Position","textColor","distanceToDragEvent","_TextColor"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1613},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(34.8,36.8)","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(31.1,-9.9)","_TextColor":"Color.rgb(255,143,0)"},"1597":{"fill":null,"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(42.8,29.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"1598":{"migrationLevel":2,"comment":"Label that shows the name of a morph. Updates automatically.","partName":"NameLabel","lastModifiedDate":{"__isSmartRef__":true,"id":1599},"revisionOnLoad":140039,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"1599":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (CEST)"},"1600":{"style":{"__isSmartRef__":true,"id":1601},"chunkOwner":{"__isSmartRef__":true,"id":1596},"_id":"_36","storedString":"B","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1601":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1602":{"sourceObj":{"__isSmartRef__":true,"id":1596},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":1596},"targetMethodName":"updateLabel","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1603":{"sourceObj":{"__isSmartRef__":true,"id":1596},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":1596},"targetMethodName":"renameOwner","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1604":{"morph":{"__isSmartRef__":true,"id":1596},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1605":{"morph":{"__isSmartRef__":true,"id":1596},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(565.7,577.8)"},"1606":{"morph":{"__isSmartRef__":true,"id":1596},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(587.1,577.8)"},"1607":{"morph":{"__isSmartRef__":true,"id":1596},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(608.5,577.8)"},"1608":{"morph":{"__isSmartRef__":true,"id":1596},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(608.5,592.3)"},"1609":{"morph":{"__isSmartRef__":true,"id":1596},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(608.5,606.8)"},"1610":{"morph":{"__isSmartRef__":true,"id":1596},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(587.1,606.8)"},"1611":{"morph":{"__isSmartRef__":true,"id":1596},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(565.7,606.8)"},"1612":{"morph":{"__isSmartRef__":true,"id":1596},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(565.7,592.3)"},"1613":{"updateLabel":{"__isSmartRef__":true,"id":1614},"renameOwner":{"__isSmartRef__":true,"id":1617}},"1614":{"varMapping":{"__isSmartRef__":true,"id":1615},"source":"function updateLabel() {\n\t// observe name changes in owner\n\tif (this.owner !== this.oldOwner) {\n\t\tif (this.oldOwner)\n\t\t\tdisconnect(this.oldOwner, 'name', this, 'updateLabel')\n\t\tif (this.owner)\n\t\t\tconnect(this.owner, 'name', this, 'updateLabel')\n\t\tthis.oldOwner = this.owner\n\t}\n\tvar name = (this.owner ? this.owner.name : \"no owner\")\n\tif (this.textString != name)\n\tthis.setTextString(name)\n}","funcProperties":{"__isSmartRef__":true,"id":1616},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1615":{"this":{"__isSmartRef__":true,"id":1596}},"1616":{},"1617":{"varMapping":{"__isSmartRef__":true,"id":1618},"source":"function renameOwner(name) {\n\tif (this.owner && this.owner.name != name) {\n\t\talertOK(\"renamed \" + this.owner + \" to \" + name)\n\t\tthis.owner.setName(name);\n\t}\n}","funcProperties":{"__isSmartRef__":true,"id":1619},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1618":{"this":{"__isSmartRef__":true,"id":1596}},"1619":{},"1620":{"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(100.0,100.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgba(204,204,204,0.5)","_Padding":"lively.rect(0,0,0,0)"},"1621":{"partsSpaceName":"PartsBin/Basic","comment":"A simple box morph. A really orange one. Its amazing what you can build out of simple boxes.... Who needs stars when you got orange rectangles!","migrationLevel":4,"partName":"Rectangle","changes":[{"__isSmartRef__":true,"id":1622},{"__isSmartRef__":true,"id":1624},{"__isSmartRef__":true,"id":1626},{"__isSmartRef__":true,"id":1628},{"__isSmartRef__":true,"id":1630},{"__isSmartRef__":true,"id":1632},{"__isSmartRef__":true,"id":1634},{"__isSmartRef__":true,"id":1636}],"lastModifiedDate":{"__isSmartRef__":true,"id":1638},"revisionOnLoad":184624,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"1622":{"date":{"__isSmartRef__":true,"id":1623},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"1623":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"1624":{"date":{"__isSmartRef__":true,"id":1625},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"1625":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"1626":{"date":{"__isSmartRef__":true,"id":1627},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"1627":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"1628":{"date":{"__isSmartRef__":true,"id":1629},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"1629":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"1630":{"date":{"__isSmartRef__":true,"id":1631},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"1631":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"1632":{"date":{"__isSmartRef__":true,"id":1633},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"1633":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"1634":{"date":{"__isSmartRef__":true,"id":1635},"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8"},"1635":{"isSerializedDate":true,"string":"Mon Jun 18 2012 19:35:08 GMT+0200 (CEST)"},"1636":{"date":{"__isSmartRef__":true,"id":1637},"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205"},"1637":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:35:51 GMT+0100 (CET)"},"1638":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:33:25 GMT+0100 (CET)"},"1639":{"morph":{"__isSmartRef__":true,"id":1595},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1640":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1641}},"1641":{"test01IsMorph":{"__isSmartRef__":true,"id":1642}},"1642":{"varMapping":{"__isSmartRef__":true,"id":1643},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":1644},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1643":{"this":{"__isSmartRef__":true,"id":1640}},"1644":{},"1645":{"morph":{"__isSmartRef__":true,"id":1595},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(530.9,541.0)"},"1646":{"morph":{"__isSmartRef__":true,"id":1595},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(580.9,541.0)"},"1647":{"morph":{"__isSmartRef__":true,"id":1595},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(630.9,541.0)"},"1648":{"morph":{"__isSmartRef__":true,"id":1595},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(630.9,591.0)"},"1649":{"morph":{"__isSmartRef__":true,"id":1595},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(630.9,641.0)"},"1650":{"morph":{"__isSmartRef__":true,"id":1595},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(580.9,641.0)"},"1651":{"morph":{"__isSmartRef__":true,"id":1595},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(530.9,641.0)"},"1652":{"morph":{"__isSmartRef__":true,"id":1595},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(530.9,591.0)"},"1653":{"sourceObj":{"__isSmartRef__":true,"id":1595},"sourceAttrName":"name","targetObj":{"__isSmartRef__":true,"id":1596},"targetMethodName":"updateLabel","varMapping":{"__isSmartRef__":true,"id":1654},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1654":{"source":{"__isSmartRef__":true,"id":1595},"target":{"__isSmartRef__":true,"id":1596}},"1655":{"sourceObj":{"__isSmartRef__":true,"id":1595},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":1500},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":1656},"dependendConnections":[{"__isSmartRef__":true,"id":1657},{"__isSmartRef__":true,"id":1659},{"__isSmartRef__":true,"id":1661},{"__isSmartRef__":true,"id":1663}],"oldTransform":{"__isSmartRef__":true,"id":1665},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"1656":{"source":{"__isSmartRef__":true,"id":1595},"target":{"__isSmartRef__":true,"id":1500}},"1657":{"sourceObj":{"__isSmartRef__":true,"id":1595},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":1655},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":1658},"dependedBy":{"__isSmartRef__":true,"id":1655},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1658":{"source":{"__isSmartRef__":true,"id":1595},"target":{"__isSmartRef__":true,"id":1655}},"1659":{"sourceObj":{"__isSmartRef__":true,"id":1595},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":1655},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":1660},"dependedBy":{"__isSmartRef__":true,"id":1655},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1660":{"source":{"__isSmartRef__":true,"id":1595},"target":{"__isSmartRef__":true,"id":1655}},"1661":{"sourceObj":{"__isSmartRef__":true,"id":1595},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":1655},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":1662},"dependedBy":{"__isSmartRef__":true,"id":1655},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1662":{"source":{"__isSmartRef__":true,"id":1595},"target":{"__isSmartRef__":true,"id":1655}},"1663":{"sourceObj":{"__isSmartRef__":true,"id":1595},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":1655},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":1664},"dependedBy":{"__isSmartRef__":true,"id":1655},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1664":{"source":{"__isSmartRef__":true,"id":1595},"target":{"__isSmartRef__":true,"id":1655}},"1665":{"d":1,"a":1,"f":899.1,"e":509,"c":0,"b":0,"matrix_":{"__isSmartRef__":true,"id":1666},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"1666":{"a":1,"b":0,"c":0,"d":1,"e":509,"f":899.1,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"1667":{"onClick":{"__isSmartRef__":true,"id":1668},"onMouseUp":{"__isSmartRef__":true,"id":1672},"toggleControlPointHalos":{"__isSmartRef__":true,"id":1680},"connect":{"__isSmartRef__":true,"id":1684},"updatePosition":{"__isSmartRef__":true,"id":1688},"updateControlPoint":{"__isSmartRef__":true,"id":1692},"disconnectMorph":{"__isSmartRef__":true,"id":1696},"connectMorph":{"__isSmartRef__":true,"id":1700}},"1668":{"varMapping":{"__isSmartRef__":true,"id":1669},"source":"function onClick() {\n // this.toggleControlPointHalos()\n}","funcProperties":{"__isSmartRef__":true,"id":1670},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1669":{"this":{"__isSmartRef__":true,"id":1500}},"1670":{"timestamp":{"__isSmartRef__":true,"id":1671},"user":"jenslincke","tags":[]},"1671":{"isSerializedDate":true,"string":"Wed Dec 12 2012 17:56:13 GMT+0100 (CET)"},"1672":{"varMapping":{"__isSmartRef__":true,"id":1673},"source":"function onMouseUp(evt) {\n $super(evt)\n if (evt.isCommandKey() || !evt.isLeftMouseButtonDown()) {\n return \n }\n this.toggleControlPointHalos()\n}","funcProperties":{"__isSmartRef__":true,"id":1678},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1673":{"this":{"__isSmartRef__":true,"id":1500},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1674}},"1674":{"$super":{"__isSmartRef__":true,"id":1675}},"1675":{"varMapping":{"__isSmartRef__":true,"id":1676},"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":1677},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1676":{"obj":{"__isSmartRef__":true,"id":1500},"name":"onMouseUp"},"1677":{},"1678":{"timestamp":{"__isSmartRef__":true,"id":1679},"user":"jenslincke","tags":[]},"1679":{"isSerializedDate":true,"string":"Wed Dec 12 2012 17:55:57 GMT+0100 (CET)"},"1680":{"varMapping":{"__isSmartRef__":true,"id":1681},"source":"function toggleControlPointHalos() {\n if (this.halos && this.halos.length > 0) {\n this.removeHalos()\n return\n }\n this.halos = this.getControlPointHalos();\n this.showsHalos = true;\n this.world().showHalosFor(this, this.halos);\n this.halos.invoke('alignAtTarget');\n}","funcProperties":{"__isSmartRef__":true,"id":1682},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1681":{"this":{"__isSmartRef__":true,"id":1500}},"1682":{"timestamp":{"__isSmartRef__":true,"id":1683},"user":"jenslincke","tags":[]},"1683":{"isSerializedDate":true,"string":"Wed Dec 12 2012 18:04:41 GMT+0100 (CET)"},"1684":{"varMapping":{"__isSmartRef__":true,"id":1685},"source":"function connect(morphA, morphB) {\n this.disconnectMorph(this.fromMorph)\n this.disconnectMorph(this.toMorph)\n this.fromMorph = morphA;\n this.toMorph = morphB;\n this.connectMorph(this.fromMorph)\n this.connectMorph(this.toMorph)\n\n this.updatePosition()\n}","funcProperties":{"__isSmartRef__":true,"id":1686},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1685":{"this":{"__isSmartRef__":true,"id":1500}},"1686":{"timestamp":{"__isSmartRef__":true,"id":1687},"user":"jenslincke","tags":[]},"1687":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:52:38 GMT+0100 (CET)"},"1688":{"varMapping":{"__isSmartRef__":true,"id":1689},"source":"function updatePosition() {\n this.updateControlPoint(this.controlPoints[0], this.fromMorph)\n this.updateControlPoint(this.controlPoints[1], this.toMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":1690},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1689":{"this":{"__isSmartRef__":true,"id":1500}},"1690":{"timestamp":{"__isSmartRef__":true,"id":1691},"user":"jenslincke","tags":[]},"1691":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:45:42 GMT+0100 (CET)"},"1692":{"varMapping":{"__isSmartRef__":true,"id":1693},"source":"function updateControlPoint(cp, morph) {\n if (!cp || !morph) return;\n cp.setGlobalPos(morph.worldPoint(morph.shape.bounds().center()))\n}","funcProperties":{"__isSmartRef__":true,"id":1694},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1693":{"this":{"__isSmartRef__":true,"id":1500}},"1694":{"timestamp":{"__isSmartRef__":true,"id":1695},"user":"jenslincke","tags":[]},"1695":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:45:56 GMT+0100 (CET)"},"1696":{"varMapping":{"__isSmartRef__":true,"id":1697},"source":"function disconnectMorph(morph) {\n lively.bindings.disconnect(morph, 'globalTransform', this, 'updatePosition')\n\n}","funcProperties":{"__isSmartRef__":true,"id":1698},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1697":{"this":{"__isSmartRef__":true,"id":1500}},"1698":{"timestamp":{"__isSmartRef__":true,"id":1699},"user":"jenslincke","tags":[]},"1699":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:51:01 GMT+0100 (CET)"},"1700":{"varMapping":{"__isSmartRef__":true,"id":1701},"source":"function connectMorph(morph) {\n if (morph)\n lively.bindings.connect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":1702},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1701":{"this":{"__isSmartRef__":true,"id":1500}},"1702":{"timestamp":{"__isSmartRef__":true,"id":1703},"user":"jenslincke","tags":[]},"1703":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:52:12 GMT+0100 (CET)"},"1704":{"submorphs":[],"scripts":[],"id":"C36EA3F5-6B17-4521-AB50-F75B6611E475","shape":{"__isSmartRef__":true,"id":1705},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":180.8018403394826,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":19,"name":"NameLabel3","partsBinMetaInfo":{"__isSmartRef__":true,"id":1706},"textChunks":[{"__isSmartRef__":true,"id":1708}],"charsReplaced":"A1","lastFindLoc":2,"prevScroll":[0,0],"attributeConnections":[{"__isSmartRef__":true,"id":1710},{"__isSmartRef__":true,"id":1711}],"doNotSerialize":["$$owner","$$savedTextString"],"doNotCopyProperties":["$$owner","$$savedTextString"],"isInputLine":true,"savedTextString":"Figure1","eventHandler":{"__isSmartRef__":true,"id":1712},"derivationIds":[7027,"331C6367-0699-4BD6-9916-ABA82517453B","BEAA7850-FEFB-4AFD-9E06-730FF35D99A4","559B0B8A-5C01-4133-88B2-0D08385E23F6","BE195383-D309-4B6E-A6B0-79A6112B4011","E323F75A-232F-4712-9A03-20C8FD574C9A","D1DCE0BF-FCF8-466F-838F-89595E55C245","FCAF479D-4C9A-4FD1-8256-4AFC8C38B123"],"_WhiteSpaceHandling":"pre-wrap","_ClipMode":"visible","moved":true,"isBeingDragged":false,"_WordBreak":"break-all","magnets":[{"__isSmartRef__":true,"id":1713},{"__isSmartRef__":true,"id":1714},{"__isSmartRef__":true,"id":1715},{"__isSmartRef__":true,"id":1716},{"__isSmartRef__":true,"id":1717},{"__isSmartRef__":true,"id":1718},{"__isSmartRef__":true,"id":1719},{"__isSmartRef__":true,"id":1720}],"_PreviousBorderWidth":1,"oldOwner":{"__isSmartRef__":true,"id":1499},"owner":{"__isSmartRef__":true,"id":1499},"_Rotation":0,"_Scale":0.9999999999999997,"__serializedExpressions__":["_Position","textColor","distanceToDragEvent","_TextColor"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1721},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(5.8,0.9)","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(137.9,-12.9)","_TextColor":"Color.rgb(255,143,0)"},"1705":{"fill":null,"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(206.5,29.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"1706":{"migrationLevel":2,"comment":"Label that shows the name of a morph. Updates automatically.","partName":"NameLabel","lastModifiedDate":{"__isSmartRef__":true,"id":1707},"revisionOnLoad":140039,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"1707":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (CEST)"},"1708":{"style":{"__isSmartRef__":true,"id":1709},"chunkOwner":{"__isSmartRef__":true,"id":1704},"_id":"_21828","storedString":"Figure3","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1709":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1710":{"sourceObj":{"__isSmartRef__":true,"id":1704},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":1704},"targetMethodName":"updateLabel","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1711":{"sourceObj":{"__isSmartRef__":true,"id":1704},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":1704},"targetMethodName":"renameOwner","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1712":{"morph":{"__isSmartRef__":true,"id":1704},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1713":{"morph":{"__isSmartRef__":true,"id":1704},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(38.7,1885.3)"},"1714":{"morph":{"__isSmartRef__":true,"id":1704},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(141.9,1885.3)"},"1715":{"morph":{"__isSmartRef__":true,"id":1704},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(245.2,1885.3)"},"1716":{"morph":{"__isSmartRef__":true,"id":1704},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(245.2,1899.8)"},"1717":{"morph":{"__isSmartRef__":true,"id":1704},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(245.2,1914.3)"},"1718":{"morph":{"__isSmartRef__":true,"id":1704},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(141.9,1914.3)"},"1719":{"morph":{"__isSmartRef__":true,"id":1704},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(38.7,1914.3)"},"1720":{"morph":{"__isSmartRef__":true,"id":1704},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(38.7,1899.8)"},"1721":{"updateLabel":{"__isSmartRef__":true,"id":1722},"renameOwner":{"__isSmartRef__":true,"id":1725}},"1722":{"varMapping":{"__isSmartRef__":true,"id":1723},"source":"function updateLabel() {\n\t// observe name changes in owner\n\tif (this.owner !== this.oldOwner) {\n\t\tif (this.oldOwner)\n\t\t\tdisconnect(this.oldOwner, 'name', this, 'updateLabel')\n\t\tif (this.owner)\n\t\t\tconnect(this.owner, 'name', this, 'updateLabel')\n\t\tthis.oldOwner = this.owner\n\t}\n\tvar name = (this.owner ? this.owner.name : \"no owner\")\n\tif (this.textString != name)\n\tthis.setTextString(name)\n}","funcProperties":{"__isSmartRef__":true,"id":1724},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1723":{"this":{"__isSmartRef__":true,"id":1704}},"1724":{},"1725":{"varMapping":{"__isSmartRef__":true,"id":1726},"source":"function renameOwner(name) {\n\tif (this.owner && this.owner.name != name) {\n\t\talertOK(\"renamed \" + this.owner + \" to \" + name)\n\t\tthis.owner.setName(name);\n\t}\n}","funcProperties":{"__isSmartRef__":true,"id":1727},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1726":{"this":{"__isSmartRef__":true,"id":1704}},"1727":{},"1728":{"submorphs":[{"__isSmartRef__":true,"id":1729}],"scripts":[],"id":"BFFEF617-9B97-45D4-A541-8E33A6A17485","shape":{"__isSmartRef__":true,"id":1753},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"A","partsBinMetaInfo":{"__isSmartRef__":true,"id":1754},"eventHandler":{"__isSmartRef__":true,"id":1772},"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","BBAFB862-93AE-4F89-BCFF-9F1C67B7FE4C","7EC17E78-593A-4CC8-B7E3-859BCBBFE785","FDB06D4A-9F4E-4B8C-A67C-671A9583EFE8","1C80FDE1-05C0-4148-9AD8-33C88667084C","5059E383-6BE3-4AD3-A9C4-89DA9D8D5E99","5B810AFE-E692-4EB4-A695-ABB4A95CEA39"],"partTests":{"__isSmartRef__":true,"id":1773},"_ClipMode":"visible","moved":true,"isBeingDragged":false,"magnets":[{"__isSmartRef__":true,"id":1778},{"__isSmartRef__":true,"id":1779},{"__isSmartRef__":true,"id":1780},{"__isSmartRef__":true,"id":1781},{"__isSmartRef__":true,"id":1782},{"__isSmartRef__":true,"id":1783},{"__isSmartRef__":true,"id":1784},{"__isSmartRef__":true,"id":1785}],"attributeConnections":[{"__isSmartRef__":true,"id":1786}],"doNotSerialize":["$$name"],"doNotCopyProperties":["$$name"],"isCopyMorphRef":true,"morphRefId":1,"prevScroll":[0,0],"owner":{"__isSmartRef__":true,"id":1499},"_Rotation":0.6787121611574993,"_Scale":1,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1788},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","distanceToDragEvent":"lively.pt(25.9,-11.9)","_Position":"lively.pt(546.1,41.7)"},"1729":{"submorphs":[],"scripts":[],"id":"DAFCD826-DF9B-4DEF-B4D7-59AAED8D199D","shape":{"__isSmartRef__":true,"id":1730},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":180.8018403394826,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":19,"name":"NameLabel2","partsBinMetaInfo":{"__isSmartRef__":true,"id":1731},"textChunks":[{"__isSmartRef__":true,"id":1733}],"charsReplaced":"C1","lastFindLoc":2,"prevScroll":[0,0],"attributeConnections":[{"__isSmartRef__":true,"id":1735},{"__isSmartRef__":true,"id":1736}],"doNotSerialize":["$$owner","$$savedTextString"],"doNotCopyProperties":["$$owner","$$savedTextString"],"isInputLine":true,"savedTextString":"A","eventHandler":{"__isSmartRef__":true,"id":1737},"derivationIds":[7027,"331C6367-0699-4BD6-9916-ABA82517453B","BEAA7850-FEFB-4AFD-9E06-730FF35D99A4","559B0B8A-5C01-4133-88B2-0D08385E23F6","BE195383-D309-4B6E-A6B0-79A6112B4011","E323F75A-232F-4712-9A03-20C8FD574C9A","E6E38336-AA2D-4F75-80C1-B1617DD8544E"],"_WhiteSpaceHandling":"pre-wrap","_ClipMode":"visible","moved":true,"isBeingDragged":false,"_WordBreak":"break-all","magnets":[{"__isSmartRef__":true,"id":1738},{"__isSmartRef__":true,"id":1739},{"__isSmartRef__":true,"id":1740},{"__isSmartRef__":true,"id":1741},{"__isSmartRef__":true,"id":1742},{"__isSmartRef__":true,"id":1743},{"__isSmartRef__":true,"id":1744},{"__isSmartRef__":true,"id":1745}],"_PreviousBorderWidth":1,"owner":{"__isSmartRef__":true,"id":1728},"oldOwner":{"__isSmartRef__":true,"id":1728},"previousSelection":[0,0],"_Rotation":0,"_Scale":0.9999999999999997,"priorSelectionRange":[0,2],"__serializedExpressions__":["_Position","textColor","distanceToDragEvent","_TextColor"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1746},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(34.8,36.8)","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(31.1,-9.9)","_TextColor":"Color.rgb(255,143,0)"},"1730":{"fill":null,"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(42.8,29.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"1731":{"migrationLevel":2,"comment":"Label that shows the name of a morph. Updates automatically.","partName":"NameLabel","lastModifiedDate":{"__isSmartRef__":true,"id":1732},"revisionOnLoad":140039,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"1732":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (CEST)"},"1733":{"style":{"__isSmartRef__":true,"id":1734},"chunkOwner":{"__isSmartRef__":true,"id":1729},"_id":"_22384","storedString":"A","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1734":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1735":{"sourceObj":{"__isSmartRef__":true,"id":1729},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":1729},"targetMethodName":"updateLabel","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1736":{"sourceObj":{"__isSmartRef__":true,"id":1729},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":1729},"targetMethodName":"renameOwner","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1737":{"morph":{"__isSmartRef__":true,"id":1729},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1738":{"morph":{"__isSmartRef__":true,"id":1729},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(583.0,1976.6)"},"1739":{"morph":{"__isSmartRef__":true,"id":1729},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(599.6,1990.0)"},"1740":{"morph":{"__isSmartRef__":true,"id":1729},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(616.3,2003.5)"},"1741":{"morph":{"__isSmartRef__":true,"id":1729},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(607.2,2014.7)"},"1742":{"morph":{"__isSmartRef__":true,"id":1729},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(598.1,2026.0)"},"1743":{"morph":{"__isSmartRef__":true,"id":1729},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(581.4,2012.6)"},"1744":{"morph":{"__isSmartRef__":true,"id":1729},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(564.8,1999.2)"},"1745":{"morph":{"__isSmartRef__":true,"id":1729},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(573.9,1987.9)"},"1746":{"updateLabel":{"__isSmartRef__":true,"id":1747},"renameOwner":{"__isSmartRef__":true,"id":1750}},"1747":{"varMapping":{"__isSmartRef__":true,"id":1748},"source":"function updateLabel() {\n\t// observe name changes in owner\n\tif (this.owner !== this.oldOwner) {\n\t\tif (this.oldOwner)\n\t\t\tdisconnect(this.oldOwner, 'name', this, 'updateLabel')\n\t\tif (this.owner)\n\t\t\tconnect(this.owner, 'name', this, 'updateLabel')\n\t\tthis.oldOwner = this.owner\n\t}\n\tvar name = (this.owner ? this.owner.name : \"no owner\")\n\tif (this.textString != name)\n\tthis.setTextString(name)\n}","funcProperties":{"__isSmartRef__":true,"id":1749},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1748":{"this":{"__isSmartRef__":true,"id":1729}},"1749":{},"1750":{"varMapping":{"__isSmartRef__":true,"id":1751},"source":"function renameOwner(name) {\n\tif (this.owner && this.owner.name != name) {\n\t\talertOK(\"renamed \" + this.owner + \" to \" + name)\n\t\tthis.owner.setName(name);\n\t}\n}","funcProperties":{"__isSmartRef__":true,"id":1752},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1751":{"this":{"__isSmartRef__":true,"id":1729}},"1752":{},"1753":{"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(92.0,109.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgba(204,204,204,0.5)","_Padding":"lively.rect(0,0,0,0)"},"1754":{"partsSpaceName":"PartsBin/Basic","comment":"A simple box morph. A really orange one. Its amazing what you can build out of simple boxes.... Who needs stars when you got orange rectangles!","migrationLevel":4,"partName":"Rectangle","changes":[{"__isSmartRef__":true,"id":1755},{"__isSmartRef__":true,"id":1757},{"__isSmartRef__":true,"id":1759},{"__isSmartRef__":true,"id":1761},{"__isSmartRef__":true,"id":1763},{"__isSmartRef__":true,"id":1765},{"__isSmartRef__":true,"id":1767},{"__isSmartRef__":true,"id":1769}],"lastModifiedDate":{"__isSmartRef__":true,"id":1771},"revisionOnLoad":184624,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"1755":{"date":{"__isSmartRef__":true,"id":1756},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"1756":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"1757":{"date":{"__isSmartRef__":true,"id":1758},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"1758":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"1759":{"date":{"__isSmartRef__":true,"id":1760},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"1760":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"1761":{"date":{"__isSmartRef__":true,"id":1762},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"1762":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"1763":{"date":{"__isSmartRef__":true,"id":1764},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"1764":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"1765":{"date":{"__isSmartRef__":true,"id":1766},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"1766":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"1767":{"date":{"__isSmartRef__":true,"id":1768},"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8"},"1768":{"isSerializedDate":true,"string":"Mon Jun 18 2012 19:35:08 GMT+0200 (CEST)"},"1769":{"date":{"__isSmartRef__":true,"id":1770},"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205"},"1770":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:35:51 GMT+0100 (CET)"},"1771":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:33:25 GMT+0100 (CET)"},"1772":{"morph":{"__isSmartRef__":true,"id":1728},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1773":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1774}},"1774":{"test01IsMorph":{"__isSmartRef__":true,"id":1775}},"1775":{"varMapping":{"__isSmartRef__":true,"id":1776},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":1777},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1776":{"this":{"__isSmartRef__":true,"id":1773}},"1777":{},"1778":{"morph":{"__isSmartRef__":true,"id":1728},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(579.0,1926.1)"},"1779":{"morph":{"__isSmartRef__":true,"id":1728},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(614.8,1955.0)"},"1780":{"morph":{"__isSmartRef__":true,"id":1728},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(650.6,1983.9)"},"1781":{"morph":{"__isSmartRef__":true,"id":1728},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(616.4,2026.3)"},"1782":{"morph":{"__isSmartRef__":true,"id":1728},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(582.2,2068.7)"},"1783":{"morph":{"__isSmartRef__":true,"id":1728},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(546.4,2039.8)"},"1784":{"morph":{"__isSmartRef__":true,"id":1728},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(510.6,2010.9)"},"1785":{"morph":{"__isSmartRef__":true,"id":1728},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(544.8,1968.5)"},"1786":{"sourceObj":{"__isSmartRef__":true,"id":1728},"sourceAttrName":"name","targetObj":{"__isSmartRef__":true,"id":1729},"targetMethodName":"updateLabel","varMapping":{"__isSmartRef__":true,"id":1787},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1787":{"source":{"__isSmartRef__":true,"id":1728},"target":{"__isSmartRef__":true,"id":1729}},"1788":{"globalShapePath":{"__isSmartRef__":true,"id":1789},"lineIntersect":{"__isSmartRef__":true,"id":1792},"intersectLine":{"__isSmartRef__":true,"id":1796},"intersectLineMorph":{"__isSmartRef__":true,"id":1799}},"1789":{"varMapping":{"__isSmartRef__":true,"id":1790},"source":"function globalShapePath() {\n var b = this.shape.bounds();\n var p1 = this.worldPoint(b.topLeft()),\n p2 = this.worldPoint(b.topRight()),\n p3 = this.worldPoint(b.bottomRight()),\n p4 = this.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":1791},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1790":{"this":{"__isSmartRef__":true,"id":1728}},"1791":{},"1792":{"varMapping":{"__isSmartRef__":true,"id":1793},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":1794},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1793":{"this":{"__isSmartRef__":true,"id":1728}},"1794":{"timestamp":{"__isSmartRef__":true,"id":1795},"user":"jenslincke","tags":[]},"1795":{"isSerializedDate":true,"string":"Thu Dec 13 2012 13:42:55 GMT+0100 (CET)"},"1796":{"varMapping":{"__isSmartRef__":true,"id":1797},"source":"function intersectLine(a1, a2) {\n var points = this.globalShapePath();\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":1798},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1797":{"this":{"__isSmartRef__":true,"id":1728}},"1798":{},"1799":{"varMapping":{"__isSmartRef__":true,"id":1800},"source":"function intersectLineMorph(m) {\n return this.intersectLine(m.controlPoints[0].getGlobalPos(), m.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":1801},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1800":{"this":{"__isSmartRef__":true,"id":1728}},"1801":{},"1802":{"_BorderWidth":1,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(847.0,226.1)","_BorderColor":"Color.rgb(204,204,204)","_Fill":"Color.rgb(255,255,255)","_Padding":"lively.rect(0,0,0,0)"},"1803":{"options":{"__isSmartRef__":true,"id":1804}},"1804":{"override":["onDrag","onDragStart","onDragEnd"]},"1805":{"requiredModules":[],"partsSpaceName":"PartsBin/Presenting/","migrationLevel":2,"comment":"A copy of this object is used by the PresentationController when you press the button \"new slide\".","lastModifiedDate":{"__isSmartRef__":true,"id":1806},"revisionOnLoad":140039,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"1806":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (CEST)"},"1807":{"morph":{"__isSmartRef__":true,"id":1499},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1808":{"morph":{"__isSmartRef__":true,"id":1499},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(32.9,1884.4)"},"1809":{"morph":{"__isSmartRef__":true,"id":1499},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(456.4,1884.4)"},"1810":{"morph":{"__isSmartRef__":true,"id":1499},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(879.9,1884.4)"},"1811":{"morph":{"__isSmartRef__":true,"id":1499},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(879.9,1997.4)"},"1812":{"morph":{"__isSmartRef__":true,"id":1499},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(879.9,2110.5)"},"1813":{"morph":{"__isSmartRef__":true,"id":1499},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(456.4,2110.5)"},"1814":{"morph":{"__isSmartRef__":true,"id":1499},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(32.9,2110.5)"},"1815":{"morph":{"__isSmartRef__":true,"id":1499},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(32.9,1997.4)"},"1816":{"sourceObj":{"__isSmartRef__":true,"id":1499},"sourceAttrName":"name","targetObj":{"__isSmartRef__":true,"id":1704},"targetMethodName":"updateLabel","varMapping":{"__isSmartRef__":true,"id":1817},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1817":{"source":{"__isSmartRef__":true,"id":1499},"target":{"__isSmartRef__":true,"id":1704}},"1818":{"intersects":{"__isSmartRef__":true,"id":1819}},"1819":{"varMapping":{"__isSmartRef__":true,"id":1820},"source":"function intersects(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":1821},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1820":{"this":{"__isSmartRef__":true,"id":1499}},"1821":{},"1822":{"submorphs":[{"__isSmartRef__":true,"id":1823}],"scripts":[],"id":"489C99AA-CF42-43E9-A1DC-91BD465A36BA","shape":{"__isSmartRef__":true,"id":2001},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":120.695652,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":11,"name":"SpecialSyntaxWorkspace2","partsBinMetaInfo":{"__isSmartRef__":true,"id":2002},"textChunks":[{"__isSmartRef__":true,"id":2022},{"__isSmartRef__":true,"id":2024},{"__isSmartRef__":true,"id":2026},{"__isSmartRef__":true,"id":2028},{"__isSmartRef__":true,"id":2030},{"__isSmartRef__":true,"id":2032},{"__isSmartRef__":true,"id":2034},{"__isSmartRef__":true,"id":2036},{"__isSmartRef__":true,"id":2038},{"__isSmartRef__":true,"id":2040},{"__isSmartRef__":true,"id":2042},{"__isSmartRef__":true,"id":2044},{"__isSmartRef__":true,"id":2046},{"__isSmartRef__":true,"id":2048},{"__isSmartRef__":true,"id":2050},{"__isSmartRef__":true,"id":2052},{"__isSmartRef__":true,"id":2054},{"__isSmartRef__":true,"id":2056},{"__isSmartRef__":true,"id":2058},{"__isSmartRef__":true,"id":2060},{"__isSmartRef__":true,"id":2062},{"__isSmartRef__":true,"id":2064},{"__isSmartRef__":true,"id":2066},{"__isSmartRef__":true,"id":2068},{"__isSmartRef__":true,"id":2070},{"__isSmartRef__":true,"id":2072},{"__isSmartRef__":true,"id":2074},{"__isSmartRef__":true,"id":2076},{"__isSmartRef__":true,"id":2078},{"__isSmartRef__":true,"id":2080},{"__isSmartRef__":true,"id":2082},{"__isSmartRef__":true,"id":2084},{"__isSmartRef__":true,"id":2086},{"__isSmartRef__":true,"id":2088},{"__isSmartRef__":true,"id":2090},{"__isSmartRef__":true,"id":2092},{"__isSmartRef__":true,"id":2094},{"__isSmartRef__":true,"id":2096},{"__isSmartRef__":true,"id":2098},{"__isSmartRef__":true,"id":2100},{"__isSmartRef__":true,"id":2102},{"__isSmartRef__":true,"id":2104},{"__isSmartRef__":true,"id":2106},{"__isSmartRef__":true,"id":2108},{"__isSmartRef__":true,"id":2110},{"__isSmartRef__":true,"id":2112},{"__isSmartRef__":true,"id":2114},{"__isSmartRef__":true,"id":2116},{"__isSmartRef__":true,"id":2118},{"__isSmartRef__":true,"id":2120},{"__isSmartRef__":true,"id":2122},{"__isSmartRef__":true,"id":2124},{"__isSmartRef__":true,"id":2126},{"__isSmartRef__":true,"id":2128},{"__isSmartRef__":true,"id":2130},{"__isSmartRef__":true,"id":2132},{"__isSmartRef__":true,"id":2134},{"__isSmartRef__":true,"id":2136},{"__isSmartRef__":true,"id":2138},{"__isSmartRef__":true,"id":2140},{"__isSmartRef__":true,"id":2142},{"__isSmartRef__":true,"id":2144},{"__isSmartRef__":true,"id":2146},{"__isSmartRef__":true,"id":2148},{"__isSmartRef__":true,"id":2150},{"__isSmartRef__":true,"id":2152},{"__isSmartRef__":true,"id":2154},{"__isSmartRef__":true,"id":2156},{"__isSmartRef__":true,"id":2158},{"__isSmartRef__":true,"id":2160},{"__isSmartRef__":true,"id":2162},{"__isSmartRef__":true,"id":2164},{"__isSmartRef__":true,"id":2166},{"__isSmartRef__":true,"id":2168},{"__isSmartRef__":true,"id":2170},{"__isSmartRef__":true,"id":2172},{"__isSmartRef__":true,"id":2174},{"__isSmartRef__":true,"id":2176},{"__isSmartRef__":true,"id":2178},{"__isSmartRef__":true,"id":2180},{"__isSmartRef__":true,"id":2182},{"__isSmartRef__":true,"id":2184},{"__isSmartRef__":true,"id":2186},{"__isSmartRef__":true,"id":2188},{"__isSmartRef__":true,"id":2190}],"charsReplaced":"","lastFindLoc":922,"prevScroll":[0,0],"eventHandler":{"__isSmartRef__":true,"id":2192},"_ClipMode":"visible","derivationIds":[355,"1EB1674F-8BF2-419B-B054-86129ED70335","63698904-DC05-4341-A9B6-5CC4A219CD04","F6A714BA-4735-41ED-8A2A-45CB153FBDF8","00EF5BDE-A6C1-4CDC-AAFD-8DB7D6C920A9","31625624-9A8F-4797-9CEB-6E0AC4E70EA8","D1F11C50-0C91-47DF-A055-1EA602857957","F2B8E6AA-6248-4340-A65D-FC05BD3AC6EC","2EFE11FE-5B9F-4624-8C5B-F77B7A7826DE","8D4DCE34-6A61-4C28-A1B9-9E1A5220FAA9"],"_WhiteSpaceHandling":"pre-wrap","_MinTextWidth":120.695652,"_MinTextHeight":null,"isBeingDragged":false,"moved":true,"magnets":[{"__isSmartRef__":true,"id":2193},{"__isSmartRef__":true,"id":2194},{"__isSmartRef__":true,"id":2195},{"__isSmartRef__":true,"id":2196},{"__isSmartRef__":true,"id":2197},{"__isSmartRef__":true,"id":2198},{"__isSmartRef__":true,"id":2199},{"__isSmartRef__":true,"id":2200}],"syntaxHighlightingWhileTyping":true,"attributeConnections":[{"__isSmartRef__":true,"id":2201}],"doNotSerialize":["$$textString","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors"],"doNotCopyProperties":["$$textString"],"_lastSyntaxHighlightTime":66,"_WordBreak":"break-all","savedTextString":"this.addScript(function intersects(v1, v2){\n var a1 = v1[0],\n a2 = v1[1],\n b1 = v2[0],\n b2 = v2[1];\n\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(t * b);\n})\n\nthis.intersects(#Line1.vertices(), #Line2.vertices())\n\n\n\n","target":{"__isSmartRef__":true,"id":1499},"layout":{"__isSmartRef__":true,"id":2203},"owner":{"__isSmartRef__":true,"id":0},"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","textColor","_Padding","distanceToDragEvent"],"textString":"\n#A.addScript(function globalShapePath() {\n var b = this.shape.bounds();\n var p1 = this.worldPoint(b.topLeft()),\n p2 = this.worldPoint(b.topRight()),\n p3 = this.worldPoint(b.bottomRight()),\n p4 = this.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n})\n\n#A.globalShapePath().forEach(function(ea) { show(ea)})\n\n#A.addScript(function intersectLine(a1, a2) {\n var points = this.globalShapePath();\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n})\n\n#A.addScript(function intersectLineMorph(m) {\n return this.intersectLine(m.controlPoints[0].getGlobalPos(), m.controlPoints[1].getGlobalPos())\n})\n\n#A.intersectLineMorph(#Line).forEach(function(ea) { show(ea).setFill(Color.blue)})\n\n","__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2204},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(40.0,1707.6)","textColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(5,5,0,0)","distanceToDragEvent":"lively.pt(305.4,-41.1)"},"1823":{"submorphs":[{"__isSmartRef__":true,"id":1824},{"__isSmartRef__":true,"id":1839}],"scripts":[],"id":"8481867E-257F-45A2-BBB7-D82E20C8F62F","shape":{"__isSmartRef__":true,"id":1850},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":1856},"lighterFill":{"__isSmartRef__":true,"id":1861},"label":{"__isSmartRef__":true,"id":1824},"name":"MagnifierButton1","showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":1866},"attributeConnections":[{"__isSmartRef__":true,"id":1869}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"eventHandler":{"__isSmartRef__":true,"id":1870},"derivationIds":[2588,"22797D34-67DE-4A06-81F0-4DF0A87ADBBC","81CB4C12-BCF0-4097-8B6D-D9419046367A","0767A57D-9BB2-48C6-9654-753D2B9D00A6","42871246-6725-4E41-A2C1-5A5BCF041097","BCE6E775-B5DF-4D6B-9F06-CDC02C1B1D0F","797EC165-A639-42D9-A059-669F6BEB92A7","FA498EFD-E50E-4CE0-9FA8-9AE2E8AE9580","4B68C371-CB37-45B4-910A-611E5FFC23DD","94E374B9-7ED4-4E39-96F1-6FD4E7AC3428","34D63515-7CC7-43FB-B7BB-87AFCA377D63","7E0B172C-0AF5-4C6E-B184-25A8FAE4FAB8","12239D52-D3D3-4713-BC3E-F0B95C488CB7","72559D92-4616-45A9-A0F2-72BA4147C0FB","E86C7328-AF24-4881-84AF-B7C7CEFEAE14","22D731CF-38F0-41CC-B125-74D2842ED847","B58A1A30-782E-4675-A276-2C01D35BEC70","ACEABA6D-071C-46C2-A325-BE30189AA45F","686443AE-DCDC-4998-8A39-48BC57D64FDC","8D660766-7C93-404C-9D92-B12CBF59A3CE","20DF1A18-6F2B-4D66-9110-75EB343C3C61","6295FA32-B7AA-4C61-BF03-5E69084C8FE8","72BEBA6F-7C26-47B6-AED2-253F02E48DE5","4C8C2413-A44D-4F57-8D6E-044435019381"],"_ClipMode":"visible","highlightRectangle":{"__isSmartRef__":true,"id":1871},"isPressed":false,"owner":{"__isSmartRef__":true,"id":1822},"prevScroll":[0,0],"layout":{"__isSmartRef__":true,"id":1947},"magnets":[{"__isSmartRef__":true,"id":1948},{"__isSmartRef__":true,"id":1949},{"__isSmartRef__":true,"id":1950},{"__isSmartRef__":true,"id":1951},{"__isSmartRef__":true,"id":1952},{"__isSmartRef__":true,"id":1953},{"__isSmartRef__":true,"id":1954},{"__isSmartRef__":true,"id":1955}],"_Rotation":0,"_Scale":0.9920279440699439,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1956},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(784.4,-5.0)","distanceToDragEvent":"lively.pt(39.2,-13.1)"},"1824":{"submorphs":[],"scripts":[],"id":"6EADE3A3-1659-445F-8623-E2F7EC070EBF","shape":{"__isSmartRef__":true,"id":1825},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":false,"_FontFamily":"Helvetica","registeredForMouseEvents":true,"_MaxTextWidth":24,"_MaxTextHeight":null,"textStyle":null,"owner":{"__isSmartRef__":true,"id":1823},"isLabel":true,"eventsAreIgnored":true,"_ClipMode":"hidden","textChunks":[{"__isSmartRef__":true,"id":1826},{"__isSmartRef__":true,"id":1828}],"_Align":"center","eventHandler":{"__isSmartRef__":true,"id":1830},"_HandStyle":"default","_PointerEvents":"none","derivationIds":[2589,"024C5ADE-C4CF-4E8E-BEC5-F93AD4839702","A2CC4D56-B9D8-4A48-B6FF-DDDD85ACDC2E","5AC5C4DE-00B0-43DB-B7F1-765674CE818B","750A11C6-766E-4B48-AE32-D71DE811EB4A","66A7B56E-A94E-44AE-8AED-C0C1B07554D4","CA8596D3-2D4F-453B-BE1B-DCEC8F85389B","4D7DC32F-79CB-4AF8-8B21-AB4F1809D4A8","439DE430-7651-470E-97D8-00E7F96B04DA","DAC920E6-217B-4515-AC09-2F9DCBA7375C","BD48C003-0502-451D-B6AA-7369FF3D1030","C3B8F4EA-3F44-47F4-B569-A0D5AB263BA0","BF7F0FA3-3F2A-4EEF-9687-BE2B0635DF13","3D7AEAC1-C9DD-4941-BA46-16F6783F5699","E04A78F9-3D6E-403F-BA8D-2583FCFFCE53","47E1F29B-6896-467D-8654-CA18929AE57A","509D86FF-5400-4374-BE79-90F0A7E3E90C","C7E53EE0-065A-4C59-8D13-311566722BB7","BA078BAC-7263-4B10-AFD3-3C4EA0DD8707","BCFE28D1-A115-453E-9116-EECC8FE1D50F","A354FF2E-BD85-429A-97C2-254D6033F50C","B26A73EB-9EB9-4CB0-89AF-FEE10445E3EA","ED910382-D586-4EC1-BD77-5E8DD759BDB4","F6E9EDE5-A210-4ABB-ABE1-2086939E8554"],"_MinTextWidth":24,"_MinTextHeight":null,"_FontSize":10,"_WordBreak":"break-all","magnets":[{"__isSmartRef__":true,"id":1831},{"__isSmartRef__":true,"id":1832},{"__isSmartRef__":true,"id":1833},{"__isSmartRef__":true,"id":1834},{"__isSmartRef__":true,"id":1835},{"__isSmartRef__":true,"id":1836},{"__isSmartRef__":true,"id":1837},{"__isSmartRef__":true,"id":1838}],"__serializedExpressions__":["_Position","padding","_Padding","_TextColor"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(0.0,0.0)","padding":"lively.rect(5,5,0,0)","_Padding":"lively.rect(0,0,0,0)","_TextColor":"Color.rgb(0,0,0)"},"1825":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(64.2,21.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,3,0,0)"},"1826":{"style":{"__isSmartRef__":true,"id":1827},"chunkOwner":{"__isSmartRef__":true,"id":1824},"storedString":"","_id":"_1372","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1827":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1828":{"style":{"__isSmartRef__":true,"id":1829},"chunkOwner":{"__isSmartRef__":true,"id":1824},"storedString":"","_id":"_1373","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1829":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1830":{"morph":{"__isSmartRef__":true,"id":1824},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1831":{"morph":{"__isSmartRef__":true,"id":1824},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(817.3,2119.5)"},"1832":{"morph":{"__isSmartRef__":true,"id":1824},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(849.1,2119.5)"},"1833":{"morph":{"__isSmartRef__":true,"id":1824},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(881.0,2119.5)"},"1834":{"morph":{"__isSmartRef__":true,"id":1824},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(881.0,2129.9)"},"1835":{"morph":{"__isSmartRef__":true,"id":1824},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(881.0,2140.3)"},"1836":{"morph":{"__isSmartRef__":true,"id":1824},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(849.1,2140.3)"},"1837":{"morph":{"__isSmartRef__":true,"id":1824},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(817.3,2140.3)"},"1838":{"morph":{"__isSmartRef__":true,"id":1824},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(817.3,2129.9)"},"1839":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":1840},"derivationIds":[null,"29E543E0-AE93-493A-A694-FC1C330D0544","F0366E4C-E97F-4C77-BEE4-340A0668ADD5","347F6028-5092-4F54-9A34-3EFF3FF0B815","BF7387E7-BCD7-4A5B-B9D2-C14ECF59EFCA","85BA370B-966E-41F7-8C2F-F3A926EC2AA2","1652172B-339A-43A1-9589-70E68B35A28E","705524F7-129B-4102-834E-2A1A45985BB5","5707DF70-CD77-4D53-96ED-5A0AEB227FB7","257E62CE-C668-4317-B5B7-8D394BDC3F6C","2DD4BEA5-E85A-4CD0-953E-9EB2E0735654","BB96B696-7BD4-44C4-9D60-B1551B89D6FA","FCAABC48-FBAF-4E12-8BC9-AC4ACB5A167B","EB81C4D7-5BD8-4DAC-BD70-8675E2338AAC","1DBAE3FF-B2F6-4348-8E06-81139C138D6E","49E7D450-EF74-4E94-B33B-B888D952F3BD","F0B267C4-54BA-4E6F-BFDD-4B047F4FF41A","36B8611D-B449-4F6E-8D0F-B5FD6406D45D","779DB518-01BD-4D32-AD65-BFED801E5D06","F47D501C-3750-4F0D-A2E1-E1B9CDA8368C","5DEBC468-2070-496D-A3DA-1A5C54BBBC41","1DB6E59C-CCC0-45D1-B3DA-6B2ECCE90296","7C4EE8E8-7D96-4792-A66A-5F5A65A5DBAC"],"id":"533280D6-95D6-4CB0-AFD1-B348BC73D57B","eventHandler":{"__isSmartRef__":true,"id":1841},"_ClipMode":"visible","__layered_droppingEnabled__":true,"halosEnabled":true,"owner":{"__isSmartRef__":true,"id":1823},"name":"leftpointing_magnifying_glass.png","isBeingDragged":false,"showsHalos":false,"eventsAreDisabled":true,"_HandStyle":"default","_PointerEvents":"none","magnets":[{"__isSmartRef__":true,"id":1842},{"__isSmartRef__":true,"id":1843},{"__isSmartRef__":true,"id":1844},{"__isSmartRef__":true,"id":1845},{"__isSmartRef__":true,"id":1846},{"__isSmartRef__":true,"id":1847},{"__isSmartRef__":true,"id":1848},{"__isSmartRef__":true,"id":1849}],"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__LivelyClassName__":"lively.morphic.Image","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(-3.0,0.0)","distanceToDragEvent":"lively.pt(39.9,-9.0)"},"1840":{"_ImageURL":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAACXBIWXMAAAABAAAAAQBPJcTWAAAALnRFWHRUaXRsZQBMRUZULVBPSU5USU5HIE1BR05JRllJTkcgR0xBU1MgKFUrMUY1MEQpw88haQAAABV0RVh0QXV0aG9yAEFuZHJldyBNYXJjdXNl5zc3gwAAAC90RVh0U29mdHdhcmUAaW5mby5maWxlZm9ybWF0LmRhdGEuVW5pY29kZVBuZ1NlcnZsZXRoAX8wAAAAQ3RFWHREZXNjcmlwdGlvbgBodHRwOi8vd3d3LmZpbGVmb3JtYXQuaW5mby9pbmZvL3VuaWNvZGUvMWY1MGQvaW5kZXguaHRtk2hNQgAAADt0RVh0Q29weXJpZ2h0AGh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LW5jLXNhLzIuMC9siJKDAAAIDklEQVR42u1daWxVRRQeCi0tIqCAQCTIUtEIGlk0ilqEkEbiQhSKGAyCooIIggsiQuMWZNGwVMUFNIhKZBMobZClgK1FwAU3wIpSREDcUFZFEM/JOzf3vPHet9ze1/eYe77k+zNzl5nz3ZlzZntPKYFAcHojDXimmKH6cQbwZuBM4HLgx8A9wBPAU8BjwJ3ADcDFwMnArsCaYjr/0BB4DwlwjAwfL38DzgX2AdYWk3pDJnAM8E/NuN8BpwEHAq8DXgpsCswANgN2APak/BeBu7T7sQX1A9YQE8fuDwYAf2BG/JrEaefxmSjaeOAO9syNwBwxd2Q0o/7fMhr6h8Fx+oBIX346cATwF/aON6Qbc0ZH4G4y0lHgOGAdD8/Be/KAs4AFwKsdrqkHnAA8Tu8rAzYWCWz0Bh5hraKTT11fL+AH1FXlA8/SrsEu61fmW9qLFEqNAv5LRsEw9twEvKMzcAvwJ3LoHG2AW+n9B4HdgixGHhNjiccuKlbUp9aC7yoGnqflraa8A8C2QRTjMvIVaITyKI61BjnkqiILWEjvPAwcxvLqAj+nvAqH7s1oNAfupcpjeNskhnvQOQ/xYfxQCziHRVl3sjxsNfspvYSuNR4Ywn5ClT5CA7lYkUPRU0YVy4CivkVlOE7TKxa6AP+ivKlBEORe9nUO8XD/QhWay6oqmlK3dYoirTYs70FK/wd4ocli1KVIByu7XXmb9BsOPEmj76riSfZxbAM2oPQMmqLB9GUmC/I0M8AtHp9xCd3/rM8fCHISy+vH0ruaOi3Coyqv6ETPKPSpXEOZ4X9XoSl+y89sovTNJgoyklW8rw8+aKFP5apFo3SrbMNcWsnFpgmylkU19R3yY4mc0mk0j88Z62PZ5jHDV7DQugE5dkx/3CQxzlb2qt6aCF1HtJH6BHoGju4v97F8+Sp8zeRGlldCaZtMEmQAq+zICL5hpUvrwfXy19gzZvhcvj6aILNZ3ij2ETQzRZA3WWU7RrgOfQsu05YCnyLxcFS9h91fTlMgfqKdJsg6lteBpQ8wRZASVqmmUa7txvwEJ/qe8SoxGxYymK+wpnMsNGHpxviRbVShkzEatAb5iEHUSrqzQVuiUMkMf5IFGWnM/71giiAHqEL7U7iMf2gtkk/B7/M51E4qMlklvzwNymgxl+VvobQPTRCkMavkDpaelkJlbOkgyDUsv0LZu19Oe/A++BBLvyIB0ZJX9HIQhHdZBymt1BQfso9V1Jorag28PUXKN8tBkHqUV4elLTJFkM9YpVqzllOcAmXDiG6vJsZhlt+Kpc80RZBiF2eJK4fZSS5bd4fWUcTyc1n6Y6YIMpVVii+LTgFOTHLZNjoIMpTlT2fpXUwRpIcKn021gHuwcDN0ss525Cnn3fIt2DXfK3vPljGbHtK1gdcFmkNdkYTK4gz0Tgcxytg1fI6rUBkGvubA54Ta0lTFK9VYFhS/xKV18PEHX3MfYpogfPUND9DwuamFlP5oNZXlZRcxlmsDWutsCl/aNQYZWhfBnTlOceNsLq459E1wyyhwEeNvFb7ZusClrEbhNlbJoyp8Y3UejehxPWS08v/MBrbIlcr92BvfwZit7KMKOC3f3FRBcBC2mRlBnz0dpOzN17gvqrdP7+2p7PkoJz7Hrq2pCfeqMhzXasbI1/KHa/m4Y93reRFcU1mrIh8IXaLCJzpnsLyfKRozHrNZpbFF9NHyx2pGw2tWAZ8H3gW8UjmvvWdSlIQb3raq6Kdzp6vwBbOhWn5/FRCggy9lFcdN1521ax5Q0Y9B41o7nkn8Rv1/gSkS0T/crb0vV4Uv465UAUNjLerCkfAN2jUXKef19apwnYP4AynK4tfNU6m1ZlMtaK/stQZrLXu0Q6g6OIpTjoVfAK/Xnp1GDp1fhy0th1rwHLqmEbXYHkEQJYcGitwouG2onoPx0Ne8q+yDmtGIs8lPUFCgH/Q5R4XPQlt8nfKzKB9/ouNHLT/ddFEw7t+uGQbPko90GY+gOHgcoRc5+YeBj1DY3JPyGrq8qy6JdMhBDAyz8azhZLq2JRuP4HE3a6f8KhNH7k4Dt9UORqoE3qGqfiAUo7L7lX1kjfMd4H0UHGTTFMpLzH8VUAS3iN2znsQ1GugvprCvkvMYdSFouBYxPu98FdoKusblmZXUoiz0J1FuYgPUfCrXAof7S4MgimXIRVH8wwHq5vBLna9Cs8ULyEgVWrCg8zAJ79TtjGDXjSMx5kd4Fk7XB+a3uq5Sob1QfoW86JzxR2zcjjyj3/mKTafUpCAi2nPLVcB+QA379YdoGuWEBxEwars1hujIOpZQQS1jWhzvKXeIDAOBRhT+YgQ2kcYK71NLwgOauAKJ50jwpFW8J2jHKHvLKwYBuENmVxyibAiqKIlCOkVY1g8HZHkQ5SOXeTaBR9RW9vT7agp34xVlo4jiL7KoG0TjriCR4hVlk0r8EYrAtZQiZa+14wx1qzhF2Syi+C+K5VOWko8RUVJIlPc8irIhKCP6ZItSqeJbh8kSU/qHDCbKMuZT4hFlrpgxcaIUUcuJR5TdYsLEiFLIQuLMOESZJOZLnCjLyMhrabqkZRRR1qsArDQmW5SlZOxPVWhJ2E2UNRJlVQ/wi19CRv9WhXbJoCh8zb+IujVBNYqymIyPP55ZxsQoVvK78kkBrp28rXVThSJGcoE7YZ5RoTMlc8SBpw7kj2IEAoFAIBAIBAKBQCAQCAQCgUAgEAgEAoFAIBAIBAKBQCAQCAQCgSAZ+A+0ucC4BysctgAAAABJRU5ErkJggg==","_NodeClass":["image"],"_NodeId":"29E543E0-AE93-493A-A694-FC1C330D0544","attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"isLoaded":true,"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Image","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(29.0,29.0)","_Padding":"lively.rect(0,0,0,0)"},"1841":{"morph":{"__isSmartRef__":true,"id":1839},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1842":{"morph":{"__isSmartRef__":true,"id":1839},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(814.3,2119.5)"},"1843":{"morph":{"__isSmartRef__":true,"id":1839},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(828.7,2119.5)"},"1844":{"morph":{"__isSmartRef__":true,"id":1839},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(843.1,2119.5)"},"1845":{"morph":{"__isSmartRef__":true,"id":1839},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(843.1,2133.9)"},"1846":{"morph":{"__isSmartRef__":true,"id":1839},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(843.1,2148.3)"},"1847":{"morph":{"__isSmartRef__":true,"id":1839},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(828.7,2148.3)"},"1848":{"morph":{"__isSmartRef__":true,"id":1839},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(814.3,2148.3)"},"1849":{"morph":{"__isSmartRef__":true,"id":1839},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(814.3,2133.9)"},"1850":{"_BorderWidth":1.1840000000000002,"_Fill":{"__isSmartRef__":true,"id":1851},"_BorderRadius":5.2,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(64.2,21.0)","_BorderColor":"Color.rgb(214,214,214)","_Padding":"lively.rect(0,0,0,0)"},"1851":{"stops":[{"__isSmartRef__":true,"id":1852},{"__isSmartRef__":true,"id":1853},{"__isSmartRef__":true,"id":1854},{"__isSmartRef__":true,"id":1855}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"1852":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"1853":{"offset":0.3,"__serializedExpressions__":["color"],"color":"Color.rgb(221,221,221)"},"1854":{"offset":0.7,"__serializedExpressions__":["color"],"color":"Color.rgb(221,221,221)"},"1855":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(204,204,204)"},"1856":{"stops":[{"__isSmartRef__":true,"id":1857},{"__isSmartRef__":true,"id":1858},{"__isSmartRef__":true,"id":1859},{"__isSmartRef__":true,"id":1860}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"1857":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"1858":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"1859":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"1860":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(240,240,240)"},"1861":{"stops":[{"__isSmartRef__":true,"id":1862},{"__isSmartRef__":true,"id":1863},{"__isSmartRef__":true,"id":1864},{"__isSmartRef__":true,"id":1865}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"1862":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"1863":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"1864":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"1865":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"1866":{"partsSpaceName":"PartsBin/Inputs","migrationLevel":4,"partName":"ScriptableButton","comment":"Has a script that is called on button press","changes":[{"__isSmartRef__":true,"id":1867}],"revisionOnLoad":154251,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"1867":{"date":{"__isSmartRef__":true,"id":1868},"author":"robertkrahn","message":"no comment","id":"0366C0A2-0C8E-4AEB-AAC3-120434134545"},"1868":{"isSerializedDate":true,"string":"Sat Apr 21 2012 14:10:10 GMT+0200 (CEST)"},"1869":{"sourceObj":{"__isSmartRef__":true,"id":1823},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":1823},"targetMethodName":"onFire","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1870":{"morph":{"__isSmartRef__":true,"id":1823},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1871":{"submorphs":[],"scripts":[],"id":"364FF344-E489-461B-BC8C-ED45E4823ED4","shape":{"__isSmartRef__":true,"id":1872},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"HighlightRectangle","partsBinMetaInfo":{"__isSmartRef__":true,"id":1873},"eventHandler":{"__isSmartRef__":true,"id":1914},"doNotSerialize":[],"doNotCopyProperties":[],"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","6FECB598-D130-4242-BF1B-E18767608129","0B23F218-078F-4912-A262-31B957885F41","C56BA290-B836-4946-B4EF-DBB6FBA2368C","61176BAF-CFE6-4F2C-9F0A-971AAD6595A1","CB4127B2-0AA5-4B50-9978-F1FF39924A82","113050BB-CF0E-4193-91C6-9C25FC857EE8","EFF939E4-317B-4662-943F-77A6E6F65BD0","AA288E7F-3972-4F0D-87DD-61E4BD9C9C97","903E8C60-1158-42D5-85D2-DF134DA6CEC1","28FD6210-A549-4A11-9178-04E77FF556C0","B3312E29-D786-469F-865E-91FD69475A52","D947A1C1-DCBE-4485-A33D-DF549F6978E0","56CE0E60-45BE-43FF-9C6C-296D8AC326B6","CC61E3F8-8C8D-4F24-A591-023D3C88DEC8"],"partTests":{"__isSmartRef__":true,"id":1915},"_ClipMode":"visible","moved":true,"isBeingDragged":false,"prevScroll":[0,0],"#startLetters":"","eventsAreDisabled":false,"_HandStyle":"default","_PointerEvents":"auto","_Rotation":0,"_Scale":1.0060210561262526,"owner":null,"magnifierButton":{"__isSmartRef__":true,"id":1823},"attributeConnections":[{"__isSmartRef__":true,"id":1920},{"__isSmartRef__":true,"id":1922},{"__isSmartRef__":true,"id":1924}],"isMetaTool":true,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1926},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(25.0,1918.5)","distanceToDragEvent":"lively.pt(44.0,-14.0)"},"1872":{"_BorderWidth":0,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":0.2597,"_BorderStyle":"hidden","__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(758.2,226.1)","_BorderColor":"Color.rgb(204,0,0)","_Fill":"Color.rgb(58,0,255)","_Padding":"lively.rect(0,0,0,0)"},"1873":{"partsSpaceName":"PartsBin/Tools","comment":"A rectangle which highlights the object under the first hand of the world","migrationLevel":4,"partName":"HighlightRectangle","changes":[{"__isSmartRef__":true,"id":1874},{"__isSmartRef__":true,"id":1876},{"__isSmartRef__":true,"id":1878},{"__isSmartRef__":true,"id":1880},{"__isSmartRef__":true,"id":1882},{"__isSmartRef__":true,"id":1884},{"__isSmartRef__":true,"id":1886},{"__isSmartRef__":true,"id":1888},{"__isSmartRef__":true,"id":1890},{"__isSmartRef__":true,"id":1892},{"__isSmartRef__":true,"id":1894},{"__isSmartRef__":true,"id":1896},{"__isSmartRef__":true,"id":1898},{"__isSmartRef__":true,"id":1900},{"__isSmartRef__":true,"id":1902},{"__isSmartRef__":true,"id":1904},{"__isSmartRef__":true,"id":1906},{"__isSmartRef__":true,"id":1908},{"__isSmartRef__":true,"id":1910},{"__isSmartRef__":true,"id":1912}],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"1874":{"date":{"__isSmartRef__":true,"id":1875},"author":"timfelgentreff","message":"no comment","id":"3DB7DB40-210A-4BED-91FD-9287005703EC"},"1875":{"isSerializedDate":true,"string":"Thu May 24 2012 17:04:54 GMT+0200 (CEST)"},"1876":{"date":{"__isSmartRef__":true,"id":1877},"author":"tessi","message":"no comment","id":"23D7AA12-66A9-4C3B-B494-131256C291AC"},"1877":{"isSerializedDate":true,"string":"Thu May 24 2012 16:57:13 GMT+0200 (CEST)"},"1878":{"date":{"__isSmartRef__":true,"id":1879},"author":"tessi","message":"no comment","id":"2C30B7CA-388F-4F51-B4CF-A2E50E381148"},"1879":{"isSerializedDate":true,"string":"Thu May 24 2012 16:23:11 GMT+0200 (CEST)"},"1880":{"date":{"__isSmartRef__":true,"id":1881},"author":"tessi","message":"diable events","id":"7C1F71A3-FDAC-470A-B9A9-E1F2C9FEF18E"},"1881":{"isSerializedDate":true,"string":"Thu May 24 2012 14:46:08 GMT+0200 (CEST)"},"1882":{"date":{"__isSmartRef__":true,"id":1883},"author":"tessi","message":"no comment","id":"01996A33-11BC-4C15-96D7-B7D219E2E961"},"1883":{"isSerializedDate":true,"string":"Thu May 24 2012 14:39:50 GMT+0200 (CEST)"},"1884":{"date":{"__isSmartRef__":true,"id":1885},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"1885":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"1886":{"date":{"__isSmartRef__":true,"id":1887},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"1887":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"1888":{"date":{"__isSmartRef__":true,"id":1889},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"1889":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"1890":{"date":{"__isSmartRef__":true,"id":1891},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"1891":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"1892":{"date":{"__isSmartRef__":true,"id":1893},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"1893":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"1894":{"date":{"__isSmartRef__":true,"id":1895},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"1895":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"1896":{"date":{"__isSmartRef__":true,"id":1897},"author":"tessi","message":"no comment","id":"4B982A01-25B3-455A-848D-89C2C3C471D7"},"1897":{"isSerializedDate":true,"string":"Thu May 24 2012 13:58:01 GMT+0200 (CEST)"},"1898":{"date":{"__isSmartRef__":true,"id":1899},"author":"tessi","message":"no comment","id":"2FD6CB7B-3BC7-4666-98B4-AACF1001954D"},"1899":{"isSerializedDate":true,"string":"Thu May 24 2012 14:07:32 GMT+0200 (CEST)"},"1900":{"date":{"__isSmartRef__":true,"id":1901},"author":"tessi","message":"no comment","id":"09CF5ECF-2C87-4B66-A164-39848628596F"},"1901":{"isSerializedDate":true,"string":"Thu May 24 2012 15:34:59 GMT+0200 (CEST)"},"1902":{"date":{"__isSmartRef__":true,"id":1903},"author":"tessi","message":"no comment","id":"252A3EB5-DB00-4CF9-BF38-2927DD1C5229"},"1903":{"isSerializedDate":true,"string":"Thu May 24 2012 16:34:29 GMT+0200 (CEST)"},"1904":{"date":{"__isSmartRef__":true,"id":1905},"author":"tessi","message":"no comment","id":"81534551-62C1-4FC9-96CB-A5AC6642CA1E"},"1905":{"isSerializedDate":true,"string":"Thu May 24 2012 16:45:49 GMT+0200 (CEST)"},"1906":{"date":{"__isSmartRef__":true,"id":1907},"author":"tessi","message":"no comment","id":"5125DE3A-D50E-4621-8490-F3A9D99C2C4C"},"1907":{"isSerializedDate":true,"string":"Thu May 24 2012 16:47:20 GMT+0200 (CEST)"},"1908":{"date":{"__isSmartRef__":true,"id":1909},"author":"tessi","message":"no comment","id":"C81A2FBF-CB0B-4A0B-9D63-F9AEDFCB5DA6"},"1909":{"isSerializedDate":true,"string":"Thu May 24 2012 16:51:06 GMT+0200 (CEST)"},"1910":{"date":{"__isSmartRef__":true,"id":1911},"author":"tessi","message":"no comment","id":"DC8EF5EC-7563-45B6-816D-20E2DC218525"},"1911":{"isSerializedDate":true,"string":"Thu May 24 2012 16:52:10 GMT+0200 (CEST)"},"1912":{"date":{"__isSmartRef__":true,"id":1913},"author":"timfelgentreff","message":"no comment","id":"E7515DFB-DE7D-4E1F-A2C3-85166DCE4942"},"1913":{"isSerializedDate":true,"string":"Thu May 24 2012 16:59:39 GMT+0200 (CEST)"},"1914":{"morph":{"__isSmartRef__":true,"id":1871},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1915":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1916}},"1916":{"test01IsMorph":{"__isSmartRef__":true,"id":1917}},"1917":{"varMapping":{"__isSmartRef__":true,"id":1918},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":1919},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1918":{"this":{"__isSmartRef__":true,"id":1915}},"1919":{},"1920":{"sourceObj":{"__isSmartRef__":true,"id":1871},"sourceAttrName":"onMouseMove","targetObj":{"__isSmartRef__":true,"id":1871},"targetMethodName":"updateOnMove","varMapping":{"__isSmartRef__":true,"id":1921},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1921":{"source":{"__isSmartRef__":true,"id":1871},"target":{"__isSmartRef__":true,"id":1871}},"1922":{"sourceObj":{"__isSmartRef__":true,"id":1871},"sourceAttrName":"onMouseUp","targetObj":{"__isSmartRef__":true,"id":1823},"targetMethodName":"removeHighlighting","varMapping":{"__isSmartRef__":true,"id":1923},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1923":{"source":{"__isSmartRef__":true,"id":1871},"target":{"__isSmartRef__":true,"id":1823}},"1924":{"sourceObj":{"__isSmartRef__":true,"id":1871},"sourceAttrName":"onMouseUp","targetObj":{"__isSmartRef__":true,"id":1823},"targetMethodName":"setTarget","varMapping":{"__isSmartRef__":true,"id":1925},"converterString":"function () {\n return this.sourceObj.morphUnderCursor();\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1925":{"source":{"__isSmartRef__":true,"id":1871},"target":{"__isSmartRef__":true,"id":1823}},"1926":{"update":{"__isSmartRef__":true,"id":1927},"updateOnMove":{"__isSmartRef__":true,"id":1931},"bringToFront":{"__isSmartRef__":true,"id":1935},"morphUnderCursor":{"__isSmartRef__":true,"id":1943}},"1927":{"varMapping":{"__isSmartRef__":true,"id":1928},"source":"function update(morphUnderCursor) {\n if (!morphUnderCursor) return;\n if (morphUnderCursor === this.magnifierButton ||\n this.magnifierButton.submorphs.include(morphUnderCursor)) {\n morphToHighlight = this.magnifierButton.currentTarget();\n } else {\n morphToHighlight = morphUnderCursor;\n }\n\n if (morphToHighlight && morphToHighlight.world()) {\n this.setPosition(morphToHighlight.getPositionInWorld());\n this.setExtent(morphToHighlight.getExtent());\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1929},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1928":{"this":{"__isSmartRef__":true,"id":1871}},"1929":{"timestamp":{"__isSmartRef__":true,"id":1930},"user":"jenslincke","tags":[]},"1930":{"isSerializedDate":true,"string":"Thu Dec 13 2012 10:44:50 GMT+0100 (CET)"},"1931":{"varMapping":{"__isSmartRef__":true,"id":1932},"source":"function updateOnMove() {\n this.update(this.morphUnderCursor());\n this.bringToFront();\n}","funcProperties":{"__isSmartRef__":true,"id":1933},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1932":{"this":{"__isSmartRef__":true,"id":1871}},"1933":{"timestamp":{"__isSmartRef__":true,"id":1934},"user":"lauritz","tags":[]},"1934":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:18:33 GMT+0200 (CEST)"},"1935":{"varMapping":{"__isSmartRef__":true,"id":1936},"source":"function bringToFront() {\n this.renderContext().morphNode.style.zIndex= 1000;\n}","funcProperties":{"__isSmartRef__":true,"id":1941},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1936":{"this":{"__isSmartRef__":true,"id":1871},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1937}},"1937":{"$super":{"__isSmartRef__":true,"id":1938}},"1938":{"varMapping":{"__isSmartRef__":true,"id":1939},"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":1940},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1939":{"obj":{"__isSmartRef__":true,"id":1871},"name":"bringToFront"},"1940":{},"1941":{"timestamp":{"__isSmartRef__":true,"id":1942},"user":"lauritz","tags":[]},"1942":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:12:09 GMT+0200 (CEST)"},"1943":{"varMapping":{"__isSmartRef__":true,"id":1944},"source":"function morphUnderCursor() {\n var that = this,\n world = lively.morphic.World.current();\n var result = world.morphsContainingPoint(world.firstHand().getPosition()).detect(\n function(ea) {\n return !ea.isPlaceholder &&\n !ea.isHalo &&\n !ea.isWorld &&\n (!ea.owner || !ea.owner.isHalo) &&\n !(ea === that);\n });\n if (result == world) \n return null;\n else\n return result;\n}","funcProperties":{"__isSmartRef__":true,"id":1945},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1944":{"this":{"__isSmartRef__":true,"id":1871}},"1945":{"timestamp":{"__isSmartRef__":true,"id":1946},"user":"jenslincke","tags":[]},"1946":{"isSerializedDate":true,"string":"Thu Dec 13 2012 10:44:22 GMT+0100 (CET)"},"1947":{"moveHorizontal":true},"1948":{"morph":{"__isSmartRef__":true,"id":1823},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(817.3,2119.5)"},"1949":{"morph":{"__isSmartRef__":true,"id":1823},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(849.1,2119.5)"},"1950":{"morph":{"__isSmartRef__":true,"id":1823},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(881.0,2119.5)"},"1951":{"morph":{"__isSmartRef__":true,"id":1823},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(881.0,2129.9)"},"1952":{"morph":{"__isSmartRef__":true,"id":1823},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(881.0,2140.3)"},"1953":{"morph":{"__isSmartRef__":true,"id":1823},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(849.1,2140.3)"},"1954":{"morph":{"__isSmartRef__":true,"id":1823},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(817.3,2140.3)"},"1955":{"morph":{"__isSmartRef__":true,"id":1823},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(817.3,2129.9)"},"1956":{"onFire":{"__isSmartRef__":true,"id":1957},"removeHighlighting":{"__isSmartRef__":true,"id":1961},"onMouseMove":{"__isSmartRef__":true,"id":1965},"onMouseOut":{"__isSmartRef__":true,"id":1973},"reset":{"__isSmartRef__":true,"id":1981},"isTracking":{"__isSmartRef__":true,"id":1985},"isHighlighting":{"__isSmartRef__":true,"id":1989},"currentTarget":{"__isSmartRef__":true,"id":1993},"setTarget":{"__isSmartRef__":true,"id":1997}},"1957":{"varMapping":{"__isSmartRef__":true,"id":1958},"source":"function onFire() {\n var hand = lively.morphic.World.current().firstHand(),\n highlight = this.highlightRectangle,\n that = this;\n\n if (this.isTracking()) {\n this.removeHighlighting();\n } else {\n this.world().addMorph(highlight);\n hand.highlightConnection = connect(hand, \"scrollFocusMorph\", highlight, \"update\");\n highlight.bringToFront();\n if (!this.currentTarget() || !this.currentTarget().world()) {\n highlight.setExtent(pt(0,0));\n }\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1959},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1958":{"this":{"__isSmartRef__":true,"id":1823}},"1959":{"timestamp":{"__isSmartRef__":true,"id":1960},"user":"lauritz","tags":[]},"1960":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:40:51 GMT+0200 (CEST)"},"1961":{"varMapping":{"__isSmartRef__":true,"id":1962},"source":"function removeHighlighting() {\n var hand = this.world().firstHand();\n \n if (this.highlightRectangle) {\n this.highlightRectangle.remove();\n }\n \n hand.attributeConnections.removeAt(\n hand.attributeConnections.indexOf(hand.highlightConnection));\n hand.highlightConnection = null;\n}","funcProperties":{"__isSmartRef__":true,"id":1963},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1962":{"this":{"__isSmartRef__":true,"id":1823}},"1963":{"timestamp":{"__isSmartRef__":true,"id":1964},"user":"lauritz","tags":[]},"1964":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:20:30 GMT+0200 (CEST)"},"1965":{"varMapping":{"__isSmartRef__":true,"id":1966},"source":"function onMouseMove(evt) {\n var target = this.currentTarget();\n if (target && target.world() && !this.isHighlighting()) {\n this.highlightRectangle.update(target);\n this.world().addMorph(this.highlightRectangle);\n this.highlightRectangle.bringToFront();\n this.targetHighlight = this.highlightRectangle;\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1971},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1966":{"this":{"__isSmartRef__":true,"id":1823},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1967}},"1967":{"$super":{"__isSmartRef__":true,"id":1968}},"1968":{"varMapping":{"__isSmartRef__":true,"id":1969},"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":1970},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1969":{"obj":{"__isSmartRef__":true,"id":1823},"name":"onMouseMove"},"1970":{},"1971":{"timestamp":{"__isSmartRef__":true,"id":1972},"user":"lauritz","tags":[]},"1972":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:25:52 GMT+0200 (CEST)"},"1973":{"varMapping":{"__isSmartRef__":true,"id":1974},"source":"function onMouseOut() {\n if (this.isHighlighting()) {\n if (!this.isTracking()) {\n this.targetHighlight.remove();\n }\n delete this.targetHighlight;\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1979},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1974":{"this":{"__isSmartRef__":true,"id":1823},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1975}},"1975":{"$super":{"__isSmartRef__":true,"id":1976}},"1976":{"varMapping":{"__isSmartRef__":true,"id":1977},"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":1978},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1977":{"obj":{"__isSmartRef__":true,"id":1823},"name":"onMouseOut"},"1978":{},"1979":{"timestamp":{"__isSmartRef__":true,"id":1980},"user":"lauritz","tags":[]},"1980":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:21:57 GMT+0200 (CEST)"},"1981":{"varMapping":{"__isSmartRef__":true,"id":1982},"source":"function reset() {\n this.highlightRectangle.attributeConnections = [];\n \n var r = this.highlightRectangle;\n r.isMetaTool = true;\n disconnectAll(r)\n connect(r, \"onMouseMove\", this.highlightRectangle, \"updateOnMove\")\n connect(r, \"onMouseUp\", this, \"removeHighlighting\")\n connect(r, \"onMouseUp\", this, \"setTarget\",\n {converter: function () {\n return this.sourceObj.morphUnderCursor();\n }\n })\n}","funcProperties":{"__isSmartRef__":true,"id":1983},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1982":{"this":{"__isSmartRef__":true,"id":1823}},"1983":{"timestamp":{"__isSmartRef__":true,"id":1984},"user":"jenslincke","tags":[]},"1984":{"isSerializedDate":true,"string":"Thu Dec 13 2012 10:39:09 GMT+0100 (CET)"},"1985":{"varMapping":{"__isSmartRef__":true,"id":1986},"source":"function isTracking() {\n return !!this.world().firstHand().highlightConnection;\n}","funcProperties":{"__isSmartRef__":true,"id":1987},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1986":{"this":{"__isSmartRef__":true,"id":1823}},"1987":{"timestamp":{"__isSmartRef__":true,"id":1988},"user":"lauritz","tags":[]},"1988":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:11:25 GMT+0200 (CEST)"},"1989":{"varMapping":{"__isSmartRef__":true,"id":1990},"source":"function isHighlighting() {\n return !!this.targetHighlight;\n}","funcProperties":{"__isSmartRef__":true,"id":1991},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1990":{"this":{"__isSmartRef__":true,"id":1823}},"1991":{"timestamp":{"__isSmartRef__":true,"id":1992},"user":"lauritz","tags":[]},"1992":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:11:22 GMT+0200 (CEST)"},"1993":{"varMapping":{"__isSmartRef__":true,"id":1994},"source":"function currentTarget() {\n return this.owner.target;\n}","funcProperties":{"__isSmartRef__":true,"id":1995},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1994":{"this":{"__isSmartRef__":true,"id":1823}},"1995":{"timestamp":{"__isSmartRef__":true,"id":1996},"user":"lauritz","tags":[]},"1996":{"isSerializedDate":true,"string":"Wed Jun 06 2012 18:26:02 GMT+0200 (CEST)"},"1997":{"varMapping":{"__isSmartRef__":true,"id":1998},"source":"function setTarget(obj) {\n this.owner.setTarget(obj)\n}","funcProperties":{"__isSmartRef__":true,"id":1999},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1998":{"this":{"__isSmartRef__":true,"id":1823}},"1999":{"timestamp":{"__isSmartRef__":true,"id":2000},"user":"jenslincke","tags":[]},"2000":{"isSerializedDate":true,"string":"Thu Dec 13 2012 10:27:04 GMT+0100 (CET)"},"2001":{"fill":null,"_BorderWidth":0,"_ClipMode":"visible","_BorderRadius":17.78,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding","_Fill"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(2.0,18.0)","_Extent":"lively.pt(847.0,497.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(4,2,0,0)","_Fill":"Color.rgb(223,249,127)"},"2002":{"partsSpaceName":"PartsBin/Jens","migrationLevel":4,"comment":"a simple text morph","partName":"SpecialSyntaxWorkspace","changes":[{"__isSmartRef__":true,"id":2003},{"__isSmartRef__":true,"id":2005},{"__isSmartRef__":true,"id":2007},{"__isSmartRef__":true,"id":2009},{"__isSmartRef__":true,"id":2011},{"__isSmartRef__":true,"id":2013},{"__isSmartRef__":true,"id":2015},{"__isSmartRef__":true,"id":2017},{"__isSmartRef__":true,"id":2019}],"revisionOnLoad":186537,"lastModifiedDate":{"__isSmartRef__":true,"id":2021},"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"2003":{"date":{"__isSmartRef__":true,"id":2004},"author":"robertkrahn","message":"text click was broken?","id":"9D065E14-9653-4B2A-9A2E-3AD84EBBC3E0"},"2004":{"isSerializedDate":true,"string":"Sat Apr 21 2012 16:30:30 GMT+0200 (CEST)"},"2005":{"date":{"__isSmartRef__":true,"id":2006},"author":"undefined","message":"Set the inset as: this.setPadding(Rectangle.inset(4,2)). This gives it a more pleasing appearance with a border, and also makes it easier to select near the bounds.","id":"BD5B0E4C-4830-4863-A013-35BB66D5AD6F"},"2006":{"isSerializedDate":true,"string":"Mon Feb 27 2012 06:20:38 GMT+0100 (CET)"},"2007":{"date":{"__isSmartRef__":true,"id":2008},"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"0F4DE333-A551-4961-B29D-70270977EBEF"},"2008":{"isSerializedDate":true,"string":"Sat Apr 21 2012 07:31:43 GMT+0200 (CEST)"},"2009":{"date":{"__isSmartRef__":true,"id":2010},"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"785D95BD-7858-43EB-90E6-A1C085E2F2B9"},"2010":{"isSerializedDate":true,"string":"Sat Apr 21 2012 07:32:09 GMT+0200 (CEST)"},"2011":{"date":{"__isSmartRef__":true,"id":2012},"author":"timfelgentreff","message":"better text","id":"B904F9AC-6EA0-4A8A-83C9-AFC85AADC194"},"2012":{"isSerializedDate":true,"string":"Tue May 08 2012 14:18:18 GMT+0200 (CEST)"},"2013":{"date":{"__isSmartRef__":true,"id":2014},"author":"jenslincke","message":"no comment","id":"FBFBFDA1-7B2B-4E09-B7EC-270BD1E20D91"},"2014":{"isSerializedDate":true,"string":"Tue Dec 11 2012 12:05:06 GMT+0100 (CET)"},"2015":{"date":{"__isSmartRef__":true,"id":2016},"author":"jenslincke","message":"no comment","id":"4867AA9B-8A78-46E2-A531-138A243E78F9"},"2016":{"isSerializedDate":true,"string":"Tue Dec 11 2012 12:07:25 GMT+0100 (CET)"},"2017":{"date":{"__isSmartRef__":true,"id":2018},"author":"jenslincke","message":"no comment","id":"E9F4BC8B-D5C2-42F9-A1D1-E7D3843A9A3B"},"2018":{"isSerializedDate":true,"string":"Thu Dec 13 2012 10:14:18 GMT+0100 (CET)"},"2019":{"date":{"__isSmartRef__":true,"id":2020},"author":"jenslincke","message":"no comment","id":"5A416C80-0936-40FE-B19A-D8B3AB3E243C"},"2020":{"isSerializedDate":true,"string":"Thu Dec 13 2012 10:29:08 GMT+0100 (CET)"},"2021":{"isSerializedDate":true,"string":"Thu Dec 13 2012 10:28:45 GMT+0100 (CET)"},"2022":{"style":{"__isSmartRef__":true,"id":2023},"chunkOwner":{"__isSmartRef__":true,"id":1822},"_id":"_9","storedString":"\n#A.addScript(","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2023":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2024":{"_id":"_94","style":{"__isSmartRef__":true,"id":2025},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":"function","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2025":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"2026":{"_id":"_95","style":{"__isSmartRef__":true,"id":2027},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":" globalShapePath() ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2027":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2028":{"_id":"_96","style":{"__isSmartRef__":true,"id":2029},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2029":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"2030":{"_id":"_97","style":{"__isSmartRef__":true,"id":2031},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2031":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2032":{"_id":"_98","style":{"__isSmartRef__":true,"id":2033},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":"var","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2033":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"2034":{"_id":"_99","style":{"__isSmartRef__":true,"id":2035},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":" b = ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2035":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2036":{"_id":"_100","style":{"__isSmartRef__":true,"id":2037},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2037":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"2038":{"_id":"_101","style":{"__isSmartRef__":true,"id":2039},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":".shape.bounds();\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2039":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2040":{"_id":"_102","style":{"__isSmartRef__":true,"id":2041},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":"var","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2041":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"2042":{"_id":"_103","style":{"__isSmartRef__":true,"id":2043},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":" p1 = ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2043":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2044":{"_id":"_104","style":{"__isSmartRef__":true,"id":2045},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2045":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"2046":{"_id":"_105","style":{"__isSmartRef__":true,"id":2047},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":".worldPoint(b.topLeft()),\n p2 = ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2047":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2048":{"_id":"_106","style":{"__isSmartRef__":true,"id":2049},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2049":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"2050":{"_id":"_107","style":{"__isSmartRef__":true,"id":2051},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":".worldPoint(b.topRight()),\n p3 = ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2051":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2052":{"_id":"_108","style":{"__isSmartRef__":true,"id":2053},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2053":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"2054":{"_id":"_109","style":{"__isSmartRef__":true,"id":2055},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":".worldPoint(b.bottomRight()),\n p4 = ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2055":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2056":{"_id":"_110","style":{"__isSmartRef__":true,"id":2057},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2057":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"2058":{"_id":"_111","style":{"__isSmartRef__":true,"id":2059},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":".worldPoint(b.bottomLeft());\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2059":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2060":{"_id":"_112","style":{"__isSmartRef__":true,"id":2061},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":"return","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2061":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"2062":{"_id":"_113","style":{"__isSmartRef__":true,"id":2063},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":" [p1, p2, p3, p4]\n","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2063":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2064":{"_id":"_114","style":{"__isSmartRef__":true,"id":2065},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2065":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"2066":{"_id":"_115","style":{"__isSmartRef__":true,"id":2067},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":")\n\n#A.globalShapePath().forEach(","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2067":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2068":{"_id":"_116","style":{"__isSmartRef__":true,"id":2069},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":"function","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2069":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"2070":{"_id":"_117","style":{"__isSmartRef__":true,"id":2071},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":"(ea) ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2071":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2072":{"_id":"_118","style":{"__isSmartRef__":true,"id":2073},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2073":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"2074":{"_id":"_119","style":{"__isSmartRef__":true,"id":2075},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2075":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2076":{"_id":"_172","style":{"__isSmartRef__":true,"id":2077},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":"show","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2077":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(204,0,0)"},"2078":{"_id":"_173","style":{"__isSmartRef__":true,"id":2079},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":"(ea)","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2079":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2080":{"_id":"_120","style":{"__isSmartRef__":true,"id":2081},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2081":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"2082":{"_id":"_121","style":{"__isSmartRef__":true,"id":2083},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":")\n\n#A.addScript(","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2083":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2084":{"_id":"_122","style":{"__isSmartRef__":true,"id":2085},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":"function","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2085":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"2086":{"_id":"_123","style":{"__isSmartRef__":true,"id":2087},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":" intersectLine(a1, a2) ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2087":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2088":{"_id":"_124","style":{"__isSmartRef__":true,"id":2089},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2089":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"2090":{"_id":"_125","style":{"__isSmartRef__":true,"id":2091},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2091":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2092":{"_id":"_126","style":{"__isSmartRef__":true,"id":2093},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":"var","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2093":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"2094":{"_id":"_127","style":{"__isSmartRef__":true,"id":2095},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":" points = ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2095":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2096":{"_id":"_128","style":{"__isSmartRef__":true,"id":2097},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2097":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"2098":{"_id":"_129","style":{"__isSmartRef__":true,"id":2099},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":".globalShapePath();\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2099":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2100":{"_id":"_130","style":{"__isSmartRef__":true,"id":2101},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":"var","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2101":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"2102":{"_id":"_131","style":{"__isSmartRef__":true,"id":2103},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":" intersections = [];\n points.inject(points.last(), ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2103":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2104":{"_id":"_132","style":{"__isSmartRef__":true,"id":2105},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":"function","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2105":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"2106":{"_id":"_133","style":{"__isSmartRef__":true,"id":2107},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":"(last, ea) ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2107":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2108":{"_id":"_134","style":{"__isSmartRef__":true,"id":2109},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2109":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"2110":{"_id":"_135","style":{"__isSmartRef__":true,"id":2111},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2111":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2112":{"_id":"_136","style":{"__isSmartRef__":true,"id":2113},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":"var","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2113":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"2114":{"_id":"_137","style":{"__isSmartRef__":true,"id":2115},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":" p = ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2115":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2116":{"_id":"_138","style":{"__isSmartRef__":true,"id":2117},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2117":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"2118":{"_id":"_139","style":{"__isSmartRef__":true,"id":2119},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":".lineIntersect(a1, a2, last, ea)\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2119":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2120":{"_id":"_140","style":{"__isSmartRef__":true,"id":2121},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":"if","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2121":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"2122":{"_id":"_141","style":{"__isSmartRef__":true,"id":2123},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":" (p) intersections.push(p)\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2123":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2124":{"_id":"_142","style":{"__isSmartRef__":true,"id":2125},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":"return","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2125":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"2126":{"_id":"_143","style":{"__isSmartRef__":true,"id":2127},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":" ea\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2127":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2128":{"_id":"_144","style":{"__isSmartRef__":true,"id":2129},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2129":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"2130":{"_id":"_145","style":{"__isSmartRef__":true,"id":2131},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":", ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2131":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2132":{"_id":"_146","style":{"__isSmartRef__":true,"id":2133},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2133":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"2134":{"_id":"_147","style":{"__isSmartRef__":true,"id":2135},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":")\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2135":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2136":{"_id":"_148","style":{"__isSmartRef__":true,"id":2137},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":"return","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2137":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"2138":{"_id":"_149","style":{"__isSmartRef__":true,"id":2139},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":" intersections\n","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2139":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2140":{"_id":"_150","style":{"__isSmartRef__":true,"id":2141},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2141":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"2142":{"_id":"_151","style":{"__isSmartRef__":true,"id":2143},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":")\n\n#A.addScript(","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2143":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2144":{"_id":"_152","style":{"__isSmartRef__":true,"id":2145},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":"function","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2145":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"2146":{"_id":"_153","style":{"__isSmartRef__":true,"id":2147},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":" intersectLineMorph(m) ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2147":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2148":{"_id":"_154","style":{"__isSmartRef__":true,"id":2149},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2149":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"2150":{"_id":"_155","style":{"__isSmartRef__":true,"id":2151},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2151":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2152":{"_id":"_156","style":{"__isSmartRef__":true,"id":2153},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":"return","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2153":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"2154":{"_id":"_157","style":{"__isSmartRef__":true,"id":2155},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2155":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2156":{"_id":"_158","style":{"__isSmartRef__":true,"id":2157},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2157":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"2158":{"_id":"_159","style":{"__isSmartRef__":true,"id":2159},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":".intersectLine(m.controlPoints[","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2159":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2160":{"_id":"_160","style":{"__isSmartRef__":true,"id":2161},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":"0","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2161":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,255)"},"2162":{"_id":"_161","style":{"__isSmartRef__":true,"id":2163},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":"].getGlobalPos(), m.controlPoints[","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2163":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2164":{"_id":"_162","style":{"__isSmartRef__":true,"id":2165},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":"1","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2165":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,255)"},"2166":{"_id":"_163","style":{"__isSmartRef__":true,"id":2167},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":"].getGlobalPos())\n","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2167":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2168":{"_id":"_164","style":{"__isSmartRef__":true,"id":2169},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2169":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"2170":{"_id":"_165","style":{"__isSmartRef__":true,"id":2171},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":")\n\n#A.intersectLineMorph(#Line).forEach(","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2171":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2172":{"_id":"_166","style":{"__isSmartRef__":true,"id":2173},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":"function","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2173":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"2174":{"_id":"_167","style":{"__isSmartRef__":true,"id":2175},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":"(ea) ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2175":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2176":{"_id":"_168","style":{"__isSmartRef__":true,"id":2177},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2177":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"2178":{"_id":"_169","style":{"__isSmartRef__":true,"id":2179},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2179":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2180":{"_id":"_174","style":{"__isSmartRef__":true,"id":2181},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":"show","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2181":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(204,0,0)"},"2182":{"_id":"_175","style":{"__isSmartRef__":true,"id":2183},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":"(ea).setFill(","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2183":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2184":{"_id":"_176","style":{"__isSmartRef__":true,"id":2185},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":"Color","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2185":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(204,0,0)"},"2186":{"_id":"_177","style":{"__isSmartRef__":true,"id":2187},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":".blue)","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2187":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2188":{"_id":"_170","style":{"__isSmartRef__":true,"id":2189},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2189":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"2190":{"_id":"_171","style":{"__isSmartRef__":true,"id":2191},"chunkOwner":{"__isSmartRef__":true,"id":1822},"storedString":")\n\n","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2191":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2192":{"morph":{"__isSmartRef__":true,"id":1822},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2193":{"morph":{"__isSmartRef__":true,"id":1822},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(32.9,2124.5)"},"2194":{"morph":{"__isSmartRef__":true,"id":1822},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(456.4,2124.5)"},"2195":{"morph":{"__isSmartRef__":true,"id":1822},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(879.9,2124.5)"},"2196":{"morph":{"__isSmartRef__":true,"id":1822},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(879.9,2373.0)"},"2197":{"morph":{"__isSmartRef__":true,"id":1822},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(879.9,2621.5)"},"2198":{"morph":{"__isSmartRef__":true,"id":1822},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(456.4,2621.5)"},"2199":{"morph":{"__isSmartRef__":true,"id":1822},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(32.9,2621.5)"},"2200":{"morph":{"__isSmartRef__":true,"id":1822},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(32.9,2373.0)"},"2201":{"sourceObj":{"__isSmartRef__":true,"id":1822},"sourceAttrName":"textString","targetObj":{"__isSmartRef__":true,"id":1822},"targetMethodName":"highlightSyntaxDebounced","varMapping":{"__isSmartRef__":true,"id":2202},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2202":{"source":{"__isSmartRef__":true,"id":1822},"target":{"__isSmartRef__":true,"id":1822}},"2203":{"adjustForNewBounds":true},"2204":{"boundEval":{"__isSmartRef__":true,"id":2205},"getDoitContext":{"__isSmartRef__":true,"id":2213},"setTarget":{"__isSmartRef__":true,"id":2221}},"2205":{"varMapping":{"__isSmartRef__":true,"id":2206},"source":"function boundEval(str) {\n // Some little (Tim calls it ugly) funny preprocessor Macros\n str = str.replace(/#([A-Za-z][A-Za-z0-9]*)/g, \"this.get('$1')\")\n // alertOK(\"eval \" + str)\n return $super(str)\n}","funcProperties":{"__isSmartRef__":true,"id":2211},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2206":{"this":{"__isSmartRef__":true,"id":1822},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2207}},"2207":{"$super":{"__isSmartRef__":true,"id":2208}},"2208":{"varMapping":{"__isSmartRef__":true,"id":2209},"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":2210},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2209":{"obj":{"__isSmartRef__":true,"id":1822},"name":"boundEval"},"2210":{},"2211":{"timestamp":{"__isSmartRef__":true,"id":2212},"user":"jenslincke","tags":[]},"2212":{"isSerializedDate":true,"string":"Wed Dec 12 2012 11:22:45 GMT+0100 (CET)"},"2213":{"varMapping":{"__isSmartRef__":true,"id":2214},"source":"function getDoitContext() {\n return this.target\n}","funcProperties":{"__isSmartRef__":true,"id":2219},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2214":{"this":{"__isSmartRef__":true,"id":1822},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2215}},"2215":{"$super":{"__isSmartRef__":true,"id":2216}},"2216":{"varMapping":{"__isSmartRef__":true,"id":2217},"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":2218},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2217":{"obj":{"__isSmartRef__":true,"id":1822},"name":"getDoitContext"},"2218":{},"2219":{"timestamp":{"__isSmartRef__":true,"id":2220},"user":"jenslincke","tags":[]},"2220":{"isSerializedDate":true,"string":"Thu Dec 13 2012 10:17:05 GMT+0100 (CET)"},"2221":{"varMapping":{"__isSmartRef__":true,"id":2222},"source":"function setTarget(obj) {\n this.target= obj\n}","funcProperties":{"__isSmartRef__":true,"id":2223},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2222":{"this":{"__isSmartRef__":true,"id":1822}},"2223":{"timestamp":{"__isSmartRef__":true,"id":2224},"user":"jenslincke","tags":[]},"2224":{"isSerializedDate":true,"string":"Thu Dec 13 2012 10:22:59 GMT+0100 (CET)"},"2225":{"submorphs":[],"scripts":[],"id":"0826AA77-D517-4719-A157-43A1F7A4B819","shape":{"__isSmartRef__":true,"id":2226},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":760.695652,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":14,"name":"Text5","partsBinMetaInfo":{"__isSmartRef__":true,"id":2227},"textChunks":[{"__isSmartRef__":true,"id":2238}],"charsReplaced":"Since this is a very general algorithm, we could use the also for rotated rectangles etc","lastFindLoc":88,"prevScroll":[0,0],"eventHandler":{"__isSmartRef__":true,"id":2240},"_ClipMode":"visible","derivationIds":[355,"1EB1674F-8BF2-419B-B054-86129ED70335","63698904-DC05-4341-A9B6-5CC4A219CD04","F6A714BA-4735-41ED-8A2A-45CB153FBDF8","5848BD12-8F39-45F4-958F-07FC46FFCFCE","4B322E37-76CC-450D-9DC9-7710369468AB","D06C2F6F-EA61-45E6-8FB4-D472093ACBEB","3D3ADD27-BDDA-4E54-81E3-36C63DF33F17"],"_WhiteSpaceHandling":"pre-wrap","_MinTextWidth":760.695652,"_MinTextHeight":null,"isBeingDragged":false,"moved":true,"magnets":[{"__isSmartRef__":true,"id":2241},{"__isSmartRef__":true,"id":2242},{"__isSmartRef__":true,"id":2243},{"__isSmartRef__":true,"id":2244},{"__isSmartRef__":true,"id":2245},{"__isSmartRef__":true,"id":2246},{"__isSmartRef__":true,"id":2247},{"__isSmartRef__":true,"id":2248}],"owner":{"__isSmartRef__":true,"id":0},"_Rotation":0,"_Scale":1,"priorSelectionRange":[57,57],"__serializedExpressions__":["_Position","textColor","_Padding","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2249},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(42.0,2234.6)","textColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(5,5,0,0)","distanceToDragEvent":"lively.pt(86.0,-18.0)"},"2226":{"fill":null,"_BorderWidth":0,"_ClipMode":"visible","__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(847.0,26.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(4,2,0,0)"},"2227":{"partsSpaceName":"PartsBin/Basic","migrationLevel":4,"comment":"a simple text morph","partName":"Text","changes":[{"__isSmartRef__":true,"id":2228},{"__isSmartRef__":true,"id":2230},{"__isSmartRef__":true,"id":2232},{"__isSmartRef__":true,"id":2234},{"__isSmartRef__":true,"id":2236}],"revisionOnLoad":160159,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"2228":{"date":{"__isSmartRef__":true,"id":2229},"author":"robertkrahn","message":"text click was broken?","id":"9D065E14-9653-4B2A-9A2E-3AD84EBBC3E0"},"2229":{"isSerializedDate":true,"string":"Sat Apr 21 2012 16:30:30 GMT+0200 (CEST)"},"2230":{"date":{"__isSmartRef__":true,"id":2231},"author":"undefined","message":"Set the inset as: this.setPadding(Rectangle.inset(4,2)). This gives it a more pleasing appearance with a border, and also makes it easier to select near the bounds.","id":"BD5B0E4C-4830-4863-A013-35BB66D5AD6F"},"2231":{"isSerializedDate":true,"string":"Mon Feb 27 2012 06:20:38 GMT+0100 (CET)"},"2232":{"date":{"__isSmartRef__":true,"id":2233},"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"0F4DE333-A551-4961-B29D-70270977EBEF"},"2233":{"isSerializedDate":true,"string":"Sat Apr 21 2012 07:31:43 GMT+0200 (CEST)"},"2234":{"date":{"__isSmartRef__":true,"id":2235},"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"785D95BD-7858-43EB-90E6-A1C085E2F2B9"},"2235":{"isSerializedDate":true,"string":"Sat Apr 21 2012 07:32:09 GMT+0200 (CEST)"},"2236":{"date":{"__isSmartRef__":true,"id":2237},"author":"timfelgentreff","message":"better text","id":"B904F9AC-6EA0-4A8A-83C9-AFC85AADC194"},"2237":{"isSerializedDate":true,"string":"Tue May 08 2012 14:18:18 GMT+0200 (CEST)"},"2238":{"style":{"__isSmartRef__":true,"id":2239},"morph":{"__isSmartRef__":true,"id":2225},"chunkOwner":{"__isSmartRef__":true,"id":2225},"storedString":"What about testing, refactoring and optimizing this code?","_id":"_65","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2239":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2240":{"morph":{"__isSmartRef__":true,"id":2225},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2241":{"morph":{"__isSmartRef__":true,"id":2225},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(34.9,2653.5)"},"2242":{"morph":{"__isSmartRef__":true,"id":2225},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(458.4,2653.5)"},"2243":{"morph":{"__isSmartRef__":true,"id":2225},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(881.9,2653.5)"},"2244":{"morph":{"__isSmartRef__":true,"id":2225},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(881.9,2666.5)"},"2245":{"morph":{"__isSmartRef__":true,"id":2225},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(881.9,2679.5)"},"2246":{"morph":{"__isSmartRef__":true,"id":2225},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(458.4,2679.5)"},"2247":{"morph":{"__isSmartRef__":true,"id":2225},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(34.9,2679.5)"},"2248":{"morph":{"__isSmartRef__":true,"id":2225},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(34.9,2666.5)"},"2249":{"doSave":{"__isSmartRef__":true,"id":2250}},"2250":{"varMapping":{"__isSmartRef__":true,"id":2251},"source":"function doSave() {\n $world.saveWorld()\n}","funcProperties":{"__isSmartRef__":true,"id":2256},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2251":{"this":{"__isSmartRef__":true,"id":2225},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2252}},"2252":{"$super":{"__isSmartRef__":true,"id":2253}},"2253":{"varMapping":{"__isSmartRef__":true,"id":2254},"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":2255},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2254":{"obj":{"__isSmartRef__":true,"id":2225},"name":"doSave"},"2255":{},"2256":{"timestamp":{"__isSmartRef__":true,"id":2257},"user":"jenslincke","tags":[]},"2257":{"isSerializedDate":true,"string":"Fri Nov 16 2012 14:44:36 GMT+0100 (CET)"},"2258":{"submorphs":[{"__isSmartRef__":true,"id":2259},{"__isSmartRef__":true,"id":2496},{"__isSmartRef__":true,"id":2364},{"__isSmartRef__":true,"id":2270}],"scripts":[],"id":"08DB577A-00A0-4819-8B61-B03704EA863F","shape":{"__isSmartRef__":true,"id":2520},"__layered_droppingEnabled__":true,"halosEnabled":true,"showsHalos":false,"_isInFullScreen":false,"_traitConfig_":{"__isSmartRef__":true,"id":2521},"draggingEnabled":true,"partsBinMetaInfo":{"__isSmartRef__":true,"id":2523},"isCopyMorphRef":true,"morphRefId":1,"derivationIds":[1708,"81795DC6-889C-4FC6-B336-BAB6D7FC3CBD","0F3ECCAA-EB6B-4891-82DA-A858E99D3CD8","980A9694-B20B-4B10-A412-90AB7930BF00"],"eventHandler":{"__isSmartRef__":true,"id":2525},"_ClipMode":"visible","moved":true,"name":"Figure4","prevScroll":[0,0],"magnets":[{"__isSmartRef__":true,"id":2526},{"__isSmartRef__":true,"id":2527},{"__isSmartRef__":true,"id":2528},{"__isSmartRef__":true,"id":2529},{"__isSmartRef__":true,"id":2530},{"__isSmartRef__":true,"id":2531},{"__isSmartRef__":true,"id":2532},{"__isSmartRef__":true,"id":2533}],"attributeConnections":[{"__isSmartRef__":true,"id":2534},{"__isSmartRef__":true,"id":2434},{"__isSmartRef__":true,"id":2436},{"__isSmartRef__":true,"id":2438},{"__isSmartRef__":true,"id":2440},{"__isSmartRef__":true,"id":2340},{"__isSmartRef__":true,"id":2342},{"__isSmartRef__":true,"id":2344},{"__isSmartRef__":true,"id":2346}],"doNotSerialize":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"doNotCopyProperties":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"_Scale":1,"_Rotation":0,"owner":{"__isSmartRef__":true,"id":0},"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2536},"__LivelyClassName__":"lively.Presentation.PageMorph","__SourceModuleName__":"Global.lively.Presentation","distanceToDragEvent":"lively.pt(511.9,-14.0)","_Position":"lively.pt(42.0,2310.6)"},"2259":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2260},"id":"A9E370BC-F208-425C-BFFC-F8D6BB52E11F","eventHandler":{"__isSmartRef__":true,"id":2263},"__layered_droppingEnabled__":true,"halosEnabled":true,"isBeingDragged":false,"controlPoints":[{"__isSmartRef__":true,"id":2264},{"__isSmartRef__":true,"id":2265}],"showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":2266},"name":"Line","derivationIds":[731,"5E6BD741-9C99-47B9-95C1-7A028178DB17","A8D5C37A-F23F-47FE-8DE2-211CE4484A4F","F722069B-8602-4E8D-BE3F-92A1E0C0EF28","D5ED19F9-968E-4C7E-9936-69F2735A813F"],"_ClipMode":"visible","controlPointsHalos":[],"prevScroll":[0,0],"grabbingEnabled":false,"moved":true,"#startLetters":"controlPoints[0]","fromMorph":{"__isSmartRef__":true,"id":2270},"toMorph":{"__isSmartRef__":true,"id":2364},"update":{"__isSmartRef__":true,"id":2458},"owner":{"__isSmartRef__":true,"id":2258},"isCopyMorphRef":true,"morphRefId":1,"_Rotation":0,"_Scale":1,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2460},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","distanceToDragEvent":"lively.pt(78.8,-14.7)","_Position":"lively.pt(434.4,10.6)"},"2260":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":2261},{"__isSmartRef__":true,"id":2262}],"_ClipMode":"visible","_BorderWidth":3.1119999999999997,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Padding","_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(-263.3,124.5)","_Extent":"lively.pt(162.8,6.1)","_BorderColor":"Color.rgb(161,161,161)"},"2261":{"isAbsolute":true,"x":-101.5,"y":129.64151727663238,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"2262":{"isAbsolute":true,"x":-261.3105130794279,"y":126.54994410583504,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"2263":{"morph":{"__isSmartRef__":true,"id":2259},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2264":{"morph":{"__isSmartRef__":true,"id":2259},"index":0,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"2265":{"morph":{"__isSmartRef__":true,"id":2259},"index":1,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"2266":{"requiredModules":[],"migrationLevel":4,"partsSpaceName":"PartsBin/Jens/","comment":"a line","partName":"Connector","lastModifiedDate":{"__isSmartRef__":true,"id":2267},"revisionOnLoad":186528,"changes":[{"__isSmartRef__":true,"id":2268}],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"2267":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:18 GMT+0100 (CET)"},"2268":{"date":{"__isSmartRef__":true,"id":2269},"author":"jenslincke","message":"no comment","id":"28165CED-C8C5-4B8E-9655-645E3F5099BB"},"2269":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:42 GMT+0100 (CET)"},"2270":{"submorphs":[{"__isSmartRef__":true,"id":2271}],"scripts":[],"id":"A10BBA48-4AD1-425A-AC7B-2F5515CE56F5","shape":{"__isSmartRef__":true,"id":2295},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"A","partsBinMetaInfo":{"__isSmartRef__":true,"id":2296},"eventHandler":{"__isSmartRef__":true,"id":2314},"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","BBAFB862-93AE-4F89-BCFF-9F1C67B7FE4C","7EC17E78-593A-4CC8-B7E3-859BCBBFE785","FDB06D4A-9F4E-4B8C-A67C-671A9583EFE8","1C80FDE1-05C0-4148-9AD8-33C88667084C","5059E383-6BE3-4AD3-A9C4-89DA9D8D5E99","5B810AFE-E692-4EB4-A695-ABB4A95CEA39","BFFEF617-9B97-45D4-A541-8E33A6A17485"],"partTests":{"__isSmartRef__":true,"id":2315},"_ClipMode":"visible","moved":true,"isBeingDragged":false,"magnets":[{"__isSmartRef__":true,"id":2320},{"__isSmartRef__":true,"id":2321},{"__isSmartRef__":true,"id":2322},{"__isSmartRef__":true,"id":2323},{"__isSmartRef__":true,"id":2324},{"__isSmartRef__":true,"id":2325},{"__isSmartRef__":true,"id":2326},{"__isSmartRef__":true,"id":2327}],"attributeConnections":[{"__isSmartRef__":true,"id":2328},{"__isSmartRef__":true,"id":2330},{"__isSmartRef__":true,"id":2332},{"__isSmartRef__":true,"id":2334},{"__isSmartRef__":true,"id":2336},{"__isSmartRef__":true,"id":2338}],"doNotSerialize":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"doNotCopyProperties":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"isCopyMorphRef":true,"morphRefId":1,"prevScroll":[0,0],"_Scale":0.9999999999999998,"_Rotation":0,"owner":{"__isSmartRef__":true,"id":2258},"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2350},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","distanceToDragEvent":"lively.pt(168.2,-20.2)","_Position":"lively.pt(332.9,98.0)"},"2271":{"submorphs":[],"scripts":[],"id":"3999CB16-D9E3-4D28-A617-9B093624E8AC","shape":{"__isSmartRef__":true,"id":2272},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":180.8018403394826,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":19,"name":"NameLabel2","partsBinMetaInfo":{"__isSmartRef__":true,"id":2273},"textChunks":[{"__isSmartRef__":true,"id":2275}],"charsReplaced":"C1","lastFindLoc":2,"prevScroll":[0,0],"attributeConnections":[{"__isSmartRef__":true,"id":2277},{"__isSmartRef__":true,"id":2278}],"doNotSerialize":["$$owner","$$savedTextString"],"doNotCopyProperties":["$$owner","$$savedTextString"],"isInputLine":true,"savedTextString":"A","eventHandler":{"__isSmartRef__":true,"id":2279},"derivationIds":[7027,"331C6367-0699-4BD6-9916-ABA82517453B","BEAA7850-FEFB-4AFD-9E06-730FF35D99A4","559B0B8A-5C01-4133-88B2-0D08385E23F6","BE195383-D309-4B6E-A6B0-79A6112B4011","E323F75A-232F-4712-9A03-20C8FD574C9A","E6E38336-AA2D-4F75-80C1-B1617DD8544E","DAFCD826-DF9B-4DEF-B4D7-59AAED8D199D"],"_WhiteSpaceHandling":"pre-wrap","_ClipMode":"visible","moved":true,"isBeingDragged":false,"_WordBreak":"break-all","magnets":[{"__isSmartRef__":true,"id":2280},{"__isSmartRef__":true,"id":2281},{"__isSmartRef__":true,"id":2282},{"__isSmartRef__":true,"id":2283},{"__isSmartRef__":true,"id":2284},{"__isSmartRef__":true,"id":2285},{"__isSmartRef__":true,"id":2286},{"__isSmartRef__":true,"id":2287}],"_PreviousBorderWidth":1,"owner":{"__isSmartRef__":true,"id":2270},"oldOwner":{"__isSmartRef__":true,"id":2270},"previousSelection":[0,0],"_Rotation":0,"_Scale":0.9999999999999997,"__serializedExpressions__":["textColor","distanceToDragEvent","_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2288},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(31.1,-9.9)","_TextColor":"Color.rgb(255,143,0)","_Position":"lively.pt(34.8,36.8)"},"2272":{"fill":null,"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(42.8,29.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"2273":{"migrationLevel":2,"comment":"Label that shows the name of a morph. Updates automatically.","partName":"NameLabel","lastModifiedDate":{"__isSmartRef__":true,"id":2274},"revisionOnLoad":140039,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"2274":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (CEST)"},"2275":{"style":{"__isSmartRef__":true,"id":2276},"chunkOwner":{"__isSmartRef__":true,"id":2271},"_id":"_22384","storedString":"A","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2276":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2277":{"sourceObj":{"__isSmartRef__":true,"id":2271},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":2271},"targetMethodName":"updateLabel","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2278":{"sourceObj":{"__isSmartRef__":true,"id":2271},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":2271},"targetMethodName":"renameOwner","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2279":{"morph":{"__isSmartRef__":true,"id":2271},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2280":{"morph":{"__isSmartRef__":true,"id":2271},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(402.6,2868.3)"},"2281":{"morph":{"__isSmartRef__":true,"id":2271},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(424.0,2868.3)"},"2282":{"morph":{"__isSmartRef__":true,"id":2271},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(445.4,2868.3)"},"2283":{"morph":{"__isSmartRef__":true,"id":2271},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(445.4,2882.8)"},"2284":{"morph":{"__isSmartRef__":true,"id":2271},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(445.4,2897.3)"},"2285":{"morph":{"__isSmartRef__":true,"id":2271},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(424.0,2897.3)"},"2286":{"morph":{"__isSmartRef__":true,"id":2271},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(402.6,2897.3)"},"2287":{"morph":{"__isSmartRef__":true,"id":2271},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(402.6,2882.8)"},"2288":{"updateLabel":{"__isSmartRef__":true,"id":2289},"renameOwner":{"__isSmartRef__":true,"id":2292}},"2289":{"varMapping":{"__isSmartRef__":true,"id":2290},"source":"function updateLabel() {\n\t// observe name changes in owner\n\tif (this.owner !== this.oldOwner) {\n\t\tif (this.oldOwner)\n\t\t\tdisconnect(this.oldOwner, 'name', this, 'updateLabel')\n\t\tif (this.owner)\n\t\t\tconnect(this.owner, 'name', this, 'updateLabel')\n\t\tthis.oldOwner = this.owner\n\t}\n\tvar name = (this.owner ? this.owner.name : \"no owner\")\n\tif (this.textString != name)\n\tthis.setTextString(name)\n}","funcProperties":{"__isSmartRef__":true,"id":2291},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2290":{"this":{"__isSmartRef__":true,"id":2271}},"2291":{},"2292":{"varMapping":{"__isSmartRef__":true,"id":2293},"source":"function renameOwner(name) {\n\tif (this.owner && this.owner.name != name) {\n\t\talertOK(\"renamed \" + this.owner + \" to \" + name)\n\t\tthis.owner.setName(name);\n\t}\n}","funcProperties":{"__isSmartRef__":true,"id":2294},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2293":{"this":{"__isSmartRef__":true,"id":2271}},"2294":{},"2295":{"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(249.0,89.3)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgba(204,204,204,0.5)","_Padding":"lively.rect(0,0,0,0)"},"2296":{"partsSpaceName":"PartsBin/Basic","comment":"A simple box morph. A really orange one. Its amazing what you can build out of simple boxes.... Who needs stars when you got orange rectangles!","migrationLevel":4,"partName":"Rectangle","changes":[{"__isSmartRef__":true,"id":2297},{"__isSmartRef__":true,"id":2299},{"__isSmartRef__":true,"id":2301},{"__isSmartRef__":true,"id":2303},{"__isSmartRef__":true,"id":2305},{"__isSmartRef__":true,"id":2307},{"__isSmartRef__":true,"id":2309},{"__isSmartRef__":true,"id":2311}],"lastModifiedDate":{"__isSmartRef__":true,"id":2313},"revisionOnLoad":184624,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"2297":{"date":{"__isSmartRef__":true,"id":2298},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"2298":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"2299":{"date":{"__isSmartRef__":true,"id":2300},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"2300":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"2301":{"date":{"__isSmartRef__":true,"id":2302},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"2302":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"2303":{"date":{"__isSmartRef__":true,"id":2304},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"2304":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"2305":{"date":{"__isSmartRef__":true,"id":2306},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"2306":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"2307":{"date":{"__isSmartRef__":true,"id":2308},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"2308":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"2309":{"date":{"__isSmartRef__":true,"id":2310},"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8"},"2310":{"isSerializedDate":true,"string":"Mon Jun 18 2012 19:35:08 GMT+0200 (CEST)"},"2311":{"date":{"__isSmartRef__":true,"id":2312},"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205"},"2312":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:35:51 GMT+0100 (CET)"},"2313":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:33:25 GMT+0100 (CET)"},"2314":{"morph":{"__isSmartRef__":true,"id":2270},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2315":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2316}},"2316":{"test01IsMorph":{"__isSmartRef__":true,"id":2317}},"2317":{"varMapping":{"__isSmartRef__":true,"id":2318},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":2319},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2318":{"this":{"__isSmartRef__":true,"id":2315}},"2319":{},"2320":{"morph":{"__isSmartRef__":true,"id":2270},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(367.8,2831.5)"},"2321":{"morph":{"__isSmartRef__":true,"id":2270},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(492.3,2831.5)"},"2322":{"morph":{"__isSmartRef__":true,"id":2270},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(616.8,2831.5)"},"2323":{"morph":{"__isSmartRef__":true,"id":2270},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(616.8,2876.2)"},"2324":{"morph":{"__isSmartRef__":true,"id":2270},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(616.8,2920.8)"},"2325":{"morph":{"__isSmartRef__":true,"id":2270},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(492.3,2920.8)"},"2326":{"morph":{"__isSmartRef__":true,"id":2270},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(367.8,2920.8)"},"2327":{"morph":{"__isSmartRef__":true,"id":2270},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(367.8,2876.2)"},"2328":{"sourceObj":{"__isSmartRef__":true,"id":2270},"sourceAttrName":"name","targetObj":{"__isSmartRef__":true,"id":2271},"targetMethodName":"updateLabel","varMapping":{"__isSmartRef__":true,"id":2329},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2329":{"source":{"__isSmartRef__":true,"id":2270},"target":{"__isSmartRef__":true,"id":2271}},"2330":{"sourceObj":{"__isSmartRef__":true,"id":2270},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":2259},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":2331},"dependendConnections":[{"__isSmartRef__":true,"id":2332},{"__isSmartRef__":true,"id":2334},{"__isSmartRef__":true,"id":2336},{"__isSmartRef__":true,"id":2338},{"__isSmartRef__":true,"id":2340},{"__isSmartRef__":true,"id":2342},{"__isSmartRef__":true,"id":2344},{"__isSmartRef__":true,"id":2346}],"oldTransform":{"__isSmartRef__":true,"id":2348},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"2331":{"source":{"__isSmartRef__":true,"id":2270},"target":{"__isSmartRef__":true,"id":2259}},"2332":{"sourceObj":{"__isSmartRef__":true,"id":2270},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":2330},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":2333},"dependedBy":{"__isSmartRef__":true,"id":2330},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2333":{"source":{"__isSmartRef__":true,"id":2270},"target":{"__isSmartRef__":true,"id":2330}},"2334":{"sourceObj":{"__isSmartRef__":true,"id":2270},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":2330},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":2335},"dependedBy":{"__isSmartRef__":true,"id":2330},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2335":{"source":{"__isSmartRef__":true,"id":2270},"target":{"__isSmartRef__":true,"id":2330}},"2336":{"sourceObj":{"__isSmartRef__":true,"id":2270},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":2330},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":2337},"dependedBy":{"__isSmartRef__":true,"id":2330},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2337":{"source":{"__isSmartRef__":true,"id":2270},"target":{"__isSmartRef__":true,"id":2330}},"2338":{"sourceObj":{"__isSmartRef__":true,"id":2270},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":2330},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":2339},"dependedBy":{"__isSmartRef__":true,"id":2330},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2339":{"source":{"__isSmartRef__":true,"id":2270},"target":{"__isSmartRef__":true,"id":2330}},"2340":{"sourceObj":{"__isSmartRef__":true,"id":2258},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":2330},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":2341},"dependedBy":{"__isSmartRef__":true,"id":2330},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2341":{"source":{"__isSmartRef__":true,"id":2258},"target":{"__isSmartRef__":true,"id":2330}},"2342":{"sourceObj":{"__isSmartRef__":true,"id":2258},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":2330},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":2343},"dependedBy":{"__isSmartRef__":true,"id":2330},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2343":{"source":{"__isSmartRef__":true,"id":2258},"target":{"__isSmartRef__":true,"id":2330}},"2344":{"sourceObj":{"__isSmartRef__":true,"id":2258},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":2330},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":2345},"dependedBy":{"__isSmartRef__":true,"id":2330},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2345":{"source":{"__isSmartRef__":true,"id":2258},"target":{"__isSmartRef__":true,"id":2330}},"2346":{"sourceObj":{"__isSmartRef__":true,"id":2258},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":2330},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":2347},"dependedBy":{"__isSmartRef__":true,"id":2330},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2347":{"source":{"__isSmartRef__":true,"id":2258},"target":{"__isSmartRef__":true,"id":2330}},"2348":{"d":0.9999999999999998,"a":0.9999999999999998,"f":2408.616016016016,"e":374.925025025025,"c":0,"b":0,"matrix_":{"__isSmartRef__":true,"id":2349},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2349":{"a":0.9999999999999998,"b":0,"c":0,"d":0.9999999999999998,"e":374.925025025025,"f":2408.616016016016,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2350":{"globalShapePath":{"__isSmartRef__":true,"id":2351},"lineIntersect":{"__isSmartRef__":true,"id":2354},"intersectLine":{"__isSmartRef__":true,"id":2358},"intersectLineMorph":{"__isSmartRef__":true,"id":2361}},"2351":{"varMapping":{"__isSmartRef__":true,"id":2352},"source":"function globalShapePath() {\n var b = this.shape.bounds();\n var p1 = this.worldPoint(b.topLeft()),\n p2 = this.worldPoint(b.topRight()),\n p3 = this.worldPoint(b.bottomRight()),\n p4 = this.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":2353},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2352":{"this":{"__isSmartRef__":true,"id":2270}},"2353":{},"2354":{"varMapping":{"__isSmartRef__":true,"id":2355},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":2356},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2355":{"this":{"__isSmartRef__":true,"id":2270}},"2356":{"timestamp":{"__isSmartRef__":true,"id":2357},"user":"jenslincke","tags":[]},"2357":{"isSerializedDate":true,"string":"Thu Dec 13 2012 13:42:55 GMT+0100 (CET)"},"2358":{"varMapping":{"__isSmartRef__":true,"id":2359},"source":"function intersectLine(a1, a2) {\n var points = this.globalShapePath();\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":2360},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2359":{"this":{"__isSmartRef__":true,"id":2270}},"2360":{},"2361":{"varMapping":{"__isSmartRef__":true,"id":2362},"source":"function intersectLineMorph(m) {\n return this.intersectLine(m.controlPoints[0].getGlobalPos(), m.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":2363},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2362":{"this":{"__isSmartRef__":true,"id":2270}},"2363":{},"2364":{"submorphs":[{"__isSmartRef__":true,"id":2365}],"scripts":[],"id":"319DCFA5-FBA0-4E93-825A-584A580A412F","shape":{"__isSmartRef__":true,"id":2389},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"B","partsBinMetaInfo":{"__isSmartRef__":true,"id":2390},"eventHandler":{"__isSmartRef__":true,"id":2408},"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","BBAFB862-93AE-4F89-BCFF-9F1C67B7FE4C","7EC17E78-593A-4CC8-B7E3-859BCBBFE785","FDB06D4A-9F4E-4B8C-A67C-671A9583EFE8","1C80FDE1-05C0-4148-9AD8-33C88667084C","5059E383-6BE3-4AD3-A9C4-89DA9D8D5E99","5B810AFE-E692-4EB4-A695-ABB4A95CEA39","BFFEF617-9B97-45D4-A541-8E33A6A17485","A10BBA48-4AD1-425A-AC7B-2F5515CE56F5"],"partTests":{"__isSmartRef__":true,"id":2409},"_ClipMode":"visible","moved":true,"isBeingDragged":false,"magnets":[{"__isSmartRef__":true,"id":2414},{"__isSmartRef__":true,"id":2415},{"__isSmartRef__":true,"id":2416},{"__isSmartRef__":true,"id":2417},{"__isSmartRef__":true,"id":2418},{"__isSmartRef__":true,"id":2419},{"__isSmartRef__":true,"id":2420},{"__isSmartRef__":true,"id":2421}],"attributeConnections":[{"__isSmartRef__":true,"id":2422},{"__isSmartRef__":true,"id":2424},{"__isSmartRef__":true,"id":2426},{"__isSmartRef__":true,"id":2428},{"__isSmartRef__":true,"id":2430},{"__isSmartRef__":true,"id":2432}],"doNotSerialize":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"doNotCopyProperties":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"isCopyMorphRef":true,"morphRefId":1,"prevScroll":[0,0],"_Scale":0.9999999999999998,"_Rotation":0.5699219218563105,"owner":{"__isSmartRef__":true,"id":2258},"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2444},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","distanceToDragEvent":"lively.pt(35.0,-16.3)","_Position":"lively.pt(109.8,65.4)"},"2365":{"submorphs":[],"scripts":[],"id":"24C6A462-5AF8-4580-9777-8F5696841AF0","shape":{"__isSmartRef__":true,"id":2366},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":180.8018403394826,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":19,"name":"NameLabel2","partsBinMetaInfo":{"__isSmartRef__":true,"id":2367},"textChunks":[{"__isSmartRef__":true,"id":2369}],"charsReplaced":"A1","lastFindLoc":2,"prevScroll":[0,0],"attributeConnections":[{"__isSmartRef__":true,"id":2371},{"__isSmartRef__":true,"id":2372}],"doNotSerialize":["$$owner","$$savedTextString"],"doNotCopyProperties":["$$owner","$$savedTextString"],"isInputLine":true,"savedTextString":"B","eventHandler":{"__isSmartRef__":true,"id":2373},"derivationIds":[7027,"331C6367-0699-4BD6-9916-ABA82517453B","BEAA7850-FEFB-4AFD-9E06-730FF35D99A4","559B0B8A-5C01-4133-88B2-0D08385E23F6","BE195383-D309-4B6E-A6B0-79A6112B4011","E323F75A-232F-4712-9A03-20C8FD574C9A","E6E38336-AA2D-4F75-80C1-B1617DD8544E","DAFCD826-DF9B-4DEF-B4D7-59AAED8D199D","3999CB16-D9E3-4D28-A617-9B093624E8AC"],"_WhiteSpaceHandling":"pre-wrap","_ClipMode":"visible","moved":true,"isBeingDragged":false,"_WordBreak":"break-all","magnets":[{"__isSmartRef__":true,"id":2374},{"__isSmartRef__":true,"id":2375},{"__isSmartRef__":true,"id":2376},{"__isSmartRef__":true,"id":2377},{"__isSmartRef__":true,"id":2378},{"__isSmartRef__":true,"id":2379},{"__isSmartRef__":true,"id":2380},{"__isSmartRef__":true,"id":2381}],"_PreviousBorderWidth":1,"owner":{"__isSmartRef__":true,"id":2364},"oldOwner":{"__isSmartRef__":true,"id":2364},"_Rotation":0,"_Scale":0.9999999999999997,"__serializedExpressions__":["_Position","textColor","distanceToDragEvent","_TextColor"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2382},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(34.8,36.8)","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(31.1,-9.9)","_TextColor":"Color.rgb(255,143,0)"},"2366":{"fill":null,"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(42.8,29.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"2367":{"migrationLevel":2,"comment":"Label that shows the name of a morph. Updates automatically.","partName":"NameLabel","lastModifiedDate":{"__isSmartRef__":true,"id":2368},"revisionOnLoad":140039,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"2368":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (CEST)"},"2369":{"style":{"__isSmartRef__":true,"id":2370},"chunkOwner":{"__isSmartRef__":true,"id":2365},"_id":"_33709","storedString":"B","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2370":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2371":{"sourceObj":{"__isSmartRef__":true,"id":2365},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":2365},"targetMethodName":"updateLabel","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2372":{"sourceObj":{"__isSmartRef__":true,"id":2365},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":2365},"targetMethodName":"renameOwner","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2373":{"morph":{"__isSmartRef__":true,"id":2365},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2374":{"morph":{"__isSmartRef__":true,"id":2365},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(154.1,2848.7)"},"2375":{"morph":{"__isSmartRef__":true,"id":2365},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(172.2,2860.2)"},"2376":{"morph":{"__isSmartRef__":true,"id":2365},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(190.2,2871.8)"},"2377":{"morph":{"__isSmartRef__":true,"id":2365},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(182.4,2884.0)"},"2378":{"morph":{"__isSmartRef__":true,"id":2365},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(174.5,2896.2)"},"2379":{"morph":{"__isSmartRef__":true,"id":2365},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(156.5,2884.6)"},"2380":{"morph":{"__isSmartRef__":true,"id":2365},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(138.5,2873.1)"},"2381":{"morph":{"__isSmartRef__":true,"id":2365},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(146.3,2860.9)"},"2382":{"updateLabel":{"__isSmartRef__":true,"id":2383},"renameOwner":{"__isSmartRef__":true,"id":2386}},"2383":{"varMapping":{"__isSmartRef__":true,"id":2384},"source":"function updateLabel() {\n\t// observe name changes in owner\n\tif (this.owner !== this.oldOwner) {\n\t\tif (this.oldOwner)\n\t\t\tdisconnect(this.oldOwner, 'name', this, 'updateLabel')\n\t\tif (this.owner)\n\t\t\tconnect(this.owner, 'name', this, 'updateLabel')\n\t\tthis.oldOwner = this.owner\n\t}\n\tvar name = (this.owner ? this.owner.name : \"no owner\")\n\tif (this.textString != name)\n\tthis.setTextString(name)\n}","funcProperties":{"__isSmartRef__":true,"id":2385},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2384":{"this":{"__isSmartRef__":true,"id":2365}},"2385":{},"2386":{"varMapping":{"__isSmartRef__":true,"id":2387},"source":"function renameOwner(name) {\n\tif (this.owner && this.owner.name != name) {\n\t\talertOK(\"renamed \" + this.owner + \" to \" + name)\n\t\tthis.owner.setName(name);\n\t}\n}","funcProperties":{"__isSmartRef__":true,"id":2388},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2387":{"this":{"__isSmartRef__":true,"id":2365}},"2388":{},"2389":{"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(92.0,109.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgba(204,204,204,0.5)","_Padding":"lively.rect(0,0,0,0)"},"2390":{"partsSpaceName":"PartsBin/Basic","comment":"A simple box morph. A really orange one. Its amazing what you can build out of simple boxes.... Who needs stars when you got orange rectangles!","migrationLevel":4,"partName":"Rectangle","changes":[{"__isSmartRef__":true,"id":2391},{"__isSmartRef__":true,"id":2393},{"__isSmartRef__":true,"id":2395},{"__isSmartRef__":true,"id":2397},{"__isSmartRef__":true,"id":2399},{"__isSmartRef__":true,"id":2401},{"__isSmartRef__":true,"id":2403},{"__isSmartRef__":true,"id":2405}],"lastModifiedDate":{"__isSmartRef__":true,"id":2407},"revisionOnLoad":184624,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"2391":{"date":{"__isSmartRef__":true,"id":2392},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"2392":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"2393":{"date":{"__isSmartRef__":true,"id":2394},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"2394":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"2395":{"date":{"__isSmartRef__":true,"id":2396},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"2396":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"2397":{"date":{"__isSmartRef__":true,"id":2398},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"2398":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"2399":{"date":{"__isSmartRef__":true,"id":2400},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"2400":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"2401":{"date":{"__isSmartRef__":true,"id":2402},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"2402":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"2403":{"date":{"__isSmartRef__":true,"id":2404},"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8"},"2404":{"isSerializedDate":true,"string":"Mon Jun 18 2012 19:35:08 GMT+0200 (CEST)"},"2405":{"date":{"__isSmartRef__":true,"id":2406},"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205"},"2406":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:35:51 GMT+0100 (CET)"},"2407":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:33:25 GMT+0100 (CET)"},"2408":{"morph":{"__isSmartRef__":true,"id":2364},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2409":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2410}},"2410":{"test01IsMorph":{"__isSmartRef__":true,"id":2411}},"2411":{"varMapping":{"__isSmartRef__":true,"id":2412},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":2413},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2412":{"this":{"__isSmartRef__":true,"id":2409}},"2413":{},"2414":{"morph":{"__isSmartRef__":true,"id":2364},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(144.7,2798.9)"},"2415":{"morph":{"__isSmartRef__":true,"id":2364},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(183.4,2823.7)"},"2416":{"morph":{"__isSmartRef__":true,"id":2364},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(222.2,2848.5)"},"2417":{"morph":{"__isSmartRef__":true,"id":2364},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(192.8,2894.4)"},"2418":{"morph":{"__isSmartRef__":true,"id":2364},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(163.3,2940.3)"},"2419":{"morph":{"__isSmartRef__":true,"id":2364},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(124.6,2915.5)"},"2420":{"morph":{"__isSmartRef__":true,"id":2364},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(85.9,2890.7)"},"2421":{"morph":{"__isSmartRef__":true,"id":2364},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(115.3,2844.8)"},"2422":{"sourceObj":{"__isSmartRef__":true,"id":2364},"sourceAttrName":"name","targetObj":{"__isSmartRef__":true,"id":2365},"targetMethodName":"updateLabel","varMapping":{"__isSmartRef__":true,"id":2423},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2423":{"source":{"__isSmartRef__":true,"id":2364},"target":{"__isSmartRef__":true,"id":2365}},"2424":{"sourceObj":{"__isSmartRef__":true,"id":2364},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":2259},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":2425},"dependendConnections":[{"__isSmartRef__":true,"id":2426},{"__isSmartRef__":true,"id":2428},{"__isSmartRef__":true,"id":2430},{"__isSmartRef__":true,"id":2432},{"__isSmartRef__":true,"id":2434},{"__isSmartRef__":true,"id":2436},{"__isSmartRef__":true,"id":2438},{"__isSmartRef__":true,"id":2440}],"oldTransform":{"__isSmartRef__":true,"id":2442},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"2425":{"source":{"__isSmartRef__":true,"id":2364},"target":{"__isSmartRef__":true,"id":2259}},"2426":{"sourceObj":{"__isSmartRef__":true,"id":2364},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":2424},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":2427},"dependedBy":{"__isSmartRef__":true,"id":2424},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2427":{"source":{"__isSmartRef__":true,"id":2364},"target":{"__isSmartRef__":true,"id":2424}},"2428":{"sourceObj":{"__isSmartRef__":true,"id":2364},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":2424},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":2429},"dependedBy":{"__isSmartRef__":true,"id":2424},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2429":{"source":{"__isSmartRef__":true,"id":2364},"target":{"__isSmartRef__":true,"id":2424}},"2430":{"sourceObj":{"__isSmartRef__":true,"id":2364},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":2424},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":2431},"dependedBy":{"__isSmartRef__":true,"id":2424},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2431":{"source":{"__isSmartRef__":true,"id":2364},"target":{"__isSmartRef__":true,"id":2424}},"2432":{"sourceObj":{"__isSmartRef__":true,"id":2364},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":2424},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":2433},"dependedBy":{"__isSmartRef__":true,"id":2424},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2433":{"source":{"__isSmartRef__":true,"id":2364},"target":{"__isSmartRef__":true,"id":2424}},"2434":{"sourceObj":{"__isSmartRef__":true,"id":2258},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":2424},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":2435},"dependedBy":{"__isSmartRef__":true,"id":2424},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2435":{"source":{"__isSmartRef__":true,"id":2258},"target":{"__isSmartRef__":true,"id":2424}},"2436":{"sourceObj":{"__isSmartRef__":true,"id":2258},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":2424},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":2437},"dependedBy":{"__isSmartRef__":true,"id":2424},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2437":{"source":{"__isSmartRef__":true,"id":2258},"target":{"__isSmartRef__":true,"id":2424}},"2438":{"sourceObj":{"__isSmartRef__":true,"id":2258},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":2424},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":2439},"dependedBy":{"__isSmartRef__":true,"id":2424},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2439":{"source":{"__isSmartRef__":true,"id":2258},"target":{"__isSmartRef__":true,"id":2424}},"2440":{"sourceObj":{"__isSmartRef__":true,"id":2258},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":2424},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":2441},"dependedBy":{"__isSmartRef__":true,"id":2424},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2441":{"source":{"__isSmartRef__":true,"id":2258},"target":{"__isSmartRef__":true,"id":2424}},"2442":{"d":0.8419431060646693,"a":0.8419431060646693,"f":2376.0160160160162,"e":151.825025025025,"c":-0.5395663130238734,"b":0.5395663130238734,"matrix_":{"__isSmartRef__":true,"id":2443},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2443":{"a":0.8419431060646693,"b":0.5395663130238734,"c":-0.5395663130238734,"d":0.8419431060646693,"e":151.825025025025,"f":2376.0160160160162,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2444":{"globalShapePath":{"__isSmartRef__":true,"id":2445},"lineIntersect":{"__isSmartRef__":true,"id":2448},"intersectLine":{"__isSmartRef__":true,"id":2452},"intersectLineMorph":{"__isSmartRef__":true,"id":2455}},"2445":{"varMapping":{"__isSmartRef__":true,"id":2446},"source":"function globalShapePath() {\n var b = this.shape.bounds();\n var p1 = this.worldPoint(b.topLeft()),\n p2 = this.worldPoint(b.topRight()),\n p3 = this.worldPoint(b.bottomRight()),\n p4 = this.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":2447},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2446":{"this":{"__isSmartRef__":true,"id":2364}},"2447":{},"2448":{"varMapping":{"__isSmartRef__":true,"id":2449},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":2450},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2449":{"this":{"__isSmartRef__":true,"id":2364}},"2450":{"timestamp":{"__isSmartRef__":true,"id":2451},"user":"jenslincke","tags":[]},"2451":{"isSerializedDate":true,"string":"Thu Dec 13 2012 13:42:55 GMT+0100 (CET)"},"2452":{"varMapping":{"__isSmartRef__":true,"id":2453},"source":"function intersectLine(a1, a2) {\n var points = this.globalShapePath();\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":2454},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2453":{"this":{"__isSmartRef__":true,"id":2364}},"2454":{},"2455":{"varMapping":{"__isSmartRef__":true,"id":2456},"source":"function intersectLineMorph(m) {\n return this.intersectLine(m.controlPoints[0].getGlobalPos(), m.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":2457},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2456":{"this":{"__isSmartRef__":true,"id":2364}},"2457":{},"2458":{"d":1,"a":1,"f":906.1,"e":107.8,"c":0,"b":0,"matrix_":{"__isSmartRef__":true,"id":2459},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2459":{"a":1,"b":0,"c":0,"d":1,"e":107.8,"f":906.1,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"2460":{"onClick":{"__isSmartRef__":true,"id":2461},"onMouseUp":{"__isSmartRef__":true,"id":2465},"toggleControlPointHalos":{"__isSmartRef__":true,"id":2473},"connect":{"__isSmartRef__":true,"id":2477},"updatePosition":{"__isSmartRef__":true,"id":2481},"updateControlPoint":{"__isSmartRef__":true,"id":2484},"disconnectMorph":{"__isSmartRef__":true,"id":2488},"connectMorph":{"__isSmartRef__":true,"id":2492}},"2461":{"varMapping":{"__isSmartRef__":true,"id":2462},"source":"function onClick() {\n // this.toggleControlPointHalos()\n}","funcProperties":{"__isSmartRef__":true,"id":2463},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2462":{"this":{"__isSmartRef__":true,"id":2259}},"2463":{"timestamp":{"__isSmartRef__":true,"id":2464},"user":"jenslincke","tags":[]},"2464":{"isSerializedDate":true,"string":"Wed Dec 12 2012 17:56:13 GMT+0100 (CET)"},"2465":{"varMapping":{"__isSmartRef__":true,"id":2466},"source":"function onMouseUp(evt) {\n $super(evt)\n if (evt.isCommandKey() || !evt.isLeftMouseButtonDown()) {\n return \n }\n this.toggleControlPointHalos()\n}","funcProperties":{"__isSmartRef__":true,"id":2471},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2466":{"this":{"__isSmartRef__":true,"id":2259},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2467}},"2467":{"$super":{"__isSmartRef__":true,"id":2468}},"2468":{"varMapping":{"__isSmartRef__":true,"id":2469},"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":2470},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2469":{"obj":{"__isSmartRef__":true,"id":2259},"name":"onMouseUp"},"2470":{},"2471":{"timestamp":{"__isSmartRef__":true,"id":2472},"user":"jenslincke","tags":[]},"2472":{"isSerializedDate":true,"string":"Wed Dec 12 2012 17:55:57 GMT+0100 (CET)"},"2473":{"varMapping":{"__isSmartRef__":true,"id":2474},"source":"function toggleControlPointHalos() {\n if (this.halos && this.halos.length > 0) {\n this.removeHalos()\n return\n }\n this.halos = this.getControlPointHalos();\n this.showsHalos = true;\n this.world().showHalosFor(this, this.halos);\n this.halos.invoke('alignAtTarget');\n}","funcProperties":{"__isSmartRef__":true,"id":2475},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2474":{"this":{"__isSmartRef__":true,"id":2259}},"2475":{"timestamp":{"__isSmartRef__":true,"id":2476},"user":"jenslincke","tags":[]},"2476":{"isSerializedDate":true,"string":"Wed Dec 12 2012 18:04:41 GMT+0100 (CET)"},"2477":{"varMapping":{"__isSmartRef__":true,"id":2478},"source":"function connect(morphA, morphB) {\n this.disconnectMorph(this.fromMorph)\n this.disconnectMorph(this.toMorph)\n this.fromMorph = morphA;\n this.toMorph = morphB;\n this.connectMorph(this.fromMorph)\n this.connectMorph(this.toMorph)\n\n this.updatePosition()\n}","funcProperties":{"__isSmartRef__":true,"id":2479},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2478":{"this":{"__isSmartRef__":true,"id":2259}},"2479":{"timestamp":{"__isSmartRef__":true,"id":2480},"user":"jenslincke","tags":[]},"2480":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:52:38 GMT+0100 (CET)"},"2481":{"varMapping":{"__isSmartRef__":true,"id":2482},"source":"function updatePosition() {\n this.updateControlPoint(this.controlPoints[0], this.fromMorph)\n this.updateControlPoint(this.controlPoints[1], this.toMorph)\n this.controlPoints[0].setGlobalPos(this.fromMorph.intersectLineMorph(this)[0])\n this.controlPoints[1].setGlobalPos(this.toMorph.intersectLineMorph(this)[0])\n}","funcProperties":{"__isSmartRef__":true,"id":2483},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2482":{"this":{"__isSmartRef__":true,"id":2259}},"2483":{},"2484":{"varMapping":{"__isSmartRef__":true,"id":2485},"source":"function updateControlPoint(cp, morph) {\n if (!cp || !morph) return;\n cp.setGlobalPos(morph.worldPoint(morph.shape.bounds().center()))\n}","funcProperties":{"__isSmartRef__":true,"id":2486},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2485":{"this":{"__isSmartRef__":true,"id":2259}},"2486":{"timestamp":{"__isSmartRef__":true,"id":2487},"user":"jenslincke","tags":[]},"2487":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:45:56 GMT+0100 (CET)"},"2488":{"varMapping":{"__isSmartRef__":true,"id":2489},"source":"function disconnectMorph(morph) {\n lively.bindings.disconnect(morph, 'globalTransform', this, 'updatePosition')\n\n}","funcProperties":{"__isSmartRef__":true,"id":2490},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2489":{"this":{"__isSmartRef__":true,"id":2259}},"2490":{"timestamp":{"__isSmartRef__":true,"id":2491},"user":"jenslincke","tags":[]},"2491":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:51:01 GMT+0100 (CET)"},"2492":{"varMapping":{"__isSmartRef__":true,"id":2493},"source":"function connectMorph(morph) {\n if (morph)\n lively.bindings.connect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":2494},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2493":{"this":{"__isSmartRef__":true,"id":2259}},"2494":{"timestamp":{"__isSmartRef__":true,"id":2495},"user":"jenslincke","tags":[]},"2495":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:52:12 GMT+0100 (CET)"},"2496":{"submorphs":[],"scripts":[],"id":"339B053D-D0DD-489F-93B1-B119812B9D80","shape":{"__isSmartRef__":true,"id":2497},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":180.8018403394826,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":19,"name":"NameLabel3","partsBinMetaInfo":{"__isSmartRef__":true,"id":2498},"textChunks":[{"__isSmartRef__":true,"id":2500}],"charsReplaced":"A1","lastFindLoc":2,"prevScroll":[0,0],"attributeConnections":[{"__isSmartRef__":true,"id":2502},{"__isSmartRef__":true,"id":2503}],"doNotSerialize":["$$owner","$$savedTextString"],"doNotCopyProperties":["$$owner","$$savedTextString"],"isInputLine":true,"savedTextString":"Figure1","eventHandler":{"__isSmartRef__":true,"id":2504},"derivationIds":[7027,"331C6367-0699-4BD6-9916-ABA82517453B","BEAA7850-FEFB-4AFD-9E06-730FF35D99A4","559B0B8A-5C01-4133-88B2-0D08385E23F6","BE195383-D309-4B6E-A6B0-79A6112B4011","E323F75A-232F-4712-9A03-20C8FD574C9A","D1DCE0BF-FCF8-466F-838F-89595E55C245","FCAF479D-4C9A-4FD1-8256-4AFC8C38B123","C36EA3F5-6B17-4521-AB50-F75B6611E475"],"_WhiteSpaceHandling":"pre-wrap","_ClipMode":"visible","moved":true,"isBeingDragged":false,"_WordBreak":"break-all","magnets":[{"__isSmartRef__":true,"id":2505},{"__isSmartRef__":true,"id":2506},{"__isSmartRef__":true,"id":2507},{"__isSmartRef__":true,"id":2508},{"__isSmartRef__":true,"id":2509},{"__isSmartRef__":true,"id":2510},{"__isSmartRef__":true,"id":2511},{"__isSmartRef__":true,"id":2512}],"_PreviousBorderWidth":1,"oldOwner":{"__isSmartRef__":true,"id":2258},"owner":{"__isSmartRef__":true,"id":2258},"_Rotation":0,"_Scale":0.9999999999999997,"__serializedExpressions__":["_Position","textColor","distanceToDragEvent","_TextColor"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2513},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(5.8,0.9)","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(137.9,-12.9)","_TextColor":"Color.rgb(255,143,0)"},"2497":{"fill":null,"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(206.5,29.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"2498":{"migrationLevel":2,"comment":"Label that shows the name of a morph. Updates automatically.","partName":"NameLabel","lastModifiedDate":{"__isSmartRef__":true,"id":2499},"revisionOnLoad":140039,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"2499":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (CEST)"},"2500":{"style":{"__isSmartRef__":true,"id":2501},"chunkOwner":{"__isSmartRef__":true,"id":2496},"_id":"_33403","storedString":"Figure4","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2501":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2502":{"sourceObj":{"__isSmartRef__":true,"id":2496},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":2496},"targetMethodName":"updateLabel","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2503":{"sourceObj":{"__isSmartRef__":true,"id":2496},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":2496},"targetMethodName":"renameOwner","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2504":{"morph":{"__isSmartRef__":true,"id":2496},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2505":{"morph":{"__isSmartRef__":true,"id":2496},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(40.7,2734.4)"},"2506":{"morph":{"__isSmartRef__":true,"id":2496},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(143.9,2734.4)"},"2507":{"morph":{"__isSmartRef__":true,"id":2496},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(247.2,2734.4)"},"2508":{"morph":{"__isSmartRef__":true,"id":2496},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(247.2,2748.9)"},"2509":{"morph":{"__isSmartRef__":true,"id":2496},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(247.2,2763.4)"},"2510":{"morph":{"__isSmartRef__":true,"id":2496},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(143.9,2763.4)"},"2511":{"morph":{"__isSmartRef__":true,"id":2496},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(40.7,2763.4)"},"2512":{"morph":{"__isSmartRef__":true,"id":2496},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(40.7,2748.9)"},"2513":{"updateLabel":{"__isSmartRef__":true,"id":2514},"renameOwner":{"__isSmartRef__":true,"id":2517}},"2514":{"varMapping":{"__isSmartRef__":true,"id":2515},"source":"function updateLabel() {\n\t// observe name changes in owner\n\tif (this.owner !== this.oldOwner) {\n\t\tif (this.oldOwner)\n\t\t\tdisconnect(this.oldOwner, 'name', this, 'updateLabel')\n\t\tif (this.owner)\n\t\t\tconnect(this.owner, 'name', this, 'updateLabel')\n\t\tthis.oldOwner = this.owner\n\t}\n\tvar name = (this.owner ? this.owner.name : \"no owner\")\n\tif (this.textString != name)\n\tthis.setTextString(name)\n}","funcProperties":{"__isSmartRef__":true,"id":2516},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2515":{"this":{"__isSmartRef__":true,"id":2496}},"2516":{},"2517":{"varMapping":{"__isSmartRef__":true,"id":2518},"source":"function renameOwner(name) {\n\tif (this.owner && this.owner.name != name) {\n\t\talertOK(\"renamed \" + this.owner + \" to \" + name)\n\t\tthis.owner.setName(name);\n\t}\n}","funcProperties":{"__isSmartRef__":true,"id":2519},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2518":{"this":{"__isSmartRef__":true,"id":2496}},"2519":{},"2520":{"_BorderWidth":1,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(847.0,226.1)","_BorderColor":"Color.rgb(204,204,204)","_Fill":"Color.rgb(255,255,255)","_Padding":"lively.rect(0,0,0,0)"},"2521":{"options":{"__isSmartRef__":true,"id":2522}},"2522":{"override":["onDrag","onDragStart","onDragEnd"]},"2523":{"requiredModules":[],"partsSpaceName":"PartsBin/Presenting/","migrationLevel":2,"comment":"A copy of this object is used by the PresentationController when you press the button \"new slide\".","lastModifiedDate":{"__isSmartRef__":true,"id":2524},"revisionOnLoad":140039,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"2524":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (CEST)"},"2525":{"morph":{"__isSmartRef__":true,"id":2258},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2526":{"morph":{"__isSmartRef__":true,"id":2258},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(34.9,2733.5)"},"2527":{"morph":{"__isSmartRef__":true,"id":2258},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(458.4,2733.5)"},"2528":{"morph":{"__isSmartRef__":true,"id":2258},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(881.9,2733.5)"},"2529":{"morph":{"__isSmartRef__":true,"id":2258},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(881.9,2846.6)"},"2530":{"morph":{"__isSmartRef__":true,"id":2258},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(881.9,2959.6)"},"2531":{"morph":{"__isSmartRef__":true,"id":2258},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(458.4,2959.6)"},"2532":{"morph":{"__isSmartRef__":true,"id":2258},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(34.9,2959.6)"},"2533":{"morph":{"__isSmartRef__":true,"id":2258},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(34.9,2846.6)"},"2534":{"sourceObj":{"__isSmartRef__":true,"id":2258},"sourceAttrName":"name","targetObj":{"__isSmartRef__":true,"id":2496},"targetMethodName":"updateLabel","varMapping":{"__isSmartRef__":true,"id":2535},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2535":{"source":{"__isSmartRef__":true,"id":2258},"target":{"__isSmartRef__":true,"id":2496}},"2536":{"intersects":{"__isSmartRef__":true,"id":2537}},"2537":{"varMapping":{"__isSmartRef__":true,"id":2538},"source":"function intersects(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":2539},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2538":{"this":{"__isSmartRef__":true,"id":2258}},"2539":{},"2540":{"submorphs":[],"scripts":[],"id":"9B343BD1-82DC-44F7-B586-DD2E32B667EC","shape":{"__isSmartRef__":true,"id":2541},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":760.695652,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":14,"name":"Text6","partsBinMetaInfo":{"__isSmartRef__":true,"id":2542},"textChunks":[{"__isSmartRef__":true,"id":2553}],"charsReplaced":"What about testing, refactoring and optimizing this code?","lastFindLoc":57,"prevScroll":[0,0],"eventHandler":{"__isSmartRef__":true,"id":2555},"_ClipMode":"visible","derivationIds":[355,"1EB1674F-8BF2-419B-B054-86129ED70335","63698904-DC05-4341-A9B6-5CC4A219CD04","F6A714BA-4735-41ED-8A2A-45CB153FBDF8","5848BD12-8F39-45F4-958F-07FC46FFCFCE","4B322E37-76CC-450D-9DC9-7710369468AB","D06C2F6F-EA61-45E6-8FB4-D472093ACBEB","3D3ADD27-BDDA-4E54-81E3-36C63DF33F17","0826AA77-D517-4719-A157-43A1F7A4B819"],"_WhiteSpaceHandling":"pre-wrap","_MinTextWidth":760.695652,"_MinTextHeight":null,"isBeingDragged":false,"moved":true,"magnets":[{"__isSmartRef__":true,"id":2556},{"__isSmartRef__":true,"id":2557},{"__isSmartRef__":true,"id":2558},{"__isSmartRef__":true,"id":2559},{"__isSmartRef__":true,"id":2560},{"__isSmartRef__":true,"id":2561},{"__isSmartRef__":true,"id":2562},{"__isSmartRef__":true,"id":2563}],"owner":{"__isSmartRef__":true,"id":0},"_Rotation":0,"_Scale":1,"priorSelectionRange":[36,0],"__serializedExpressions__":["_Position","textColor","_Padding","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2564},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(42.0,2272.6)","textColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(5,5,0,0)","distanceToDragEvent":"lively.pt(86.0,-18.0)"},"2541":{"fill":null,"_BorderWidth":0,"_ClipMode":"visible","__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(847.0,26.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(4,2,0,0)"},"2542":{"partsSpaceName":"PartsBin/Basic","migrationLevel":4,"comment":"a simple text morph","partName":"Text","changes":[{"__isSmartRef__":true,"id":2543},{"__isSmartRef__":true,"id":2545},{"__isSmartRef__":true,"id":2547},{"__isSmartRef__":true,"id":2549},{"__isSmartRef__":true,"id":2551}],"revisionOnLoad":160159,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"2543":{"date":{"__isSmartRef__":true,"id":2544},"author":"robertkrahn","message":"text click was broken?","id":"9D065E14-9653-4B2A-9A2E-3AD84EBBC3E0"},"2544":{"isSerializedDate":true,"string":"Sat Apr 21 2012 16:30:30 GMT+0200 (CEST)"},"2545":{"date":{"__isSmartRef__":true,"id":2546},"author":"undefined","message":"Set the inset as: this.setPadding(Rectangle.inset(4,2)). This gives it a more pleasing appearance with a border, and also makes it easier to select near the bounds.","id":"BD5B0E4C-4830-4863-A013-35BB66D5AD6F"},"2546":{"isSerializedDate":true,"string":"Mon Feb 27 2012 06:20:38 GMT+0100 (CET)"},"2547":{"date":{"__isSmartRef__":true,"id":2548},"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"0F4DE333-A551-4961-B29D-70270977EBEF"},"2548":{"isSerializedDate":true,"string":"Sat Apr 21 2012 07:31:43 GMT+0200 (CEST)"},"2549":{"date":{"__isSmartRef__":true,"id":2550},"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"785D95BD-7858-43EB-90E6-A1C085E2F2B9"},"2550":{"isSerializedDate":true,"string":"Sat Apr 21 2012 07:32:09 GMT+0200 (CEST)"},"2551":{"date":{"__isSmartRef__":true,"id":2552},"author":"timfelgentreff","message":"better text","id":"B904F9AC-6EA0-4A8A-83C9-AFC85AADC194"},"2552":{"isSerializedDate":true,"string":"Tue May 08 2012 14:18:18 GMT+0200 (CEST)"},"2553":{"style":{"__isSmartRef__":true,"id":2554},"morph":{"__isSmartRef__":true,"id":2540},"chunkOwner":{"__isSmartRef__":true,"id":2540},"storedString":"Now we should bring it all together:","_id":"_65","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2554":{"fontWeight":"bold","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2555":{"morph":{"__isSmartRef__":true,"id":2540},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2556":{"morph":{"__isSmartRef__":true,"id":2540},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(34.9,2693.5)"},"2557":{"morph":{"__isSmartRef__":true,"id":2540},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(458.4,2693.5)"},"2558":{"morph":{"__isSmartRef__":true,"id":2540},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(881.9,2693.5)"},"2559":{"morph":{"__isSmartRef__":true,"id":2540},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(881.9,2706.5)"},"2560":{"morph":{"__isSmartRef__":true,"id":2540},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(881.9,2719.5)"},"2561":{"morph":{"__isSmartRef__":true,"id":2540},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(458.4,2719.5)"},"2562":{"morph":{"__isSmartRef__":true,"id":2540},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(34.9,2719.5)"},"2563":{"morph":{"__isSmartRef__":true,"id":2540},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(34.9,2706.5)"},"2564":{"doSave":{"__isSmartRef__":true,"id":2565}},"2565":{"varMapping":{"__isSmartRef__":true,"id":2566},"source":"function doSave() {\n $world.saveWorld()\n}","funcProperties":{"__isSmartRef__":true,"id":2571},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2566":{"this":{"__isSmartRef__":true,"id":2540},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2567}},"2567":{"$super":{"__isSmartRef__":true,"id":2568}},"2568":{"varMapping":{"__isSmartRef__":true,"id":2569},"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":2570},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2569":{"obj":{"__isSmartRef__":true,"id":2540},"name":"doSave"},"2570":{},"2571":{"timestamp":{"__isSmartRef__":true,"id":2572},"user":"jenslincke","tags":[]},"2572":{"isSerializedDate":true,"string":"Fri Nov 16 2012 14:44:36 GMT+0100 (CET)"},"2573":{"submorphs":[{"__isSmartRef__":true,"id":2574}],"scripts":[],"id":"ECC37F8B-17AA-4111-97F2-7FD93AEDE97D","shape":{"__isSmartRef__":true,"id":2752},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":120.695652,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":11,"name":"SpecialSyntaxWorkspace3","partsBinMetaInfo":{"__isSmartRef__":true,"id":2753},"textChunks":[{"__isSmartRef__":true,"id":2773},{"__isSmartRef__":true,"id":2775},{"__isSmartRef__":true,"id":2777},{"__isSmartRef__":true,"id":2779},{"__isSmartRef__":true,"id":2781},{"__isSmartRef__":true,"id":2783},{"__isSmartRef__":true,"id":2785},{"__isSmartRef__":true,"id":2787},{"__isSmartRef__":true,"id":2789},{"__isSmartRef__":true,"id":2791},{"__isSmartRef__":true,"id":2793},{"__isSmartRef__":true,"id":2795},{"__isSmartRef__":true,"id":2797},{"__isSmartRef__":true,"id":2799},{"__isSmartRef__":true,"id":2801},{"__isSmartRef__":true,"id":2803},{"__isSmartRef__":true,"id":2805},{"__isSmartRef__":true,"id":2807},{"__isSmartRef__":true,"id":2809},{"__isSmartRef__":true,"id":2811},{"__isSmartRef__":true,"id":2813},{"__isSmartRef__":true,"id":2815},{"__isSmartRef__":true,"id":2817},{"__isSmartRef__":true,"id":2819},{"__isSmartRef__":true,"id":2821},{"__isSmartRef__":true,"id":2823},{"__isSmartRef__":true,"id":2825},{"__isSmartRef__":true,"id":2827},{"__isSmartRef__":true,"id":2829},{"__isSmartRef__":true,"id":2831},{"__isSmartRef__":true,"id":2833},{"__isSmartRef__":true,"id":2835},{"__isSmartRef__":true,"id":2837},{"__isSmartRef__":true,"id":2839},{"__isSmartRef__":true,"id":2841},{"__isSmartRef__":true,"id":2843},{"__isSmartRef__":true,"id":2845},{"__isSmartRef__":true,"id":2847},{"__isSmartRef__":true,"id":2849},{"__isSmartRef__":true,"id":2851},{"__isSmartRef__":true,"id":2853},{"__isSmartRef__":true,"id":2855},{"__isSmartRef__":true,"id":2857},{"__isSmartRef__":true,"id":2859},{"__isSmartRef__":true,"id":2861},{"__isSmartRef__":true,"id":2863},{"__isSmartRef__":true,"id":2865},{"__isSmartRef__":true,"id":2867},{"__isSmartRef__":true,"id":2869},{"__isSmartRef__":true,"id":2871},{"__isSmartRef__":true,"id":2873},{"__isSmartRef__":true,"id":2875},{"__isSmartRef__":true,"id":2877}],"charsReplaced":"","lastFindLoc":378,"prevScroll":[0,0],"eventHandler":{"__isSmartRef__":true,"id":2879},"_ClipMode":"visible","derivationIds":[355,"1EB1674F-8BF2-419B-B054-86129ED70335","63698904-DC05-4341-A9B6-5CC4A219CD04","F6A714BA-4735-41ED-8A2A-45CB153FBDF8","00EF5BDE-A6C1-4CDC-AAFD-8DB7D6C920A9","31625624-9A8F-4797-9CEB-6E0AC4E70EA8","D1F11C50-0C91-47DF-A055-1EA602857957","F2B8E6AA-6248-4340-A65D-FC05BD3AC6EC","2EFE11FE-5B9F-4624-8C5B-F77B7A7826DE","8D4DCE34-6A61-4C28-A1B9-9E1A5220FAA9","489C99AA-CF42-43E9-A1DC-91BD465A36BA"],"_WhiteSpaceHandling":"pre-wrap","_MinTextWidth":120.695652,"_MinTextHeight":null,"isBeingDragged":false,"moved":true,"magnets":[{"__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}],"syntaxHighlightingWhileTyping":true,"attributeConnections":[{"__isSmartRef__":true,"id":2888}],"doNotSerialize":["$$textString","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors"],"doNotCopyProperties":["$$textString"],"_lastSyntaxHighlightTime":281,"_WordBreak":"break-all","savedTextString":"this.addScript(function intersects(v1, v2){\n var a1 = v1[0],\n a2 = v1[1],\n b1 = v2[0],\n b2 = v2[1];\n\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(t * b);\n})\n\nthis.intersects(#Line1.vertices(), #Line2.vertices())\n\n\n\n","target":{"__isSmartRef__":true,"id":2258},"layout":{"__isSmartRef__":true,"id":2890},"previousSelection":[464,464],"owner":{"__isSmartRef__":true,"id":0},"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","textColor","_Padding","distanceToDragEvent"],"textString":"\n#Line.addScript(function updatePosition() {\n this.updateControlPoint(this.controlPoints[0], this.fromMorph)\n this.updateControlPoint(this.controlPoints[1], this.toMorph)\n this.controlPoints[0].setGlobalPos(this.fromMorph.intersectLineMorph(this)[0])\n this.controlPoints[1].setGlobalPos(this.toMorph.intersectLineMorph(this)[0])\n}).tag([]);\n\n#Line.connect(#A, #B)\n\n\n#A\n\n#A.intersectLineMorph(#Line).forEach(function(ea) { show(ea).setFill(Color.blue)})\n\n\n\n\n","__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2891},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(40.0,2553.7)","textColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(5,5,0,0)","distanceToDragEvent":"lively.pt(305.4,-41.1)"},"2574":{"submorphs":[{"__isSmartRef__":true,"id":2575},{"__isSmartRef__":true,"id":2590}],"scripts":[],"id":"74A7AFD5-B248-4B24-81F4-525DA976B262","shape":{"__isSmartRef__":true,"id":2601},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":2607},"lighterFill":{"__isSmartRef__":true,"id":2612},"label":{"__isSmartRef__":true,"id":2575},"name":"MagnifierButton1","showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":2617},"attributeConnections":[{"__isSmartRef__":true,"id":2620}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"eventHandler":{"__isSmartRef__":true,"id":2621},"derivationIds":[2588,"22797D34-67DE-4A06-81F0-4DF0A87ADBBC","81CB4C12-BCF0-4097-8B6D-D9419046367A","0767A57D-9BB2-48C6-9654-753D2B9D00A6","42871246-6725-4E41-A2C1-5A5BCF041097","BCE6E775-B5DF-4D6B-9F06-CDC02C1B1D0F","797EC165-A639-42D9-A059-669F6BEB92A7","FA498EFD-E50E-4CE0-9FA8-9AE2E8AE9580","4B68C371-CB37-45B4-910A-611E5FFC23DD","94E374B9-7ED4-4E39-96F1-6FD4E7AC3428","34D63515-7CC7-43FB-B7BB-87AFCA377D63","7E0B172C-0AF5-4C6E-B184-25A8FAE4FAB8","12239D52-D3D3-4713-BC3E-F0B95C488CB7","72559D92-4616-45A9-A0F2-72BA4147C0FB","E86C7328-AF24-4881-84AF-B7C7CEFEAE14","22D731CF-38F0-41CC-B125-74D2842ED847","B58A1A30-782E-4675-A276-2C01D35BEC70","ACEABA6D-071C-46C2-A325-BE30189AA45F","686443AE-DCDC-4998-8A39-48BC57D64FDC","8D660766-7C93-404C-9D92-B12CBF59A3CE","20DF1A18-6F2B-4D66-9110-75EB343C3C61","6295FA32-B7AA-4C61-BF03-5E69084C8FE8","72BEBA6F-7C26-47B6-AED2-253F02E48DE5","4C8C2413-A44D-4F57-8D6E-044435019381","8481867E-257F-45A2-BBB7-D82E20C8F62F"],"_ClipMode":"visible","highlightRectangle":{"__isSmartRef__":true,"id":2622},"isPressed":false,"owner":{"__isSmartRef__":true,"id":2573},"prevScroll":[0,0],"layout":{"__isSmartRef__":true,"id":2698},"magnets":[{"__isSmartRef__":true,"id":2699},{"__isSmartRef__":true,"id":2700},{"__isSmartRef__":true,"id":2701},{"__isSmartRef__":true,"id":2702},{"__isSmartRef__":true,"id":2703},{"__isSmartRef__":true,"id":2704},{"__isSmartRef__":true,"id":2705},{"__isSmartRef__":true,"id":2706}],"_Rotation":0,"_Scale":0.9920279440699439,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2707},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(784.4,-5.0)","distanceToDragEvent":"lively.pt(39.2,-13.1)"},"2575":{"submorphs":[],"scripts":[],"id":"843CFD2F-3356-4569-81B7-9BF70FDD6005","shape":{"__isSmartRef__":true,"id":2576},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":false,"_FontFamily":"Helvetica","registeredForMouseEvents":true,"_MaxTextWidth":24,"_MaxTextHeight":null,"textStyle":null,"owner":{"__isSmartRef__":true,"id":2574},"isLabel":true,"eventsAreIgnored":true,"_ClipMode":"hidden","textChunks":[{"__isSmartRef__":true,"id":2577},{"__isSmartRef__":true,"id":2579}],"_Align":"center","eventHandler":{"__isSmartRef__":true,"id":2581},"_HandStyle":"default","_PointerEvents":"none","derivationIds":[2589,"024C5ADE-C4CF-4E8E-BEC5-F93AD4839702","A2CC4D56-B9D8-4A48-B6FF-DDDD85ACDC2E","5AC5C4DE-00B0-43DB-B7F1-765674CE818B","750A11C6-766E-4B48-AE32-D71DE811EB4A","66A7B56E-A94E-44AE-8AED-C0C1B07554D4","CA8596D3-2D4F-453B-BE1B-DCEC8F85389B","4D7DC32F-79CB-4AF8-8B21-AB4F1809D4A8","439DE430-7651-470E-97D8-00E7F96B04DA","DAC920E6-217B-4515-AC09-2F9DCBA7375C","BD48C003-0502-451D-B6AA-7369FF3D1030","C3B8F4EA-3F44-47F4-B569-A0D5AB263BA0","BF7F0FA3-3F2A-4EEF-9687-BE2B0635DF13","3D7AEAC1-C9DD-4941-BA46-16F6783F5699","E04A78F9-3D6E-403F-BA8D-2583FCFFCE53","47E1F29B-6896-467D-8654-CA18929AE57A","509D86FF-5400-4374-BE79-90F0A7E3E90C","C7E53EE0-065A-4C59-8D13-311566722BB7","BA078BAC-7263-4B10-AFD3-3C4EA0DD8707","BCFE28D1-A115-453E-9116-EECC8FE1D50F","A354FF2E-BD85-429A-97C2-254D6033F50C","B26A73EB-9EB9-4CB0-89AF-FEE10445E3EA","ED910382-D586-4EC1-BD77-5E8DD759BDB4","F6E9EDE5-A210-4ABB-ABE1-2086939E8554","6EADE3A3-1659-445F-8623-E2F7EC070EBF"],"_MinTextWidth":24,"_MinTextHeight":null,"_FontSize":10,"_WordBreak":"break-all","magnets":[{"__isSmartRef__":true,"id":2582},{"__isSmartRef__":true,"id":2583},{"__isSmartRef__":true,"id":2584},{"__isSmartRef__":true,"id":2585},{"__isSmartRef__":true,"id":2586},{"__isSmartRef__":true,"id":2587},{"__isSmartRef__":true,"id":2588},{"__isSmartRef__":true,"id":2589}],"__serializedExpressions__":["_Position","padding","_Padding","_TextColor"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(0.0,0.0)","padding":"lively.rect(5,5,0,0)","_Padding":"lively.rect(0,0,0,0)","_TextColor":"Color.rgb(0,0,0)"},"2576":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(64.2,21.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,3,0,0)"},"2577":{"style":{"__isSmartRef__":true,"id":2578},"chunkOwner":{"__isSmartRef__":true,"id":2575},"storedString":"","_id":"_1372","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2578":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2579":{"style":{"__isSmartRef__":true,"id":2580},"chunkOwner":{"__isSmartRef__":true,"id":2575},"storedString":"","_id":"_1373","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2580":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2581":{"morph":{"__isSmartRef__":true,"id":2575},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2582":{"morph":{"__isSmartRef__":true,"id":2575},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(819.3,2968.6)"},"2583":{"morph":{"__isSmartRef__":true,"id":2575},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(851.1,2968.6)"},"2584":{"morph":{"__isSmartRef__":true,"id":2575},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(883.0,2968.6)"},"2585":{"morph":{"__isSmartRef__":true,"id":2575},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(883.0,2979.0)"},"2586":{"morph":{"__isSmartRef__":true,"id":2575},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(883.0,2989.4)"},"2587":{"morph":{"__isSmartRef__":true,"id":2575},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(851.1,2989.4)"},"2588":{"morph":{"__isSmartRef__":true,"id":2575},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(819.3,2989.4)"},"2589":{"morph":{"__isSmartRef__":true,"id":2575},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(819.3,2979.0)"},"2590":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2591},"derivationIds":[null,"29E543E0-AE93-493A-A694-FC1C330D0544","F0366E4C-E97F-4C77-BEE4-340A0668ADD5","347F6028-5092-4F54-9A34-3EFF3FF0B815","BF7387E7-BCD7-4A5B-B9D2-C14ECF59EFCA","85BA370B-966E-41F7-8C2F-F3A926EC2AA2","1652172B-339A-43A1-9589-70E68B35A28E","705524F7-129B-4102-834E-2A1A45985BB5","5707DF70-CD77-4D53-96ED-5A0AEB227FB7","257E62CE-C668-4317-B5B7-8D394BDC3F6C","2DD4BEA5-E85A-4CD0-953E-9EB2E0735654","BB96B696-7BD4-44C4-9D60-B1551B89D6FA","FCAABC48-FBAF-4E12-8BC9-AC4ACB5A167B","EB81C4D7-5BD8-4DAC-BD70-8675E2338AAC","1DBAE3FF-B2F6-4348-8E06-81139C138D6E","49E7D450-EF74-4E94-B33B-B888D952F3BD","F0B267C4-54BA-4E6F-BFDD-4B047F4FF41A","36B8611D-B449-4F6E-8D0F-B5FD6406D45D","779DB518-01BD-4D32-AD65-BFED801E5D06","F47D501C-3750-4F0D-A2E1-E1B9CDA8368C","5DEBC468-2070-496D-A3DA-1A5C54BBBC41","1DB6E59C-CCC0-45D1-B3DA-6B2ECCE90296","7C4EE8E8-7D96-4792-A66A-5F5A65A5DBAC","533280D6-95D6-4CB0-AFD1-B348BC73D57B"],"id":"E06ADBFC-0EDA-4456-94FF-0BBEBE21AE2A","eventHandler":{"__isSmartRef__":true,"id":2592},"_ClipMode":"visible","__layered_droppingEnabled__":true,"halosEnabled":true,"owner":{"__isSmartRef__":true,"id":2574},"name":"leftpointing_magnifying_glass.png","isBeingDragged":false,"showsHalos":false,"eventsAreDisabled":true,"_HandStyle":"default","_PointerEvents":"none","magnets":[{"__isSmartRef__":true,"id":2593},{"__isSmartRef__":true,"id":2594},{"__isSmartRef__":true,"id":2595},{"__isSmartRef__":true,"id":2596},{"__isSmartRef__":true,"id":2597},{"__isSmartRef__":true,"id":2598},{"__isSmartRef__":true,"id":2599},{"__isSmartRef__":true,"id":2600}],"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__LivelyClassName__":"lively.morphic.Image","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(-3.0,0.0)","distanceToDragEvent":"lively.pt(39.9,-9.0)"},"2591":{"_ImageURL":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAACXBIWXMAAAABAAAAAQBPJcTWAAAALnRFWHRUaXRsZQBMRUZULVBPSU5USU5HIE1BR05JRllJTkcgR0xBU1MgKFUrMUY1MEQpw88haQAAABV0RVh0QXV0aG9yAEFuZHJldyBNYXJjdXNl5zc3gwAAAC90RVh0U29mdHdhcmUAaW5mby5maWxlZm9ybWF0LmRhdGEuVW5pY29kZVBuZ1NlcnZsZXRoAX8wAAAAQ3RFWHREZXNjcmlwdGlvbgBodHRwOi8vd3d3LmZpbGVmb3JtYXQuaW5mby9pbmZvL3VuaWNvZGUvMWY1MGQvaW5kZXguaHRtk2hNQgAAADt0RVh0Q29weXJpZ2h0AGh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LW5jLXNhLzIuMC9siJKDAAAIDklEQVR42u1daWxVRRQeCi0tIqCAQCTIUtEIGlk0ilqEkEbiQhSKGAyCooIIggsiQuMWZNGwVMUFNIhKZBMobZClgK1FwAU3wIpSREDcUFZFEM/JOzf3vPHet9ze1/eYe77k+zNzl5nz3ZlzZntPKYFAcHojDXimmKH6cQbwZuBM4HLgx8A9wBPAU8BjwJ3ADcDFwMnArsCaYjr/0BB4DwlwjAwfL38DzgX2AdYWk3pDJnAM8E/NuN8BpwEHAq8DXgpsCswANgN2APak/BeBu7T7sQX1A9YQE8fuDwYAf2BG/JrEaefxmSjaeOAO9syNwBwxd2Q0o/7fMhr6h8Fx+oBIX346cATwF/aON6Qbc0ZH4G4y0lHgOGAdD8/Be/KAs4AFwKsdrqkHnAA8Tu8rAzYWCWz0Bh5hraKTT11fL+AH1FXlA8/SrsEu61fmW9qLFEqNAv5LRsEw9twEvKMzcAvwJ3LoHG2AW+n9B4HdgixGHhNjiccuKlbUp9aC7yoGnqflraa8A8C2QRTjMvIVaITyKI61BjnkqiILWEjvPAwcxvLqAj+nvAqH7s1oNAfupcpjeNskhnvQOQ/xYfxQCziHRVl3sjxsNfspvYSuNR4Ywn5ClT5CA7lYkUPRU0YVy4CivkVlOE7TKxa6AP+ivKlBEORe9nUO8XD/QhWay6oqmlK3dYoirTYs70FK/wd4ocli1KVIByu7XXmb9BsOPEmj76riSfZxbAM2oPQMmqLB9GUmC/I0M8AtHp9xCd3/rM8fCHISy+vH0ruaOi3Coyqv6ETPKPSpXEOZ4X9XoSl+y89sovTNJgoyklW8rw8+aKFP5apFo3SrbMNcWsnFpgmylkU19R3yY4mc0mk0j88Z62PZ5jHDV7DQugE5dkx/3CQxzlb2qt6aCF1HtJH6BHoGju4v97F8+Sp8zeRGlldCaZtMEmQAq+zICL5hpUvrwfXy19gzZvhcvj6aILNZ3ij2ETQzRZA3WWU7RrgOfQsu05YCnyLxcFS9h91fTlMgfqKdJsg6lteBpQ8wRZASVqmmUa7txvwEJ/qe8SoxGxYymK+wpnMsNGHpxviRbVShkzEatAb5iEHUSrqzQVuiUMkMf5IFGWnM/71giiAHqEL7U7iMf2gtkk/B7/M51E4qMlklvzwNymgxl+VvobQPTRCkMavkDpaelkJlbOkgyDUsv0LZu19Oe/A++BBLvyIB0ZJX9HIQhHdZBymt1BQfso9V1Jorag28PUXKN8tBkHqUV4elLTJFkM9YpVqzllOcAmXDiG6vJsZhlt+Kpc80RZBiF2eJK4fZSS5bd4fWUcTyc1n6Y6YIMpVVii+LTgFOTHLZNjoIMpTlT2fpXUwRpIcKn021gHuwcDN0ss525Cnn3fIt2DXfK3vPljGbHtK1gdcFmkNdkYTK4gz0Tgcxytg1fI6rUBkGvubA54Ta0lTFK9VYFhS/xKV18PEHX3MfYpogfPUND9DwuamFlP5oNZXlZRcxlmsDWutsCl/aNQYZWhfBnTlOceNsLq459E1wyyhwEeNvFb7ZusClrEbhNlbJoyp8Y3UejehxPWS08v/MBrbIlcr92BvfwZit7KMKOC3f3FRBcBC2mRlBnz0dpOzN17gvqrdP7+2p7PkoJz7Hrq2pCfeqMhzXasbI1/KHa/m4Y93reRFcU1mrIh8IXaLCJzpnsLyfKRozHrNZpbFF9NHyx2pGw2tWAZ8H3gW8UjmvvWdSlIQb3raq6Kdzp6vwBbOhWn5/FRCggy9lFcdN1521ax5Q0Y9B41o7nkn8Rv1/gSkS0T/crb0vV4Uv465UAUNjLerCkfAN2jUXKef19apwnYP4AynK4tfNU6m1ZlMtaK/stQZrLXu0Q6g6OIpTjoVfAK/Xnp1GDp1fhy0th1rwHLqmEbXYHkEQJYcGitwouG2onoPx0Ne8q+yDmtGIs8lPUFCgH/Q5R4XPQlt8nfKzKB9/ouNHLT/ddFEw7t+uGQbPko90GY+gOHgcoRc5+YeBj1DY3JPyGrq8qy6JdMhBDAyz8azhZLq2JRuP4HE3a6f8KhNH7k4Dt9UORqoE3qGqfiAUo7L7lX1kjfMd4H0UHGTTFMpLzH8VUAS3iN2znsQ1GugvprCvkvMYdSFouBYxPu98FdoKusblmZXUoiz0J1FuYgPUfCrXAof7S4MgimXIRVH8wwHq5vBLna9Cs8ULyEgVWrCg8zAJ79TtjGDXjSMx5kd4Fk7XB+a3uq5Sob1QfoW86JzxR2zcjjyj3/mKTafUpCAi2nPLVcB+QA379YdoGuWEBxEwars1hujIOpZQQS1jWhzvKXeIDAOBRhT+YgQ2kcYK71NLwgOauAKJ50jwpFW8J2jHKHvLKwYBuENmVxyibAiqKIlCOkVY1g8HZHkQ5SOXeTaBR9RW9vT7agp34xVlo4jiL7KoG0TjriCR4hVlk0r8EYrAtZQiZa+14wx1qzhF2Syi+C+K5VOWko8RUVJIlPc8irIhKCP6ZItSqeJbh8kSU/qHDCbKMuZT4hFlrpgxcaIUUcuJR5TdYsLEiFLIQuLMOESZJOZLnCjLyMhrabqkZRRR1qsArDQmW5SlZOxPVWhJ2E2UNRJlVQ/wi19CRv9WhXbJoCh8zb+IujVBNYqymIyPP55ZxsQoVvK78kkBrp28rXVThSJGcoE7YZ5RoTMlc8SBpw7kj2IEAoFAIBAIBAKBQCAQCAQCgUAgEAgEAoFAIBAIBAKBQCAQCAQCgSAZ+A+0ucC4BysctgAAAABJRU5ErkJggg==","_NodeClass":["image"],"_NodeId":"29E543E0-AE93-493A-A694-FC1C330D0544","attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"isLoaded":true,"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Image","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(29.0,29.0)","_Padding":"lively.rect(0,0,0,0)"},"2592":{"morph":{"__isSmartRef__":true,"id":2590},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2593":{"morph":{"__isSmartRef__":true,"id":2590},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(816.3,2968.6)"},"2594":{"morph":{"__isSmartRef__":true,"id":2590},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(830.7,2968.6)"},"2595":{"morph":{"__isSmartRef__":true,"id":2590},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(845.1,2968.6)"},"2596":{"morph":{"__isSmartRef__":true,"id":2590},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(845.1,2983.0)"},"2597":{"morph":{"__isSmartRef__":true,"id":2590},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(845.1,2997.4)"},"2598":{"morph":{"__isSmartRef__":true,"id":2590},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(830.7,2997.4)"},"2599":{"morph":{"__isSmartRef__":true,"id":2590},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(816.3,2997.4)"},"2600":{"morph":{"__isSmartRef__":true,"id":2590},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(816.3,2983.0)"},"2601":{"_BorderWidth":1.1840000000000002,"_Fill":{"__isSmartRef__":true,"id":2602},"_BorderRadius":5.2,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(64.2,21.0)","_BorderColor":"Color.rgb(214,214,214)","_Padding":"lively.rect(0,0,0,0)"},"2602":{"stops":[{"__isSmartRef__":true,"id":2603},{"__isSmartRef__":true,"id":2604},{"__isSmartRef__":true,"id":2605},{"__isSmartRef__":true,"id":2606}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"2603":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"2604":{"offset":0.3,"__serializedExpressions__":["color"],"color":"Color.rgb(221,221,221)"},"2605":{"offset":0.7,"__serializedExpressions__":["color"],"color":"Color.rgb(221,221,221)"},"2606":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(204,204,204)"},"2607":{"stops":[{"__isSmartRef__":true,"id":2608},{"__isSmartRef__":true,"id":2609},{"__isSmartRef__":true,"id":2610},{"__isSmartRef__":true,"id":2611}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"2608":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"2609":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"2610":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"2611":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(240,240,240)"},"2612":{"stops":[{"__isSmartRef__":true,"id":2613},{"__isSmartRef__":true,"id":2614},{"__isSmartRef__":true,"id":2615},{"__isSmartRef__":true,"id":2616}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"2613":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"2614":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"2615":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"2616":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"2617":{"partsSpaceName":"PartsBin/Inputs","migrationLevel":4,"partName":"ScriptableButton","comment":"Has a script that is called on button press","changes":[{"__isSmartRef__":true,"id":2618}],"revisionOnLoad":154251,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"2618":{"date":{"__isSmartRef__":true,"id":2619},"author":"robertkrahn","message":"no comment","id":"0366C0A2-0C8E-4AEB-AAC3-120434134545"},"2619":{"isSerializedDate":true,"string":"Sat Apr 21 2012 14:10:10 GMT+0200 (CEST)"},"2620":{"sourceObj":{"__isSmartRef__":true,"id":2574},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":2574},"targetMethodName":"onFire","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2621":{"morph":{"__isSmartRef__":true,"id":2574},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2622":{"submorphs":[],"scripts":[],"id":"364FF344-E489-461B-BC8C-ED45E4823ED4","shape":{"__isSmartRef__":true,"id":2623},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"HighlightRectangle","partsBinMetaInfo":{"__isSmartRef__":true,"id":2624},"eventHandler":{"__isSmartRef__":true,"id":2665},"doNotSerialize":[],"doNotCopyProperties":[],"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","6FECB598-D130-4242-BF1B-E18767608129","0B23F218-078F-4912-A262-31B957885F41","C56BA290-B836-4946-B4EF-DBB6FBA2368C","61176BAF-CFE6-4F2C-9F0A-971AAD6595A1","CB4127B2-0AA5-4B50-9978-F1FF39924A82","113050BB-CF0E-4193-91C6-9C25FC857EE8","EFF939E4-317B-4662-943F-77A6E6F65BD0","AA288E7F-3972-4F0D-87DD-61E4BD9C9C97","903E8C60-1158-42D5-85D2-DF134DA6CEC1","28FD6210-A549-4A11-9178-04E77FF556C0","B3312E29-D786-469F-865E-91FD69475A52","D947A1C1-DCBE-4485-A33D-DF549F6978E0","56CE0E60-45BE-43FF-9C6C-296D8AC326B6","CC61E3F8-8C8D-4F24-A591-023D3C88DEC8"],"partTests":{"__isSmartRef__":true,"id":2666},"_ClipMode":"visible","moved":true,"isBeingDragged":false,"prevScroll":[0,0],"#startLetters":"","eventsAreDisabled":false,"_HandStyle":"default","_PointerEvents":"auto","_Rotation":0,"_Scale":1.0060210561262526,"owner":null,"magnifierButton":{"__isSmartRef__":true,"id":2574},"attributeConnections":[{"__isSmartRef__":true,"id":2671},{"__isSmartRef__":true,"id":2673},{"__isSmartRef__":true,"id":2675}],"isMetaTool":true,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2677},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(27.0,2675.3)","distanceToDragEvent":"lively.pt(44.0,-14.0)"},"2623":{"_BorderWidth":0,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":0.2597,"_BorderStyle":"hidden","__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(758.2,226.1)","_BorderColor":"Color.rgb(204,0,0)","_Fill":"Color.rgb(58,0,255)","_Padding":"lively.rect(0,0,0,0)"},"2624":{"partsSpaceName":"PartsBin/Tools","comment":"A rectangle which highlights the object under the first hand of the world","migrationLevel":4,"partName":"HighlightRectangle","changes":[{"__isSmartRef__":true,"id":2625},{"__isSmartRef__":true,"id":2627},{"__isSmartRef__":true,"id":2629},{"__isSmartRef__":true,"id":2631},{"__isSmartRef__":true,"id":2633},{"__isSmartRef__":true,"id":2635},{"__isSmartRef__":true,"id":2637},{"__isSmartRef__":true,"id":2639},{"__isSmartRef__":true,"id":2641},{"__isSmartRef__":true,"id":2643},{"__isSmartRef__":true,"id":2645},{"__isSmartRef__":true,"id":2647},{"__isSmartRef__":true,"id":2649},{"__isSmartRef__":true,"id":2651},{"__isSmartRef__":true,"id":2653},{"__isSmartRef__":true,"id":2655},{"__isSmartRef__":true,"id":2657},{"__isSmartRef__":true,"id":2659},{"__isSmartRef__":true,"id":2661},{"__isSmartRef__":true,"id":2663}],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"2625":{"date":{"__isSmartRef__":true,"id":2626},"author":"timfelgentreff","message":"no comment","id":"3DB7DB40-210A-4BED-91FD-9287005703EC"},"2626":{"isSerializedDate":true,"string":"Thu May 24 2012 17:04:54 GMT+0200 (CEST)"},"2627":{"date":{"__isSmartRef__":true,"id":2628},"author":"tessi","message":"no comment","id":"23D7AA12-66A9-4C3B-B494-131256C291AC"},"2628":{"isSerializedDate":true,"string":"Thu May 24 2012 16:57:13 GMT+0200 (CEST)"},"2629":{"date":{"__isSmartRef__":true,"id":2630},"author":"tessi","message":"no comment","id":"2C30B7CA-388F-4F51-B4CF-A2E50E381148"},"2630":{"isSerializedDate":true,"string":"Thu May 24 2012 16:23:11 GMT+0200 (CEST)"},"2631":{"date":{"__isSmartRef__":true,"id":2632},"author":"tessi","message":"diable events","id":"7C1F71A3-FDAC-470A-B9A9-E1F2C9FEF18E"},"2632":{"isSerializedDate":true,"string":"Thu May 24 2012 14:46:08 GMT+0200 (CEST)"},"2633":{"date":{"__isSmartRef__":true,"id":2634},"author":"tessi","message":"no comment","id":"01996A33-11BC-4C15-96D7-B7D219E2E961"},"2634":{"isSerializedDate":true,"string":"Thu May 24 2012 14:39:50 GMT+0200 (CEST)"},"2635":{"date":{"__isSmartRef__":true,"id":2636},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"2636":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"2637":{"date":{"__isSmartRef__":true,"id":2638},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"2638":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"2639":{"date":{"__isSmartRef__":true,"id":2640},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"2640":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"2641":{"date":{"__isSmartRef__":true,"id":2642},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"2642":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"2643":{"date":{"__isSmartRef__":true,"id":2644},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"2644":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"2645":{"date":{"__isSmartRef__":true,"id":2646},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"2646":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"2647":{"date":{"__isSmartRef__":true,"id":2648},"author":"tessi","message":"no comment","id":"4B982A01-25B3-455A-848D-89C2C3C471D7"},"2648":{"isSerializedDate":true,"string":"Thu May 24 2012 13:58:01 GMT+0200 (CEST)"},"2649":{"date":{"__isSmartRef__":true,"id":2650},"author":"tessi","message":"no comment","id":"2FD6CB7B-3BC7-4666-98B4-AACF1001954D"},"2650":{"isSerializedDate":true,"string":"Thu May 24 2012 14:07:32 GMT+0200 (CEST)"},"2651":{"date":{"__isSmartRef__":true,"id":2652},"author":"tessi","message":"no comment","id":"09CF5ECF-2C87-4B66-A164-39848628596F"},"2652":{"isSerializedDate":true,"string":"Thu May 24 2012 15:34:59 GMT+0200 (CEST)"},"2653":{"date":{"__isSmartRef__":true,"id":2654},"author":"tessi","message":"no comment","id":"252A3EB5-DB00-4CF9-BF38-2927DD1C5229"},"2654":{"isSerializedDate":true,"string":"Thu May 24 2012 16:34:29 GMT+0200 (CEST)"},"2655":{"date":{"__isSmartRef__":true,"id":2656},"author":"tessi","message":"no comment","id":"81534551-62C1-4FC9-96CB-A5AC6642CA1E"},"2656":{"isSerializedDate":true,"string":"Thu May 24 2012 16:45:49 GMT+0200 (CEST)"},"2657":{"date":{"__isSmartRef__":true,"id":2658},"author":"tessi","message":"no comment","id":"5125DE3A-D50E-4621-8490-F3A9D99C2C4C"},"2658":{"isSerializedDate":true,"string":"Thu May 24 2012 16:47:20 GMT+0200 (CEST)"},"2659":{"date":{"__isSmartRef__":true,"id":2660},"author":"tessi","message":"no comment","id":"C81A2FBF-CB0B-4A0B-9D63-F9AEDFCB5DA6"},"2660":{"isSerializedDate":true,"string":"Thu May 24 2012 16:51:06 GMT+0200 (CEST)"},"2661":{"date":{"__isSmartRef__":true,"id":2662},"author":"tessi","message":"no comment","id":"DC8EF5EC-7563-45B6-816D-20E2DC218525"},"2662":{"isSerializedDate":true,"string":"Thu May 24 2012 16:52:10 GMT+0200 (CEST)"},"2663":{"date":{"__isSmartRef__":true,"id":2664},"author":"timfelgentreff","message":"no comment","id":"E7515DFB-DE7D-4E1F-A2C3-85166DCE4942"},"2664":{"isSerializedDate":true,"string":"Thu May 24 2012 16:59:39 GMT+0200 (CEST)"},"2665":{"morph":{"__isSmartRef__":true,"id":2622},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2666":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2667}},"2667":{"test01IsMorph":{"__isSmartRef__":true,"id":2668}},"2668":{"varMapping":{"__isSmartRef__":true,"id":2669},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":2670},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2669":{"this":{"__isSmartRef__":true,"id":2666}},"2670":{},"2671":{"sourceObj":{"__isSmartRef__":true,"id":2622},"sourceAttrName":"onMouseMove","targetObj":{"__isSmartRef__":true,"id":2622},"targetMethodName":"updateOnMove","varMapping":{"__isSmartRef__":true,"id":2672},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2672":{"source":{"__isSmartRef__":true,"id":2622},"target":{"__isSmartRef__":true,"id":2622}},"2673":{"sourceObj":{"__isSmartRef__":true,"id":2622},"sourceAttrName":"onMouseUp","targetObj":{"__isSmartRef__":true,"id":2574},"targetMethodName":"removeHighlighting","varMapping":{"__isSmartRef__":true,"id":2674},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2674":{"source":{"__isSmartRef__":true,"id":2622},"target":{"__isSmartRef__":true,"id":2574}},"2675":{"sourceObj":{"__isSmartRef__":true,"id":2622},"sourceAttrName":"onMouseUp","targetObj":{"__isSmartRef__":true,"id":2574},"targetMethodName":"setTarget","varMapping":{"__isSmartRef__":true,"id":2676},"converterString":"function () {\n return this.sourceObj.morphUnderCursor();\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2676":{"source":{"__isSmartRef__":true,"id":2622},"target":{"__isSmartRef__":true,"id":2574}},"2677":{"update":{"__isSmartRef__":true,"id":2678},"updateOnMove":{"__isSmartRef__":true,"id":2682},"bringToFront":{"__isSmartRef__":true,"id":2686},"morphUnderCursor":{"__isSmartRef__":true,"id":2694}},"2678":{"varMapping":{"__isSmartRef__":true,"id":2679},"source":"function update(morphUnderCursor) {\n if (!morphUnderCursor) return;\n if (morphUnderCursor === this.magnifierButton ||\n this.magnifierButton.submorphs.include(morphUnderCursor)) {\n morphToHighlight = this.magnifierButton.currentTarget();\n } else {\n morphToHighlight = morphUnderCursor;\n }\n\n if (morphToHighlight && morphToHighlight.world()) {\n this.setPosition(morphToHighlight.getPositionInWorld());\n this.setExtent(morphToHighlight.getExtent());\n }\n}","funcProperties":{"__isSmartRef__":true,"id":2680},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2679":{"this":{"__isSmartRef__":true,"id":2622}},"2680":{"timestamp":{"__isSmartRef__":true,"id":2681},"user":"jenslincke","tags":[]},"2681":{"isSerializedDate":true,"string":"Thu Dec 13 2012 10:44:50 GMT+0100 (CET)"},"2682":{"varMapping":{"__isSmartRef__":true,"id":2683},"source":"function updateOnMove() {\n this.update(this.morphUnderCursor());\n this.bringToFront();\n}","funcProperties":{"__isSmartRef__":true,"id":2684},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2683":{"this":{"__isSmartRef__":true,"id":2622}},"2684":{"timestamp":{"__isSmartRef__":true,"id":2685},"user":"lauritz","tags":[]},"2685":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:18:33 GMT+0200 (CEST)"},"2686":{"varMapping":{"__isSmartRef__":true,"id":2687},"source":"function bringToFront() {\n this.renderContext().morphNode.style.zIndex= 1000;\n}","funcProperties":{"__isSmartRef__":true,"id":2692},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2687":{"this":{"__isSmartRef__":true,"id":2622},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2688}},"2688":{"$super":{"__isSmartRef__":true,"id":2689}},"2689":{"varMapping":{"__isSmartRef__":true,"id":2690},"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":2691},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2690":{"obj":{"__isSmartRef__":true,"id":2622},"name":"bringToFront"},"2691":{},"2692":{"timestamp":{"__isSmartRef__":true,"id":2693},"user":"lauritz","tags":[]},"2693":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:12:09 GMT+0200 (CEST)"},"2694":{"varMapping":{"__isSmartRef__":true,"id":2695},"source":"function morphUnderCursor() {\n var that = this,\n world = lively.morphic.World.current();\n var result = world.morphsContainingPoint(world.firstHand().getPosition()).detect(\n function(ea) {\n return !ea.isPlaceholder &&\n !ea.isHalo &&\n !ea.isWorld &&\n (!ea.owner || !ea.owner.isHalo) &&\n !(ea === that);\n });\n if (result == world) \n return null;\n else\n return result;\n}","funcProperties":{"__isSmartRef__":true,"id":2696},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2695":{"this":{"__isSmartRef__":true,"id":2622}},"2696":{"timestamp":{"__isSmartRef__":true,"id":2697},"user":"jenslincke","tags":[]},"2697":{"isSerializedDate":true,"string":"Thu Dec 13 2012 10:44:22 GMT+0100 (CET)"},"2698":{"moveHorizontal":true},"2699":{"morph":{"__isSmartRef__":true,"id":2574},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(819.3,2968.6)"},"2700":{"morph":{"__isSmartRef__":true,"id":2574},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(851.1,2968.6)"},"2701":{"morph":{"__isSmartRef__":true,"id":2574},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(883.0,2968.6)"},"2702":{"morph":{"__isSmartRef__":true,"id":2574},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(883.0,2979.0)"},"2703":{"morph":{"__isSmartRef__":true,"id":2574},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(883.0,2989.4)"},"2704":{"morph":{"__isSmartRef__":true,"id":2574},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(851.1,2989.4)"},"2705":{"morph":{"__isSmartRef__":true,"id":2574},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(819.3,2989.4)"},"2706":{"morph":{"__isSmartRef__":true,"id":2574},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(819.3,2979.0)"},"2707":{"onFire":{"__isSmartRef__":true,"id":2708},"removeHighlighting":{"__isSmartRef__":true,"id":2712},"onMouseMove":{"__isSmartRef__":true,"id":2716},"onMouseOut":{"__isSmartRef__":true,"id":2724},"reset":{"__isSmartRef__":true,"id":2732},"isTracking":{"__isSmartRef__":true,"id":2736},"isHighlighting":{"__isSmartRef__":true,"id":2740},"currentTarget":{"__isSmartRef__":true,"id":2744},"setTarget":{"__isSmartRef__":true,"id":2748}},"2708":{"varMapping":{"__isSmartRef__":true,"id":2709},"source":"function onFire() {\n var hand = lively.morphic.World.current().firstHand(),\n highlight = this.highlightRectangle,\n that = this;\n\n if (this.isTracking()) {\n this.removeHighlighting();\n } else {\n this.world().addMorph(highlight);\n hand.highlightConnection = connect(hand, \"scrollFocusMorph\", highlight, \"update\");\n highlight.bringToFront();\n if (!this.currentTarget() || !this.currentTarget().world()) {\n highlight.setExtent(pt(0,0));\n }\n }\n}","funcProperties":{"__isSmartRef__":true,"id":2710},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2709":{"this":{"__isSmartRef__":true,"id":2574}},"2710":{"timestamp":{"__isSmartRef__":true,"id":2711},"user":"lauritz","tags":[]},"2711":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:40:51 GMT+0200 (CEST)"},"2712":{"varMapping":{"__isSmartRef__":true,"id":2713},"source":"function removeHighlighting() {\n var hand = this.world().firstHand();\n \n if (this.highlightRectangle) {\n this.highlightRectangle.remove();\n }\n \n hand.attributeConnections.removeAt(\n hand.attributeConnections.indexOf(hand.highlightConnection));\n hand.highlightConnection = null;\n}","funcProperties":{"__isSmartRef__":true,"id":2714},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2713":{"this":{"__isSmartRef__":true,"id":2574}},"2714":{"timestamp":{"__isSmartRef__":true,"id":2715},"user":"lauritz","tags":[]},"2715":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:20:30 GMT+0200 (CEST)"},"2716":{"varMapping":{"__isSmartRef__":true,"id":2717},"source":"function onMouseMove(evt) {\n var target = this.currentTarget();\n if (target && target.world() && !this.isHighlighting()) {\n this.highlightRectangle.update(target);\n this.world().addMorph(this.highlightRectangle);\n this.highlightRectangle.bringToFront();\n this.targetHighlight = this.highlightRectangle;\n }\n}","funcProperties":{"__isSmartRef__":true,"id":2722},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2717":{"this":{"__isSmartRef__":true,"id":2574},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2718}},"2718":{"$super":{"__isSmartRef__":true,"id":2719}},"2719":{"varMapping":{"__isSmartRef__":true,"id":2720},"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":2721},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2720":{"obj":{"__isSmartRef__":true,"id":2574},"name":"onMouseMove"},"2721":{},"2722":{"timestamp":{"__isSmartRef__":true,"id":2723},"user":"lauritz","tags":[]},"2723":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:25:52 GMT+0200 (CEST)"},"2724":{"varMapping":{"__isSmartRef__":true,"id":2725},"source":"function onMouseOut() {\n if (this.isHighlighting()) {\n if (!this.isTracking()) {\n this.targetHighlight.remove();\n }\n delete this.targetHighlight;\n }\n}","funcProperties":{"__isSmartRef__":true,"id":2730},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2725":{"this":{"__isSmartRef__":true,"id":2574},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2726}},"2726":{"$super":{"__isSmartRef__":true,"id":2727}},"2727":{"varMapping":{"__isSmartRef__":true,"id":2728},"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":2729},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2728":{"obj":{"__isSmartRef__":true,"id":2574},"name":"onMouseOut"},"2729":{},"2730":{"timestamp":{"__isSmartRef__":true,"id":2731},"user":"lauritz","tags":[]},"2731":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:21:57 GMT+0200 (CEST)"},"2732":{"varMapping":{"__isSmartRef__":true,"id":2733},"source":"function reset() {\n this.highlightRectangle.attributeConnections = [];\n \n var r = this.highlightRectangle;\n r.isMetaTool = true;\n disconnectAll(r)\n connect(r, \"onMouseMove\", this.highlightRectangle, \"updateOnMove\")\n connect(r, \"onMouseUp\", this, \"removeHighlighting\")\n connect(r, \"onMouseUp\", this, \"setTarget\",\n {converter: function () {\n return this.sourceObj.morphUnderCursor();\n }\n })\n}","funcProperties":{"__isSmartRef__":true,"id":2734},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2733":{"this":{"__isSmartRef__":true,"id":2574}},"2734":{"timestamp":{"__isSmartRef__":true,"id":2735},"user":"jenslincke","tags":[]},"2735":{"isSerializedDate":true,"string":"Thu Dec 13 2012 10:39:09 GMT+0100 (CET)"},"2736":{"varMapping":{"__isSmartRef__":true,"id":2737},"source":"function isTracking() {\n return !!this.world().firstHand().highlightConnection;\n}","funcProperties":{"__isSmartRef__":true,"id":2738},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2737":{"this":{"__isSmartRef__":true,"id":2574}},"2738":{"timestamp":{"__isSmartRef__":true,"id":2739},"user":"lauritz","tags":[]},"2739":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:11:25 GMT+0200 (CEST)"},"2740":{"varMapping":{"__isSmartRef__":true,"id":2741},"source":"function isHighlighting() {\n return !!this.targetHighlight;\n}","funcProperties":{"__isSmartRef__":true,"id":2742},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2741":{"this":{"__isSmartRef__":true,"id":2574}},"2742":{"timestamp":{"__isSmartRef__":true,"id":2743},"user":"lauritz","tags":[]},"2743":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:11:22 GMT+0200 (CEST)"},"2744":{"varMapping":{"__isSmartRef__":true,"id":2745},"source":"function currentTarget() {\n return this.owner.target;\n}","funcProperties":{"__isSmartRef__":true,"id":2746},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2745":{"this":{"__isSmartRef__":true,"id":2574}},"2746":{"timestamp":{"__isSmartRef__":true,"id":2747},"user":"lauritz","tags":[]},"2747":{"isSerializedDate":true,"string":"Wed Jun 06 2012 18:26:02 GMT+0200 (CEST)"},"2748":{"varMapping":{"__isSmartRef__":true,"id":2749},"source":"function setTarget(obj) {\n this.owner.setTarget(obj)\n}","funcProperties":{"__isSmartRef__":true,"id":2750},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2749":{"this":{"__isSmartRef__":true,"id":2574}},"2750":{"timestamp":{"__isSmartRef__":true,"id":2751},"user":"jenslincke","tags":[]},"2751":{"isSerializedDate":true,"string":"Thu Dec 13 2012 10:27:04 GMT+0100 (CET)"},"2752":{"fill":null,"_BorderWidth":0,"_ClipMode":"visible","_BorderRadius":17.78,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding","_Fill"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(2.0,18.0)","_Extent":"lively.pt(847.0,310.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(4,2,0,0)","_Fill":"Color.rgb(223,249,127)"},"2753":{"partsSpaceName":"PartsBin/Jens","migrationLevel":4,"comment":"a simple text morph","partName":"SpecialSyntaxWorkspace","changes":[{"__isSmartRef__":true,"id":2754},{"__isSmartRef__":true,"id":2756},{"__isSmartRef__":true,"id":2758},{"__isSmartRef__":true,"id":2760},{"__isSmartRef__":true,"id":2762},{"__isSmartRef__":true,"id":2764},{"__isSmartRef__":true,"id":2766},{"__isSmartRef__":true,"id":2768},{"__isSmartRef__":true,"id":2770}],"revisionOnLoad":186537,"lastModifiedDate":{"__isSmartRef__":true,"id":2772},"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"2754":{"date":{"__isSmartRef__":true,"id":2755},"author":"robertkrahn","message":"text click was broken?","id":"9D065E14-9653-4B2A-9A2E-3AD84EBBC3E0"},"2755":{"isSerializedDate":true,"string":"Sat Apr 21 2012 16:30:30 GMT+0200 (CEST)"},"2756":{"date":{"__isSmartRef__":true,"id":2757},"author":"undefined","message":"Set the inset as: this.setPadding(Rectangle.inset(4,2)). This gives it a more pleasing appearance with a border, and also makes it easier to select near the bounds.","id":"BD5B0E4C-4830-4863-A013-35BB66D5AD6F"},"2757":{"isSerializedDate":true,"string":"Mon Feb 27 2012 06:20:38 GMT+0100 (CET)"},"2758":{"date":{"__isSmartRef__":true,"id":2759},"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"0F4DE333-A551-4961-B29D-70270977EBEF"},"2759":{"isSerializedDate":true,"string":"Sat Apr 21 2012 07:31:43 GMT+0200 (CEST)"},"2760":{"date":{"__isSmartRef__":true,"id":2761},"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"785D95BD-7858-43EB-90E6-A1C085E2F2B9"},"2761":{"isSerializedDate":true,"string":"Sat Apr 21 2012 07:32:09 GMT+0200 (CEST)"},"2762":{"date":{"__isSmartRef__":true,"id":2763},"author":"timfelgentreff","message":"better text","id":"B904F9AC-6EA0-4A8A-83C9-AFC85AADC194"},"2763":{"isSerializedDate":true,"string":"Tue May 08 2012 14:18:18 GMT+0200 (CEST)"},"2764":{"date":{"__isSmartRef__":true,"id":2765},"author":"jenslincke","message":"no comment","id":"FBFBFDA1-7B2B-4E09-B7EC-270BD1E20D91"},"2765":{"isSerializedDate":true,"string":"Tue Dec 11 2012 12:05:06 GMT+0100 (CET)"},"2766":{"date":{"__isSmartRef__":true,"id":2767},"author":"jenslincke","message":"no comment","id":"4867AA9B-8A78-46E2-A531-138A243E78F9"},"2767":{"isSerializedDate":true,"string":"Tue Dec 11 2012 12:07:25 GMT+0100 (CET)"},"2768":{"date":{"__isSmartRef__":true,"id":2769},"author":"jenslincke","message":"no comment","id":"E9F4BC8B-D5C2-42F9-A1D1-E7D3843A9A3B"},"2769":{"isSerializedDate":true,"string":"Thu Dec 13 2012 10:14:18 GMT+0100 (CET)"},"2770":{"date":{"__isSmartRef__":true,"id":2771},"author":"jenslincke","message":"no comment","id":"5A416C80-0936-40FE-B19A-D8B3AB3E243C"},"2771":{"isSerializedDate":true,"string":"Thu Dec 13 2012 10:29:08 GMT+0100 (CET)"},"2772":{"isSerializedDate":true,"string":"Thu Dec 13 2012 10:28:45 GMT+0100 (CET)"},"2773":{"style":{"__isSmartRef__":true,"id":2774},"chunkOwner":{"__isSmartRef__":true,"id":2573},"_id":"_10","storedString":"\n#Line.addScript(","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2774":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2775":{"_id":"_178","style":{"__isSmartRef__":true,"id":2776},"chunkOwner":{"__isSmartRef__":true,"id":2573},"storedString":"function","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2776":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"2777":{"_id":"_179","style":{"__isSmartRef__":true,"id":2778},"chunkOwner":{"__isSmartRef__":true,"id":2573},"storedString":" updatePosition() ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2778":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2779":{"_id":"_180","style":{"__isSmartRef__":true,"id":2780},"chunkOwner":{"__isSmartRef__":true,"id":2573},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2780":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"2781":{"_id":"_181","style":{"__isSmartRef__":true,"id":2782},"chunkOwner":{"__isSmartRef__":true,"id":2573},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2782":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2783":{"_id":"_182","style":{"__isSmartRef__":true,"id":2784},"chunkOwner":{"__isSmartRef__":true,"id":2573},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2784":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"2785":{"_id":"_183","style":{"__isSmartRef__":true,"id":2786},"chunkOwner":{"__isSmartRef__":true,"id":2573},"storedString":".updateControlPoint(","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2786":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2787":{"_id":"_184","style":{"__isSmartRef__":true,"id":2788},"chunkOwner":{"__isSmartRef__":true,"id":2573},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2788":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"2789":{"_id":"_185","style":{"__isSmartRef__":true,"id":2790},"chunkOwner":{"__isSmartRef__":true,"id":2573},"storedString":".controlPoints[","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2790":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2791":{"_id":"_186","style":{"__isSmartRef__":true,"id":2792},"chunkOwner":{"__isSmartRef__":true,"id":2573},"storedString":"0","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2792":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,255)"},"2793":{"_id":"_187","style":{"__isSmartRef__":true,"id":2794},"chunkOwner":{"__isSmartRef__":true,"id":2573},"storedString":"], ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2794":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2795":{"_id":"_188","style":{"__isSmartRef__":true,"id":2796},"chunkOwner":{"__isSmartRef__":true,"id":2573},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2796":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"2797":{"_id":"_189","style":{"__isSmartRef__":true,"id":2798},"chunkOwner":{"__isSmartRef__":true,"id":2573},"storedString":".fromMorph)\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2798":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2799":{"_id":"_190","style":{"__isSmartRef__":true,"id":2800},"chunkOwner":{"__isSmartRef__":true,"id":2573},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2800":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"2801":{"_id":"_191","style":{"__isSmartRef__":true,"id":2802},"chunkOwner":{"__isSmartRef__":true,"id":2573},"storedString":".updateControlPoint(","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2802":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2803":{"_id":"_192","style":{"__isSmartRef__":true,"id":2804},"chunkOwner":{"__isSmartRef__":true,"id":2573},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2804":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"2805":{"_id":"_193","style":{"__isSmartRef__":true,"id":2806},"chunkOwner":{"__isSmartRef__":true,"id":2573},"storedString":".controlPoints[","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2806":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2807":{"_id":"_194","style":{"__isSmartRef__":true,"id":2808},"chunkOwner":{"__isSmartRef__":true,"id":2573},"storedString":"1","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2808":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,255)"},"2809":{"_id":"_195","style":{"__isSmartRef__":true,"id":2810},"chunkOwner":{"__isSmartRef__":true,"id":2573},"storedString":"], ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2810":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2811":{"_id":"_196","style":{"__isSmartRef__":true,"id":2812},"chunkOwner":{"__isSmartRef__":true,"id":2573},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2812":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"2813":{"_id":"_197","style":{"__isSmartRef__":true,"id":2814},"chunkOwner":{"__isSmartRef__":true,"id":2573},"storedString":".toMorph)\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2814":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2815":{"_id":"_198","style":{"__isSmartRef__":true,"id":2816},"chunkOwner":{"__isSmartRef__":true,"id":2573},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2816":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"2817":{"_id":"_199","style":{"__isSmartRef__":true,"id":2818},"chunkOwner":{"__isSmartRef__":true,"id":2573},"storedString":".controlPoints[","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2818":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2819":{"_id":"_200","style":{"__isSmartRef__":true,"id":2820},"chunkOwner":{"__isSmartRef__":true,"id":2573},"storedString":"0","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2820":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,255)"},"2821":{"_id":"_201","style":{"__isSmartRef__":true,"id":2822},"chunkOwner":{"__isSmartRef__":true,"id":2573},"storedString":"].setGlobalPos(","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2822":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2823":{"_id":"_202","style":{"__isSmartRef__":true,"id":2824},"chunkOwner":{"__isSmartRef__":true,"id":2573},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2824":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"2825":{"_id":"_203","style":{"__isSmartRef__":true,"id":2826},"chunkOwner":{"__isSmartRef__":true,"id":2573},"storedString":".fromMorph.intersectLineMorph(","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2826":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2827":{"_id":"_204","style":{"__isSmartRef__":true,"id":2828},"chunkOwner":{"__isSmartRef__":true,"id":2573},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2828":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"2829":{"_id":"_205","style":{"__isSmartRef__":true,"id":2830},"chunkOwner":{"__isSmartRef__":true,"id":2573},"storedString":")[","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2830":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2831":{"_id":"_206","style":{"__isSmartRef__":true,"id":2832},"chunkOwner":{"__isSmartRef__":true,"id":2573},"storedString":"0","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2832":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,255)"},"2833":{"_id":"_207","style":{"__isSmartRef__":true,"id":2834},"chunkOwner":{"__isSmartRef__":true,"id":2573},"storedString":"])\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2834":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2835":{"_id":"_208","style":{"__isSmartRef__":true,"id":2836},"chunkOwner":{"__isSmartRef__":true,"id":2573},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2836":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"2837":{"_id":"_209","style":{"__isSmartRef__":true,"id":2838},"chunkOwner":{"__isSmartRef__":true,"id":2573},"storedString":".controlPoints[","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2838":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2839":{"_id":"_210","style":{"__isSmartRef__":true,"id":2840},"chunkOwner":{"__isSmartRef__":true,"id":2573},"storedString":"1","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2840":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,255)"},"2841":{"_id":"_211","style":{"__isSmartRef__":true,"id":2842},"chunkOwner":{"__isSmartRef__":true,"id":2573},"storedString":"].setGlobalPos(","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2842":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2843":{"_id":"_212","style":{"__isSmartRef__":true,"id":2844},"chunkOwner":{"__isSmartRef__":true,"id":2573},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2844":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"2845":{"_id":"_213","style":{"__isSmartRef__":true,"id":2846},"chunkOwner":{"__isSmartRef__":true,"id":2573},"storedString":".toMorph.intersectLineMorph(","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2846":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2847":{"_id":"_214","style":{"__isSmartRef__":true,"id":2848},"chunkOwner":{"__isSmartRef__":true,"id":2573},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2848":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"2849":{"_id":"_215","style":{"__isSmartRef__":true,"id":2850},"chunkOwner":{"__isSmartRef__":true,"id":2573},"storedString":")[","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2850":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2851":{"_id":"_216","style":{"__isSmartRef__":true,"id":2852},"chunkOwner":{"__isSmartRef__":true,"id":2573},"storedString":"0","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2852":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,255)"},"2853":{"_id":"_217","style":{"__isSmartRef__":true,"id":2854},"chunkOwner":{"__isSmartRef__":true,"id":2573},"storedString":"])\n","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2854":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2855":{"_id":"_218","style":{"__isSmartRef__":true,"id":2856},"chunkOwner":{"__isSmartRef__":true,"id":2573},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2856":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"2857":{"_id":"_219","style":{"__isSmartRef__":true,"id":2858},"chunkOwner":{"__isSmartRef__":true,"id":2573},"storedString":").tag([]);\n\n#Line.connect(#A, #B)\n\n\n#A\n\n#A.intersectLineMorph(#Line).forEach(","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2858":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2859":{"_id":"_220","style":{"__isSmartRef__":true,"id":2860},"chunkOwner":{"__isSmartRef__":true,"id":2573},"storedString":"function","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2860":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"2861":{"_id":"_221","style":{"__isSmartRef__":true,"id":2862},"chunkOwner":{"__isSmartRef__":true,"id":2573},"storedString":"(ea) ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2862":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2863":{"_id":"_222","style":{"__isSmartRef__":true,"id":2864},"chunkOwner":{"__isSmartRef__":true,"id":2573},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2864":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"2865":{"_id":"_223","style":{"__isSmartRef__":true,"id":2866},"chunkOwner":{"__isSmartRef__":true,"id":2573},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2866":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2867":{"_id":"_226","style":{"__isSmartRef__":true,"id":2868},"chunkOwner":{"__isSmartRef__":true,"id":2573},"storedString":"show","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2868":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(204,0,0)"},"2869":{"_id":"_227","style":{"__isSmartRef__":true,"id":2870},"chunkOwner":{"__isSmartRef__":true,"id":2573},"storedString":"(ea).setFill(","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2870":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2871":{"_id":"_228","style":{"__isSmartRef__":true,"id":2872},"chunkOwner":{"__isSmartRef__":true,"id":2573},"storedString":"Color","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2872":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(204,0,0)"},"2873":{"_id":"_229","style":{"__isSmartRef__":true,"id":2874},"chunkOwner":{"__isSmartRef__":true,"id":2573},"storedString":".blue)","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2874":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2875":{"_id":"_224","style":{"__isSmartRef__":true,"id":2876},"chunkOwner":{"__isSmartRef__":true,"id":2573},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2876":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"2877":{"_id":"_225","style":{"__isSmartRef__":true,"id":2878},"chunkOwner":{"__isSmartRef__":true,"id":2573},"storedString":")\n\n\n\n\n","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2878":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2879":{"morph":{"__isSmartRef__":true,"id":2573},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2880":{"morph":{"__isSmartRef__":true,"id":2573},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(34.9,2973.6)"},"2881":{"morph":{"__isSmartRef__":true,"id":2573},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(458.4,2973.6)"},"2882":{"morph":{"__isSmartRef__":true,"id":2573},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(881.9,2973.6)"},"2883":{"morph":{"__isSmartRef__":true,"id":2573},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(881.9,3128.6)"},"2884":{"morph":{"__isSmartRef__":true,"id":2573},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(881.9,3283.6)"},"2885":{"morph":{"__isSmartRef__":true,"id":2573},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(458.4,3283.6)"},"2886":{"morph":{"__isSmartRef__":true,"id":2573},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(34.9,3283.6)"},"2887":{"morph":{"__isSmartRef__":true,"id":2573},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(34.9,3128.6)"},"2888":{"sourceObj":{"__isSmartRef__":true,"id":2573},"sourceAttrName":"textString","targetObj":{"__isSmartRef__":true,"id":2573},"targetMethodName":"highlightSyntaxDebounced","varMapping":{"__isSmartRef__":true,"id":2889},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2889":{"source":{"__isSmartRef__":true,"id":2573},"target":{"__isSmartRef__":true,"id":2573}},"2890":{"adjustForNewBounds":true},"2891":{"boundEval":{"__isSmartRef__":true,"id":2892},"getDoitContext":{"__isSmartRef__":true,"id":2900},"setTarget":{"__isSmartRef__":true,"id":2908}},"2892":{"varMapping":{"__isSmartRef__":true,"id":2893},"source":"function boundEval(str) {\n // Some little (Tim calls it ugly) funny preprocessor Macros\n str = str.replace(/#([A-Za-z][A-Za-z0-9]*)/g, \"this.get('$1')\")\n // alertOK(\"eval \" + str)\n return $super(str)\n}","funcProperties":{"__isSmartRef__":true,"id":2898},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2893":{"this":{"__isSmartRef__":true,"id":2573},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2894}},"2894":{"$super":{"__isSmartRef__":true,"id":2895}},"2895":{"varMapping":{"__isSmartRef__":true,"id":2896},"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":2897},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2896":{"obj":{"__isSmartRef__":true,"id":2573},"name":"boundEval"},"2897":{},"2898":{"timestamp":{"__isSmartRef__":true,"id":2899},"user":"jenslincke","tags":[]},"2899":{"isSerializedDate":true,"string":"Wed Dec 12 2012 11:22:45 GMT+0100 (CET)"},"2900":{"varMapping":{"__isSmartRef__":true,"id":2901},"source":"function getDoitContext() {\n return this.target\n}","funcProperties":{"__isSmartRef__":true,"id":2906},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2901":{"this":{"__isSmartRef__":true,"id":2573},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2902}},"2902":{"$super":{"__isSmartRef__":true,"id":2903}},"2903":{"varMapping":{"__isSmartRef__":true,"id":2904},"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":2905},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2904":{"obj":{"__isSmartRef__":true,"id":2573},"name":"getDoitContext"},"2905":{},"2906":{"timestamp":{"__isSmartRef__":true,"id":2907},"user":"jenslincke","tags":[]},"2907":{"isSerializedDate":true,"string":"Thu Dec 13 2012 10:17:05 GMT+0100 (CET)"},"2908":{"varMapping":{"__isSmartRef__":true,"id":2909},"source":"function setTarget(obj) {\n this.target= obj\n}","funcProperties":{"__isSmartRef__":true,"id":2910},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2909":{"this":{"__isSmartRef__":true,"id":2573}},"2910":{"timestamp":{"__isSmartRef__":true,"id":2911},"user":"jenslincke","tags":[]},"2911":{"isSerializedDate":true,"string":"Thu Dec 13 2012 10:22:59 GMT+0100 (CET)"},"2912":{"submorphs":[],"scripts":[],"id":"26CC07BF-6781-4E2B-BD35-CD02401CAA46","shape":{"__isSmartRef__":true,"id":2913},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":760.695652,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":14,"name":"Text7","partsBinMetaInfo":{"__isSmartRef__":true,"id":2914},"textChunks":[{"__isSmartRef__":true,"id":2925}],"charsReplaced":"Now we should bring it all together:","lastFindLoc":36,"prevScroll":[0,0],"eventHandler":{"__isSmartRef__":true,"id":2927},"_ClipMode":"visible","derivationIds":[355,"1EB1674F-8BF2-419B-B054-86129ED70335","63698904-DC05-4341-A9B6-5CC4A219CD04","F6A714BA-4735-41ED-8A2A-45CB153FBDF8","5848BD12-8F39-45F4-958F-07FC46FFCFCE","4B322E37-76CC-450D-9DC9-7710369468AB","D06C2F6F-EA61-45E6-8FB4-D472093ACBEB","3D3ADD27-BDDA-4E54-81E3-36C63DF33F17","0826AA77-D517-4719-A157-43A1F7A4B819","9B343BD1-82DC-44F7-B586-DD2E32B667EC"],"_WhiteSpaceHandling":"pre-wrap","_MinTextWidth":760.695652,"_MinTextHeight":null,"isBeingDragged":false,"moved":true,"previousSelection":[23,26],"magnets":[{"__isSmartRef__":true,"id":2928},{"__isSmartRef__":true,"id":2929},{"__isSmartRef__":true,"id":2930},{"__isSmartRef__":true,"id":2931},{"__isSmartRef__":true,"id":2932},{"__isSmartRef__":true,"id":2933},{"__isSmartRef__":true,"id":2934},{"__isSmartRef__":true,"id":2935}],"owner":{"__isSmartRef__":true,"id":0},"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","textColor","_Padding","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2936},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(42.0,2893.7)","textColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(5,5,0,0)","distanceToDragEvent":"lively.pt(86.0,-18.0)"},"2913":{"fill":null,"_BorderWidth":0,"_ClipMode":"visible","__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(847.0,26.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(4,2,0,0)"},"2914":{"partsSpaceName":"PartsBin/Basic","migrationLevel":4,"comment":"a simple text morph","partName":"Text","changes":[{"__isSmartRef__":true,"id":2915},{"__isSmartRef__":true,"id":2917},{"__isSmartRef__":true,"id":2919},{"__isSmartRef__":true,"id":2921},{"__isSmartRef__":true,"id":2923}],"revisionOnLoad":160159,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"2915":{"date":{"__isSmartRef__":true,"id":2916},"author":"robertkrahn","message":"text click was broken?","id":"9D065E14-9653-4B2A-9A2E-3AD84EBBC3E0"},"2916":{"isSerializedDate":true,"string":"Sat Apr 21 2012 16:30:30 GMT+0200 (CEST)"},"2917":{"date":{"__isSmartRef__":true,"id":2918},"author":"undefined","message":"Set the inset as: this.setPadding(Rectangle.inset(4,2)). This gives it a more pleasing appearance with a border, and also makes it easier to select near the bounds.","id":"BD5B0E4C-4830-4863-A013-35BB66D5AD6F"},"2918":{"isSerializedDate":true,"string":"Mon Feb 27 2012 06:20:38 GMT+0100 (CET)"},"2919":{"date":{"__isSmartRef__":true,"id":2920},"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"0F4DE333-A551-4961-B29D-70270977EBEF"},"2920":{"isSerializedDate":true,"string":"Sat Apr 21 2012 07:31:43 GMT+0200 (CEST)"},"2921":{"date":{"__isSmartRef__":true,"id":2922},"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"785D95BD-7858-43EB-90E6-A1C085E2F2B9"},"2922":{"isSerializedDate":true,"string":"Sat Apr 21 2012 07:32:09 GMT+0200 (CEST)"},"2923":{"date":{"__isSmartRef__":true,"id":2924},"author":"timfelgentreff","message":"better text","id":"B904F9AC-6EA0-4A8A-83C9-AFC85AADC194"},"2924":{"isSerializedDate":true,"string":"Tue May 08 2012 14:18:18 GMT+0200 (CEST)"},"2925":{"style":{"__isSmartRef__":true,"id":2926},"morph":{"__isSmartRef__":true,"id":2912},"chunkOwner":{"__isSmartRef__":true,"id":2912},"storedString":"And add user interaction...","_id":"_65","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2926":{"fontWeight":"bold","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2927":{"morph":{"__isSmartRef__":true,"id":2912},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2928":{"morph":{"__isSmartRef__":true,"id":2912},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(36.9,3315.6)"},"2929":{"morph":{"__isSmartRef__":true,"id":2912},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(460.4,3315.6)"},"2930":{"morph":{"__isSmartRef__":true,"id":2912},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(883.9,3315.6)"},"2931":{"morph":{"__isSmartRef__":true,"id":2912},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(883.9,3328.6)"},"2932":{"morph":{"__isSmartRef__":true,"id":2912},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(883.9,3341.6)"},"2933":{"morph":{"__isSmartRef__":true,"id":2912},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(460.4,3341.6)"},"2934":{"morph":{"__isSmartRef__":true,"id":2912},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(36.9,3341.6)"},"2935":{"morph":{"__isSmartRef__":true,"id":2912},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(36.9,3328.6)"},"2936":{"doSave":{"__isSmartRef__":true,"id":2937}},"2937":{"varMapping":{"__isSmartRef__":true,"id":2938},"source":"function doSave() {\n $world.saveWorld()\n}","funcProperties":{"__isSmartRef__":true,"id":2943},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2938":{"this":{"__isSmartRef__":true,"id":2912},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2939}},"2939":{"$super":{"__isSmartRef__":true,"id":2940}},"2940":{"varMapping":{"__isSmartRef__":true,"id":2941},"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":2942},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2941":{"obj":{"__isSmartRef__":true,"id":2912},"name":"doSave"},"2942":{},"2943":{"timestamp":{"__isSmartRef__":true,"id":2944},"user":"jenslincke","tags":[]},"2944":{"isSerializedDate":true,"string":"Fri Nov 16 2012 14:44:36 GMT+0100 (CET)"},"2945":{"submorphs":[{"__isSmartRef__":true,"id":2946},{"__isSmartRef__":true,"id":2970},{"__isSmartRef__":true,"id":2988},{"__isSmartRef__":true,"id":3261},{"__isSmartRef__":true,"id":2999},{"__isSmartRef__":true,"id":3413},{"__isSmartRef__":true,"id":4169},{"__isSmartRef__":true,"id":3430},{"__isSmartRef__":true,"id":3202},{"__isSmartRef__":true,"id":3590},{"__isSmartRef__":true,"id":4190}],"scripts":[],"id":"5E710618-B98C-4F04-ABCA-9151A59D8E1D","shape":{"__isSmartRef__":true,"id":4779},"__layered_droppingEnabled__":true,"halosEnabled":true,"showsHalos":false,"_isInFullScreen":false,"_traitConfig_":{"__isSmartRef__":true,"id":4780},"draggingEnabled":true,"partsBinMetaInfo":{"__isSmartRef__":true,"id":4782},"isCopyMorphRef":true,"morphRefId":2,"derivationIds":[1708,"81795DC6-889C-4FC6-B336-BAB6D7FC3CBD","0F3ECCAA-EB6B-4891-82DA-A858E99D3CD8","980A9694-B20B-4B10-A412-90AB7930BF00","08DB577A-00A0-4819-8B61-B03704EA863F"],"eventHandler":{"__isSmartRef__":true,"id":4784},"_ClipMode":"visible","moved":true,"name":"Figure5","prevScroll":[0,0],"magnets":[{"__isSmartRef__":true,"id":4785},{"__isSmartRef__":true,"id":4786},{"__isSmartRef__":true,"id":4787},{"__isSmartRef__":true,"id":4788},{"__isSmartRef__":true,"id":4789},{"__isSmartRef__":true,"id":4790},{"__isSmartRef__":true,"id":4791},{"__isSmartRef__":true,"id":4792}],"attributeConnections":[{"__isSmartRef__":true,"id":4793},{"__isSmartRef__":true,"id":3986},{"__isSmartRef__":true,"id":3988},{"__isSmartRef__":true,"id":3990},{"__isSmartRef__":true,"id":3992},{"__isSmartRef__":true,"id":3050},{"__isSmartRef__":true,"id":3052},{"__isSmartRef__":true,"id":3054},{"__isSmartRef__":true,"id":3056},{"__isSmartRef__":true,"id":4006},{"__isSmartRef__":true,"id":4008},{"__isSmartRef__":true,"id":4010},{"__isSmartRef__":true,"id":4012},{"__isSmartRef__":true,"id":4026},{"__isSmartRef__":true,"id":4028},{"__isSmartRef__":true,"id":4030},{"__isSmartRef__":true,"id":4032},{"__isSmartRef__":true,"id":3453},{"__isSmartRef__":true,"id":3455},{"__isSmartRef__":true,"id":3457},{"__isSmartRef__":true,"id":3459},{"__isSmartRef__":true,"id":3382},{"__isSmartRef__":true,"id":3384},{"__isSmartRef__":true,"id":3386},{"__isSmartRef__":true,"id":3388},{"__isSmartRef__":true,"id":3402},{"__isSmartRef__":true,"id":3404},{"__isSmartRef__":true,"id":3406},{"__isSmartRef__":true,"id":3408},{"__isSmartRef__":true,"id":3579},{"__isSmartRef__":true,"id":3581},{"__isSmartRef__":true,"id":3583},{"__isSmartRef__":true,"id":3585},{"__isSmartRef__":true,"id":4046},{"__isSmartRef__":true,"id":4048},{"__isSmartRef__":true,"id":4050},{"__isSmartRef__":true,"id":4052},{"__isSmartRef__":true,"id":3725},{"__isSmartRef__":true,"id":3727},{"__isSmartRef__":true,"id":3729},{"__isSmartRef__":true,"id":3731},{"__isSmartRef__":true,"id":4241},{"__isSmartRef__":true,"id":4243},{"__isSmartRef__":true,"id":4245},{"__isSmartRef__":true,"id":4247},{"__isSmartRef__":true,"id":4630},{"__isSmartRef__":true,"id":4632},{"__isSmartRef__":true,"id":4634},{"__isSmartRef__":true,"id":4636},{"__isSmartRef__":true,"id":4795},{"__isSmartRef__":true,"id":5310},{"__isSmartRef__":true,"id":5312},{"__isSmartRef__":true,"id":5314},{"__isSmartRef__":true,"id":5210},{"__isSmartRef__":true,"id":5212},{"__isSmartRef__":true,"id":5214},{"__isSmartRef__":true,"id":5216},{"__isSmartRef__":true,"id":5238},{"__isSmartRef__":true,"id":5240},{"__isSmartRef__":true,"id":5242},{"__isSmartRef__":true,"id":5244},{"__isSmartRef__":true,"id":5258},{"__isSmartRef__":true,"id":5260},{"__isSmartRef__":true,"id":5262},{"__isSmartRef__":true,"id":5264},{"__isSmartRef__":true,"id":5278},{"__isSmartRef__":true,"id":5280},{"__isSmartRef__":true,"id":5282},{"__isSmartRef__":true,"id":5284},{"__isSmartRef__":true,"id":5319},{"__isSmartRef__":true,"id":5834},{"__isSmartRef__":true,"id":5836},{"__isSmartRef__":true,"id":5838},{"__isSmartRef__":true,"id":5734},{"__isSmartRef__":true,"id":5736},{"__isSmartRef__":true,"id":5738},{"__isSmartRef__":true,"id":5740},{"__isSmartRef__":true,"id":5762},{"__isSmartRef__":true,"id":5764},{"__isSmartRef__":true,"id":5766},{"__isSmartRef__":true,"id":5768},{"__isSmartRef__":true,"id":5782},{"__isSmartRef__":true,"id":5784},{"__isSmartRef__":true,"id":5786},{"__isSmartRef__":true,"id":5788},{"__isSmartRef__":true,"id":5802},{"__isSmartRef__":true,"id":5804},{"__isSmartRef__":true,"id":5806},{"__isSmartRef__":true,"id":5808},{"__isSmartRef__":true,"id":5843},{"__isSmartRef__":true,"id":6358},{"__isSmartRef__":true,"id":6360},{"__isSmartRef__":true,"id":6362},{"__isSmartRef__":true,"id":6258},{"__isSmartRef__":true,"id":6260},{"__isSmartRef__":true,"id":6262},{"__isSmartRef__":true,"id":6264},{"__isSmartRef__":true,"id":6286},{"__isSmartRef__":true,"id":6288},{"__isSmartRef__":true,"id":6290},{"__isSmartRef__":true,"id":6292},{"__isSmartRef__":true,"id":6306},{"__isSmartRef__":true,"id":6308},{"__isSmartRef__":true,"id":6310},{"__isSmartRef__":true,"id":6312},{"__isSmartRef__":true,"id":6326},{"__isSmartRef__":true,"id":6328},{"__isSmartRef__":true,"id":6330},{"__isSmartRef__":true,"id":6332},{"__isSmartRef__":true,"id":6367},{"__isSmartRef__":true,"id":6882},{"__isSmartRef__":true,"id":6884},{"__isSmartRef__":true,"id":6886},{"__isSmartRef__":true,"id":6782},{"__isSmartRef__":true,"id":6784},{"__isSmartRef__":true,"id":6786},{"__isSmartRef__":true,"id":6788},{"__isSmartRef__":true,"id":6810},{"__isSmartRef__":true,"id":6812},{"__isSmartRef__":true,"id":6814},{"__isSmartRef__":true,"id":6816},{"__isSmartRef__":true,"id":6830},{"__isSmartRef__":true,"id":6832},{"__isSmartRef__":true,"id":6834},{"__isSmartRef__":true,"id":6836},{"__isSmartRef__":true,"id":6850},{"__isSmartRef__":true,"id":6852},{"__isSmartRef__":true,"id":6854},{"__isSmartRef__":true,"id":6856},{"__isSmartRef__":true,"id":6891},{"__isSmartRef__":true,"id":7366},{"__isSmartRef__":true,"id":7368},{"__isSmartRef__":true,"id":7370},{"__isSmartRef__":true,"id":7314},{"__isSmartRef__":true,"id":7316},{"__isSmartRef__":true,"id":7318},{"__isSmartRef__":true,"id":7320},{"__isSmartRef__":true,"id":7334},{"__isSmartRef__":true,"id":7336},{"__isSmartRef__":true,"id":7338},{"__isSmartRef__":true,"id":7340},{"__isSmartRef__":true,"id":7375},{"__isSmartRef__":true,"id":7850},{"__isSmartRef__":true,"id":7852},{"__isSmartRef__":true,"id":7854},{"__isSmartRef__":true,"id":7798},{"__isSmartRef__":true,"id":7800},{"__isSmartRef__":true,"id":7802},{"__isSmartRef__":true,"id":7804},{"__isSmartRef__":true,"id":7818},{"__isSmartRef__":true,"id":7820},{"__isSmartRef__":true,"id":7822},{"__isSmartRef__":true,"id":7824},{"__isSmartRef__":true,"id":7859},{"__isSmartRef__":true,"id":8334},{"__isSmartRef__":true,"id":8336},{"__isSmartRef__":true,"id":8338},{"__isSmartRef__":true,"id":8282},{"__isSmartRef__":true,"id":8284},{"__isSmartRef__":true,"id":8286},{"__isSmartRef__":true,"id":8288},{"__isSmartRef__":true,"id":8302},{"__isSmartRef__":true,"id":8304},{"__isSmartRef__":true,"id":8306},{"__isSmartRef__":true,"id":8308},{"__isSmartRef__":true,"id":8343},{"__isSmartRef__":true,"id":8818},{"__isSmartRef__":true,"id":8820},{"__isSmartRef__":true,"id":8822},{"__isSmartRef__":true,"id":8766},{"__isSmartRef__":true,"id":8768},{"__isSmartRef__":true,"id":8770},{"__isSmartRef__":true,"id":8772},{"__isSmartRef__":true,"id":8786},{"__isSmartRef__":true,"id":8788},{"__isSmartRef__":true,"id":8790},{"__isSmartRef__":true,"id":8792},{"__isSmartRef__":true,"id":8827},{"__isSmartRef__":true,"id":9342},{"__isSmartRef__":true,"id":9344},{"__isSmartRef__":true,"id":9346},{"__isSmartRef__":true,"id":9242},{"__isSmartRef__":true,"id":9244},{"__isSmartRef__":true,"id":9246},{"__isSmartRef__":true,"id":9248},{"__isSmartRef__":true,"id":9270},{"__isSmartRef__":true,"id":9272},{"__isSmartRef__":true,"id":9274},{"__isSmartRef__":true,"id":9276},{"__isSmartRef__":true,"id":9290},{"__isSmartRef__":true,"id":9292},{"__isSmartRef__":true,"id":9294},{"__isSmartRef__":true,"id":9296},{"__isSmartRef__":true,"id":9310},{"__isSmartRef__":true,"id":9312},{"__isSmartRef__":true,"id":9314},{"__isSmartRef__":true,"id":9316},{"__isSmartRef__":true,"id":9351},{"__isSmartRef__":true,"id":9797},{"__isSmartRef__":true,"id":9799},{"__isSmartRef__":true,"id":9801},{"__isSmartRef__":true,"id":9431},{"__isSmartRef__":true,"id":9433},{"__isSmartRef__":true,"id":9435},{"__isSmartRef__":true,"id":9437},{"__isSmartRef__":true,"id":9451},{"__isSmartRef__":true,"id":9453},{"__isSmartRef__":true,"id":9455},{"__isSmartRef__":true,"id":9457},{"__isSmartRef__":true,"id":9806},{"__isSmartRef__":true,"id":10252},{"__isSmartRef__":true,"id":10254},{"__isSmartRef__":true,"id":10256},{"__isSmartRef__":true,"id":9886},{"__isSmartRef__":true,"id":9888},{"__isSmartRef__":true,"id":9890},{"__isSmartRef__":true,"id":9892},{"__isSmartRef__":true,"id":9906},{"__isSmartRef__":true,"id":9908},{"__isSmartRef__":true,"id":9910},{"__isSmartRef__":true,"id":9912},{"__isSmartRef__":true,"id":10261},{"__isSmartRef__":true,"id":10776},{"__isSmartRef__":true,"id":10778},{"__isSmartRef__":true,"id":10780},{"__isSmartRef__":true,"id":10676},{"__isSmartRef__":true,"id":10678},{"__isSmartRef__":true,"id":10680},{"__isSmartRef__":true,"id":10682},{"__isSmartRef__":true,"id":10704},{"__isSmartRef__":true,"id":10706},{"__isSmartRef__":true,"id":10708},{"__isSmartRef__":true,"id":10710},{"__isSmartRef__":true,"id":10724},{"__isSmartRef__":true,"id":10726},{"__isSmartRef__":true,"id":10728},{"__isSmartRef__":true,"id":10730},{"__isSmartRef__":true,"id":10744},{"__isSmartRef__":true,"id":10746},{"__isSmartRef__":true,"id":10748},{"__isSmartRef__":true,"id":10750},{"__isSmartRef__":true,"id":10785},{"__isSmartRef__":true,"id":11260},{"__isSmartRef__":true,"id":11262},{"__isSmartRef__":true,"id":11264},{"__isSmartRef__":true,"id":11208},{"__isSmartRef__":true,"id":11210},{"__isSmartRef__":true,"id":11212},{"__isSmartRef__":true,"id":11214},{"__isSmartRef__":true,"id":11228},{"__isSmartRef__":true,"id":11230},{"__isSmartRef__":true,"id":11232},{"__isSmartRef__":true,"id":11234},{"__isSmartRef__":true,"id":11269},{"__isSmartRef__":true,"id":11724},{"__isSmartRef__":true,"id":11726},{"__isSmartRef__":true,"id":11728},{"__isSmartRef__":true,"id":11692},{"__isSmartRef__":true,"id":11694},{"__isSmartRef__":true,"id":11696},{"__isSmartRef__":true,"id":11698},{"__isSmartRef__":true,"id":11733},{"__isSmartRef__":true,"id":12188},{"__isSmartRef__":true,"id":12190},{"__isSmartRef__":true,"id":12192},{"__isSmartRef__":true,"id":12156},{"__isSmartRef__":true,"id":12158},{"__isSmartRef__":true,"id":12160},{"__isSmartRef__":true,"id":12162},{"__isSmartRef__":true,"id":4650},{"__isSmartRef__":true,"id":4652},{"__isSmartRef__":true,"id":4654},{"__isSmartRef__":true,"id":4656},{"__isSmartRef__":true,"id":12197},{"__isSmartRef__":true,"id":12643},{"__isSmartRef__":true,"id":12645},{"__isSmartRef__":true,"id":12647},{"__isSmartRef__":true,"id":12277},{"__isSmartRef__":true,"id":12279},{"__isSmartRef__":true,"id":12281},{"__isSmartRef__":true,"id":12283},{"__isSmartRef__":true,"id":12297},{"__isSmartRef__":true,"id":12299},{"__isSmartRef__":true,"id":12301},{"__isSmartRef__":true,"id":12303}],"doNotSerialize":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"doNotCopyProperties":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"_Scale":1,"_Rotation":0,"owner":{"__isSmartRef__":true,"id":0},"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":12652},"__LivelyClassName__":"lively.Presentation.PageMorph","__SourceModuleName__":"Global.lively.Presentation","distanceToDragEvent":"lively.pt(560.1,-11.6)","_Position":"lively.pt(42.0,2931.7)"},"2946":{"submorphs":[],"scripts":[],"id":"88E96495-0D99-4FC9-818E-C6BA270492BA","shape":{"__isSmartRef__":true,"id":2947},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":180.8018403394826,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":19,"name":"NameLabel3","partsBinMetaInfo":{"__isSmartRef__":true,"id":2948},"textChunks":[{"__isSmartRef__":true,"id":2950}],"charsReplaced":"A1","lastFindLoc":2,"prevScroll":[0,0],"attributeConnections":[{"__isSmartRef__":true,"id":2952},{"__isSmartRef__":true,"id":2953}],"doNotSerialize":["$$owner","$$savedTextString"],"doNotCopyProperties":["$$owner","$$savedTextString"],"isInputLine":true,"savedTextString":"Figure1","eventHandler":{"__isSmartRef__":true,"id":2954},"derivationIds":[7027,"331C6367-0699-4BD6-9916-ABA82517453B","BEAA7850-FEFB-4AFD-9E06-730FF35D99A4","559B0B8A-5C01-4133-88B2-0D08385E23F6","BE195383-D309-4B6E-A6B0-79A6112B4011","E323F75A-232F-4712-9A03-20C8FD574C9A","D1DCE0BF-FCF8-466F-838F-89595E55C245","FCAF479D-4C9A-4FD1-8256-4AFC8C38B123","C36EA3F5-6B17-4521-AB50-F75B6611E475","339B053D-D0DD-489F-93B1-B119812B9D80"],"_WhiteSpaceHandling":"pre-wrap","_ClipMode":"visible","moved":true,"isBeingDragged":false,"_WordBreak":"break-all","magnets":[{"__isSmartRef__":true,"id":2955},{"__isSmartRef__":true,"id":2956},{"__isSmartRef__":true,"id":2957},{"__isSmartRef__":true,"id":2958},{"__isSmartRef__":true,"id":2959},{"__isSmartRef__":true,"id":2960},{"__isSmartRef__":true,"id":2961},{"__isSmartRef__":true,"id":2962}],"_PreviousBorderWidth":1,"oldOwner":{"__isSmartRef__":true,"id":2945},"owner":{"__isSmartRef__":true,"id":2945},"_Rotation":0,"_Scale":0.9999999999999997,"__serializedExpressions__":["_Position","textColor","distanceToDragEvent","_TextColor"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2963},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(5.8,0.9)","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(137.9,-12.9)","_TextColor":"Color.rgb(255,143,0)"},"2947":{"fill":null,"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(206.5,29.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"2948":{"migrationLevel":2,"comment":"Label that shows the name of a morph. Updates automatically.","partName":"NameLabel","lastModifiedDate":{"__isSmartRef__":true,"id":2949},"revisionOnLoad":140039,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"2949":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (CEST)"},"2950":{"style":{"__isSmartRef__":true,"id":2951},"chunkOwner":{"__isSmartRef__":true,"id":2946},"_id":"_38717","storedString":"Figure5","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2951":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2952":{"sourceObj":{"__isSmartRef__":true,"id":2946},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":2946},"targetMethodName":"updateLabel","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2953":{"sourceObj":{"__isSmartRef__":true,"id":2946},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":2946},"targetMethodName":"renameOwner","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2954":{"morph":{"__isSmartRef__":true,"id":2946},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2955":{"morph":{"__isSmartRef__":true,"id":2946},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(42.7,3356.5)"},"2956":{"morph":{"__isSmartRef__":true,"id":2946},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(145.9,3356.5)"},"2957":{"morph":{"__isSmartRef__":true,"id":2946},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(249.2,3356.5)"},"2958":{"morph":{"__isSmartRef__":true,"id":2946},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(249.2,3371.0)"},"2959":{"morph":{"__isSmartRef__":true,"id":2946},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(249.2,3385.5)"},"2960":{"morph":{"__isSmartRef__":true,"id":2946},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(145.9,3385.5)"},"2961":{"morph":{"__isSmartRef__":true,"id":2946},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(42.7,3385.5)"},"2962":{"morph":{"__isSmartRef__":true,"id":2946},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(42.7,3371.0)"},"2963":{"updateLabel":{"__isSmartRef__":true,"id":2964},"renameOwner":{"__isSmartRef__":true,"id":2967}},"2964":{"varMapping":{"__isSmartRef__":true,"id":2965},"source":"function updateLabel() {\n\t// observe name changes in owner\n\tif (this.owner !== this.oldOwner) {\n\t\tif (this.oldOwner)\n\t\t\tdisconnect(this.oldOwner, 'name', this, 'updateLabel')\n\t\tif (this.owner)\n\t\t\tconnect(this.owner, 'name', this, 'updateLabel')\n\t\tthis.oldOwner = this.owner\n\t}\n\tvar name = (this.owner ? this.owner.name : \"no owner\")\n\tif (this.textString != name)\n\tthis.setTextString(name)\n}","funcProperties":{"__isSmartRef__":true,"id":2966},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2965":{"this":{"__isSmartRef__":true,"id":2946}},"2966":{},"2967":{"varMapping":{"__isSmartRef__":true,"id":2968},"source":"function renameOwner(name) {\n\tif (this.owner && this.owner.name != name) {\n\t\talertOK(\"renamed \" + this.owner + \" to \" + name)\n\t\tthis.owner.setName(name);\n\t}\n}","funcProperties":{"__isSmartRef__":true,"id":2969},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2968":{"this":{"__isSmartRef__":true,"id":2946}},"2969":{},"2970":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2971},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":2972},{"__isSmartRef__":true,"id":2974}],"eventHandler":{"__isSmartRef__":true,"id":2976},"_ClipMode":"auto","derivationIds":[],"id":"8660ADB8-168B-4337-8A88-52BD9AF80E59","grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":true,"_HandStyle":null,"allowInput":true,"_FontFamily":"Monaco,monospace","_FontSize":10,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":2945},"layout":{"__isSmartRef__":true,"id":2977},"syntaxHighlightingWhileTyping":true,"attributeConnections":[{"__isSmartRef__":true,"id":2978}],"doNotSerialize":["$$textString","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors"],"doNotCopyProperties":["$$textString"],"accessibleInInactiveWindow":true,"_lastSyntaxHighlightTime":4,"showsHalos":false,"isBeingDragged":false,"name":"Console","magnets":[{"__isSmartRef__":true,"id":2980},{"__isSmartRef__":true,"id":2981},{"__isSmartRef__":true,"id":2982},{"__isSmartRef__":true,"id":2983},{"__isSmartRef__":true,"id":2984},{"__isSmartRef__":true,"id":2985},{"__isSmartRef__":true,"id":2986},{"__isSmartRef__":true,"id":2987}],"charsReplaced":"","lastFindLoc":3,"_Rotation":0,"_Scale":1,"previousSelection":[35,35],"__serializedExpressions__":["_TextColor","_Position","distanceToDragEvent"],"textString":"[]","priorSelectionRange":[34,35],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.1,235.4)","distanceToDragEvent":"lively.pt(564.6,-15.4)"},"2971":{"_BorderWidth":1,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor","_Fill"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(848.0,43.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(95,94,95)","_Fill":"Color.rgb(243,243,243)"},"2972":{"style":{"__isSmartRef__":true,"id":2973},"chunkOwner":{"__isSmartRef__":true,"id":2970},"_id":"_11","storedString":"[<","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2973":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"2974":{"_id":"_340","style":{"__isSmartRef__":true,"id":2975},"chunkOwner":{"__isSmartRef__":true,"id":2970},"storedString":"lively.morphic.Box#1A7DC... - B>]","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2975":{"__serializedExpressions__":["color","backgroundColor"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)","backgroundColor":"Color.rgb(253,192,185)"},"2976":{"morph":{"__isSmartRef__":true,"id":2970},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2977":{"resizeWidth":true,"resizeHeight":true},"2978":{"sourceObj":{"__isSmartRef__":true,"id":2970},"sourceAttrName":"textString","targetObj":{"__isSmartRef__":true,"id":2970},"targetMethodName":"highlightSyntaxDebounced","varMapping":{"__isSmartRef__":true,"id":2979},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2979":{"source":{"__isSmartRef__":true,"id":2970},"target":{"__isSmartRef__":true,"id":2970}},"2980":{"morph":{"__isSmartRef__":true,"id":2970},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(37.0,3591.0)"},"2981":{"morph":{"__isSmartRef__":true,"id":2970},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(461.0,3591.0)"},"2982":{"morph":{"__isSmartRef__":true,"id":2970},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(885.0,3591.0)"},"2983":{"morph":{"__isSmartRef__":true,"id":2970},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(885.0,3612.5)"},"2984":{"morph":{"__isSmartRef__":true,"id":2970},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(885.0,3634.0)"},"2985":{"morph":{"__isSmartRef__":true,"id":2970},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(461.0,3634.0)"},"2986":{"morph":{"__isSmartRef__":true,"id":2970},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(37.0,3634.0)"},"2987":{"morph":{"__isSmartRef__":true,"id":2970},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(37.0,3612.5)"},"2988":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2989},"id":"7E5BCFED-7375-4610-A71E-736E3A4A422F","eventHandler":{"__isSmartRef__":true,"id":2992},"__layered_droppingEnabled__":true,"halosEnabled":true,"isBeingDragged":false,"controlPoints":[{"__isSmartRef__":true,"id":2993},{"__isSmartRef__":true,"id":2994}],"showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":2995},"name":"Line3","derivationIds":[731,"5E6BD741-9C99-47B9-95C1-7A028178DB17","A8D5C37A-F23F-47FE-8DE2-211CE4484A4F","F722069B-8602-4E8D-BE3F-92A1E0C0EF28","D5ED19F9-968E-4C7E-9936-69F2735A813F","A9E370BC-F208-425C-BFFC-F8D6BB52E11F","4E431641-D056-46CB-B2A8-6626382EF423"],"_ClipMode":"visible","controlPointsHalos":[],"prevScroll":[0,0],"grabbingEnabled":false,"moved":true,"#startLetters":"controlPoints[0]","fromMorph":{"__isSmartRef__":true,"id":2999},"toMorph":{"__isSmartRef__":true,"id":2999},"update":{"__isSmartRef__":true,"id":4070},"isCopyMorphRef":true,"morphRefId":3,"selectedMorph":{"__isSmartRef__":true,"id":2999},"selectedMorphHighlights":[],"owner":{"__isSmartRef__":true,"id":2945},"_Rotation":0,"_Scale":1,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4072},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","distanceToDragEvent":"lively.pt(295.7,-20.8)","_Position":"lively.pt(89.1,116.6)"},"2989":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":2990},{"__isSmartRef__":true,"id":2991}],"_ClipMode":"visible","_BorderWidth":3.1119999999999997,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Padding","_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(-1.5,-1.5)","_Extent":"lively.pt(3.0,3.0)","_BorderColor":"Color.rgb(161,161,161)"},"2990":{"isAbsolute":true,"x":0.5,"y":0.5,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"2991":{"isAbsolute":true,"x":0.5,"y":0.5,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"2992":{"morph":{"__isSmartRef__":true,"id":2988},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2993":{"morph":{"__isSmartRef__":true,"id":2988},"index":0,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"2994":{"morph":{"__isSmartRef__":true,"id":2988},"index":1,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"2995":{"requiredModules":[],"migrationLevel":4,"partsSpaceName":"PartsBin/Jens/","comment":"a line","partName":"Connector","lastModifiedDate":{"__isSmartRef__":true,"id":2996},"revisionOnLoad":186528,"changes":[{"__isSmartRef__":true,"id":2997}],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"2996":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:18 GMT+0100 (CET)"},"2997":{"date":{"__isSmartRef__":true,"id":2998},"author":"jenslincke","message":"no comment","id":"28165CED-C8C5-4B8E-9655-645E3F5099BB"},"2998":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:42 GMT+0100 (CET)"},"2999":{"submorphs":[{"__isSmartRef__":true,"id":3000}],"scripts":[],"id":"1A7DC4D8-6C49-4243-8B1D-04CED44FD759","shape":{"__isSmartRef__":true,"id":3076},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"B","partsBinMetaInfo":{"__isSmartRef__":true,"id":3077},"eventHandler":{"__isSmartRef__":true,"id":3095},"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","BBAFB862-93AE-4F89-BCFF-9F1C67B7FE4C","7EC17E78-593A-4CC8-B7E3-859BCBBFE785","FDB06D4A-9F4E-4B8C-A67C-671A9583EFE8","1C80FDE1-05C0-4148-9AD8-33C88667084C","5059E383-6BE3-4AD3-A9C4-89DA9D8D5E99","5B810AFE-E692-4EB4-A695-ABB4A95CEA39","BFFEF617-9B97-45D4-A541-8E33A6A17485","A10BBA48-4AD1-425A-AC7B-2F5515CE56F5","319DCFA5-FBA0-4E93-825A-584A580A412F"],"partTests":{"__isSmartRef__":true,"id":3096},"_ClipMode":"visible","moved":true,"isBeingDragged":false,"magnets":[{"__isSmartRef__":true,"id":3101},{"__isSmartRef__":true,"id":3102},{"__isSmartRef__":true,"id":3103},{"__isSmartRef__":true,"id":3104},{"__isSmartRef__":true,"id":3972},{"__isSmartRef__":true,"id":3973},{"__isSmartRef__":true,"id":3974},{"__isSmartRef__":true,"id":3975}],"attributeConnections":[{"__isSmartRef__":true,"id":3023},{"__isSmartRef__":true,"id":3976},{"__isSmartRef__":true,"id":3978},{"__isSmartRef__":true,"id":3980},{"__isSmartRef__":true,"id":3982},{"__isSmartRef__":true,"id":3984},{"__isSmartRef__":true,"id":3042},{"__isSmartRef__":true,"id":3044},{"__isSmartRef__":true,"id":3046},{"__isSmartRef__":true,"id":3048},{"__isSmartRef__":true,"id":3996},{"__isSmartRef__":true,"id":3998},{"__isSmartRef__":true,"id":4000},{"__isSmartRef__":true,"id":4002},{"__isSmartRef__":true,"id":4004},{"__isSmartRef__":true,"id":4016},{"__isSmartRef__":true,"id":4018},{"__isSmartRef__":true,"id":4020},{"__isSmartRef__":true,"id":4022},{"__isSmartRef__":true,"id":4024},{"__isSmartRef__":true,"id":4036},{"__isSmartRef__":true,"id":4038},{"__isSmartRef__":true,"id":4040},{"__isSmartRef__":true,"id":4042},{"__isSmartRef__":true,"id":4044}],"doNotSerialize":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"doNotCopyProperties":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"isCopyMorphRef":true,"morphRefId":3,"prevScroll":[0,0],"_Scale":0.9999999999999996,"_Rotation":0.5699219218563105,"owner":{"__isSmartRef__":true,"id":2945},"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4056},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","distanceToDragEvent":"lively.pt(35.0,-16.3)","_Position":"lively.pt(73.7,59.4)"},"3000":{"submorphs":[],"scripts":[],"id":"38DF0DD5-01B1-4481-B32C-B1595F8042DF","shape":{"__isSmartRef__":true,"id":3001},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":180.8018403394826,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":19,"name":"NameLabel2","partsBinMetaInfo":{"__isSmartRef__":true,"id":3002},"textChunks":[{"__isSmartRef__":true,"id":3004}],"charsReplaced":"A1","lastFindLoc":2,"prevScroll":[0,0],"attributeConnections":[{"__isSmartRef__":true,"id":3006},{"__isSmartRef__":true,"id":3007},{"__isSmartRef__":true,"id":3008},{"__isSmartRef__":true,"id":3034},{"__isSmartRef__":true,"id":3036},{"__isSmartRef__":true,"id":3038},{"__isSmartRef__":true,"id":3040}],"doNotSerialize":["$$owner","$$savedTextString","$$_Position","$$_Scale","$$_Rotation"],"doNotCopyProperties":["$$owner","$$savedTextString","$$_Position","$$_Scale","$$_Rotation"],"isInputLine":true,"savedTextString":"B","eventHandler":{"__isSmartRef__":true,"id":3060},"derivationIds":[7027,"331C6367-0699-4BD6-9916-ABA82517453B","BEAA7850-FEFB-4AFD-9E06-730FF35D99A4","559B0B8A-5C01-4133-88B2-0D08385E23F6","BE195383-D309-4B6E-A6B0-79A6112B4011","E323F75A-232F-4712-9A03-20C8FD574C9A","E6E38336-AA2D-4F75-80C1-B1617DD8544E","DAFCD826-DF9B-4DEF-B4D7-59AAED8D199D","3999CB16-D9E3-4D28-A617-9B093624E8AC","24C6A462-5AF8-4580-9777-8F5696841AF0"],"_WhiteSpaceHandling":"pre-wrap","_ClipMode":"visible","moved":true,"isBeingDragged":false,"_WordBreak":"break-all","magnets":[{"__isSmartRef__":true,"id":3061},{"__isSmartRef__":true,"id":3062},{"__isSmartRef__":true,"id":3063},{"__isSmartRef__":true,"id":3064},{"__isSmartRef__":true,"id":3065},{"__isSmartRef__":true,"id":3066},{"__isSmartRef__":true,"id":3067},{"__isSmartRef__":true,"id":3068}],"_PreviousBorderWidth":1,"owner":{"__isSmartRef__":true,"id":2999},"oldOwner":{"__isSmartRef__":true,"id":2999},"_Rotation":0,"_Scale":0.9999999999999997,"__serializedExpressions__":["_Position","textColor","distanceToDragEvent","_TextColor"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3069},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(34.8,36.8)","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(31.1,-9.9)","_TextColor":"Color.rgb(255,143,0)"},"3001":{"fill":null,"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(42.8,29.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"3002":{"migrationLevel":2,"comment":"Label that shows the name of a morph. Updates automatically.","partName":"NameLabel","lastModifiedDate":{"__isSmartRef__":true,"id":3003},"revisionOnLoad":140039,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"3003":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (CEST)"},"3004":{"style":{"__isSmartRef__":true,"id":3005},"chunkOwner":{"__isSmartRef__":true,"id":3000},"_id":"_33709","storedString":"B","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3005":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3006":{"sourceObj":{"__isSmartRef__":true,"id":3000},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":3000},"targetMethodName":"updateLabel","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3007":{"sourceObj":{"__isSmartRef__":true,"id":3000},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":3000},"targetMethodName":"renameOwner","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3008":{"sourceObj":{"__isSmartRef__":true,"id":3000},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":3009},"targetMethodName":"realignConnection","varMapping":{"__isSmartRef__":true,"id":3033},"dependendConnections":[{"__isSmartRef__":true,"id":3034},{"__isSmartRef__":true,"id":3036},{"__isSmartRef__":true,"id":3038},{"__isSmartRef__":true,"id":3040},{"__isSmartRef__":true,"id":3042},{"__isSmartRef__":true,"id":3044},{"__isSmartRef__":true,"id":3046},{"__isSmartRef__":true,"id":3048},{"__isSmartRef__":true,"id":3050},{"__isSmartRef__":true,"id":3052},{"__isSmartRef__":true,"id":3054},{"__isSmartRef__":true,"id":3056}],"oldTransform":{"__isSmartRef__":true,"id":3058},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"3009":{"submorphs":[{"__isSmartRef__":true,"id":3010}],"scripts":[],"shape":{"__isSmartRef__":true,"id":3017},"eventHandler":{"__isSmartRef__":true,"id":3020},"_ClipMode":"visible","derivationIds":[],"id":"5814672F-102B-41EE-9D91-9FA58B6451FD","__layered_droppingEnabled__":true,"halosEnabled":true,"owner":null,"controlPoints":[{"__isSmartRef__":true,"id":3021},{"__isSmartRef__":true,"id":3022}],"con":{"__isSmartRef__":true,"id":3023},"showsMorphMenu":true,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3025},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"3010":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3011},"eventHandler":{"__isSmartRef__":true,"id":3016},"_ClipMode":"visible","derivationIds":[],"id":"01253C2A-18A1-43A8-AA72-260E7FC0929E","__layered_droppingEnabled__":true,"halosEnabled":true,"owner":{"__isSmartRef__":true,"id":3009},"_Rotation":1.3832457846463706,"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","_Position":"lively.pt(259.1,3427.8)"},"3011":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":3012},{"__isSmartRef__":true,"id":3013},{"__isSmartRef__":true,"id":3014},{"__isSmartRef__":true,"id":3015}],"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor","_Fill"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Position":"lively.pt(-12.0,-6.0)","_Extent":"lively.pt(17.0,13.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(0,0,0)"},"3012":{"isAbsolute":true,"x":-11,"y":-5,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"3013":{"isAbsolute":true,"x":-11,"y":7,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"3014":{"isAbsolute":true,"x":5,"y":1,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"3015":{"isAbsolute":true,"x":-11,"y":-5,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"3016":{"morph":{"__isSmartRef__":true,"id":3010},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3017":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":3018},{"__isSmartRef__":true,"id":3019}],"_BorderWidth":1,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Position":"lively.pt(248.7,3377.0)","_Extent":"lively.pt(10.4,50.8)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"3018":{"isAbsolute":true,"x":249.7,"y":3378,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"3019":{"isAbsolute":true,"x":259.14357977177195,"y":3427.7604139964105,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"3020":{"morph":{"__isSmartRef__":true,"id":3009},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3021":{"morph":{"__isSmartRef__":true,"id":3009},"index":0,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"3022":{"morph":{"__isSmartRef__":true,"id":3009},"index":1,"marker":{"__isSmartRef__":true,"id":3010},"markerDirection":"prev","__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"3023":{"sourceObj":{"__isSmartRef__":true,"id":2999},"sourceAttrName":"name","targetObj":{"__isSmartRef__":true,"id":3000},"targetMethodName":"updateLabel","varMapping":{"__isSmartRef__":true,"id":3024},"visualConnector":{"__isSmartRef__":true,"id":3009},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3024":{"source":{"__isSmartRef__":true,"id":2999},"target":{"__isSmartRef__":true,"id":3000}},"3025":{"morphMenuItems":{"__isSmartRef__":true,"id":3026}},"3026":{"varMapping":{"__isSmartRef__":true,"id":3027},"source":"function morphMenuItems() {\n var visualConnector = this, con = this.con, world = $world;\n var items = [\n ['Edit converter', function() {\n var window = lively.bindings.editConnection(con);\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":3032},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3027":{"this":{"__isSmartRef__":true,"id":3009},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3028}},"3028":{"$super":{"__isSmartRef__":true,"id":3029}},"3029":{"varMapping":{"__isSmartRef__":true,"id":3030},"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":3031},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3030":{"obj":{"__isSmartRef__":true,"id":3009},"name":"morphMenuItems"},"3031":{},"3032":{},"3033":{"source":{"__isSmartRef__":true,"id":3000},"target":{"__isSmartRef__":true,"id":3009}},"3034":{"sourceObj":{"__isSmartRef__":true,"id":3000},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":3008},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":3035},"dependedBy":{"__isSmartRef__":true,"id":3008},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3035":{"source":{"__isSmartRef__":true,"id":3000},"target":{"__isSmartRef__":true,"id":3008}},"3036":{"sourceObj":{"__isSmartRef__":true,"id":3000},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":3008},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":3037},"dependedBy":{"__isSmartRef__":true,"id":3008},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3037":{"source":{"__isSmartRef__":true,"id":3000},"target":{"__isSmartRef__":true,"id":3008}},"3038":{"sourceObj":{"__isSmartRef__":true,"id":3000},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":3008},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":3039},"dependedBy":{"__isSmartRef__":true,"id":3008},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3039":{"source":{"__isSmartRef__":true,"id":3000},"target":{"__isSmartRef__":true,"id":3008}},"3040":{"sourceObj":{"__isSmartRef__":true,"id":3000},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":3008},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":3041},"dependedBy":{"__isSmartRef__":true,"id":3008},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3041":{"source":{"__isSmartRef__":true,"id":3000},"target":{"__isSmartRef__":true,"id":3008}},"3042":{"sourceObj":{"__isSmartRef__":true,"id":2999},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":3008},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":3043},"dependedBy":{"__isSmartRef__":true,"id":3008},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3043":{"source":{"__isSmartRef__":true,"id":2999},"target":{"__isSmartRef__":true,"id":3008}},"3044":{"sourceObj":{"__isSmartRef__":true,"id":2999},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":3008},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":3045},"dependedBy":{"__isSmartRef__":true,"id":3008},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3045":{"source":{"__isSmartRef__":true,"id":2999},"target":{"__isSmartRef__":true,"id":3008}},"3046":{"sourceObj":{"__isSmartRef__":true,"id":2999},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":3008},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":3047},"dependedBy":{"__isSmartRef__":true,"id":3008},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3047":{"source":{"__isSmartRef__":true,"id":2999},"target":{"__isSmartRef__":true,"id":3008}},"3048":{"sourceObj":{"__isSmartRef__":true,"id":2999},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":3008},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":3049},"dependedBy":{"__isSmartRef__":true,"id":3008},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3049":{"source":{"__isSmartRef__":true,"id":2999},"target":{"__isSmartRef__":true,"id":3008}},"3050":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":3008},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":3051},"dependedBy":{"__isSmartRef__":true,"id":3008},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3051":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":3008}},"3052":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":3008},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":3053},"dependedBy":{"__isSmartRef__":true,"id":3008},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3053":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":3008}},"3054":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":3008},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":3055},"dependedBy":{"__isSmartRef__":true,"id":3008},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3055":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":3008}},"3056":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":3008},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":3057},"dependedBy":{"__isSmartRef__":true,"id":3008},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3057":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":3008}},"3058":{"d":0.8419431060646688,"a":0.8419431060646688,"f":3040.8764300124267,"e":125.16860479679698,"c":-0.539566313023873,"b":0.539566313023873,"matrix_":{"__isSmartRef__":true,"id":3059},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3059":{"a":0.8419431060646688,"b":0.539566313023873,"c":-0.539566313023873,"d":0.8419431060646688,"e":125.16860479679698,"f":3040.8764300124267,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3060":{"morph":{"__isSmartRef__":true,"id":3000},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3061":{"morph":{"__isSmartRef__":true,"id":3000},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(120.0,3464.8)"},"3062":{"morph":{"__isSmartRef__":true,"id":3000},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(138.1,3476.3)"},"3063":{"morph":{"__isSmartRef__":true,"id":3000},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(156.1,3487.9)"},"3064":{"morph":{"__isSmartRef__":true,"id":3000},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(148.3,3500.1)"},"3065":{"morph":{"__isSmartRef__":true,"id":3000},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(140.4,3512.3)"},"3066":{"morph":{"__isSmartRef__":true,"id":3000},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(122.4,3500.7)"},"3067":{"morph":{"__isSmartRef__":true,"id":3000},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(104.4,3489.2)"},"3068":{"morph":{"__isSmartRef__":true,"id":3000},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(112.2,3477.0)"},"3069":{"updateLabel":{"__isSmartRef__":true,"id":3070},"renameOwner":{"__isSmartRef__":true,"id":3073}},"3070":{"varMapping":{"__isSmartRef__":true,"id":3071},"source":"function updateLabel() {\n\t// observe name changes in owner\n\tif (this.owner !== this.oldOwner) {\n\t\tif (this.oldOwner)\n\t\t\tdisconnect(this.oldOwner, 'name', this, 'updateLabel')\n\t\tif (this.owner)\n\t\t\tconnect(this.owner, 'name', this, 'updateLabel')\n\t\tthis.oldOwner = this.owner\n\t}\n\tvar name = (this.owner ? this.owner.name : \"no owner\")\n\tif (this.textString != name)\n\tthis.setTextString(name)\n}","funcProperties":{"__isSmartRef__":true,"id":3072},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3071":{"this":{"__isSmartRef__":true,"id":3000}},"3072":{},"3073":{"varMapping":{"__isSmartRef__":true,"id":3074},"source":"function renameOwner(name) {\n\tif (this.owner && this.owner.name != name) {\n\t\talertOK(\"renamed \" + this.owner + \" to \" + name)\n\t\tthis.owner.setName(name);\n\t}\n}","funcProperties":{"__isSmartRef__":true,"id":3075},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3074":{"this":{"__isSmartRef__":true,"id":3000}},"3075":{},"3076":{"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(89.0,80.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgba(204,204,204,0.5)","_Padding":"lively.rect(0,0,0,0)"},"3077":{"partsSpaceName":"PartsBin/Basic","comment":"A simple box morph. A really orange one. Its amazing what you can build out of simple boxes.... Who needs stars when you got orange rectangles!","migrationLevel":4,"partName":"Rectangle","changes":[{"__isSmartRef__":true,"id":3078},{"__isSmartRef__":true,"id":3080},{"__isSmartRef__":true,"id":3082},{"__isSmartRef__":true,"id":3084},{"__isSmartRef__":true,"id":3086},{"__isSmartRef__":true,"id":3088},{"__isSmartRef__":true,"id":3090},{"__isSmartRef__":true,"id":3092}],"lastModifiedDate":{"__isSmartRef__":true,"id":3094},"revisionOnLoad":184624,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"3078":{"date":{"__isSmartRef__":true,"id":3079},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"3079":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"3080":{"date":{"__isSmartRef__":true,"id":3081},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"3081":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"3082":{"date":{"__isSmartRef__":true,"id":3083},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"3083":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"3084":{"date":{"__isSmartRef__":true,"id":3085},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"3085":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"3086":{"date":{"__isSmartRef__":true,"id":3087},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"3087":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"3088":{"date":{"__isSmartRef__":true,"id":3089},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"3089":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"3090":{"date":{"__isSmartRef__":true,"id":3091},"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8"},"3091":{"isSerializedDate":true,"string":"Mon Jun 18 2012 19:35:08 GMT+0200 (CEST)"},"3092":{"date":{"__isSmartRef__":true,"id":3093},"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205"},"3093":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:35:51 GMT+0100 (CET)"},"3094":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:33:25 GMT+0100 (CET)"},"3095":{"morph":{"__isSmartRef__":true,"id":2999},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3096":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3097}},"3097":{"test01IsMorph":{"__isSmartRef__":true,"id":3098}},"3098":{"varMapping":{"__isSmartRef__":true,"id":3099},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":3100},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3099":{"this":{"__isSmartRef__":true,"id":3096}},"3100":{},"3101":{"morph":{"__isSmartRef__":true,"id":2999},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(110.6,3415.0)"},"3102":{"morph":{"__isSmartRef__":true,"id":2999},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(148.1,3439.0)"},"3103":{"morph":{"__isSmartRef__":true,"id":2999},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(185.5,3463.0)"},"3104":{"morph":{"__isSmartRef__":true,"id":2999},"connectedControlPoints":[{"__isSmartRef__":true,"id":3105}],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(164.0,3496.7)"},"3105":{"morph":{"__isSmartRef__":true,"id":3106},"index":0,"connectedMagnet":{"__isSmartRef__":true,"id":3104},"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"3106":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3107},"id":"E083C82B-2BC4-42CB-B3A2-773909175FCB","eventHandler":{"__isSmartRef__":true,"id":3110},"__layered_droppingEnabled__":true,"halosEnabled":true,"isBeingDragged":false,"controlPoints":[{"__isSmartRef__":true,"id":3105},{"__isSmartRef__":true,"id":3111}],"showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":3112},"name":"Line4","derivationIds":[731,"5E6BD741-9C99-47B9-95C1-7A028178DB17","A8D5C37A-F23F-47FE-8DE2-211CE4484A4F","F722069B-8602-4E8D-BE3F-92A1E0C0EF28","D5ED19F9-968E-4C7E-9936-69F2735A813F","A9E370BC-F208-425C-BFFC-F8D6BB52E11F","4E431641-D056-46CB-B2A8-6626382EF423"],"_ClipMode":"visible","controlPointsHalos":[],"prevScroll":[0,0],"grabbingEnabled":false,"moved":true,"#startLetters":"controlPoints[0]","fromMorph":{"__isSmartRef__":true,"id":3116},"update":{"__isSmartRef__":true,"id":3873},"isCopyMorphRef":true,"morphRefId":2,"selectedMorph":{"__isSmartRef__":true,"id":3116},"selectedMorphHighlights":[],"_Scale":1,"_Rotation":0,"owner":null,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3875},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","distanceToDragEvent":"lively.pt(295.7,-20.8)","_Position":"lively.pt(376.1,57.6)"},"3107":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":3108},{"__isSmartRef__":true,"id":3109}],"_ClipMode":"visible","_BorderWidth":3.1119999999999997,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Padding","_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(50.5,3.2)","_Extent":"lively.pt(114.5,3494.5)","_BorderColor":"Color.rgb(161,161,161)"},"3108":{"isAbsolute":true,"x":169.07530894382566,"y":3072.8151421177276,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"3109":{"isAbsolute":true,"x":52.46197348862387,"y":5.223542983087555,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"3110":{"morph":{"__isSmartRef__":true,"id":3106},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3111":{"morph":{"__isSmartRef__":true,"id":3106},"index":1,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"3112":{"requiredModules":[],"migrationLevel":4,"partsSpaceName":"PartsBin/Jens/","comment":"a line","partName":"Connector","lastModifiedDate":{"__isSmartRef__":true,"id":3113},"revisionOnLoad":186528,"changes":[{"__isSmartRef__":true,"id":3114}],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"3113":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:18 GMT+0100 (CET)"},"3114":{"date":{"__isSmartRef__":true,"id":3115},"author":"jenslincke","message":"no comment","id":"28165CED-C8C5-4B8E-9655-645E3F5099BB"},"3115":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:42 GMT+0100 (CET)"},"3116":{"submorphs":[{"__isSmartRef__":true,"id":3117}],"scripts":[],"id":"7D787261-FDA4-4DCD-ACA3-699C8F2DB8DC","shape":{"__isSmartRef__":true,"id":3141},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"A","partsBinMetaInfo":{"__isSmartRef__":true,"id":3142},"eventHandler":{"__isSmartRef__":true,"id":3160},"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","BBAFB862-93AE-4F89-BCFF-9F1C67B7FE4C","7EC17E78-593A-4CC8-B7E3-859BCBBFE785","FDB06D4A-9F4E-4B8C-A67C-671A9583EFE8","1C80FDE1-05C0-4148-9AD8-33C88667084C","5059E383-6BE3-4AD3-A9C4-89DA9D8D5E99","5B810AFE-E692-4EB4-A695-ABB4A95CEA39","BFFEF617-9B97-45D4-A541-8E33A6A17485","A10BBA48-4AD1-425A-AC7B-2F5515CE56F5"],"partTests":{"__isSmartRef__":true,"id":3161},"_ClipMode":"visible","moved":true,"isBeingDragged":false,"magnets":[{"__isSmartRef__":true,"id":3166},{"__isSmartRef__":true,"id":3167},{"__isSmartRef__":true,"id":3168},{"__isSmartRef__":true,"id":3169},{"__isSmartRef__":true,"id":3170},{"__isSmartRef__":true,"id":3171},{"__isSmartRef__":true,"id":3172},{"__isSmartRef__":true,"id":3173}],"attributeConnections":[{"__isSmartRef__":true,"id":3174},{"__isSmartRef__":true,"id":3176},{"__isSmartRef__":true,"id":3178},{"__isSmartRef__":true,"id":3180},{"__isSmartRef__":true,"id":3182},{"__isSmartRef__":true,"id":3184},{"__isSmartRef__":true,"id":3188},{"__isSmartRef__":true,"id":3849},{"__isSmartRef__":true,"id":3851},{"__isSmartRef__":true,"id":3853},{"__isSmartRef__":true,"id":3855}],"doNotSerialize":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"doNotCopyProperties":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"isCopyMorphRef":true,"morphRefId":1,"prevScroll":[0,0],"_Scale":0.9999999999999998,"_Rotation":-0.3632069088060458,"owner":null,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3859},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","distanceToDragEvent":"lively.pt(89.3,-51.8)","_Position":"lively.pt(691.6,129.6)"},"3117":{"submorphs":[],"scripts":[],"id":"4BDF3799-4F08-4112-BD4C-91BAB858A860","shape":{"__isSmartRef__":true,"id":3118},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":180.8018403394826,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":19,"name":"NameLabel2","partsBinMetaInfo":{"__isSmartRef__":true,"id":3119},"textChunks":[{"__isSmartRef__":true,"id":3121}],"charsReplaced":"C1","lastFindLoc":2,"prevScroll":[0,0],"attributeConnections":[{"__isSmartRef__":true,"id":3123},{"__isSmartRef__":true,"id":3124}],"doNotSerialize":["$$owner","$$savedTextString"],"doNotCopyProperties":["$$owner","$$savedTextString"],"isInputLine":true,"savedTextString":"A","eventHandler":{"__isSmartRef__":true,"id":3125},"derivationIds":[7027,"331C6367-0699-4BD6-9916-ABA82517453B","BEAA7850-FEFB-4AFD-9E06-730FF35D99A4","559B0B8A-5C01-4133-88B2-0D08385E23F6","BE195383-D309-4B6E-A6B0-79A6112B4011","E323F75A-232F-4712-9A03-20C8FD574C9A","E6E38336-AA2D-4F75-80C1-B1617DD8544E","DAFCD826-DF9B-4DEF-B4D7-59AAED8D199D","3999CB16-D9E3-4D28-A617-9B093624E8AC"],"_WhiteSpaceHandling":"pre-wrap","_ClipMode":"visible","moved":true,"isBeingDragged":false,"_WordBreak":"break-all","magnets":[{"__isSmartRef__":true,"id":3126},{"__isSmartRef__":true,"id":3127},{"__isSmartRef__":true,"id":3128},{"__isSmartRef__":true,"id":3129},{"__isSmartRef__":true,"id":3130},{"__isSmartRef__":true,"id":3131},{"__isSmartRef__":true,"id":3132},{"__isSmartRef__":true,"id":3133}],"_PreviousBorderWidth":1,"owner":{"__isSmartRef__":true,"id":3116},"oldOwner":{"__isSmartRef__":true,"id":3116},"priorSelectionRange":[1,1],"_Rotation":0,"_Scale":0.9999999999999997,"__serializedExpressions__":["textColor","distanceToDragEvent","_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3134},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(31.1,-9.9)","_TextColor":"Color.rgb(255,143,0)","_Position":"lively.pt(34.8,36.8)"},"3118":{"fill":null,"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(42.8,29.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"3119":{"migrationLevel":2,"comment":"Label that shows the name of a morph. Updates automatically.","partName":"NameLabel","lastModifiedDate":{"__isSmartRef__":true,"id":3120},"revisionOnLoad":140039,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"3120":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (CEST)"},"3121":{"style":{"__isSmartRef__":true,"id":3122},"chunkOwner":{"__isSmartRef__":true,"id":3117},"_id":"_22384","storedString":"A","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3122":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3123":{"sourceObj":{"__isSmartRef__":true,"id":3117},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":3117},"targetMethodName":"updateLabel","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3124":{"sourceObj":{"__isSmartRef__":true,"id":3117},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":3117},"targetMethodName":"renameOwner","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3125":{"morph":{"__isSmartRef__":true,"id":3117},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3126":{"morph":{"__isSmartRef__":true,"id":3117},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(726.1,3497.3)"},"3127":{"morph":{"__isSmartRef__":true,"id":3117},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(746.1,3489.7)"},"3128":{"morph":{"__isSmartRef__":true,"id":3117},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(766.1,3482.1)"},"3129":{"morph":{"__isSmartRef__":true,"id":3117},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(771.3,3495.6)"},"3130":{"morph":{"__isSmartRef__":true,"id":3117},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(776.4,3509.2)"},"3131":{"morph":{"__isSmartRef__":true,"id":3117},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(756.4,3516.8)"},"3132":{"morph":{"__isSmartRef__":true,"id":3117},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(736.4,3524.4)"},"3133":{"morph":{"__isSmartRef__":true,"id":3117},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(731.2,3510.8)"},"3134":{"updateLabel":{"__isSmartRef__":true,"id":3135},"renameOwner":{"__isSmartRef__":true,"id":3138}},"3135":{"varMapping":{"__isSmartRef__":true,"id":3136},"source":"function updateLabel() {\n\t// observe name changes in owner\n\tif (this.owner !== this.oldOwner) {\n\t\tif (this.oldOwner)\n\t\t\tdisconnect(this.oldOwner, 'name', this, 'updateLabel')\n\t\tif (this.owner)\n\t\t\tconnect(this.owner, 'name', this, 'updateLabel')\n\t\tthis.oldOwner = this.owner\n\t}\n\tvar name = (this.owner ? this.owner.name : \"no owner\")\n\tif (this.textString != name)\n\tthis.setTextString(name)\n}","funcProperties":{"__isSmartRef__":true,"id":3137},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3136":{"this":{"__isSmartRef__":true,"id":3117}},"3137":{},"3138":{"varMapping":{"__isSmartRef__":true,"id":3139},"source":"function renameOwner(name) {\n\tif (this.owner && this.owner.name != name) {\n\t\talertOK(\"renamed \" + this.owner + \" to \" + name)\n\t\tthis.owner.setName(name);\n\t}\n}","funcProperties":{"__isSmartRef__":true,"id":3140},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3139":{"this":{"__isSmartRef__":true,"id":3117}},"3140":{},"3141":{"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(116.7,82.3)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgba(204,204,204,0.5)","_Padding":"lively.rect(0,0,0,0)"},"3142":{"partsSpaceName":"PartsBin/Basic","comment":"A simple box morph. A really orange one. Its amazing what you can build out of simple boxes.... Who needs stars when you got orange rectangles!","migrationLevel":4,"partName":"Rectangle","changes":[{"__isSmartRef__":true,"id":3143},{"__isSmartRef__":true,"id":3145},{"__isSmartRef__":true,"id":3147},{"__isSmartRef__":true,"id":3149},{"__isSmartRef__":true,"id":3151},{"__isSmartRef__":true,"id":3153},{"__isSmartRef__":true,"id":3155},{"__isSmartRef__":true,"id":3157}],"lastModifiedDate":{"__isSmartRef__":true,"id":3159},"revisionOnLoad":184624,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"3143":{"date":{"__isSmartRef__":true,"id":3144},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"3144":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"3145":{"date":{"__isSmartRef__":true,"id":3146},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"3146":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"3147":{"date":{"__isSmartRef__":true,"id":3148},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"3148":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"3149":{"date":{"__isSmartRef__":true,"id":3150},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"3150":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"3151":{"date":{"__isSmartRef__":true,"id":3152},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"3152":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"3153":{"date":{"__isSmartRef__":true,"id":3154},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"3154":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"3155":{"date":{"__isSmartRef__":true,"id":3156},"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8"},"3156":{"isSerializedDate":true,"string":"Mon Jun 18 2012 19:35:08 GMT+0200 (CEST)"},"3157":{"date":{"__isSmartRef__":true,"id":3158},"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205"},"3158":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:35:51 GMT+0100 (CET)"},"3159":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:33:25 GMT+0100 (CET)"},"3160":{"morph":{"__isSmartRef__":true,"id":3116},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3161":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3162}},"3162":{"test01IsMorph":{"__isSmartRef__":true,"id":3163}},"3163":{"varMapping":{"__isSmartRef__":true,"id":3164},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":3165},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3164":{"this":{"__isSmartRef__":true,"id":3161}},"3165":{},"3166":{"morph":{"__isSmartRef__":true,"id":3116},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(680.5,3475.2)"},"3167":{"morph":{"__isSmartRef__":true,"id":3116},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(735.0,3454.5)"},"3168":{"morph":{"__isSmartRef__":true,"id":3116},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(789.6,3433.8)"},"3169":{"morph":{"__isSmartRef__":true,"id":3116},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(804.2,3472.2)"},"3170":{"morph":{"__isSmartRef__":true,"id":3116},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(818.8,3510.7)"},"3171":{"morph":{"__isSmartRef__":true,"id":3116},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(764.3,3531.4)"},"3172":{"morph":{"__isSmartRef__":true,"id":3116},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(709.7,3552.2)"},"3173":{"morph":{"__isSmartRef__":true,"id":3116},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(695.1,3513.7)"},"3174":{"sourceObj":{"__isSmartRef__":true,"id":3116},"sourceAttrName":"name","targetObj":{"__isSmartRef__":true,"id":3117},"targetMethodName":"updateLabel","varMapping":{"__isSmartRef__":true,"id":3175},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3175":{"source":{"__isSmartRef__":true,"id":3116},"target":{"__isSmartRef__":true,"id":3117}},"3176":{"sourceObj":{"__isSmartRef__":true,"id":3116},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":3106},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":3177},"dependendConnections":[{"__isSmartRef__":true,"id":3178},{"__isSmartRef__":true,"id":3180},{"__isSmartRef__":true,"id":3182},{"__isSmartRef__":true,"id":3184}],"oldTransform":{"__isSmartRef__":true,"id":3186},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"3177":{"source":{"__isSmartRef__":true,"id":3116},"target":{"__isSmartRef__":true,"id":3106}},"3178":{"sourceObj":{"__isSmartRef__":true,"id":3116},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":3176},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":3179},"dependedBy":{"__isSmartRef__":true,"id":3176},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3179":{"source":{"__isSmartRef__":true,"id":3116},"target":{"__isSmartRef__":true,"id":3176}},"3180":{"sourceObj":{"__isSmartRef__":true,"id":3116},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":3176},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":3181},"dependedBy":{"__isSmartRef__":true,"id":3176},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3181":{"source":{"__isSmartRef__":true,"id":3116},"target":{"__isSmartRef__":true,"id":3176}},"3182":{"sourceObj":{"__isSmartRef__":true,"id":3116},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":3176},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":3183},"dependedBy":{"__isSmartRef__":true,"id":3176},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3183":{"source":{"__isSmartRef__":true,"id":3116},"target":{"__isSmartRef__":true,"id":3176}},"3184":{"sourceObj":{"__isSmartRef__":true,"id":3116},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":3176},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":3185},"dependedBy":{"__isSmartRef__":true,"id":3176},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3185":{"source":{"__isSmartRef__":true,"id":3116},"target":{"__isSmartRef__":true,"id":3176}},"3186":{"d":0.9347623017725522,"a":0.9347623017725522,"f":3485.245045045044,"e":728.5390390390387,"c":0.3552737524570028,"b":-0.3552737524570028,"matrix_":{"__isSmartRef__":true,"id":3187},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3187":{"a":0.9347623017725522,"b":-0.3552737524570028,"c":0.3552737524570028,"d":0.9347623017725522,"e":728.5390390390387,"f":3485.245045045044,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3188":{"sourceObj":{"__isSmartRef__":true,"id":3116},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":3189},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":3848},"dependendConnections":[{"__isSmartRef__":true,"id":3849},{"__isSmartRef__":true,"id":3851},{"__isSmartRef__":true,"id":3853},{"__isSmartRef__":true,"id":3855}],"oldTransform":{"__isSmartRef__":true,"id":3857},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"3189":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3190},"id":"4809CC50-2A92-4A4F-9D0D-829B6BA12A0B","eventHandler":{"__isSmartRef__":true,"id":3193},"__layered_droppingEnabled__":true,"halosEnabled":true,"isBeingDragged":false,"controlPoints":[{"__isSmartRef__":true,"id":3194},{"__isSmartRef__":true,"id":3195}],"showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":3196},"name":"Connector1","derivationIds":[731,"5E6BD741-9C99-47B9-95C1-7A028178DB17","A8D5C37A-F23F-47FE-8DE2-211CE4484A4F","F722069B-8602-4E8D-BE3F-92A1E0C0EF28","D5ED19F9-968E-4C7E-9936-69F2735A813F","A9E370BC-F208-425C-BFFC-F8D6BB52E11F","4E431641-D056-46CB-B2A8-6626382EF423"],"_ClipMode":"visible","controlPointsHalos":[],"prevScroll":[0,0],"grabbingEnabled":false,"moved":true,"#startLetters":"controlPoints[0]","fromMorph":{"__isSmartRef__":true,"id":3116},"toMorph":{"__isSmartRef__":true,"id":3202},"update":{"__isSmartRef__":true,"id":3749},"isCopyMorphRef":true,"morphRefId":2,"selectedMorph":{"__isSmartRef__":true,"id":3202},"selectedMorphHighlights":[],"owner":null,"_Rotation":0,"_Scale":1,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3751},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","distanceToDragEvent":"lively.pt(295.7,-20.8)","_Position":"lively.pt(10527.5,52997.9)"},"3190":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":3191},{"__isSmartRef__":true,"id":3192}],"_ClipMode":"visible","_BorderWidth":3.1119999999999997,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Padding","_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(-75.9,-6.9)","_Extent":"lively.pt(151.7,13.9)","_BorderColor":"Color.rgb(161,161,161)"},"3191":{"isAbsolute":true,"x":74.86198803712648,"y":-4.949983532278566,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"3192":{"isAbsolute":true,"x":-73.86198803712614,"y":5.949983532282204,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"3193":{"morph":{"__isSmartRef__":true,"id":3189},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3194":{"morph":{"__isSmartRef__":true,"id":3189},"index":0,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"3195":{"morph":{"__isSmartRef__":true,"id":3189},"index":1,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"3196":{"requiredModules":[],"migrationLevel":4,"partsSpaceName":"PartsBin/Jens/","comment":"Yes, I think I got it again: Powerful and nice connectors.\nThis time 100 % Part only!","partName":"Connector","lastModifiedDate":{"__isSmartRef__":true,"id":3197},"revisionOnLoad":186829,"changes":[{"__isSmartRef__":true,"id":3198},{"__isSmartRef__":true,"id":3200}],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"3197":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:04:50 GMT+0100 (CET)"},"3198":{"date":{"__isSmartRef__":true,"id":3199},"author":"jenslincke","message":"no comment","id":"28165CED-C8C5-4B8E-9655-645E3F5099BB"},"3199":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:42 GMT+0100 (CET)"},"3200":{"date":{"__isSmartRef__":true,"id":3201},"author":"jenslincke","message":"no comment","id":"117C964B-9768-48F2-8EC8-D4328478198F"},"3201":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:05:07 GMT+0100 (CET)"},"3202":{"submorphs":[{"__isSmartRef__":true,"id":3203}],"scripts":[],"id":"97C9C828-276E-4A55-9AEB-CD501E41C6EE","shape":{"__isSmartRef__":true,"id":3227},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":3228},"eventHandler":{"__isSmartRef__":true,"id":3246},"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","BBAFB862-93AE-4F89-BCFF-9F1C67B7FE4C","7EC17E78-593A-4CC8-B7E3-859BCBBFE785","FDB06D4A-9F4E-4B8C-A67C-671A9583EFE8","1C80FDE1-05C0-4148-9AD8-33C88667084C","5059E383-6BE3-4AD3-A9C4-89DA9D8D5E99","5B810AFE-E692-4EB4-A695-ABB4A95CEA39","BFFEF617-9B97-45D4-A541-8E33A6A17485","A10BBA48-4AD1-425A-AC7B-2F5515CE56F5","7D787261-FDA4-4DCD-ACA3-699C8F2DB8DC"],"partTests":{"__isSmartRef__":true,"id":3247},"_ClipMode":"visible","moved":true,"isBeingDragged":false,"magnets":[{"__isSmartRef__":true,"id":3252},{"__isSmartRef__":true,"id":3253},{"__isSmartRef__":true,"id":3254},{"__isSmartRef__":true,"id":3255},{"__isSmartRef__":true,"id":3256},{"__isSmartRef__":true,"id":3257},{"__isSmartRef__":true,"id":3258},{"__isSmartRef__":true,"id":3259}],"attributeConnections":[{"__isSmartRef__":true,"id":3370},{"__isSmartRef__":true,"id":3372},{"__isSmartRef__":true,"id":3374},{"__isSmartRef__":true,"id":3376},{"__isSmartRef__":true,"id":3378},{"__isSmartRef__":true,"id":3380},{"__isSmartRef__":true,"id":3392},{"__isSmartRef__":true,"id":3394},{"__isSmartRef__":true,"id":3396},{"__isSmartRef__":true,"id":3398},{"__isSmartRef__":true,"id":3400},{"__isSmartRef__":true,"id":3412},{"__isSmartRef__":true,"id":3571},{"__isSmartRef__":true,"id":3573},{"__isSmartRef__":true,"id":3575},{"__isSmartRef__":true,"id":3577},{"__isSmartRef__":true,"id":3589},{"__isSmartRef__":true,"id":3717},{"__isSmartRef__":true,"id":3719},{"__isSmartRef__":true,"id":3721},{"__isSmartRef__":true,"id":3723}],"doNotSerialize":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"doNotCopyProperties":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"isCopyMorphRef":true,"morphRefId":2,"prevScroll":[0,0],"name":"C","_Scale":0.9999999999999959,"_Rotation":0.01251870772763443,"owner":{"__isSmartRef__":true,"id":2945},"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3735},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","distanceToDragEvent":"lively.pt(89.3,-51.8)","_Position":"lively.pt(314.7,146.7)"},"3203":{"submorphs":[],"scripts":[],"id":"A83F9838-A18C-4684-AF56-0FD0927F27B0","shape":{"__isSmartRef__":true,"id":3204},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":180.8018403394826,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":19,"name":"NameLabel2","partsBinMetaInfo":{"__isSmartRef__":true,"id":3205},"textChunks":[{"__isSmartRef__":true,"id":3207}],"charsReplaced":"A1","lastFindLoc":2,"prevScroll":[0,0],"attributeConnections":[{"__isSmartRef__":true,"id":3209},{"__isSmartRef__":true,"id":3210}],"doNotSerialize":["$$owner","$$savedTextString"],"doNotCopyProperties":["$$owner","$$savedTextString"],"isInputLine":true,"savedTextString":"C","eventHandler":{"__isSmartRef__":true,"id":3211},"derivationIds":[7027,"331C6367-0699-4BD6-9916-ABA82517453B","BEAA7850-FEFB-4AFD-9E06-730FF35D99A4","559B0B8A-5C01-4133-88B2-0D08385E23F6","BE195383-D309-4B6E-A6B0-79A6112B4011","E323F75A-232F-4712-9A03-20C8FD574C9A","E6E38336-AA2D-4F75-80C1-B1617DD8544E","DAFCD826-DF9B-4DEF-B4D7-59AAED8D199D","3999CB16-D9E3-4D28-A617-9B093624E8AC","4BDF3799-4F08-4112-BD4C-91BAB858A860"],"_WhiteSpaceHandling":"pre-wrap","_ClipMode":"visible","moved":true,"isBeingDragged":false,"_WordBreak":"break-all","magnets":[{"__isSmartRef__":true,"id":3212},{"__isSmartRef__":true,"id":3213},{"__isSmartRef__":true,"id":3214},{"__isSmartRef__":true,"id":3215},{"__isSmartRef__":true,"id":3216},{"__isSmartRef__":true,"id":3217},{"__isSmartRef__":true,"id":3218},{"__isSmartRef__":true,"id":3219}],"_PreviousBorderWidth":1,"owner":{"__isSmartRef__":true,"id":3202},"oldOwner":{"__isSmartRef__":true,"id":3202},"previousSelection":[0,2],"_Rotation":0,"_Scale":0.9999999999999992,"__serializedExpressions__":["textColor","distanceToDragEvent","_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3220},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(29.8,-16.3)","_TextColor":"Color.rgb(255,143,0)","_Position":"lively.pt(15.0,6.3)"},"3204":{"fill":null,"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(42.8,29.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"3205":{"migrationLevel":2,"comment":"Label that shows the name of a morph. Updates automatically.","partName":"NameLabel","lastModifiedDate":{"__isSmartRef__":true,"id":3206},"revisionOnLoad":140039,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"3206":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (CEST)"},"3207":{"style":{"__isSmartRef__":true,"id":3208},"chunkOwner":{"__isSmartRef__":true,"id":3203},"_id":"_38306","storedString":"C","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3208":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3209":{"sourceObj":{"__isSmartRef__":true,"id":3203},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":3203},"targetMethodName":"updateLabel","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3210":{"sourceObj":{"__isSmartRef__":true,"id":3203},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":3203},"targetMethodName":"renameOwner","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3211":{"morph":{"__isSmartRef__":true,"id":3203},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3212":{"morph":{"__isSmartRef__":true,"id":3203},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(366.5,3508.8)"},"3213":{"morph":{"__isSmartRef__":true,"id":3203},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(387.9,3509.1)"},"3214":{"morph":{"__isSmartRef__":true,"id":3203},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(409.3,3509.3)"},"3215":{"morph":{"__isSmartRef__":true,"id":3203},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(409.1,3523.8)"},"3216":{"morph":{"__isSmartRef__":true,"id":3203},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(409.0,3538.3)"},"3217":{"morph":{"__isSmartRef__":true,"id":3203},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(387.6,3538.1)"},"3218":{"morph":{"__isSmartRef__":true,"id":3203},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(366.2,3537.8)"},"3219":{"morph":{"__isSmartRef__":true,"id":3203},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(366.3,3523.3)"},"3220":{"updateLabel":{"__isSmartRef__":true,"id":3221},"renameOwner":{"__isSmartRef__":true,"id":3224}},"3221":{"varMapping":{"__isSmartRef__":true,"id":3222},"source":"function updateLabel() {\n\t// observe name changes in owner\n\tif (this.owner !== this.oldOwner) {\n\t\tif (this.oldOwner)\n\t\t\tdisconnect(this.oldOwner, 'name', this, 'updateLabel')\n\t\tif (this.owner)\n\t\t\tconnect(this.owner, 'name', this, 'updateLabel')\n\t\tthis.oldOwner = this.owner\n\t}\n\tvar name = (this.owner ? this.owner.name : \"no owner\")\n\tif (this.textString != name)\n\tthis.setTextString(name)\n}","funcProperties":{"__isSmartRef__":true,"id":3223},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3222":{"this":{"__isSmartRef__":true,"id":3203}},"3223":{},"3224":{"varMapping":{"__isSmartRef__":true,"id":3225},"source":"function renameOwner(name) {\n\tif (this.owner && this.owner.name != name) {\n\t\talertOK(\"renamed \" + this.owner + \" to \" + name)\n\t\tthis.owner.setName(name);\n\t}\n}","funcProperties":{"__isSmartRef__":true,"id":3226},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3225":{"this":{"__isSmartRef__":true,"id":3203}},"3226":{},"3227":{"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(133.7,34.2)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgba(204,204,204,0.5)","_Padding":"lively.rect(0,0,0,0)"},"3228":{"partsSpaceName":"PartsBin/Basic","comment":"A simple box morph. A really orange one. Its amazing what you can build out of simple boxes.... Who needs stars when you got orange rectangles!","migrationLevel":4,"partName":"Rectangle","changes":[{"__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}],"lastModifiedDate":{"__isSmartRef__":true,"id":3245},"revisionOnLoad":184624,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"3229":{"date":{"__isSmartRef__":true,"id":3230},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"3230":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"3231":{"date":{"__isSmartRef__":true,"id":3232},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"3232":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"3233":{"date":{"__isSmartRef__":true,"id":3234},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"3234":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"3235":{"date":{"__isSmartRef__":true,"id":3236},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"3236":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"3237":{"date":{"__isSmartRef__":true,"id":3238},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"3238":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"3239":{"date":{"__isSmartRef__":true,"id":3240},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"3240":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"3241":{"date":{"__isSmartRef__":true,"id":3242},"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8"},"3242":{"isSerializedDate":true,"string":"Mon Jun 18 2012 19:35:08 GMT+0200 (CEST)"},"3243":{"date":{"__isSmartRef__":true,"id":3244},"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205"},"3244":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:35:51 GMT+0100 (CET)"},"3245":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:33:25 GMT+0100 (CET)"},"3246":{"morph":{"__isSmartRef__":true,"id":3202},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3247":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3248}},"3248":{"test01IsMorph":{"__isSmartRef__":true,"id":3249}},"3249":{"varMapping":{"__isSmartRef__":true,"id":3250},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":3251},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3250":{"this":{"__isSmartRef__":true,"id":3247}},"3251":{},"3252":{"morph":{"__isSmartRef__":true,"id":3202},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(351.6,3502.3)"},"3253":{"morph":{"__isSmartRef__":true,"id":3202},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(418.4,3503.1)"},"3254":{"morph":{"__isSmartRef__":true,"id":3202},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(485.3,3504.0)"},"3255":{"morph":{"__isSmartRef__":true,"id":3202},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(485.1,3521.1)"},"3256":{"morph":{"__isSmartRef__":true,"id":3202},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(484.9,3538.2)"},"3257":{"morph":{"__isSmartRef__":true,"id":3202},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(418.0,3537.3)"},"3258":{"morph":{"__isSmartRef__":true,"id":3202},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(351.2,3536.5)"},"3259":{"morph":{"__isSmartRef__":true,"id":3202},"connectedControlPoints":[{"__isSmartRef__":true,"id":3260}],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(351.4,3519.4)"},"3260":{"morph":{"__isSmartRef__":true,"id":3261},"index":1,"connectedMagnet":{"__isSmartRef__":true,"id":3259},"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"3261":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3262},"id":"2C6AAB75-D2C8-42E4-9766-C0FFA89743C1","eventHandler":{"__isSmartRef__":true,"id":3265},"__layered_droppingEnabled__":true,"halosEnabled":true,"isBeingDragged":false,"controlPoints":[{"__isSmartRef__":true,"id":3266},{"__isSmartRef__":true,"id":3260}],"showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":3267},"name":"Line4","derivationIds":[731,"5E6BD741-9C99-47B9-95C1-7A028178DB17","A8D5C37A-F23F-47FE-8DE2-211CE4484A4F","F722069B-8602-4E8D-BE3F-92A1E0C0EF28","D5ED19F9-968E-4C7E-9936-69F2735A813F","A9E370BC-F208-425C-BFFC-F8D6BB52E11F","4E431641-D056-46CB-B2A8-6626382EF423"],"_ClipMode":"visible","controlPointsHalos":[],"prevScroll":[0,0],"grabbingEnabled":false,"moved":true,"#startLetters":"controlPoints[0]","fromMorph":{"__isSmartRef__":true,"id":2999},"update":{"__isSmartRef__":true,"id":3271},"isCopyMorphRef":true,"morphRefId":1,"selectedMorph":{"__isSmartRef__":true,"id":2999},"selectedMorphHighlights":[],"owner":{"__isSmartRef__":true,"id":2945},"_Rotation":0,"_Scale":1,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3273},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","distanceToDragEvent":"lively.pt(295.7,-20.8)","_Position":"lively.pt(224.9,144.8)"},"3262":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":3263},{"__isSmartRef__":true,"id":3264}],"_ClipMode":"visible","_BorderWidth":3.1119999999999997,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Padding","_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(-90.6,-20.0)","_Extent":"lively.pt(181.3,40.0)","_BorderColor":"Color.rgb(161,161,161)"},"3263":{"isAbsolute":true,"x":-88.6283649621935,"y":-18.011194400293036,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"3264":{"isAbsolute":true,"x":89.62836496219349,"y":19.011194400293036,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"3265":{"morph":{"__isSmartRef__":true,"id":3261},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3266":{"morph":{"__isSmartRef__":true,"id":3261},"index":0,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"3267":{"requiredModules":[],"migrationLevel":4,"partsSpaceName":"PartsBin/Jens/","comment":"a line","partName":"Connector","lastModifiedDate":{"__isSmartRef__":true,"id":3268},"revisionOnLoad":186528,"changes":[{"__isSmartRef__":true,"id":3269}],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"3268":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:18 GMT+0100 (CET)"},"3269":{"date":{"__isSmartRef__":true,"id":3270},"author":"jenslincke","message":"no comment","id":"28165CED-C8C5-4B8E-9655-645E3F5099BB"},"3270":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:42 GMT+0100 (CET)"},"3271":{"d":1,"a":1,"f":906.1,"e":107.8,"c":0,"b":0,"matrix_":{"__isSmartRef__":true,"id":3272},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3272":{"a":1,"b":0,"c":0,"d":1,"e":107.8,"f":906.1,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3273":{"connect":{"__isSmartRef__":true,"id":3274},"updatePosition":{"__isSmartRef__":true,"id":3278},"updateControlPoint":{"__isSmartRef__":true,"id":3282},"disconnectMorph":{"__isSmartRef__":true,"id":3286},"connectMorph":{"__isSmartRef__":true,"id":3290},"onMouseOver":{"__isSmartRef__":true,"id":3294},"onMouseOut":{"__isSmartRef__":true,"id":3298},"makeHandle":{"__isSmartRef__":true,"id":3306},"showFromHandle":{"__isSmartRef__":true,"id":3310},"showToHandle":{"__isSmartRef__":true,"id":3314},"reset":{"__isSmartRef__":true,"id":3318},"onDragInHandle":{"__isSmartRef__":true,"id":3322},"onDragStartInHandle":{"__isSmartRef__":true,"id":3326},"onDragEndInHandle":{"__isSmartRef__":true,"id":3330},"connectFrom":{"__isSmartRef__":true,"id":3334},"connectTo":{"__isSmartRef__":true,"id":3338},"hideToHandle":{"__isSmartRef__":true,"id":3342},"hideFromHandle":{"__isSmartRef__":true,"id":3346},"updateIntersection":{"__isSmartRef__":true,"id":3350},"lineIntersect":{"__isSmartRef__":true,"id":3354},"intersectMorphLinePoints":{"__isSmartRef__":true,"id":3358},"intersectMorph":{"__isSmartRef__":true,"id":3362},"globalShapePathFromMorph":{"__isSmartRef__":true,"id":3366}},"3274":{"varMapping":{"__isSmartRef__":true,"id":3275},"source":"function connect(morphA, morphB) {\n this.connectFrom(morphA)\n this.connectTo(morphB)\n this.updatePosition()\n}","funcProperties":{"__isSmartRef__":true,"id":3276},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3275":{"this":{"__isSmartRef__":true,"id":3261}},"3276":{"timestamp":{"__isSmartRef__":true,"id":3277},"user":"jenslincke","tags":[]},"3277":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:50:49 GMT+0100 (CET)"},"3278":{"varMapping":{"__isSmartRef__":true,"id":3279},"source":"function updatePosition() {\n this.updateControlPoint(this.controlPoints[0], this.fromMorph)\n this.updateControlPoint(this.controlPoints[1], this.toMorph)\n this.updateIntersection(this.fromMorph, this.controlPoints[0])\n this.updateIntersection(this.toMorph, this.controlPoints[1])\n\n // if (this.controlPoints[0].getPos().eqPt(this.controlPoints[1].getPos()))\n // this.controlPoints[1].setPos(this.controlPoints[1].getPos().addPt(pt(30,0)))\n\n this.adjustOrigin(this.bounds().extent().scaleBy(0.5))\n \n}","funcProperties":{"__isSmartRef__":true,"id":3280},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3279":{"this":{"__isSmartRef__":true,"id":3261}},"3280":{"timestamp":{"__isSmartRef__":true,"id":3281},"user":"jenslincke","tags":[]},"3281":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:01:41 GMT+0100 (CET)"},"3282":{"varMapping":{"__isSmartRef__":true,"id":3283},"source":"function updateControlPoint(cp, morph) {\n if (!cp || !morph) return;\n cp.setGlobalPos(morph.worldPoint(morph.shape.bounds().center()))\n}","funcProperties":{"__isSmartRef__":true,"id":3284},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3283":{"this":{"__isSmartRef__":true,"id":3261}},"3284":{"timestamp":{"__isSmartRef__":true,"id":3285},"user":"jenslincke","tags":[]},"3285":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:45:56 GMT+0100 (CET)"},"3286":{"varMapping":{"__isSmartRef__":true,"id":3287},"source":"function disconnectMorph(morph) {\n if (!morph) return;\n lively.bindings.disconnect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":3288},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3287":{"this":{"__isSmartRef__":true,"id":3261}},"3288":{"timestamp":{"__isSmartRef__":true,"id":3289},"user":"jenslincke","tags":[]},"3289":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:19:18 GMT+0100 (CET)"},"3290":{"varMapping":{"__isSmartRef__":true,"id":3291},"source":"function connectMorph(morph) {\n if (morph)\n lively.bindings.connect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":3292},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3291":{"this":{"__isSmartRef__":true,"id":3261}},"3292":{"timestamp":{"__isSmartRef__":true,"id":3293},"user":"jenslincke","tags":[]},"3293":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:52:12 GMT+0100 (CET)"},"3294":{"varMapping":{"__isSmartRef__":true,"id":3295},"source":"function onMouseOver(evt) {\n var p = evt.mousePoint.scaleBy(this.world().getScale())\n\n var cp1 = this.controlPoints[0].getGlobalPos();\n if (p.dist(cp1) < 20) {\n this.showFromHandle()\n } else {\n this.hideFromHandle()\n }\n var cp2 = this.controlPoints[1].getGlobalPos();\n if (p.dist(cp2) < 20) {\n this.showToHandle()\n } else {\n this.hideToHandle()\n }\n}","funcProperties":{"__isSmartRef__":true,"id":3296},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3295":{"this":{"__isSmartRef__":true,"id":3261}},"3296":{"timestamp":{"__isSmartRef__":true,"id":3297},"user":"jenslincke","tags":[]},"3297":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:23:03 GMT+0100 (CET)"},"3298":{"varMapping":{"__isSmartRef__":true,"id":3299},"source":"function onMouseOut(evt) {\n // this.hideFromHandle()\n // this.hideToHandle()\n}","funcProperties":{"__isSmartRef__":true,"id":3304},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3299":{"this":{"__isSmartRef__":true,"id":3261},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3300}},"3300":{"$super":{"__isSmartRef__":true,"id":3301}},"3301":{"varMapping":{"__isSmartRef__":true,"id":3302},"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":3303},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3302":{"obj":{"__isSmartRef__":true,"id":3261},"name":"onMouseOut"},"3303":{},"3304":{"timestamp":{"__isSmartRef__":true,"id":3305},"user":"jenslincke","tags":[]},"3305":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:54:53 GMT+0100 (CET)"},"3306":{"varMapping":{"__isSmartRef__":true,"id":3307},"source":"function makeHandle() {\n var m = lively.morphic.Morph.makeRectangle(0,0,10,10);\n m.disableGrabbing()\n m.enableDragging()\n m.connector = this;\n // move real behavior to a place which is easier to develop\n // do not use bind, because we like late binding \n m.addScript(function onDragStart(evt) {\n this.connector.onDragStartInHandle(this, evt)\n })\n m.addScript(function onDrag(evt) {\n this.connector.onDragInHandle(this, evt)\n })\n m.addScript(function onDragEnd(evt) {\n this.connector.onDragEndInHandle(this, evt)\n })\n m.isEpiMorph = true;\n return m\n}","funcProperties":{"__isSmartRef__":true,"id":3308},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3307":{"this":{"__isSmartRef__":true,"id":3261}},"3308":{"timestamp":{"__isSmartRef__":true,"id":3309},"user":"jenslincke","tags":[]},"3309":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:08:29 GMT+0100 (CET)"},"3310":{"varMapping":{"__isSmartRef__":true,"id":3311},"source":"function showFromHandle() {\n if (!this.fromHandle) {\n this.fromHandle = this.makeHandle();\n this.fromHandle.setFill(Color.red)\n this.fromHandle.isFromHandle = true;\n }\n this.fromHandle.openInWorld();\n this.fromHandle.controlPoint = this.controlPoints[0];\n this.fromHandle.setPosition(this.controlPoints[0].getGlobalPos().subPt(pt(5,5)))\n return this.fromHandle\n}","funcProperties":{"__isSmartRef__":true,"id":3312},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3311":{"this":{"__isSmartRef__":true,"id":3261}},"3312":{"timestamp":{"__isSmartRef__":true,"id":3313},"user":"jenslincke","tags":[]},"3313":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:13:03 GMT+0100 (CET)"},"3314":{"varMapping":{"__isSmartRef__":true,"id":3315},"source":"function showToHandle() {\n if (!this.toHandle) {\n this.toHandle = this.makeHandle();\n this.toHandle.setFill(Color.red)\n this.toHandle.isToHandle = true;\n\n }\n this.toHandle.openInWorld();\n this.toHandle.controlPoint = this.controlPoints[1];\n this.toHandle.setPosition(this.controlPoints[1].getGlobalPos().subPt(pt(5,5)))\n return this.toHandle\n}","funcProperties":{"__isSmartRef__":true,"id":3316},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3315":{"this":{"__isSmartRef__":true,"id":3261}},"3316":{"timestamp":{"__isSmartRef__":true,"id":3317},"user":"jenslincke","tags":[]},"3317":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:20:25 GMT+0100 (CET)"},"3318":{"varMapping":{"__isSmartRef__":true,"id":3319},"source":"function reset() {\n if (this.fromHandle) {\n this.fromHandle.remove()\n delete this.fromHandle\n }\n if (this.toHandle) {\n this.toHandle.remove()\n delete this.toHandle\n }\n // this.controlPoints[1].setPos(pt(200,200))\n}","funcProperties":{"__isSmartRef__":true,"id":3320},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3319":{"this":{"__isSmartRef__":true,"id":3261}},"3320":{"timestamp":{"__isSmartRef__":true,"id":3321},"user":"jenslincke","tags":[]},"3321":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:15:00 GMT+0100 (CET)"},"3322":{"varMapping":{"__isSmartRef__":true,"id":3323},"source":"function onDragInHandle(handle, evt) {\n\n var pos = handle.getPositionInWorld();\n var delta = evt.hand.getPosition().subPt(pos);\n handle.moveBy(delta)\n pos = handle.getPositionInWorld();\n if (handle.controlPoint)\n handle.controlPoint.setGlobalPos(pos.addPt(pt(5,5)))\n var morphs = this.owner.morphsContainingPoint(pos)\n morphs = morphs.reject(function(ea) {\n return ea.isWorld || (ea === handle) || (ea === this) || \n (ea === this.owner)\n }, this)\n this.get('Console').textString = morphs\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n this.selectedMorph = morphs.first();\n this.selectedMorphHighlights = show(this.selectedMorph)\n handle.startPos = evt.getPosition();\n}","funcProperties":{"__isSmartRef__":true,"id":3324},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3323":{"this":{"__isSmartRef__":true,"id":3261}},"3324":{"timestamp":{"__isSmartRef__":true,"id":3325},"user":"jenslincke","tags":[]},"3325":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:09:40 GMT+0100 (CET)"},"3326":{"varMapping":{"__isSmartRef__":true,"id":3327},"source":"function onDragStartInHandle(handle, evt) {\n handle.startPos = evt.getPosition()\n}","funcProperties":{"__isSmartRef__":true,"id":3328},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3327":{"this":{"__isSmartRef__":true,"id":3261}},"3328":{"timestamp":{"__isSmartRef__":true,"id":3329},"user":"jenslincke","tags":[]},"3329":{"isSerializedDate":true,"string":"Thu Dec 13 2012 15:51:13 GMT+0100 (CET)"},"3330":{"varMapping":{"__isSmartRef__":true,"id":3331},"source":"function onDragEndInHandle(handle, evt) {\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n \n if (handle.isFromHandle) this.connectFrom(this.selectedMorph)\n if (handle.isToHandle) this.connectTo(this.selectedMorph)\n handle.remove()\n}","funcProperties":{"__isSmartRef__":true,"id":3332},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3331":{"this":{"__isSmartRef__":true,"id":3261}},"3332":{"timestamp":{"__isSmartRef__":true,"id":3333},"user":"jenslincke","tags":[]},"3333":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:44:35 GMT+0100 (CET)"},"3334":{"varMapping":{"__isSmartRef__":true,"id":3335},"source":"function connectFrom(morph) {\n if (morph && morph === this.toMorph) return; // not allowed\n\n this.disconnectMorph(this.fromMorph)\n this.fromMorph = morph;\n this.connectMorph(this.fromMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":3336},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3335":{"this":{"__isSmartRef__":true,"id":3261}},"3336":{"timestamp":{"__isSmartRef__":true,"id":3337},"user":"jenslincke","tags":[]},"3337":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:02:22 GMT+0100 (CET)"},"3338":{"varMapping":{"__isSmartRef__":true,"id":3339},"source":"function connectTo(morph) {\n\n if (morph && morph === this.fromMorph) return; // not allowed\n\n this.disconnectMorph(this.toMorph)\n this.toMorph = morph;\n this.connectMorph(this.toMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":3340},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3339":{"this":{"__isSmartRef__":true,"id":3261}},"3340":{"timestamp":{"__isSmartRef__":true,"id":3341},"user":"jenslincke","tags":[]},"3341":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:02:30 GMT+0100 (CET)"},"3342":{"varMapping":{"__isSmartRef__":true,"id":3343},"source":"function hideToHandle() {\n if (this.toHandle) {\n this.toHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":3344},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3343":{"this":{"__isSmartRef__":true,"id":3261}},"3344":{"timestamp":{"__isSmartRef__":true,"id":3345},"user":"jenslincke","tags":[]},"3345":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:51:59 GMT+0100 (CET)"},"3346":{"varMapping":{"__isSmartRef__":true,"id":3347},"source":"function hideFromHandle() {\n if (this.fromHandle) {\n this.fromHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":3348},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3347":{"this":{"__isSmartRef__":true,"id":3261}},"3348":{"timestamp":{"__isSmartRef__":true,"id":3349},"user":"jenslincke","tags":[]},"3349":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:52:18 GMT+0100 (CET)"},"3350":{"varMapping":{"__isSmartRef__":true,"id":3351},"source":"function updateIntersection(morph, cp) {\n if (!morph) return;\n var intersection = this.intersectMorph(morph)[0];\n if (intersection) {\n cp.setGlobalPos(intersection);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":3352},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3351":{"this":{"__isSmartRef__":true,"id":3261}},"3352":{"timestamp":{"__isSmartRef__":true,"id":3353},"user":"jenslincke","tags":[]},"3353":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:32 GMT+0100 (CET)"},"3354":{"varMapping":{"__isSmartRef__":true,"id":3355},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":3356},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3355":{"this":{"__isSmartRef__":true,"id":3261}},"3356":{"timestamp":{"__isSmartRef__":true,"id":3357},"user":"jenslincke","tags":[]},"3357":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:47:12 GMT+0100 (CET)"},"3358":{"varMapping":{"__isSmartRef__":true,"id":3359},"source":"function intersectMorphLinePoints(morph, a1, a2) {\n var points = this.globalShapePathFromMorph(morph);\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":3360},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3359":{"this":{"__isSmartRef__":true,"id":3261}},"3360":{"timestamp":{"__isSmartRef__":true,"id":3361},"user":"jenslincke","tags":[]},"3361":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:21 GMT+0100 (CET)"},"3362":{"varMapping":{"__isSmartRef__":true,"id":3363},"source":"function intersectMorph(morph) {\n var line = this;\n return this.intersectMorphLinePoints(morph,\n line.controlPoints[0].getGlobalPos(), line.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":3364},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3363":{"this":{"__isSmartRef__":true,"id":3261}},"3364":{"timestamp":{"__isSmartRef__":true,"id":3365},"user":"jenslincke","tags":[]},"3365":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:47 GMT+0100 (CET)"},"3366":{"varMapping":{"__isSmartRef__":true,"id":3367},"source":"function globalShapePathFromMorph(morph) {\n var b = morph.shape.bounds();\n var p1 = morph.worldPoint(b.topLeft()),\n p2 = morph.worldPoint(b.topRight()),\n p3 = morph.worldPoint(b.bottomRight()),\n p4 = morph.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":3368},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3367":{"this":{"__isSmartRef__":true,"id":3261}},"3368":{"timestamp":{"__isSmartRef__":true,"id":3369},"user":"jenslincke","tags":[]},"3369":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:00 GMT+0100 (CET)"},"3370":{"sourceObj":{"__isSmartRef__":true,"id":3202},"sourceAttrName":"name","targetObj":{"__isSmartRef__":true,"id":3203},"targetMethodName":"updateLabel","varMapping":{"__isSmartRef__":true,"id":3371},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3371":{"source":{"__isSmartRef__":true,"id":3202},"target":{"__isSmartRef__":true,"id":3203}},"3372":{"sourceObj":{"__isSmartRef__":true,"id":3202},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":3260},"targetMethodName":"alignToMagnet","varMapping":{"__isSmartRef__":true,"id":3373},"dependendConnections":[{"__isSmartRef__":true,"id":3374},{"__isSmartRef__":true,"id":3376},{"__isSmartRef__":true,"id":3378},{"__isSmartRef__":true,"id":3380},{"__isSmartRef__":true,"id":3382},{"__isSmartRef__":true,"id":3384},{"__isSmartRef__":true,"id":3386},{"__isSmartRef__":true,"id":3388}],"oldTransform":{"__isSmartRef__":true,"id":3390},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"3373":{"source":{"__isSmartRef__":true,"id":3202},"target":{"__isSmartRef__":true,"id":3260}},"3374":{"sourceObj":{"__isSmartRef__":true,"id":3202},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":3372},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":3375},"dependedBy":{"__isSmartRef__":true,"id":3372},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3375":{"source":{"__isSmartRef__":true,"id":3202},"target":{"__isSmartRef__":true,"id":3372}},"3376":{"sourceObj":{"__isSmartRef__":true,"id":3202},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":3372},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":3377},"dependedBy":{"__isSmartRef__":true,"id":3372},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3377":{"source":{"__isSmartRef__":true,"id":3202},"target":{"__isSmartRef__":true,"id":3372}},"3378":{"sourceObj":{"__isSmartRef__":true,"id":3202},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":3372},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":3379},"dependedBy":{"__isSmartRef__":true,"id":3372},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3379":{"source":{"__isSmartRef__":true,"id":3202},"target":{"__isSmartRef__":true,"id":3372}},"3380":{"sourceObj":{"__isSmartRef__":true,"id":3202},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":3372},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":3381},"dependedBy":{"__isSmartRef__":true,"id":3372},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3381":{"source":{"__isSmartRef__":true,"id":3202},"target":{"__isSmartRef__":true,"id":3372}},"3382":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":3372},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":3383},"dependedBy":{"__isSmartRef__":true,"id":3372},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3383":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":3372}},"3384":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":3372},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":3385},"dependedBy":{"__isSmartRef__":true,"id":3372},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3385":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":3372}},"3386":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":3372},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":3387},"dependedBy":{"__isSmartRef__":true,"id":3372},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3387":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":3372}},"3388":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":3372},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":3389},"dependedBy":{"__isSmartRef__":true,"id":3372},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3389":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":3372}},"3390":{"d":0.9999216420017616,"a":0.9999216420017616,"f":3078.416016016016,"e":356.72502502502505,"c":-0.012518380745633573,"b":0.012518380745633573,"matrix_":{"__isSmartRef__":true,"id":3391},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3391":{"a":0.9999216420017616,"b":0.012518380745633573,"c":-0.012518380745633573,"d":0.9999216420017616,"e":356.72502502502505,"f":3078.416016016016,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3392":{"sourceObj":{"__isSmartRef__":true,"id":3202},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":3189},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":3393},"dependendConnections":[{"__isSmartRef__":true,"id":3394},{"__isSmartRef__":true,"id":3396},{"__isSmartRef__":true,"id":3398},{"__isSmartRef__":true,"id":3400},{"__isSmartRef__":true,"id":3402},{"__isSmartRef__":true,"id":3404},{"__isSmartRef__":true,"id":3406},{"__isSmartRef__":true,"id":3408}],"oldTransform":{"__isSmartRef__":true,"id":3410},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"3393":{"source":{"__isSmartRef__":true,"id":3202},"target":{"__isSmartRef__":true,"id":3189}},"3394":{"sourceObj":{"__isSmartRef__":true,"id":3202},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":3392},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":3395},"dependedBy":{"__isSmartRef__":true,"id":3392},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3395":{"source":{"__isSmartRef__":true,"id":3202},"target":{"__isSmartRef__":true,"id":3392}},"3396":{"sourceObj":{"__isSmartRef__":true,"id":3202},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":3392},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":3397},"dependedBy":{"__isSmartRef__":true,"id":3392},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3397":{"source":{"__isSmartRef__":true,"id":3202},"target":{"__isSmartRef__":true,"id":3392}},"3398":{"sourceObj":{"__isSmartRef__":true,"id":3202},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":3392},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":3399},"dependedBy":{"__isSmartRef__":true,"id":3392},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3399":{"source":{"__isSmartRef__":true,"id":3202},"target":{"__isSmartRef__":true,"id":3392}},"3400":{"sourceObj":{"__isSmartRef__":true,"id":3202},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":3392},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":3401},"dependedBy":{"__isSmartRef__":true,"id":3392},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3401":{"source":{"__isSmartRef__":true,"id":3202},"target":{"__isSmartRef__":true,"id":3392}},"3402":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":3392},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":3403},"dependedBy":{"__isSmartRef__":true,"id":3392},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3403":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":3392}},"3404":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":3392},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":3405},"dependedBy":{"__isSmartRef__":true,"id":3392},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3405":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":3392}},"3406":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":3392},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":3407},"dependedBy":{"__isSmartRef__":true,"id":3392},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3407":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":3392}},"3408":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":3392},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":3409},"dependedBy":{"__isSmartRef__":true,"id":3392},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3409":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":3392}},"3410":{"d":0.9999216420017616,"a":0.9999216420017616,"f":3078.416016016016,"e":356.72502502502505,"c":-0.012518380745633573,"b":0.012518380745633573,"matrix_":{"__isSmartRef__":true,"id":3411},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3411":{"a":0.9999216420017616,"b":0.012518380745633573,"c":-0.012518380745633573,"d":0.9999216420017616,"e":356.72502502502505,"f":3078.416016016016,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3412":{"sourceObj":{"__isSmartRef__":true,"id":3202},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":3413},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":3570},"dependendConnections":[{"__isSmartRef__":true,"id":3571},{"__isSmartRef__":true,"id":3573},{"__isSmartRef__":true,"id":3575},{"__isSmartRef__":true,"id":3577},{"__isSmartRef__":true,"id":3579},{"__isSmartRef__":true,"id":3581},{"__isSmartRef__":true,"id":3583},{"__isSmartRef__":true,"id":3585}],"oldTransform":{"__isSmartRef__":true,"id":3587},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"3413":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3414},"id":"4E431641-D056-46CB-B2A8-6626382EF423","eventHandler":{"__isSmartRef__":true,"id":3417},"__layered_droppingEnabled__":true,"halosEnabled":true,"isBeingDragged":false,"controlPoints":[{"__isSmartRef__":true,"id":3418},{"__isSmartRef__":true,"id":3419}],"showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":3420},"name":"Connector","derivationIds":[731,"5E6BD741-9C99-47B9-95C1-7A028178DB17","A8D5C37A-F23F-47FE-8DE2-211CE4484A4F","F722069B-8602-4E8D-BE3F-92A1E0C0EF28","D5ED19F9-968E-4C7E-9936-69F2735A813F","A9E370BC-F208-425C-BFFC-F8D6BB52E11F"],"_ClipMode":"visible","controlPointsHalos":[],"prevScroll":[0,0],"grabbingEnabled":false,"moved":true,"#startLetters":"controlPoints[0]","fromMorph":{"__isSmartRef__":true,"id":3202},"toMorph":{"__isSmartRef__":true,"id":3430},"update":{"__isSmartRef__":true,"id":3463},"owner":{"__isSmartRef__":true,"id":2945},"isCopyMorphRef":true,"morphRefId":4,"selectedMorph":{"__isSmartRef__":true,"id":3202},"selectedMorphHighlights":[],"_Rotation":0,"_Scale":1,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3465},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","distanceToDragEvent":"lively.pt(295.7,-20.8)","_Position":"lively.pt(350.8,122.1)"},"3414":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":3415},{"__isSmartRef__":true,"id":3416}],"_ClipMode":"visible","_BorderWidth":3.1119999999999997,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Padding","_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(-19.2,-26.3)","_Extent":"lively.pt(38.4,52.6)","_BorderColor":"Color.rgb(161,161,161)"},"3415":{"isAbsolute":true,"x":18.210092768039488,"y":25.292932686658332,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"3416":{"isAbsolute":true,"x":-17.210092768039488,"y":-24.292932686658332,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"3417":{"morph":{"__isSmartRef__":true,"id":3413},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3418":{"morph":{"__isSmartRef__":true,"id":3413},"index":0,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"3419":{"morph":{"__isSmartRef__":true,"id":3413},"index":1,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"3420":{"requiredModules":[],"migrationLevel":4,"partsSpaceName":"PartsBin/Jens/","comment":"Yes, I think I got it again: Powerful and nice connectors.\nThis time 100 % Part only!","partName":"Connector","lastModifiedDate":{"__isSmartRef__":true,"id":3421},"revisionOnLoad":186843,"changes":[{"__isSmartRef__":true,"id":3422},{"__isSmartRef__":true,"id":3424},{"__isSmartRef__":true,"id":3426},{"__isSmartRef__":true,"id":3428}],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"3421":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:34:49 GMT+0100 (CET)"},"3422":{"date":{"__isSmartRef__":true,"id":3423},"author":"jenslincke","message":"no comment","id":"28165CED-C8C5-4B8E-9655-645E3F5099BB"},"3423":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:42 GMT+0100 (CET)"},"3424":{"date":{"__isSmartRef__":true,"id":3425},"author":"jenslincke","message":"no comment","id":"117C964B-9768-48F2-8EC8-D4328478198F"},"3425":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:05:07 GMT+0100 (CET)"},"3426":{"date":{"__isSmartRef__":true,"id":3427},"author":"jenslincke","message":"no comment","id":"79159460-DFFB-462D-AFC9-EECD3539A1A9"},"3427":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:32:27 GMT+0100 (CET)"},"3428":{"date":{"__isSmartRef__":true,"id":3429},"author":"jenslincke","message":"no comment","id":"3D5067AE-5BA0-4317-837F-59F8F61B8B24"},"3429":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:35:06 GMT+0100 (CET)"},"3430":{"submorphs":[],"scripts":[],"id":"E1D0EFD8-0799-40FB-A896-DC281E3D0EBB","shape":{"__isSmartRef__":true,"id":3431},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":3432},"showsHalos":false,"name":"Image","partsBinMetaInfo":{"__isSmartRef__":true,"id":3433},"derivationIds":[707],"_ClipMode":"visible","isBeingDragged":false,"isCopyMorphRef":true,"morphRefId":2,"magnets":[{"__isSmartRef__":true,"id":3435},{"__isSmartRef__":true,"id":3436},{"__isSmartRef__":true,"id":3437},{"__isSmartRef__":true,"id":3438},{"__isSmartRef__":true,"id":3439},{"__isSmartRef__":true,"id":3440},{"__isSmartRef__":true,"id":3441},{"__isSmartRef__":true,"id":3442}],"_Scale":0.9999999999999998,"_Rotation":0,"owner":{"__isSmartRef__":true,"id":2945},"attributeConnections":[{"__isSmartRef__":true,"id":3443},{"__isSmartRef__":true,"id":3445},{"__isSmartRef__":true,"id":3447},{"__isSmartRef__":true,"id":3449},{"__isSmartRef__":true,"id":3451}],"doNotSerialize":["$$_Position","$$_Scale","$$_Rotation","$$owner"],"doNotCopyProperties":["$$_Position","$$_Scale","$$_Rotation","$$owner"],"__serializedExpressions__":["distanceToDragEvent","_Position"],"__LivelyClassName__":"lively.morphic.Image","__SourceModuleName__":"Global.lively.morphic.Widgets","distanceToDragEvent":"lively.pt(69.0,-15.4)","_Position":"lively.pt(256.4,7.8)"},"3431":{"_ImageURL":"http://lively-kernel.org/repository/webwerkstatt/media/hpi_logo.png","isLoaded":true,"__serializedExpressions__":["position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Image","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(90.0,90.0)","_Padding":"lively.rect(0,0,0,0)"},"3432":{"morph":{"__isSmartRef__":true,"id":3430},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3433":{"partsSpaceName":"PartsBin/Basic","partName":"Image","migrationLevel":2,"comment":"an pixmap image morph","lastModifiedDate":{"__isSmartRef__":true,"id":3434},"revisionOnLoad":148804,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"3434":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (CEST)"},"3435":{"morph":{"__isSmartRef__":true,"id":3430},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(253.3,3369.4)"},"3436":{"morph":{"__isSmartRef__":true,"id":3430},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(298.3,3369.4)"},"3437":{"morph":{"__isSmartRef__":true,"id":3430},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(343.3,3369.4)"},"3438":{"morph":{"__isSmartRef__":true,"id":3430},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(343.3,3414.4)"},"3439":{"morph":{"__isSmartRef__":true,"id":3430},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(343.3,3459.4)"},"3440":{"morph":{"__isSmartRef__":true,"id":3430},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(298.3,3459.4)"},"3441":{"morph":{"__isSmartRef__":true,"id":3430},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(253.3,3459.4)"},"3442":{"morph":{"__isSmartRef__":true,"id":3430},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(253.3,3414.4)"},"3443":{"sourceObj":{"__isSmartRef__":true,"id":3430},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":3413},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":3444},"dependendConnections":[{"__isSmartRef__":true,"id":3445},{"__isSmartRef__":true,"id":3447},{"__isSmartRef__":true,"id":3449},{"__isSmartRef__":true,"id":3451},{"__isSmartRef__":true,"id":3453},{"__isSmartRef__":true,"id":3455},{"__isSmartRef__":true,"id":3457},{"__isSmartRef__":true,"id":3459}],"oldTransform":{"__isSmartRef__":true,"id":3461},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"3444":{"source":{"__isSmartRef__":true,"id":3430},"target":{"__isSmartRef__":true,"id":3413}},"3445":{"sourceObj":{"__isSmartRef__":true,"id":3430},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":3443},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":3446},"dependedBy":{"__isSmartRef__":true,"id":3443},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3446":{"source":{"__isSmartRef__":true,"id":3430},"target":{"__isSmartRef__":true,"id":3443}},"3447":{"sourceObj":{"__isSmartRef__":true,"id":3430},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":3443},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":3448},"dependedBy":{"__isSmartRef__":true,"id":3443},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3448":{"source":{"__isSmartRef__":true,"id":3430},"target":{"__isSmartRef__":true,"id":3443}},"3449":{"sourceObj":{"__isSmartRef__":true,"id":3430},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":3443},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":3450},"dependedBy":{"__isSmartRef__":true,"id":3443},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3450":{"source":{"__isSmartRef__":true,"id":3430},"target":{"__isSmartRef__":true,"id":3443}},"3451":{"sourceObj":{"__isSmartRef__":true,"id":3430},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":3443},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":3452},"dependedBy":{"__isSmartRef__":true,"id":3443},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3452":{"source":{"__isSmartRef__":true,"id":3430},"target":{"__isSmartRef__":true,"id":3443}},"3453":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":3443},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":3454},"dependedBy":{"__isSmartRef__":true,"id":3443},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3454":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":3443}},"3455":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":3443},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":3456},"dependedBy":{"__isSmartRef__":true,"id":3443},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3456":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":3443}},"3457":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":3443},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":3458},"dependedBy":{"__isSmartRef__":true,"id":3443},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3458":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":3443}},"3459":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":3443},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":3460},"dependedBy":{"__isSmartRef__":true,"id":3443},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3460":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":3443}},"3461":{"d":0.9999999999999998,"a":0.9999999999999998,"f":2939.5100100100103,"e":298.4650650650651,"c":0,"b":0,"matrix_":{"__isSmartRef__":true,"id":3462},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3462":{"a":0.9999999999999998,"b":0,"c":0,"d":0.9999999999999998,"e":298.4650650650651,"f":2939.5100100100103,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3463":{"d":1,"a":1,"f":906.1,"e":107.8,"c":0,"b":0,"matrix_":{"__isSmartRef__":true,"id":3464},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3464":{"a":1,"b":0,"c":0,"d":1,"e":107.8,"f":906.1,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3465":{"connect":{"__isSmartRef__":true,"id":3466},"updatePosition":{"__isSmartRef__":true,"id":3470},"updateControlPoint":{"__isSmartRef__":true,"id":3474},"disconnectMorph":{"__isSmartRef__":true,"id":3478},"connectMorph":{"__isSmartRef__":true,"id":3482},"onMouseOver":{"__isSmartRef__":true,"id":3486},"onMouseOut":{"__isSmartRef__":true,"id":3490},"makeHandle":{"__isSmartRef__":true,"id":3498},"showFromHandle":{"__isSmartRef__":true,"id":3502},"showToHandle":{"__isSmartRef__":true,"id":3506},"reset":{"__isSmartRef__":true,"id":3510},"onDragInHandle":{"__isSmartRef__":true,"id":3514},"onDragStartInHandle":{"__isSmartRef__":true,"id":3518},"onDragEndInHandle":{"__isSmartRef__":true,"id":3522},"connectFrom":{"__isSmartRef__":true,"id":3526},"connectTo":{"__isSmartRef__":true,"id":3530},"hideToHandle":{"__isSmartRef__":true,"id":3534},"hideFromHandle":{"__isSmartRef__":true,"id":3538},"updateIntersection":{"__isSmartRef__":true,"id":3542},"lineIntersect":{"__isSmartRef__":true,"id":3546},"intersectMorphLinePoints":{"__isSmartRef__":true,"id":3550},"intersectMorph":{"__isSmartRef__":true,"id":3554},"globalShapePathFromMorph":{"__isSmartRef__":true,"id":3558},"remove":{"__isSmartRef__":true,"id":3562}},"3466":{"varMapping":{"__isSmartRef__":true,"id":3467},"source":"function connect(morphA, morphB) {\n this.connectFrom(morphA)\n this.connectTo(morphB)\n this.updatePosition()\n}","funcProperties":{"__isSmartRef__":true,"id":3468},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3467":{"this":{"__isSmartRef__":true,"id":3413}},"3468":{"timestamp":{"__isSmartRef__":true,"id":3469},"user":"jenslincke","tags":[]},"3469":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:50:49 GMT+0100 (CET)"},"3470":{"varMapping":{"__isSmartRef__":true,"id":3471},"source":"function updatePosition() {\n this.updateControlPoint(this.controlPoints[0], this.fromMorph)\n this.updateControlPoint(this.controlPoints[1], this.toMorph)\n this.updateIntersection(this.fromMorph, this.controlPoints[0])\n this.updateIntersection(this.toMorph, this.controlPoints[1])\n\n this.adjustOrigin(this.bounds().extent().scaleBy(0.5))\n}","funcProperties":{"__isSmartRef__":true,"id":3472},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3471":{"this":{"__isSmartRef__":true,"id":3413}},"3472":{"timestamp":{"__isSmartRef__":true,"id":3473},"user":"jenslincke","tags":[]},"3473":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:06:20 GMT+0100 (CET)"},"3474":{"varMapping":{"__isSmartRef__":true,"id":3475},"source":"function updateControlPoint(cp, morph) {\n if (!cp || !morph) return;\n cp.setGlobalPos(morph.worldPoint(morph.shape.bounds().center()))\n}","funcProperties":{"__isSmartRef__":true,"id":3476},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3475":{"this":{"__isSmartRef__":true,"id":3413}},"3476":{"timestamp":{"__isSmartRef__":true,"id":3477},"user":"jenslincke","tags":[]},"3477":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:45:56 GMT+0100 (CET)"},"3478":{"varMapping":{"__isSmartRef__":true,"id":3479},"source":"function disconnectMorph(morph) {\n if (!morph) return;\n lively.bindings.disconnect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":3480},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3479":{"this":{"__isSmartRef__":true,"id":3413}},"3480":{"timestamp":{"__isSmartRef__":true,"id":3481},"user":"jenslincke","tags":[]},"3481":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:19:18 GMT+0100 (CET)"},"3482":{"varMapping":{"__isSmartRef__":true,"id":3483},"source":"function connectMorph(morph) {\n if (morph)\n lively.bindings.connect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":3484},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3483":{"this":{"__isSmartRef__":true,"id":3413}},"3484":{"timestamp":{"__isSmartRef__":true,"id":3485},"user":"jenslincke","tags":[]},"3485":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:52:12 GMT+0100 (CET)"},"3486":{"varMapping":{"__isSmartRef__":true,"id":3487},"source":"function onMouseOver(evt) {\n var p = evt.mousePoint.scaleBy(this.world().getScale())\n\n var cp1 = this.controlPoints[0].getGlobalPos();\n if (p.dist(cp1) < 20) {\n this.showFromHandle()\n } else {\n this.hideFromHandle()\n }\n var cp2 = this.controlPoints[1].getGlobalPos();\n if (p.dist(cp2) < 20) {\n this.showToHandle()\n } else {\n this.hideToHandle()\n }\n}","funcProperties":{"__isSmartRef__":true,"id":3488},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3487":{"this":{"__isSmartRef__":true,"id":3413}},"3488":{"timestamp":{"__isSmartRef__":true,"id":3489},"user":"jenslincke","tags":[]},"3489":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:23:03 GMT+0100 (CET)"},"3490":{"varMapping":{"__isSmartRef__":true,"id":3491},"source":"function onMouseOut(evt) {\n // this.hideFromHandle()\n // this.hideToHandle()\n}","funcProperties":{"__isSmartRef__":true,"id":3496},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3491":{"this":{"__isSmartRef__":true,"id":3413},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3492}},"3492":{"$super":{"__isSmartRef__":true,"id":3493}},"3493":{"varMapping":{"__isSmartRef__":true,"id":3494},"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":3495},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3494":{"obj":{"__isSmartRef__":true,"id":3413},"name":"onMouseOut"},"3495":{},"3496":{"timestamp":{"__isSmartRef__":true,"id":3497},"user":"jenslincke","tags":[]},"3497":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:54:53 GMT+0100 (CET)"},"3498":{"varMapping":{"__isSmartRef__":true,"id":3499},"source":"function makeHandle() {\n var m = lively.morphic.Morph.makeRectangle(0,0,10,10);\n m.disableGrabbing()\n m.enableDragging()\n m.connector = this;\n // move real behavior to a place which is easier to develop\n // do not use bind, because we like late binding \n m.addScript(function onDragStart(evt) {\n this.connector.onDragStartInHandle(this, evt)\n })\n m.addScript(function onDrag(evt) {\n this.connector.onDragInHandle(this, evt)\n })\n m.addScript(function onDragEnd(evt) {\n this.connector.onDragEndInHandle(this, evt)\n })\n m.isEpiMorph = true;\n return m\n}","funcProperties":{"__isSmartRef__":true,"id":3500},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3499":{"this":{"__isSmartRef__":true,"id":3413}},"3500":{"timestamp":{"__isSmartRef__":true,"id":3501},"user":"jenslincke","tags":[]},"3501":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:08:29 GMT+0100 (CET)"},"3502":{"varMapping":{"__isSmartRef__":true,"id":3503},"source":"function showFromHandle() {\n if (!this.fromHandle) {\n this.fromHandle = this.makeHandle();\n this.fromHandle.setFill(Color.red)\n this.fromHandle.isFromHandle = true;\n }\n this.fromHandle.openInWorld();\n this.fromHandle.controlPoint = this.controlPoints[0];\n this.fromHandle.setPosition(this.controlPoints[0].getGlobalPos().subPt(pt(5,5)))\n return this.fromHandle\n}","funcProperties":{"__isSmartRef__":true,"id":3504},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3503":{"this":{"__isSmartRef__":true,"id":3413}},"3504":{"timestamp":{"__isSmartRef__":true,"id":3505},"user":"jenslincke","tags":[]},"3505":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:13:03 GMT+0100 (CET)"},"3506":{"varMapping":{"__isSmartRef__":true,"id":3507},"source":"function showToHandle() {\n if (!this.toHandle) {\n this.toHandle = this.makeHandle();\n this.toHandle.setFill(Color.red)\n this.toHandle.isToHandle = true;\n\n }\n this.toHandle.openInWorld();\n this.toHandle.controlPoint = this.controlPoints[1];\n this.toHandle.setPosition(this.controlPoints[1].getGlobalPos().subPt(pt(5,5)))\n return this.toHandle\n}","funcProperties":{"__isSmartRef__":true,"id":3508},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3507":{"this":{"__isSmartRef__":true,"id":3413}},"3508":{"timestamp":{"__isSmartRef__":true,"id":3509},"user":"jenslincke","tags":[]},"3509":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:20:25 GMT+0100 (CET)"},"3510":{"varMapping":{"__isSmartRef__":true,"id":3511},"source":"function reset() {\n if (this.fromHandle) {\n this.fromHandle.remove()\n delete this.fromHandle\n }\n if (this.toHandle) {\n this.toHandle.remove()\n delete this.toHandle\n }\n // this.controlPoints[1].setPos(pt(200,200))\n}","funcProperties":{"__isSmartRef__":true,"id":3512},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3511":{"this":{"__isSmartRef__":true,"id":3413}},"3512":{"timestamp":{"__isSmartRef__":true,"id":3513},"user":"jenslincke","tags":[]},"3513":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:15:00 GMT+0100 (CET)"},"3514":{"varMapping":{"__isSmartRef__":true,"id":3515},"source":"function onDragInHandle(handle, evt) {\n\n var pos = handle.getPositionInWorld();\n var delta = evt.hand.getPosition().subPt(pos);\n handle.moveBy(delta)\n pos = handle.getPositionInWorld();\n if (handle.controlPoint)\n handle.controlPoint.setGlobalPos(pos.addPt(pt(5,5)))\n var morphs = this.owner.morphsContainingPoint(pos)\n morphs = morphs.reject(function(ea) {\n return ea.isWorld || (ea === handle) || (ea === this) || \n (ea === this.owner)\n }, this)\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n this.selectedMorph = morphs.first();\n this.selectedMorphHighlights = show(this.selectedMorph)\n handle.startPos = evt.getPosition();\n}","funcProperties":{"__isSmartRef__":true,"id":3516},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3515":{"this":{"__isSmartRef__":true,"id":3413}},"3516":{"timestamp":{"__isSmartRef__":true,"id":3517},"user":"jenslincke","tags":[]},"3517":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:06:40 GMT+0100 (CET)"},"3518":{"varMapping":{"__isSmartRef__":true,"id":3519},"source":"function onDragStartInHandle(handle, evt) {\n handle.startPos = evt.getPosition()\n}","funcProperties":{"__isSmartRef__":true,"id":3520},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3519":{"this":{"__isSmartRef__":true,"id":3413}},"3520":{"timestamp":{"__isSmartRef__":true,"id":3521},"user":"jenslincke","tags":[]},"3521":{"isSerializedDate":true,"string":"Thu Dec 13 2012 15:51:13 GMT+0100 (CET)"},"3522":{"varMapping":{"__isSmartRef__":true,"id":3523},"source":"function onDragEndInHandle(handle, evt) {\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n \n if (handle.isFromHandle) this.connectFrom(this.selectedMorph)\n if (handle.isToHandle) this.connectTo(this.selectedMorph)\n handle.remove()\n}","funcProperties":{"__isSmartRef__":true,"id":3524},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3523":{"this":{"__isSmartRef__":true,"id":3413}},"3524":{"timestamp":{"__isSmartRef__":true,"id":3525},"user":"jenslincke","tags":[]},"3525":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:44:35 GMT+0100 (CET)"},"3526":{"varMapping":{"__isSmartRef__":true,"id":3527},"source":"function connectFrom(morph) {\n if (morph && morph === this.toMorph) return; // not allowed\n\n this.disconnectMorph(this.fromMorph)\n this.fromMorph = morph;\n this.connectMorph(this.fromMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":3528},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3527":{"this":{"__isSmartRef__":true,"id":3413}},"3528":{"timestamp":{"__isSmartRef__":true,"id":3529},"user":"jenslincke","tags":[]},"3529":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:02:22 GMT+0100 (CET)"},"3530":{"varMapping":{"__isSmartRef__":true,"id":3531},"source":"function connectTo(morph) {\n\n if (morph && morph === this.fromMorph) return; // not allowed\n\n this.disconnectMorph(this.toMorph)\n this.toMorph = morph;\n this.connectMorph(this.toMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":3532},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3531":{"this":{"__isSmartRef__":true,"id":3413}},"3532":{"timestamp":{"__isSmartRef__":true,"id":3533},"user":"jenslincke","tags":[]},"3533":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:02:30 GMT+0100 (CET)"},"3534":{"varMapping":{"__isSmartRef__":true,"id":3535},"source":"function hideToHandle() {\n if (this.toHandle) {\n this.toHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":3536},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3535":{"this":{"__isSmartRef__":true,"id":3413}},"3536":{"timestamp":{"__isSmartRef__":true,"id":3537},"user":"jenslincke","tags":[]},"3537":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:51:59 GMT+0100 (CET)"},"3538":{"varMapping":{"__isSmartRef__":true,"id":3539},"source":"function hideFromHandle() {\n if (this.fromHandle) {\n this.fromHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":3540},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3539":{"this":{"__isSmartRef__":true,"id":3413}},"3540":{"timestamp":{"__isSmartRef__":true,"id":3541},"user":"jenslincke","tags":[]},"3541":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:52:18 GMT+0100 (CET)"},"3542":{"varMapping":{"__isSmartRef__":true,"id":3543},"source":"function updateIntersection(morph, cp) {\n if (!morph) return;\n var intersection = this.intersectMorph(morph)[0];\n if (intersection) {\n cp.setGlobalPos(intersection);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":3544},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3543":{"this":{"__isSmartRef__":true,"id":3413}},"3544":{"timestamp":{"__isSmartRef__":true,"id":3545},"user":"jenslincke","tags":[]},"3545":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:32 GMT+0100 (CET)"},"3546":{"varMapping":{"__isSmartRef__":true,"id":3547},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":3548},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3547":{"this":{"__isSmartRef__":true,"id":3413}},"3548":{"timestamp":{"__isSmartRef__":true,"id":3549},"user":"jenslincke","tags":[]},"3549":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:47:12 GMT+0100 (CET)"},"3550":{"varMapping":{"__isSmartRef__":true,"id":3551},"source":"function intersectMorphLinePoints(morph, a1, a2) {\n var points = this.globalShapePathFromMorph(morph);\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":3552},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3551":{"this":{"__isSmartRef__":true,"id":3413}},"3552":{"timestamp":{"__isSmartRef__":true,"id":3553},"user":"jenslincke","tags":[]},"3553":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:21 GMT+0100 (CET)"},"3554":{"varMapping":{"__isSmartRef__":true,"id":3555},"source":"function intersectMorph(morph) {\n var line = this;\n return this.intersectMorphLinePoints(morph,\n line.controlPoints[0].getGlobalPos(), line.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":3556},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3555":{"this":{"__isSmartRef__":true,"id":3413}},"3556":{"timestamp":{"__isSmartRef__":true,"id":3557},"user":"jenslincke","tags":[]},"3557":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:47 GMT+0100 (CET)"},"3558":{"varMapping":{"__isSmartRef__":true,"id":3559},"source":"function globalShapePathFromMorph(morph) {\n var b = morph.shape.bounds();\n var p1 = morph.worldPoint(b.topLeft()),\n p2 = morph.worldPoint(b.topRight()),\n p3 = morph.worldPoint(b.bottomRight()),\n p4 = morph.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":3560},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3559":{"this":{"__isSmartRef__":true,"id":3413}},"3560":{"timestamp":{"__isSmartRef__":true,"id":3561},"user":"jenslincke","tags":[]},"3561":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:00 GMT+0100 (CET)"},"3562":{"varMapping":{"__isSmartRef__":true,"id":3563},"source":"function remove() {\n \n this.disconnectMorph(this.fromMorph)\n this.disconnectMorph(this.toMorph)\n return $super()\n}","funcProperties":{"__isSmartRef__":true,"id":3568},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3563":{"this":{"__isSmartRef__":true,"id":3413},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3564}},"3564":{"$super":{"__isSmartRef__":true,"id":3565}},"3565":{"varMapping":{"__isSmartRef__":true,"id":3566},"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":3567},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3566":{"obj":{"__isSmartRef__":true,"id":3413},"name":"remove"},"3567":{},"3568":{"timestamp":{"__isSmartRef__":true,"id":3569},"user":"jenslincke","tags":[]},"3569":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:33:57 GMT+0100 (CET)"},"3570":{"source":{"__isSmartRef__":true,"id":3202},"target":{"__isSmartRef__":true,"id":3413}},"3571":{"sourceObj":{"__isSmartRef__":true,"id":3202},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":3412},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":3572},"dependedBy":{"__isSmartRef__":true,"id":3412},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3572":{"source":{"__isSmartRef__":true,"id":3202},"target":{"__isSmartRef__":true,"id":3412}},"3573":{"sourceObj":{"__isSmartRef__":true,"id":3202},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":3412},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":3574},"dependedBy":{"__isSmartRef__":true,"id":3412},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3574":{"source":{"__isSmartRef__":true,"id":3202},"target":{"__isSmartRef__":true,"id":3412}},"3575":{"sourceObj":{"__isSmartRef__":true,"id":3202},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":3412},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":3576},"dependedBy":{"__isSmartRef__":true,"id":3412},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3576":{"source":{"__isSmartRef__":true,"id":3202},"target":{"__isSmartRef__":true,"id":3412}},"3577":{"sourceObj":{"__isSmartRef__":true,"id":3202},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":3412},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":3578},"dependedBy":{"__isSmartRef__":true,"id":3412},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3578":{"source":{"__isSmartRef__":true,"id":3202},"target":{"__isSmartRef__":true,"id":3412}},"3579":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":3412},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":3580},"dependedBy":{"__isSmartRef__":true,"id":3412},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3580":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":3412}},"3581":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":3412},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":3582},"dependedBy":{"__isSmartRef__":true,"id":3412},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3582":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":3412}},"3583":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":3412},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":3584},"dependedBy":{"__isSmartRef__":true,"id":3412},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3584":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":3412}},"3585":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":3412},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":3586},"dependedBy":{"__isSmartRef__":true,"id":3412},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3586":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":3412}},"3587":{"d":0.9999216420017616,"a":0.9999216420017616,"f":3078.416016016016,"e":356.72502502502505,"c":-0.012518380745633573,"b":0.012518380745633573,"matrix_":{"__isSmartRef__":true,"id":3588},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3588":{"a":0.9999216420017616,"b":0.012518380745633573,"c":-0.012518380745633573,"d":0.9999216420017616,"e":356.72502502502505,"f":3078.416016016016,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3589":{"sourceObj":{"__isSmartRef__":true,"id":3202},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":3590},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":3716},"dependendConnections":[{"__isSmartRef__":true,"id":3717},{"__isSmartRef__":true,"id":3719},{"__isSmartRef__":true,"id":3721},{"__isSmartRef__":true,"id":3723},{"__isSmartRef__":true,"id":3725},{"__isSmartRef__":true,"id":3727},{"__isSmartRef__":true,"id":3729},{"__isSmartRef__":true,"id":3731}],"oldTransform":{"__isSmartRef__":true,"id":3733},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"3590":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3591},"id":"D24B90FE-EB11-4CD8-8B58-03EA660FAE79","eventHandler":{"__isSmartRef__":true,"id":3594},"__layered_droppingEnabled__":true,"halosEnabled":true,"isBeingDragged":false,"controlPoints":[{"__isSmartRef__":true,"id":3595},{"__isSmartRef__":true,"id":3596}],"showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":3597},"name":"Connector1","derivationIds":[731,"5E6BD741-9C99-47B9-95C1-7A028178DB17","A8D5C37A-F23F-47FE-8DE2-211CE4484A4F","F722069B-8602-4E8D-BE3F-92A1E0C0EF28","D5ED19F9-968E-4C7E-9936-69F2735A813F","A9E370BC-F208-425C-BFFC-F8D6BB52E11F","4E431641-D056-46CB-B2A8-6626382EF423","5E9FF80A-8869-4D30-9A4C-37023352650B"],"_ClipMode":"visible","controlPointsHalos":[],"prevScroll":[0,0],"grabbingEnabled":false,"moved":true,"#startLetters":"controlPoints[0]","update":{"__isSmartRef__":true,"id":3609},"isCopyMorphRef":true,"morphRefId":5,"selectedMorphHighlights":null,"owner":{"__isSmartRef__":true,"id":2945},"_Rotation":0,"_Scale":1,"toMorph":{"__isSmartRef__":true,"id":3202},"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3611},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","distanceToDragEvent":"lively.pt(295.7,-20.8)","_Position":"lively.pt(547.6,134.2)"},"3591":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":3592},{"__isSmartRef__":true,"id":3593}],"_ClipMode":"visible","_BorderWidth":3.1119999999999997,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Padding","_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(-101.3,-19.4)","_Extent":"lively.pt(202.5,38.8)","_BorderColor":"Color.rgb(161,161,161)"},"3592":{"isAbsolute":true,"x":100.25306381318481,"y":-17.402771045773534,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"3593":{"isAbsolute":true,"x":-99.25306381318475,"y":18.402771045773534,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"3594":{"morph":{"__isSmartRef__":true,"id":3590},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3595":{"morph":{"__isSmartRef__":true,"id":3590},"index":0,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"3596":{"morph":{"__isSmartRef__":true,"id":3590},"index":1,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"3597":{"requiredModules":[],"migrationLevel":4,"partsSpaceName":"PartsBin/Jens/","comment":"Yes, I think I got it again: Powerful and nice connectors.\nThis time 100 % Part only!","partName":"Connector","lastModifiedDate":{"__isSmartRef__":true,"id":3598},"revisionOnLoad":186847,"changes":[{"__isSmartRef__":true,"id":3599},{"__isSmartRef__":true,"id":3601},{"__isSmartRef__":true,"id":3603},{"__isSmartRef__":true,"id":3605},{"__isSmartRef__":true,"id":3607}],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"3598":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:37:16 GMT+0100 (CET)"},"3599":{"date":{"__isSmartRef__":true,"id":3600},"author":"jenslincke","message":"no comment","id":"3D5067AE-5BA0-4317-837F-59F8F61B8B24"},"3600":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:35:06 GMT+0100 (CET)"},"3601":{"date":{"__isSmartRef__":true,"id":3602},"author":"jenslincke","message":"no comment","id":"79159460-DFFB-462D-AFC9-EECD3539A1A9"},"3602":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:32:27 GMT+0100 (CET)"},"3603":{"date":{"__isSmartRef__":true,"id":3604},"author":"jenslincke","message":"no comment","id":"117C964B-9768-48F2-8EC8-D4328478198F"},"3604":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:05:07 GMT+0100 (CET)"},"3605":{"date":{"__isSmartRef__":true,"id":3606},"author":"jenslincke","message":"no comment","id":"28165CED-C8C5-4B8E-9655-645E3F5099BB"},"3606":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:42 GMT+0100 (CET)"},"3607":{"date":{"__isSmartRef__":true,"id":3608},"author":"jenslincke","message":"no comment","id":"ED70FB47-8AA0-4D4E-8D90-FF99454C924B"},"3608":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:37:32 GMT+0100 (CET)"},"3609":{"d":1,"a":1,"f":906.1,"e":107.8,"c":0,"b":0,"matrix_":{"__isSmartRef__":true,"id":3610},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3610":{"a":1,"b":0,"c":0,"d":1,"e":107.8,"f":906.1,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3611":{"connect":{"__isSmartRef__":true,"id":3612},"updatePosition":{"__isSmartRef__":true,"id":3616},"updateControlPoint":{"__isSmartRef__":true,"id":3620},"disconnectMorph":{"__isSmartRef__":true,"id":3624},"connectMorph":{"__isSmartRef__":true,"id":3628},"onMouseOver":{"__isSmartRef__":true,"id":3632},"onMouseOut":{"__isSmartRef__":true,"id":3636},"makeHandle":{"__isSmartRef__":true,"id":3644},"showFromHandle":{"__isSmartRef__":true,"id":3648},"showToHandle":{"__isSmartRef__":true,"id":3652},"reset":{"__isSmartRef__":true,"id":3656},"onDragInHandle":{"__isSmartRef__":true,"id":3660},"onDragStartInHandle":{"__isSmartRef__":true,"id":3664},"onDragEndInHandle":{"__isSmartRef__":true,"id":3668},"connectFrom":{"__isSmartRef__":true,"id":3672},"connectTo":{"__isSmartRef__":true,"id":3676},"hideToHandle":{"__isSmartRef__":true,"id":3680},"hideFromHandle":{"__isSmartRef__":true,"id":3684},"updateIntersection":{"__isSmartRef__":true,"id":3688},"lineIntersect":{"__isSmartRef__":true,"id":3692},"intersectMorphLinePoints":{"__isSmartRef__":true,"id":3696},"intersectMorph":{"__isSmartRef__":true,"id":3700},"globalShapePathFromMorph":{"__isSmartRef__":true,"id":3704},"remove":{"__isSmartRef__":true,"id":3708}},"3612":{"varMapping":{"__isSmartRef__":true,"id":3613},"source":"function connect(morphA, morphB) {\n this.connectFrom(morphA)\n this.connectTo(morphB)\n this.updatePosition()\n}","funcProperties":{"__isSmartRef__":true,"id":3614},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3613":{"this":{"__isSmartRef__":true,"id":3590}},"3614":{"timestamp":{"__isSmartRef__":true,"id":3615},"user":"jenslincke","tags":[]},"3615":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:50:49 GMT+0100 (CET)"},"3616":{"varMapping":{"__isSmartRef__":true,"id":3617},"source":"function updatePosition() {\n this.updateControlPoint(this.controlPoints[0], this.fromMorph)\n this.updateControlPoint(this.controlPoints[1], this.toMorph)\n this.updateIntersection(this.fromMorph, this.controlPoints[0])\n this.updateIntersection(this.toMorph, this.controlPoints[1])\n\n this.adjustOrigin(this.bounds().extent().scaleBy(0.5))\n}","funcProperties":{"__isSmartRef__":true,"id":3618},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3617":{"this":{"__isSmartRef__":true,"id":3590}},"3618":{"timestamp":{"__isSmartRef__":true,"id":3619},"user":"jenslincke","tags":[]},"3619":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:06:20 GMT+0100 (CET)"},"3620":{"varMapping":{"__isSmartRef__":true,"id":3621},"source":"function updateControlPoint(cp, morph) {\n if (!cp || !morph) return;\n cp.setGlobalPos(morph.worldPoint(morph.shape.bounds().center()))\n}","funcProperties":{"__isSmartRef__":true,"id":3622},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3621":{"this":{"__isSmartRef__":true,"id":3590}},"3622":{"timestamp":{"__isSmartRef__":true,"id":3623},"user":"jenslincke","tags":[]},"3623":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:45:56 GMT+0100 (CET)"},"3624":{"varMapping":{"__isSmartRef__":true,"id":3625},"source":"function disconnectMorph(morph) {\n if (!morph) return;\n lively.bindings.disconnect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":3626},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3625":{"this":{"__isSmartRef__":true,"id":3590}},"3626":{"timestamp":{"__isSmartRef__":true,"id":3627},"user":"jenslincke","tags":[]},"3627":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:19:18 GMT+0100 (CET)"},"3628":{"varMapping":{"__isSmartRef__":true,"id":3629},"source":"function connectMorph(morph) {\n if (morph)\n lively.bindings.connect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":3630},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3629":{"this":{"__isSmartRef__":true,"id":3590}},"3630":{"timestamp":{"__isSmartRef__":true,"id":3631},"user":"jenslincke","tags":[]},"3631":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:52:12 GMT+0100 (CET)"},"3632":{"varMapping":{"__isSmartRef__":true,"id":3633},"source":"function onMouseOver(evt) {\n var p = evt.mousePoint.scaleBy(this.world().getScale())\n\n var cp1 = this.controlPoints[0].getGlobalPos();\n if (p.dist(cp1) < 20) {\n this.showFromHandle()\n } else {\n this.hideFromHandle()\n }\n var cp2 = this.controlPoints[1].getGlobalPos();\n if (p.dist(cp2) < 20) {\n this.showToHandle()\n } else {\n this.hideToHandle()\n }\n}","funcProperties":{"__isSmartRef__":true,"id":3634},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3633":{"this":{"__isSmartRef__":true,"id":3590}},"3634":{"timestamp":{"__isSmartRef__":true,"id":3635},"user":"jenslincke","tags":[]},"3635":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:23:03 GMT+0100 (CET)"},"3636":{"varMapping":{"__isSmartRef__":true,"id":3637},"source":"function onMouseOut(evt) {\n // this.hideFromHandle()\n // this.hideToHandle()\n}","funcProperties":{"__isSmartRef__":true,"id":3642},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3637":{"this":{"__isSmartRef__":true,"id":3590},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3638}},"3638":{"$super":{"__isSmartRef__":true,"id":3639}},"3639":{"varMapping":{"__isSmartRef__":true,"id":3640},"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":3641},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3640":{"obj":{"__isSmartRef__":true,"id":3590},"name":"onMouseOut"},"3641":{},"3642":{"timestamp":{"__isSmartRef__":true,"id":3643},"user":"jenslincke","tags":[]},"3643":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:54:53 GMT+0100 (CET)"},"3644":{"varMapping":{"__isSmartRef__":true,"id":3645},"source":"function makeHandle() {\n var m = lively.morphic.Morph.makeRectangle(0,0,10,10);\n m.disableGrabbing()\n m.enableDragging()\n m.connector = this;\n // move real behavior to a place which is easier to develop\n // do not use bind, because we like late binding \n m.addScript(function onDragStart(evt) {\n this.connector.onDragStartInHandle(this, evt)\n })\n m.addScript(function onDrag(evt) {\n this.connector.onDragInHandle(this, evt)\n })\n m.addScript(function onDragEnd(evt) {\n this.connector.onDragEndInHandle(this, evt)\n })\n m.isEpiMorph = true;\n return m\n}","funcProperties":{"__isSmartRef__":true,"id":3646},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3645":{"this":{"__isSmartRef__":true,"id":3590}},"3646":{"timestamp":{"__isSmartRef__":true,"id":3647},"user":"jenslincke","tags":[]},"3647":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:08:29 GMT+0100 (CET)"},"3648":{"varMapping":{"__isSmartRef__":true,"id":3649},"source":"function showFromHandle() {\n if (!this.fromHandle) {\n this.fromHandle = this.makeHandle();\n this.fromHandle.setFill(Color.red)\n this.fromHandle.isFromHandle = true;\n }\n this.fromHandle.openInWorld();\n this.fromHandle.controlPoint = this.controlPoints[0];\n this.fromHandle.setPosition(this.controlPoints[0].getGlobalPos().subPt(pt(5,5)))\n return this.fromHandle\n}","funcProperties":{"__isSmartRef__":true,"id":3650},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3649":{"this":{"__isSmartRef__":true,"id":3590}},"3650":{"timestamp":{"__isSmartRef__":true,"id":3651},"user":"jenslincke","tags":[]},"3651":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:13:03 GMT+0100 (CET)"},"3652":{"varMapping":{"__isSmartRef__":true,"id":3653},"source":"function showToHandle() {\n if (!this.toHandle) {\n this.toHandle = this.makeHandle();\n this.toHandle.setFill(Color.red)\n this.toHandle.isToHandle = true;\n\n }\n this.toHandle.openInWorld();\n this.toHandle.controlPoint = this.controlPoints[1];\n this.toHandle.setPosition(this.controlPoints[1].getGlobalPos().subPt(pt(5,5)))\n return this.toHandle\n}","funcProperties":{"__isSmartRef__":true,"id":3654},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3653":{"this":{"__isSmartRef__":true,"id":3590}},"3654":{"timestamp":{"__isSmartRef__":true,"id":3655},"user":"jenslincke","tags":[]},"3655":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:20:25 GMT+0100 (CET)"},"3656":{"varMapping":{"__isSmartRef__":true,"id":3657},"source":"function reset() {\n if (this.fromHandle) {\n this.fromHandle.remove()\n delete this.fromHandle\n }\n if (this.toHandle) {\n this.toHandle.remove()\n delete this.toHandle\n }\n // this.controlPoints[1].setPos(pt(200,200))\n}","funcProperties":{"__isSmartRef__":true,"id":3658},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3657":{"this":{"__isSmartRef__":true,"id":3590}},"3658":{"timestamp":{"__isSmartRef__":true,"id":3659},"user":"jenslincke","tags":[]},"3659":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:15:00 GMT+0100 (CET)"},"3660":{"varMapping":{"__isSmartRef__":true,"id":3661},"source":"function onDragInHandle(handle, evt) {\n\n var pos = handle.getPositionInWorld();\n var delta = evt.hand.getPosition().subPt(pos);\n handle.moveBy(delta)\n pos = handle.getPositionInWorld();\n if (handle.controlPoint)\n handle.controlPoint.setGlobalPos(pos.addPt(pt(5,5)))\n var morphs = this.owner.morphsContainingPoint(pos)\n morphs = morphs.reject(function(ea) {\n return ea.isWorld || (ea === handle) || (ea === this) || \n (ea === this.owner)\n }, this)\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n this.selectedMorph = morphs.first();\n this.selectedMorphHighlights = show(this.selectedMorph)\n handle.startPos = evt.getPosition();\n}","funcProperties":{"__isSmartRef__":true,"id":3662},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3661":{"this":{"__isSmartRef__":true,"id":3590}},"3662":{"timestamp":{"__isSmartRef__":true,"id":3663},"user":"jenslincke","tags":[]},"3663":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:06:40 GMT+0100 (CET)"},"3664":{"varMapping":{"__isSmartRef__":true,"id":3665},"source":"function onDragStartInHandle(handle, evt) {\n handle.startPos = evt.getPosition()\n}","funcProperties":{"__isSmartRef__":true,"id":3666},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3665":{"this":{"__isSmartRef__":true,"id":3590}},"3666":{"timestamp":{"__isSmartRef__":true,"id":3667},"user":"jenslincke","tags":[]},"3667":{"isSerializedDate":true,"string":"Thu Dec 13 2012 15:51:13 GMT+0100 (CET)"},"3668":{"varMapping":{"__isSmartRef__":true,"id":3669},"source":"function onDragEndInHandle(handle, evt) {\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n \n if (handle.isFromHandle) this.connectFrom(this.selectedMorph)\n if (handle.isToHandle) this.connectTo(this.selectedMorph)\n handle.remove()\n this.updatePosition()\n}","funcProperties":{"__isSmartRef__":true,"id":3670},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3669":{"this":{"__isSmartRef__":true,"id":3590}},"3670":{"timestamp":{"__isSmartRef__":true,"id":3671},"user":"jenslincke","tags":[]},"3671":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:36:59 GMT+0100 (CET)"},"3672":{"varMapping":{"__isSmartRef__":true,"id":3673},"source":"function connectFrom(morph) {\n if (morph && morph === this.toMorph) return; // not allowed\n\n this.disconnectMorph(this.fromMorph)\n this.fromMorph = morph;\n this.connectMorph(this.fromMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":3674},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3673":{"this":{"__isSmartRef__":true,"id":3590}},"3674":{"timestamp":{"__isSmartRef__":true,"id":3675},"user":"jenslincke","tags":[]},"3675":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:02:22 GMT+0100 (CET)"},"3676":{"varMapping":{"__isSmartRef__":true,"id":3677},"source":"function connectTo(morph) {\n\n if (morph && morph === this.fromMorph) return; // not allowed\n\n this.disconnectMorph(this.toMorph)\n this.toMorph = morph;\n this.connectMorph(this.toMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":3678},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3677":{"this":{"__isSmartRef__":true,"id":3590}},"3678":{"timestamp":{"__isSmartRef__":true,"id":3679},"user":"jenslincke","tags":[]},"3679":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:02:30 GMT+0100 (CET)"},"3680":{"varMapping":{"__isSmartRef__":true,"id":3681},"source":"function hideToHandle() {\n if (this.toHandle) {\n this.toHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":3682},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3681":{"this":{"__isSmartRef__":true,"id":3590}},"3682":{"timestamp":{"__isSmartRef__":true,"id":3683},"user":"jenslincke","tags":[]},"3683":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:51:59 GMT+0100 (CET)"},"3684":{"varMapping":{"__isSmartRef__":true,"id":3685},"source":"function hideFromHandle() {\n if (this.fromHandle) {\n this.fromHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":3686},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3685":{"this":{"__isSmartRef__":true,"id":3590}},"3686":{"timestamp":{"__isSmartRef__":true,"id":3687},"user":"jenslincke","tags":[]},"3687":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:52:18 GMT+0100 (CET)"},"3688":{"varMapping":{"__isSmartRef__":true,"id":3689},"source":"function updateIntersection(morph, cp) {\n if (!morph) return;\n var intersection = this.intersectMorph(morph)[0];\n if (intersection) {\n cp.setGlobalPos(intersection);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":3690},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3689":{"this":{"__isSmartRef__":true,"id":3590}},"3690":{"timestamp":{"__isSmartRef__":true,"id":3691},"user":"jenslincke","tags":[]},"3691":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:32 GMT+0100 (CET)"},"3692":{"varMapping":{"__isSmartRef__":true,"id":3693},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":3694},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3693":{"this":{"__isSmartRef__":true,"id":3590}},"3694":{"timestamp":{"__isSmartRef__":true,"id":3695},"user":"jenslincke","tags":[]},"3695":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:47:12 GMT+0100 (CET)"},"3696":{"varMapping":{"__isSmartRef__":true,"id":3697},"source":"function intersectMorphLinePoints(morph, a1, a2) {\n var points = this.globalShapePathFromMorph(morph);\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":3698},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3697":{"this":{"__isSmartRef__":true,"id":3590}},"3698":{"timestamp":{"__isSmartRef__":true,"id":3699},"user":"jenslincke","tags":[]},"3699":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:21 GMT+0100 (CET)"},"3700":{"varMapping":{"__isSmartRef__":true,"id":3701},"source":"function intersectMorph(morph) {\n var line = this;\n return this.intersectMorphLinePoints(morph,\n line.controlPoints[0].getGlobalPos(), line.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":3702},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3701":{"this":{"__isSmartRef__":true,"id":3590}},"3702":{"timestamp":{"__isSmartRef__":true,"id":3703},"user":"jenslincke","tags":[]},"3703":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:47 GMT+0100 (CET)"},"3704":{"varMapping":{"__isSmartRef__":true,"id":3705},"source":"function globalShapePathFromMorph(morph) {\n var b = morph.shape.bounds();\n var p1 = morph.worldPoint(b.topLeft()),\n p2 = morph.worldPoint(b.topRight()),\n p3 = morph.worldPoint(b.bottomRight()),\n p4 = morph.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":3706},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3705":{"this":{"__isSmartRef__":true,"id":3590}},"3706":{"timestamp":{"__isSmartRef__":true,"id":3707},"user":"jenslincke","tags":[]},"3707":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:00 GMT+0100 (CET)"},"3708":{"varMapping":{"__isSmartRef__":true,"id":3709},"source":"function remove() {\n \n this.disconnectMorph(this.fromMorph)\n this.disconnectMorph(this.toMorph)\n return $super()\n}","funcProperties":{"__isSmartRef__":true,"id":3714},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3709":{"this":{"__isSmartRef__":true,"id":3590},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3710}},"3710":{"$super":{"__isSmartRef__":true,"id":3711}},"3711":{"varMapping":{"__isSmartRef__":true,"id":3712},"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":3713},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3712":{"obj":{"__isSmartRef__":true,"id":3590},"name":"remove"},"3713":{},"3714":{"timestamp":{"__isSmartRef__":true,"id":3715},"user":"jenslincke","tags":[]},"3715":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:33:57 GMT+0100 (CET)"},"3716":{"source":{"__isSmartRef__":true,"id":3202},"target":{"__isSmartRef__":true,"id":3590}},"3717":{"sourceObj":{"__isSmartRef__":true,"id":3202},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":3589},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":3718},"dependedBy":{"__isSmartRef__":true,"id":3589},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3718":{"source":{"__isSmartRef__":true,"id":3202},"target":{"__isSmartRef__":true,"id":3589}},"3719":{"sourceObj":{"__isSmartRef__":true,"id":3202},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":3589},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":3720},"dependedBy":{"__isSmartRef__":true,"id":3589},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3720":{"source":{"__isSmartRef__":true,"id":3202},"target":{"__isSmartRef__":true,"id":3589}},"3721":{"sourceObj":{"__isSmartRef__":true,"id":3202},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":3589},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":3722},"dependedBy":{"__isSmartRef__":true,"id":3589},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3722":{"source":{"__isSmartRef__":true,"id":3202},"target":{"__isSmartRef__":true,"id":3589}},"3723":{"sourceObj":{"__isSmartRef__":true,"id":3202},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":3589},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":3724},"dependedBy":{"__isSmartRef__":true,"id":3589},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3724":{"source":{"__isSmartRef__":true,"id":3202},"target":{"__isSmartRef__":true,"id":3589}},"3725":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":3589},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":3726},"dependedBy":{"__isSmartRef__":true,"id":3589},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3726":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":3589}},"3727":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":3589},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":3728},"dependedBy":{"__isSmartRef__":true,"id":3589},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3728":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":3589}},"3729":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":3589},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":3730},"dependedBy":{"__isSmartRef__":true,"id":3589},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3730":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":3589}},"3731":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":3589},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":3732},"dependedBy":{"__isSmartRef__":true,"id":3589},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3732":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":3589}},"3733":{"d":0.9999216420017616,"a":0.9999216420017616,"f":3078.416016016016,"e":356.72502502502505,"c":-0.012518380745633573,"b":0.012518380745633573,"matrix_":{"__isSmartRef__":true,"id":3734},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3734":{"a":0.9999216420017616,"b":0.012518380745633573,"c":-0.012518380745633573,"d":0.9999216420017616,"e":356.72502502502505,"f":3078.416016016016,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3735":{"globalShapePath":{"__isSmartRef__":true,"id":3736},"lineIntersect":{"__isSmartRef__":true,"id":3739},"intersectLine":{"__isSmartRef__":true,"id":3743},"intersectLineMorph":{"__isSmartRef__":true,"id":3746}},"3736":{"varMapping":{"__isSmartRef__":true,"id":3737},"source":"function globalShapePath() {\n var b = this.shape.bounds();\n var p1 = this.worldPoint(b.topLeft()),\n p2 = this.worldPoint(b.topRight()),\n p3 = this.worldPoint(b.bottomRight()),\n p4 = this.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":3738},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3737":{"this":{"__isSmartRef__":true,"id":3202}},"3738":{},"3739":{"varMapping":{"__isSmartRef__":true,"id":3740},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":3741},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3740":{"this":{"__isSmartRef__":true,"id":3202}},"3741":{"timestamp":{"__isSmartRef__":true,"id":3742},"user":"jenslincke","tags":[]},"3742":{"isSerializedDate":true,"string":"Thu Dec 13 2012 13:42:55 GMT+0100 (CET)"},"3743":{"varMapping":{"__isSmartRef__":true,"id":3744},"source":"function intersectLine(a1, a2) {\n var points = this.globalShapePath();\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":3745},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3744":{"this":{"__isSmartRef__":true,"id":3202}},"3745":{},"3746":{"varMapping":{"__isSmartRef__":true,"id":3747},"source":"function intersectLineMorph(m) {\n return this.intersectLine(m.controlPoints[0].getGlobalPos(), m.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":3748},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3747":{"this":{"__isSmartRef__":true,"id":3202}},"3748":{},"3749":{"d":1,"a":1,"f":906.1,"e":107.8,"c":0,"b":0,"matrix_":{"__isSmartRef__":true,"id":3750},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3750":{"a":1,"b":0,"c":0,"d":1,"e":107.8,"f":906.1,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3751":{"connect":{"__isSmartRef__":true,"id":3752},"updatePosition":{"__isSmartRef__":true,"id":3756},"updateControlPoint":{"__isSmartRef__":true,"id":3760},"disconnectMorph":{"__isSmartRef__":true,"id":3764},"connectMorph":{"__isSmartRef__":true,"id":3768},"onMouseOver":{"__isSmartRef__":true,"id":3772},"onMouseOut":{"__isSmartRef__":true,"id":3776},"makeHandle":{"__isSmartRef__":true,"id":3784},"showFromHandle":{"__isSmartRef__":true,"id":3788},"showToHandle":{"__isSmartRef__":true,"id":3792},"reset":{"__isSmartRef__":true,"id":3796},"onDragInHandle":{"__isSmartRef__":true,"id":3800},"onDragStartInHandle":{"__isSmartRef__":true,"id":3804},"onDragEndInHandle":{"__isSmartRef__":true,"id":3808},"connectFrom":{"__isSmartRef__":true,"id":3812},"connectTo":{"__isSmartRef__":true,"id":3816},"hideToHandle":{"__isSmartRef__":true,"id":3820},"hideFromHandle":{"__isSmartRef__":true,"id":3824},"updateIntersection":{"__isSmartRef__":true,"id":3828},"lineIntersect":{"__isSmartRef__":true,"id":3832},"intersectMorphLinePoints":{"__isSmartRef__":true,"id":3836},"intersectMorph":{"__isSmartRef__":true,"id":3840},"globalShapePathFromMorph":{"__isSmartRef__":true,"id":3844}},"3752":{"varMapping":{"__isSmartRef__":true,"id":3753},"source":"function connect(morphA, morphB) {\n this.connectFrom(morphA)\n this.connectTo(morphB)\n this.updatePosition()\n}","funcProperties":{"__isSmartRef__":true,"id":3754},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3753":{"this":{"__isSmartRef__":true,"id":3189}},"3754":{"timestamp":{"__isSmartRef__":true,"id":3755},"user":"jenslincke","tags":[]},"3755":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:50:49 GMT+0100 (CET)"},"3756":{"varMapping":{"__isSmartRef__":true,"id":3757},"source":"function updatePosition() {\n this.updateControlPoint(this.controlPoints[0], this.fromMorph)\n this.updateControlPoint(this.controlPoints[1], this.toMorph)\n this.updateIntersection(this.fromMorph, this.controlPoints[0])\n this.updateIntersection(this.toMorph, this.controlPoints[1])\n\n this.adjustOrigin(this.bounds().extent().scaleBy(0.5))\n}","funcProperties":{"__isSmartRef__":true,"id":3758},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3757":{"this":{"__isSmartRef__":true,"id":3189}},"3758":{"timestamp":{"__isSmartRef__":true,"id":3759},"user":"jenslincke","tags":[]},"3759":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:06:20 GMT+0100 (CET)"},"3760":{"varMapping":{"__isSmartRef__":true,"id":3761},"source":"function updateControlPoint(cp, morph) {\n if (!cp || !morph) return;\n cp.setGlobalPos(morph.worldPoint(morph.shape.bounds().center()))\n}","funcProperties":{"__isSmartRef__":true,"id":3762},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3761":{"this":{"__isSmartRef__":true,"id":3189}},"3762":{"timestamp":{"__isSmartRef__":true,"id":3763},"user":"jenslincke","tags":[]},"3763":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:45:56 GMT+0100 (CET)"},"3764":{"varMapping":{"__isSmartRef__":true,"id":3765},"source":"function disconnectMorph(morph) {\n if (!morph) return;\n lively.bindings.disconnect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":3766},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3765":{"this":{"__isSmartRef__":true,"id":3189}},"3766":{"timestamp":{"__isSmartRef__":true,"id":3767},"user":"jenslincke","tags":[]},"3767":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:19:18 GMT+0100 (CET)"},"3768":{"varMapping":{"__isSmartRef__":true,"id":3769},"source":"function connectMorph(morph) {\n if (morph)\n lively.bindings.connect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":3770},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3769":{"this":{"__isSmartRef__":true,"id":3189}},"3770":{"timestamp":{"__isSmartRef__":true,"id":3771},"user":"jenslincke","tags":[]},"3771":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:52:12 GMT+0100 (CET)"},"3772":{"varMapping":{"__isSmartRef__":true,"id":3773},"source":"function onMouseOver(evt) {\n var p = evt.mousePoint.scaleBy(this.world().getScale())\n\n var cp1 = this.controlPoints[0].getGlobalPos();\n if (p.dist(cp1) < 20) {\n this.showFromHandle()\n } else {\n this.hideFromHandle()\n }\n var cp2 = this.controlPoints[1].getGlobalPos();\n if (p.dist(cp2) < 20) {\n this.showToHandle()\n } else {\n this.hideToHandle()\n }\n}","funcProperties":{"__isSmartRef__":true,"id":3774},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3773":{"this":{"__isSmartRef__":true,"id":3189}},"3774":{"timestamp":{"__isSmartRef__":true,"id":3775},"user":"jenslincke","tags":[]},"3775":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:23:03 GMT+0100 (CET)"},"3776":{"varMapping":{"__isSmartRef__":true,"id":3777},"source":"function onMouseOut(evt) {\n // this.hideFromHandle()\n // this.hideToHandle()\n}","funcProperties":{"__isSmartRef__":true,"id":3782},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3777":{"this":{"__isSmartRef__":true,"id":3189},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3778}},"3778":{"$super":{"__isSmartRef__":true,"id":3779}},"3779":{"varMapping":{"__isSmartRef__":true,"id":3780},"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":3781},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3780":{"obj":{"__isSmartRef__":true,"id":3189},"name":"onMouseOut"},"3781":{},"3782":{"timestamp":{"__isSmartRef__":true,"id":3783},"user":"jenslincke","tags":[]},"3783":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:54:53 GMT+0100 (CET)"},"3784":{"varMapping":{"__isSmartRef__":true,"id":3785},"source":"function makeHandle() {\n var m = lively.morphic.Morph.makeRectangle(0,0,10,10);\n m.disableGrabbing()\n m.enableDragging()\n m.connector = this;\n // move real behavior to a place which is easier to develop\n // do not use bind, because we like late binding \n m.addScript(function onDragStart(evt) {\n this.connector.onDragStartInHandle(this, evt)\n })\n m.addScript(function onDrag(evt) {\n this.connector.onDragInHandle(this, evt)\n })\n m.addScript(function onDragEnd(evt) {\n this.connector.onDragEndInHandle(this, evt)\n })\n m.isEpiMorph = true;\n return m\n}","funcProperties":{"__isSmartRef__":true,"id":3786},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3785":{"this":{"__isSmartRef__":true,"id":3189}},"3786":{"timestamp":{"__isSmartRef__":true,"id":3787},"user":"jenslincke","tags":[]},"3787":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:08:29 GMT+0100 (CET)"},"3788":{"varMapping":{"__isSmartRef__":true,"id":3789},"source":"function showFromHandle() {\n if (!this.fromHandle) {\n this.fromHandle = this.makeHandle();\n this.fromHandle.setFill(Color.red)\n this.fromHandle.isFromHandle = true;\n }\n this.fromHandle.openInWorld();\n this.fromHandle.controlPoint = this.controlPoints[0];\n this.fromHandle.setPosition(this.controlPoints[0].getGlobalPos().subPt(pt(5,5)))\n return this.fromHandle\n}","funcProperties":{"__isSmartRef__":true,"id":3790},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3789":{"this":{"__isSmartRef__":true,"id":3189}},"3790":{"timestamp":{"__isSmartRef__":true,"id":3791},"user":"jenslincke","tags":[]},"3791":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:13:03 GMT+0100 (CET)"},"3792":{"varMapping":{"__isSmartRef__":true,"id":3793},"source":"function showToHandle() {\n if (!this.toHandle) {\n this.toHandle = this.makeHandle();\n this.toHandle.setFill(Color.red)\n this.toHandle.isToHandle = true;\n\n }\n this.toHandle.openInWorld();\n this.toHandle.controlPoint = this.controlPoints[1];\n this.toHandle.setPosition(this.controlPoints[1].getGlobalPos().subPt(pt(5,5)))\n return this.toHandle\n}","funcProperties":{"__isSmartRef__":true,"id":3794},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3793":{"this":{"__isSmartRef__":true,"id":3189}},"3794":{"timestamp":{"__isSmartRef__":true,"id":3795},"user":"jenslincke","tags":[]},"3795":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:20:25 GMT+0100 (CET)"},"3796":{"varMapping":{"__isSmartRef__":true,"id":3797},"source":"function reset() {\n if (this.fromHandle) {\n this.fromHandle.remove()\n delete this.fromHandle\n }\n if (this.toHandle) {\n this.toHandle.remove()\n delete this.toHandle\n }\n // this.controlPoints[1].setPos(pt(200,200))\n}","funcProperties":{"__isSmartRef__":true,"id":3798},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3797":{"this":{"__isSmartRef__":true,"id":3189}},"3798":{"timestamp":{"__isSmartRef__":true,"id":3799},"user":"jenslincke","tags":[]},"3799":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:15:00 GMT+0100 (CET)"},"3800":{"varMapping":{"__isSmartRef__":true,"id":3801},"source":"function onDragInHandle(handle, evt) {\n\n var pos = handle.getPositionInWorld();\n var delta = evt.hand.getPosition().subPt(pos);\n handle.moveBy(delta)\n pos = handle.getPositionInWorld();\n if (handle.controlPoint)\n handle.controlPoint.setGlobalPos(pos.addPt(pt(5,5)))\n var morphs = this.owner.morphsContainingPoint(pos)\n morphs = morphs.reject(function(ea) {\n return ea.isWorld || (ea === handle) || (ea === this) || \n (ea === this.owner)\n }, this)\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n this.selectedMorph = morphs.first();\n this.selectedMorphHighlights = show(this.selectedMorph)\n handle.startPos = evt.getPosition();\n}","funcProperties":{"__isSmartRef__":true,"id":3802},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3801":{"this":{"__isSmartRef__":true,"id":3189}},"3802":{"timestamp":{"__isSmartRef__":true,"id":3803},"user":"jenslincke","tags":[]},"3803":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:06:40 GMT+0100 (CET)"},"3804":{"varMapping":{"__isSmartRef__":true,"id":3805},"source":"function onDragStartInHandle(handle, evt) {\n handle.startPos = evt.getPosition()\n}","funcProperties":{"__isSmartRef__":true,"id":3806},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3805":{"this":{"__isSmartRef__":true,"id":3189}},"3806":{"timestamp":{"__isSmartRef__":true,"id":3807},"user":"jenslincke","tags":[]},"3807":{"isSerializedDate":true,"string":"Thu Dec 13 2012 15:51:13 GMT+0100 (CET)"},"3808":{"varMapping":{"__isSmartRef__":true,"id":3809},"source":"function onDragEndInHandle(handle, evt) {\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n \n if (handle.isFromHandle) this.connectFrom(this.selectedMorph)\n if (handle.isToHandle) this.connectTo(this.selectedMorph)\n handle.remove()\n}","funcProperties":{"__isSmartRef__":true,"id":3810},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3809":{"this":{"__isSmartRef__":true,"id":3189}},"3810":{"timestamp":{"__isSmartRef__":true,"id":3811},"user":"jenslincke","tags":[]},"3811":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:44:35 GMT+0100 (CET)"},"3812":{"varMapping":{"__isSmartRef__":true,"id":3813},"source":"function connectFrom(morph) {\n if (morph && morph === this.toMorph) return; // not allowed\n\n this.disconnectMorph(this.fromMorph)\n this.fromMorph = morph;\n this.connectMorph(this.fromMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":3814},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3813":{"this":{"__isSmartRef__":true,"id":3189}},"3814":{"timestamp":{"__isSmartRef__":true,"id":3815},"user":"jenslincke","tags":[]},"3815":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:02:22 GMT+0100 (CET)"},"3816":{"varMapping":{"__isSmartRef__":true,"id":3817},"source":"function connectTo(morph) {\n\n if (morph && morph === this.fromMorph) return; // not allowed\n\n this.disconnectMorph(this.toMorph)\n this.toMorph = morph;\n this.connectMorph(this.toMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":3818},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3817":{"this":{"__isSmartRef__":true,"id":3189}},"3818":{"timestamp":{"__isSmartRef__":true,"id":3819},"user":"jenslincke","tags":[]},"3819":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:02:30 GMT+0100 (CET)"},"3820":{"varMapping":{"__isSmartRef__":true,"id":3821},"source":"function hideToHandle() {\n if (this.toHandle) {\n this.toHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":3822},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3821":{"this":{"__isSmartRef__":true,"id":3189}},"3822":{"timestamp":{"__isSmartRef__":true,"id":3823},"user":"jenslincke","tags":[]},"3823":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:51:59 GMT+0100 (CET)"},"3824":{"varMapping":{"__isSmartRef__":true,"id":3825},"source":"function hideFromHandle() {\n if (this.fromHandle) {\n this.fromHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":3826},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3825":{"this":{"__isSmartRef__":true,"id":3189}},"3826":{"timestamp":{"__isSmartRef__":true,"id":3827},"user":"jenslincke","tags":[]},"3827":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:52:18 GMT+0100 (CET)"},"3828":{"varMapping":{"__isSmartRef__":true,"id":3829},"source":"function updateIntersection(morph, cp) {\n if (!morph) return;\n var intersection = this.intersectMorph(morph)[0];\n if (intersection) {\n cp.setGlobalPos(intersection);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":3830},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3829":{"this":{"__isSmartRef__":true,"id":3189}},"3830":{"timestamp":{"__isSmartRef__":true,"id":3831},"user":"jenslincke","tags":[]},"3831":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:32 GMT+0100 (CET)"},"3832":{"varMapping":{"__isSmartRef__":true,"id":3833},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":3834},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3833":{"this":{"__isSmartRef__":true,"id":3189}},"3834":{"timestamp":{"__isSmartRef__":true,"id":3835},"user":"jenslincke","tags":[]},"3835":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:47:12 GMT+0100 (CET)"},"3836":{"varMapping":{"__isSmartRef__":true,"id":3837},"source":"function intersectMorphLinePoints(morph, a1, a2) {\n var points = this.globalShapePathFromMorph(morph);\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":3838},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3837":{"this":{"__isSmartRef__":true,"id":3189}},"3838":{"timestamp":{"__isSmartRef__":true,"id":3839},"user":"jenslincke","tags":[]},"3839":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:21 GMT+0100 (CET)"},"3840":{"varMapping":{"__isSmartRef__":true,"id":3841},"source":"function intersectMorph(morph) {\n var line = this;\n return this.intersectMorphLinePoints(morph,\n line.controlPoints[0].getGlobalPos(), line.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":3842},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3841":{"this":{"__isSmartRef__":true,"id":3189}},"3842":{"timestamp":{"__isSmartRef__":true,"id":3843},"user":"jenslincke","tags":[]},"3843":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:47 GMT+0100 (CET)"},"3844":{"varMapping":{"__isSmartRef__":true,"id":3845},"source":"function globalShapePathFromMorph(morph) {\n var b = morph.shape.bounds();\n var p1 = morph.worldPoint(b.topLeft()),\n p2 = morph.worldPoint(b.topRight()),\n p3 = morph.worldPoint(b.bottomRight()),\n p4 = morph.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":3846},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3845":{"this":{"__isSmartRef__":true,"id":3189}},"3846":{"timestamp":{"__isSmartRef__":true,"id":3847},"user":"jenslincke","tags":[]},"3847":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:00 GMT+0100 (CET)"},"3848":{"source":{"__isSmartRef__":true,"id":3116},"target":{"__isSmartRef__":true,"id":3189}},"3849":{"sourceObj":{"__isSmartRef__":true,"id":3116},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":3188},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":3850},"dependedBy":{"__isSmartRef__":true,"id":3188},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3850":{"source":{"__isSmartRef__":true,"id":3116},"target":{"__isSmartRef__":true,"id":3188}},"3851":{"sourceObj":{"__isSmartRef__":true,"id":3116},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":3188},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":3852},"dependedBy":{"__isSmartRef__":true,"id":3188},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3852":{"source":{"__isSmartRef__":true,"id":3116},"target":{"__isSmartRef__":true,"id":3188}},"3853":{"sourceObj":{"__isSmartRef__":true,"id":3116},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":3188},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":3854},"dependedBy":{"__isSmartRef__":true,"id":3188},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3854":{"source":{"__isSmartRef__":true,"id":3116},"target":{"__isSmartRef__":true,"id":3188}},"3855":{"sourceObj":{"__isSmartRef__":true,"id":3116},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":3188},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":3856},"dependedBy":{"__isSmartRef__":true,"id":3188},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3856":{"source":{"__isSmartRef__":true,"id":3116},"target":{"__isSmartRef__":true,"id":3188}},"3857":{"d":0.9347623017725522,"a":0.9347623017725522,"f":3485.245045045044,"e":728.5390390390387,"c":0.3552737524570028,"b":-0.3552737524570028,"matrix_":{"__isSmartRef__":true,"id":3858},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3858":{"a":0.9347623017725522,"b":-0.3552737524570028,"c":0.3552737524570028,"d":0.9347623017725522,"e":728.5390390390387,"f":3485.245045045044,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3859":{"globalShapePath":{"__isSmartRef__":true,"id":3860},"lineIntersect":{"__isSmartRef__":true,"id":3863},"intersectLine":{"__isSmartRef__":true,"id":3867},"intersectLineMorph":{"__isSmartRef__":true,"id":3870}},"3860":{"varMapping":{"__isSmartRef__":true,"id":3861},"source":"function globalShapePath() {\n var b = this.shape.bounds();\n var p1 = this.worldPoint(b.topLeft()),\n p2 = this.worldPoint(b.topRight()),\n p3 = this.worldPoint(b.bottomRight()),\n p4 = this.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":3862},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3861":{"this":{"__isSmartRef__":true,"id":3116}},"3862":{},"3863":{"varMapping":{"__isSmartRef__":true,"id":3864},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":3865},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3864":{"this":{"__isSmartRef__":true,"id":3116}},"3865":{"timestamp":{"__isSmartRef__":true,"id":3866},"user":"jenslincke","tags":[]},"3866":{"isSerializedDate":true,"string":"Thu Dec 13 2012 13:42:55 GMT+0100 (CET)"},"3867":{"varMapping":{"__isSmartRef__":true,"id":3868},"source":"function intersectLine(a1, a2) {\n var points = this.globalShapePath();\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":3869},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3868":{"this":{"__isSmartRef__":true,"id":3116}},"3869":{},"3870":{"varMapping":{"__isSmartRef__":true,"id":3871},"source":"function intersectLineMorph(m) {\n return this.intersectLine(m.controlPoints[0].getGlobalPos(), m.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":3872},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3871":{"this":{"__isSmartRef__":true,"id":3116}},"3872":{},"3873":{"d":1,"a":1,"f":906.1,"e":107.8,"c":0,"b":0,"matrix_":{"__isSmartRef__":true,"id":3874},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3874":{"a":1,"b":0,"c":0,"d":1,"e":107.8,"f":906.1,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3875":{"connect":{"__isSmartRef__":true,"id":3876},"updatePosition":{"__isSmartRef__":true,"id":3880},"updateControlPoint":{"__isSmartRef__":true,"id":3884},"disconnectMorph":{"__isSmartRef__":true,"id":3888},"connectMorph":{"__isSmartRef__":true,"id":3892},"onMouseOver":{"__isSmartRef__":true,"id":3896},"onMouseOut":{"__isSmartRef__":true,"id":3900},"makeHandle":{"__isSmartRef__":true,"id":3908},"showFromHandle":{"__isSmartRef__":true,"id":3912},"showToHandle":{"__isSmartRef__":true,"id":3916},"reset":{"__isSmartRef__":true,"id":3920},"onDragInHandle":{"__isSmartRef__":true,"id":3924},"onDragStartInHandle":{"__isSmartRef__":true,"id":3928},"onDragEndInHandle":{"__isSmartRef__":true,"id":3932},"connectFrom":{"__isSmartRef__":true,"id":3936},"connectTo":{"__isSmartRef__":true,"id":3940},"hideToHandle":{"__isSmartRef__":true,"id":3944},"hideFromHandle":{"__isSmartRef__":true,"id":3948},"updateIntersection":{"__isSmartRef__":true,"id":3952},"lineIntersect":{"__isSmartRef__":true,"id":3956},"intersectMorphLinePoints":{"__isSmartRef__":true,"id":3960},"intersectMorph":{"__isSmartRef__":true,"id":3964},"globalShapePathFromMorph":{"__isSmartRef__":true,"id":3968}},"3876":{"varMapping":{"__isSmartRef__":true,"id":3877},"source":"function connect(morphA, morphB) {\n this.connectFrom(morphA)\n this.connectTo(morphB)\n this.updatePosition()\n}","funcProperties":{"__isSmartRef__":true,"id":3878},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3877":{"this":{"__isSmartRef__":true,"id":3106}},"3878":{"timestamp":{"__isSmartRef__":true,"id":3879},"user":"jenslincke","tags":[]},"3879":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:50:49 GMT+0100 (CET)"},"3880":{"varMapping":{"__isSmartRef__":true,"id":3881},"source":"function updatePosition() {\n this.updateControlPoint(this.controlPoints[0], this.fromMorph)\n this.updateControlPoint(this.controlPoints[1], this.toMorph)\n this.updateIntersection(this.fromMorph, this.controlPoints[0])\n this.updateIntersection(this.toMorph, this.controlPoints[1])\n\n if (this.controlPoints[0].getPos().equalPt(this.controlPoints[1].getPos()))\n this.controlPoints[1].setPos(this.controlPoints[1].getPos().addPt(pt(30,0)))\n\n this.adjustOrigin(this.bounds().extent().scaleBy(0.5))\n \n}","funcProperties":{"__isSmartRef__":true,"id":3882},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3881":{"this":{"__isSmartRef__":true,"id":3106}},"3882":{"timestamp":{"__isSmartRef__":true,"id":3883},"user":"jenslincke","tags":[]},"3883":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:59:26 GMT+0100 (CET)"},"3884":{"varMapping":{"__isSmartRef__":true,"id":3885},"source":"function updateControlPoint(cp, morph) {\n if (!cp || !morph) return;\n cp.setGlobalPos(morph.worldPoint(morph.shape.bounds().center()))\n}","funcProperties":{"__isSmartRef__":true,"id":3886},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3885":{"this":{"__isSmartRef__":true,"id":3106}},"3886":{"timestamp":{"__isSmartRef__":true,"id":3887},"user":"jenslincke","tags":[]},"3887":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:45:56 GMT+0100 (CET)"},"3888":{"varMapping":{"__isSmartRef__":true,"id":3889},"source":"function disconnectMorph(morph) {\n if (!morph) return;\n lively.bindings.disconnect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":3890},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3889":{"this":{"__isSmartRef__":true,"id":3106}},"3890":{"timestamp":{"__isSmartRef__":true,"id":3891},"user":"jenslincke","tags":[]},"3891":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:19:18 GMT+0100 (CET)"},"3892":{"varMapping":{"__isSmartRef__":true,"id":3893},"source":"function connectMorph(morph) {\n if (morph)\n lively.bindings.connect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":3894},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3893":{"this":{"__isSmartRef__":true,"id":3106}},"3894":{"timestamp":{"__isSmartRef__":true,"id":3895},"user":"jenslincke","tags":[]},"3895":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:52:12 GMT+0100 (CET)"},"3896":{"varMapping":{"__isSmartRef__":true,"id":3897},"source":"function onMouseOver(evt) {\n var p = evt.mousePoint.scaleBy(this.world().getScale())\n\n var cp1 = this.controlPoints[0].getGlobalPos();\n if (p.dist(cp1) < 20) {\n this.showFromHandle()\n } else {\n this.hideFromHandle()\n }\n var cp2 = this.controlPoints[1].getGlobalPos();\n if (p.dist(cp2) < 20) {\n this.showToHandle()\n } else {\n this.hideToHandle()\n }\n}","funcProperties":{"__isSmartRef__":true,"id":3898},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3897":{"this":{"__isSmartRef__":true,"id":3106}},"3898":{"timestamp":{"__isSmartRef__":true,"id":3899},"user":"jenslincke","tags":[]},"3899":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:23:03 GMT+0100 (CET)"},"3900":{"varMapping":{"__isSmartRef__":true,"id":3901},"source":"function onMouseOut(evt) {\n // this.hideFromHandle()\n // this.hideToHandle()\n}","funcProperties":{"__isSmartRef__":true,"id":3906},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3901":{"this":{"__isSmartRef__":true,"id":3106},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3902}},"3902":{"$super":{"__isSmartRef__":true,"id":3903}},"3903":{"varMapping":{"__isSmartRef__":true,"id":3904},"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":3905},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3904":{"obj":{"__isSmartRef__":true,"id":3106},"name":"onMouseOut"},"3905":{},"3906":{"timestamp":{"__isSmartRef__":true,"id":3907},"user":"jenslincke","tags":[]},"3907":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:54:53 GMT+0100 (CET)"},"3908":{"varMapping":{"__isSmartRef__":true,"id":3909},"source":"function makeHandle() {\n var m = lively.morphic.Morph.makeRectangle(0,0,10,10);\n m.disableGrabbing()\n m.enableDragging()\n m.connector = this;\n // move real behavior to a place which is easier to develop\n // do not use bind, because we like late binding \n m.addScript(function onDragStart(evt) {\n this.connector.onDragStartInHandle(this, evt)\n })\n m.addScript(function onDrag(evt) {\n this.connector.onDragInHandle(this, evt)\n })\n m.addScript(function onDragEnd(evt) {\n this.connector.onDragEndInHandle(this, evt)\n })\n m.isEpiMorph = true;\n return m\n}","funcProperties":{"__isSmartRef__":true,"id":3910},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3909":{"this":{"__isSmartRef__":true,"id":3106}},"3910":{"timestamp":{"__isSmartRef__":true,"id":3911},"user":"jenslincke","tags":[]},"3911":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:08:29 GMT+0100 (CET)"},"3912":{"varMapping":{"__isSmartRef__":true,"id":3913},"source":"function showFromHandle() {\n if (!this.fromHandle) {\n this.fromHandle = this.makeHandle();\n this.fromHandle.setFill(Color.red)\n this.fromHandle.isFromHandle = true;\n }\n this.fromHandle.openInWorld();\n this.fromHandle.controlPoint = this.controlPoints[0];\n this.fromHandle.setPosition(this.controlPoints[0].getGlobalPos().subPt(pt(5,5)))\n return this.fromHandle\n}","funcProperties":{"__isSmartRef__":true,"id":3914},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3913":{"this":{"__isSmartRef__":true,"id":3106}},"3914":{"timestamp":{"__isSmartRef__":true,"id":3915},"user":"jenslincke","tags":[]},"3915":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:13:03 GMT+0100 (CET)"},"3916":{"varMapping":{"__isSmartRef__":true,"id":3917},"source":"function showToHandle() {\n if (!this.toHandle) {\n this.toHandle = this.makeHandle();\n this.toHandle.setFill(Color.red)\n this.toHandle.isToHandle = true;\n\n }\n this.toHandle.openInWorld();\n this.toHandle.controlPoint = this.controlPoints[1];\n this.toHandle.setPosition(this.controlPoints[1].getGlobalPos().subPt(pt(5,5)))\n return this.toHandle\n}","funcProperties":{"__isSmartRef__":true,"id":3918},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3917":{"this":{"__isSmartRef__":true,"id":3106}},"3918":{"timestamp":{"__isSmartRef__":true,"id":3919},"user":"jenslincke","tags":[]},"3919":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:20:25 GMT+0100 (CET)"},"3920":{"varMapping":{"__isSmartRef__":true,"id":3921},"source":"function reset() {\n if (this.fromHandle) {\n this.fromHandle.remove()\n delete this.fromHandle\n }\n if (this.toHandle) {\n this.toHandle.remove()\n delete this.toHandle\n }\n // this.controlPoints[1].setPos(pt(200,200))\n}","funcProperties":{"__isSmartRef__":true,"id":3922},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3921":{"this":{"__isSmartRef__":true,"id":3106}},"3922":{"timestamp":{"__isSmartRef__":true,"id":3923},"user":"jenslincke","tags":[]},"3923":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:15:00 GMT+0100 (CET)"},"3924":{"varMapping":{"__isSmartRef__":true,"id":3925},"source":"function onDragInHandle(handle, evt) {\n\n var pos = handle.getPositionInWorld();\n var delta = evt.hand.getPosition().subPt(pos);\n handle.moveBy(delta)\n pos = handle.getPositionInWorld();\n if (handle.controlPoint)\n handle.controlPoint.setGlobalPos(pos.addPt(pt(5,5)))\n var morphs = this.owner.morphsContainingPoint(pos)\n morphs = morphs.reject(function(ea) {\n return ea.isWorld || (ea === handle) || (ea === this) || \n (ea === this.owner)\n }, this)\n this.get('Console').textString = morphs\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n this.selectedMorph = morphs.first();\n this.selectedMorphHighlights = show(this.selectedMorph)\n handle.startPos = evt.getPosition();\n}","funcProperties":{"__isSmartRef__":true,"id":3926},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3925":{"this":{"__isSmartRef__":true,"id":3106}},"3926":{"timestamp":{"__isSmartRef__":true,"id":3927},"user":"jenslincke","tags":[]},"3927":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:09:40 GMT+0100 (CET)"},"3928":{"varMapping":{"__isSmartRef__":true,"id":3929},"source":"function onDragStartInHandle(handle, evt) {\n handle.startPos = evt.getPosition()\n}","funcProperties":{"__isSmartRef__":true,"id":3930},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3929":{"this":{"__isSmartRef__":true,"id":3106}},"3930":{"timestamp":{"__isSmartRef__":true,"id":3931},"user":"jenslincke","tags":[]},"3931":{"isSerializedDate":true,"string":"Thu Dec 13 2012 15:51:13 GMT+0100 (CET)"},"3932":{"varMapping":{"__isSmartRef__":true,"id":3933},"source":"function onDragEndInHandle(handle, evt) {\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n \n if (handle.isFromHandle) this.connectFrom(this.selectedMorph)\n if (handle.isToHandle) this.connectTo(this.selectedMorph)\n handle.remove()\n}","funcProperties":{"__isSmartRef__":true,"id":3934},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3933":{"this":{"__isSmartRef__":true,"id":3106}},"3934":{"timestamp":{"__isSmartRef__":true,"id":3935},"user":"jenslincke","tags":[]},"3935":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:44:35 GMT+0100 (CET)"},"3936":{"varMapping":{"__isSmartRef__":true,"id":3937},"source":"function connectFrom(morph) {\n if (morph === this.toMorph) return; // not allowed\n\n this.disconnectMorph(this.fromMorph)\n this.fromMorph = morph;\n this.connectMorph(this.fromMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":3938},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3937":{"this":{"__isSmartRef__":true,"id":3106}},"3938":{"timestamp":{"__isSmartRef__":true,"id":3939},"user":"jenslincke","tags":[]},"3939":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:57:22 GMT+0100 (CET)"},"3940":{"varMapping":{"__isSmartRef__":true,"id":3941},"source":"function connectTo(morph) {\n\n if (morph === this.fromMorph) return; // not allowed\n\n this.disconnectMorph(this.toMorph)\n this.toMorph = morph;\n this.connectMorph(this.toMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":3942},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3941":{"this":{"__isSmartRef__":true,"id":3106}},"3942":{"timestamp":{"__isSmartRef__":true,"id":3943},"user":"jenslincke","tags":[]},"3943":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:57:14 GMT+0100 (CET)"},"3944":{"varMapping":{"__isSmartRef__":true,"id":3945},"source":"function hideToHandle() {\n if (this.toHandle) {\n this.toHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":3946},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3945":{"this":{"__isSmartRef__":true,"id":3106}},"3946":{"timestamp":{"__isSmartRef__":true,"id":3947},"user":"jenslincke","tags":[]},"3947":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:51:59 GMT+0100 (CET)"},"3948":{"varMapping":{"__isSmartRef__":true,"id":3949},"source":"function hideFromHandle() {\n if (this.fromHandle) {\n this.fromHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":3950},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3949":{"this":{"__isSmartRef__":true,"id":3106}},"3950":{"timestamp":{"__isSmartRef__":true,"id":3951},"user":"jenslincke","tags":[]},"3951":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:52:18 GMT+0100 (CET)"},"3952":{"varMapping":{"__isSmartRef__":true,"id":3953},"source":"function updateIntersection(morph, cp) {\n if (!morph) return;\n var intersection = this.intersectMorph(morph)[0];\n if (intersection) {\n cp.setGlobalPos(intersection);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":3954},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3953":{"this":{"__isSmartRef__":true,"id":3106}},"3954":{"timestamp":{"__isSmartRef__":true,"id":3955},"user":"jenslincke","tags":[]},"3955":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:32 GMT+0100 (CET)"},"3956":{"varMapping":{"__isSmartRef__":true,"id":3957},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":3958},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3957":{"this":{"__isSmartRef__":true,"id":3106}},"3958":{"timestamp":{"__isSmartRef__":true,"id":3959},"user":"jenslincke","tags":[]},"3959":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:47:12 GMT+0100 (CET)"},"3960":{"varMapping":{"__isSmartRef__":true,"id":3961},"source":"function intersectMorphLinePoints(morph, a1, a2) {\n var points = this.globalShapePathFromMorph(morph);\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":3962},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3961":{"this":{"__isSmartRef__":true,"id":3106}},"3962":{"timestamp":{"__isSmartRef__":true,"id":3963},"user":"jenslincke","tags":[]},"3963":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:21 GMT+0100 (CET)"},"3964":{"varMapping":{"__isSmartRef__":true,"id":3965},"source":"function intersectMorph(morph) {\n var line = this;\n return this.intersectMorphLinePoints(morph,\n line.controlPoints[0].getGlobalPos(), line.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":3966},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3965":{"this":{"__isSmartRef__":true,"id":3106}},"3966":{"timestamp":{"__isSmartRef__":true,"id":3967},"user":"jenslincke","tags":[]},"3967":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:47 GMT+0100 (CET)"},"3968":{"varMapping":{"__isSmartRef__":true,"id":3969},"source":"function globalShapePathFromMorph(morph) {\n var b = morph.shape.bounds();\n var p1 = morph.worldPoint(b.topLeft()),\n p2 = morph.worldPoint(b.topRight()),\n p3 = morph.worldPoint(b.bottomRight()),\n p4 = morph.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":3970},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3969":{"this":{"__isSmartRef__":true,"id":3106}},"3970":{"timestamp":{"__isSmartRef__":true,"id":3971},"user":"jenslincke","tags":[]},"3971":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:00 GMT+0100 (CET)"},"3972":{"morph":{"__isSmartRef__":true,"id":2999},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(142.4,3530.4)"},"3973":{"morph":{"__isSmartRef__":true,"id":2999},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(104.9,3506.4)"},"3974":{"morph":{"__isSmartRef__":true,"id":2999},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(67.4,3482.4)"},"3975":{"morph":{"__isSmartRef__":true,"id":2999},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(89.0,3448.7)"},"3976":{"sourceObj":{"__isSmartRef__":true,"id":2999},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":3009},"targetMethodName":"realignConnection","varMapping":{"__isSmartRef__":true,"id":3977},"dependendConnections":[{"__isSmartRef__":true,"id":3978},{"__isSmartRef__":true,"id":3980},{"__isSmartRef__":true,"id":3982},{"__isSmartRef__":true,"id":3984},{"__isSmartRef__":true,"id":3986},{"__isSmartRef__":true,"id":3988},{"__isSmartRef__":true,"id":3990},{"__isSmartRef__":true,"id":3992}],"oldTransform":{"__isSmartRef__":true,"id":3994},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"3977":{"source":{"__isSmartRef__":true,"id":2999},"target":{"__isSmartRef__":true,"id":3009}},"3978":{"sourceObj":{"__isSmartRef__":true,"id":2999},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":3976},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":3979},"dependedBy":{"__isSmartRef__":true,"id":3976},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3979":{"source":{"__isSmartRef__":true,"id":2999},"target":{"__isSmartRef__":true,"id":3976}},"3980":{"sourceObj":{"__isSmartRef__":true,"id":2999},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":3976},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":3981},"dependedBy":{"__isSmartRef__":true,"id":3976},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3981":{"source":{"__isSmartRef__":true,"id":2999},"target":{"__isSmartRef__":true,"id":3976}},"3982":{"sourceObj":{"__isSmartRef__":true,"id":2999},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":3976},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":3983},"dependedBy":{"__isSmartRef__":true,"id":3976},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3983":{"source":{"__isSmartRef__":true,"id":2999},"target":{"__isSmartRef__":true,"id":3976}},"3984":{"sourceObj":{"__isSmartRef__":true,"id":2999},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":3976},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":3985},"dependedBy":{"__isSmartRef__":true,"id":3976},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3985":{"source":{"__isSmartRef__":true,"id":2999},"target":{"__isSmartRef__":true,"id":3976}},"3986":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":3976},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":3987},"dependedBy":{"__isSmartRef__":true,"id":3976},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3987":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":3976}},"3988":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":3976},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":3989},"dependedBy":{"__isSmartRef__":true,"id":3976},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3989":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":3976}},"3990":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":3976},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":3991},"dependedBy":{"__isSmartRef__":true,"id":3976},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3991":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":3976}},"3992":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":3976},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":3993},"dependedBy":{"__isSmartRef__":true,"id":3976},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3993":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":3976}},"3994":{"d":0.8419431060646692,"a":0.8419431060646692,"f":2991.116016016016,"e":115.72502502502503,"c":-0.5395663130238733,"b":0.5395663130238733,"matrix_":{"__isSmartRef__":true,"id":3995},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3995":{"a":0.8419431060646692,"b":0.5395663130238733,"c":-0.5395663130238733,"d":0.8419431060646692,"e":115.72502502502503,"f":2991.116016016016,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"3996":{"sourceObj":{"__isSmartRef__":true,"id":2999},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":2988},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":3997},"dependendConnections":[{"__isSmartRef__":true,"id":3998},{"__isSmartRef__":true,"id":4000},{"__isSmartRef__":true,"id":4002},{"__isSmartRef__":true,"id":4004},{"__isSmartRef__":true,"id":4006},{"__isSmartRef__":true,"id":4008},{"__isSmartRef__":true,"id":4010},{"__isSmartRef__":true,"id":4012}],"oldTransform":{"__isSmartRef__":true,"id":4014},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"3997":{"source":{"__isSmartRef__":true,"id":2999},"target":{"__isSmartRef__":true,"id":2988}},"3998":{"sourceObj":{"__isSmartRef__":true,"id":2999},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":3996},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":3999},"dependedBy":{"__isSmartRef__":true,"id":3996},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3999":{"source":{"__isSmartRef__":true,"id":2999},"target":{"__isSmartRef__":true,"id":3996}},"4000":{"sourceObj":{"__isSmartRef__":true,"id":2999},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":3996},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":4001},"dependedBy":{"__isSmartRef__":true,"id":3996},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4001":{"source":{"__isSmartRef__":true,"id":2999},"target":{"__isSmartRef__":true,"id":3996}},"4002":{"sourceObj":{"__isSmartRef__":true,"id":2999},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":3996},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":4003},"dependedBy":{"__isSmartRef__":true,"id":3996},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4003":{"source":{"__isSmartRef__":true,"id":2999},"target":{"__isSmartRef__":true,"id":3996}},"4004":{"sourceObj":{"__isSmartRef__":true,"id":2999},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":3996},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":4005},"dependedBy":{"__isSmartRef__":true,"id":3996},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4005":{"source":{"__isSmartRef__":true,"id":2999},"target":{"__isSmartRef__":true,"id":3996}},"4006":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":3996},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":4007},"dependedBy":{"__isSmartRef__":true,"id":3996},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4007":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":3996}},"4008":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":3996},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":4009},"dependedBy":{"__isSmartRef__":true,"id":3996},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4009":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":3996}},"4010":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":3996},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":4011},"dependedBy":{"__isSmartRef__":true,"id":3996},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4011":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":3996}},"4012":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":3996},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":4013},"dependedBy":{"__isSmartRef__":true,"id":3996},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4013":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":3996}},"4014":{"d":0.8419431060646692,"a":0.8419431060646692,"f":2991.116016016016,"e":115.72502502502503,"c":-0.5395663130238733,"b":0.5395663130238733,"matrix_":{"__isSmartRef__":true,"id":4015},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"4015":{"a":0.8419431060646692,"b":0.5395663130238733,"c":-0.5395663130238733,"d":0.8419431060646692,"e":115.72502502502503,"f":2991.116016016016,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"4016":{"sourceObj":{"__isSmartRef__":true,"id":2999},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":3105},"targetMethodName":"alignToMagnet","varMapping":{"__isSmartRef__":true,"id":4017},"dependendConnections":[{"__isSmartRef__":true,"id":4018},{"__isSmartRef__":true,"id":4020},{"__isSmartRef__":true,"id":4022},{"__isSmartRef__":true,"id":4024},{"__isSmartRef__":true,"id":4026},{"__isSmartRef__":true,"id":4028},{"__isSmartRef__":true,"id":4030},{"__isSmartRef__":true,"id":4032}],"oldTransform":{"__isSmartRef__":true,"id":4034},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"4017":{"source":{"__isSmartRef__":true,"id":2999},"target":{"__isSmartRef__":true,"id":3105}},"4018":{"sourceObj":{"__isSmartRef__":true,"id":2999},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":4016},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":4019},"dependedBy":{"__isSmartRef__":true,"id":4016},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4019":{"source":{"__isSmartRef__":true,"id":2999},"target":{"__isSmartRef__":true,"id":4016}},"4020":{"sourceObj":{"__isSmartRef__":true,"id":2999},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":4016},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":4021},"dependedBy":{"__isSmartRef__":true,"id":4016},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4021":{"source":{"__isSmartRef__":true,"id":2999},"target":{"__isSmartRef__":true,"id":4016}},"4022":{"sourceObj":{"__isSmartRef__":true,"id":2999},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":4016},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":4023},"dependedBy":{"__isSmartRef__":true,"id":4016},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4023":{"source":{"__isSmartRef__":true,"id":2999},"target":{"__isSmartRef__":true,"id":4016}},"4024":{"sourceObj":{"__isSmartRef__":true,"id":2999},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":4016},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":4025},"dependedBy":{"__isSmartRef__":true,"id":4016},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4025":{"source":{"__isSmartRef__":true,"id":2999},"target":{"__isSmartRef__":true,"id":4016}},"4026":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":4016},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":4027},"dependedBy":{"__isSmartRef__":true,"id":4016},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4027":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":4016}},"4028":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":4016},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":4029},"dependedBy":{"__isSmartRef__":true,"id":4016},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4029":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":4016}},"4030":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":4016},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":4031},"dependedBy":{"__isSmartRef__":true,"id":4016},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4031":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":4016}},"4032":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":4016},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":4033},"dependedBy":{"__isSmartRef__":true,"id":4016},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4033":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":4016}},"4034":{"d":0.8419431060646692,"a":0.8419431060646692,"f":2991.116016016016,"e":115.72502502502503,"c":-0.5395663130238733,"b":0.5395663130238733,"matrix_":{"__isSmartRef__":true,"id":4035},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"4035":{"a":0.8419431060646692,"b":0.5395663130238733,"c":-0.5395663130238733,"d":0.8419431060646692,"e":115.72502502502503,"f":2991.116016016016,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"4036":{"sourceObj":{"__isSmartRef__":true,"id":2999},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":3261},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":4037},"dependendConnections":[{"__isSmartRef__":true,"id":4038},{"__isSmartRef__":true,"id":4040},{"__isSmartRef__":true,"id":4042},{"__isSmartRef__":true,"id":4044},{"__isSmartRef__":true,"id":4046},{"__isSmartRef__":true,"id":4048},{"__isSmartRef__":true,"id":4050},{"__isSmartRef__":true,"id":4052}],"oldTransform":{"__isSmartRef__":true,"id":4054},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"4037":{"source":{"__isSmartRef__":true,"id":2999},"target":{"__isSmartRef__":true,"id":3261}},"4038":{"sourceObj":{"__isSmartRef__":true,"id":2999},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":4036},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":4039},"dependedBy":{"__isSmartRef__":true,"id":4036},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4039":{"source":{"__isSmartRef__":true,"id":2999},"target":{"__isSmartRef__":true,"id":4036}},"4040":{"sourceObj":{"__isSmartRef__":true,"id":2999},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":4036},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":4041},"dependedBy":{"__isSmartRef__":true,"id":4036},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4041":{"source":{"__isSmartRef__":true,"id":2999},"target":{"__isSmartRef__":true,"id":4036}},"4042":{"sourceObj":{"__isSmartRef__":true,"id":2999},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":4036},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":4043},"dependedBy":{"__isSmartRef__":true,"id":4036},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4043":{"source":{"__isSmartRef__":true,"id":2999},"target":{"__isSmartRef__":true,"id":4036}},"4044":{"sourceObj":{"__isSmartRef__":true,"id":2999},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":4036},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":4045},"dependedBy":{"__isSmartRef__":true,"id":4036},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4045":{"source":{"__isSmartRef__":true,"id":2999},"target":{"__isSmartRef__":true,"id":4036}},"4046":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":4036},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":4047},"dependedBy":{"__isSmartRef__":true,"id":4036},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4047":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":4036}},"4048":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":4036},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":4049},"dependedBy":{"__isSmartRef__":true,"id":4036},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4049":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":4036}},"4050":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":4036},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":4051},"dependedBy":{"__isSmartRef__":true,"id":4036},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4051":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":4036}},"4052":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":4036},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":4053},"dependedBy":{"__isSmartRef__":true,"id":4036},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4053":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":4036}},"4054":{"d":0.8419431060646692,"a":0.8419431060646692,"f":2991.116016016016,"e":115.72502502502503,"c":-0.5395663130238733,"b":0.5395663130238733,"matrix_":{"__isSmartRef__":true,"id":4055},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"4055":{"a":0.8419431060646692,"b":0.5395663130238733,"c":-0.5395663130238733,"d":0.8419431060646692,"e":115.72502502502503,"f":2991.116016016016,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"4056":{"globalShapePath":{"__isSmartRef__":true,"id":4057},"lineIntersect":{"__isSmartRef__":true,"id":4060},"intersectLine":{"__isSmartRef__":true,"id":4064},"intersectLineMorph":{"__isSmartRef__":true,"id":4067}},"4057":{"varMapping":{"__isSmartRef__":true,"id":4058},"source":"function globalShapePath() {\n var b = this.shape.bounds();\n var p1 = this.worldPoint(b.topLeft()),\n p2 = this.worldPoint(b.topRight()),\n p3 = this.worldPoint(b.bottomRight()),\n p4 = this.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":4059},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4058":{"this":{"__isSmartRef__":true,"id":2999}},"4059":{},"4060":{"varMapping":{"__isSmartRef__":true,"id":4061},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":4062},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4061":{"this":{"__isSmartRef__":true,"id":2999}},"4062":{"timestamp":{"__isSmartRef__":true,"id":4063},"user":"jenslincke","tags":[]},"4063":{"isSerializedDate":true,"string":"Thu Dec 13 2012 13:42:55 GMT+0100 (CET)"},"4064":{"varMapping":{"__isSmartRef__":true,"id":4065},"source":"function intersectLine(a1, a2) {\n var points = this.globalShapePath();\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":4066},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4065":{"this":{"__isSmartRef__":true,"id":2999}},"4066":{},"4067":{"varMapping":{"__isSmartRef__":true,"id":4068},"source":"function intersectLineMorph(m) {\n return this.intersectLine(m.controlPoints[0].getGlobalPos(), m.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":4069},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4068":{"this":{"__isSmartRef__":true,"id":2999}},"4069":{},"4070":{"d":1,"a":1,"f":906.1,"e":107.8,"c":0,"b":0,"matrix_":{"__isSmartRef__":true,"id":4071},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"4071":{"a":1,"b":0,"c":0,"d":1,"e":107.8,"f":906.1,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"4072":{"connect":{"__isSmartRef__":true,"id":4073},"updatePosition":{"__isSmartRef__":true,"id":4077},"updateControlPoint":{"__isSmartRef__":true,"id":4081},"disconnectMorph":{"__isSmartRef__":true,"id":4085},"connectMorph":{"__isSmartRef__":true,"id":4089},"onMouseOver":{"__isSmartRef__":true,"id":4093},"onMouseOut":{"__isSmartRef__":true,"id":4097},"makeHandle":{"__isSmartRef__":true,"id":4105},"showFromHandle":{"__isSmartRef__":true,"id":4109},"showToHandle":{"__isSmartRef__":true,"id":4113},"reset":{"__isSmartRef__":true,"id":4117},"onDragInHandle":{"__isSmartRef__":true,"id":4121},"onDragStartInHandle":{"__isSmartRef__":true,"id":4125},"onDragEndInHandle":{"__isSmartRef__":true,"id":4129},"connectFrom":{"__isSmartRef__":true,"id":4133},"connectTo":{"__isSmartRef__":true,"id":4137},"hideToHandle":{"__isSmartRef__":true,"id":4141},"hideFromHandle":{"__isSmartRef__":true,"id":4145},"updateIntersection":{"__isSmartRef__":true,"id":4149},"lineIntersect":{"__isSmartRef__":true,"id":4153},"intersectMorphLinePoints":{"__isSmartRef__":true,"id":4157},"intersectMorph":{"__isSmartRef__":true,"id":4161},"globalShapePathFromMorph":{"__isSmartRef__":true,"id":4165}},"4073":{"varMapping":{"__isSmartRef__":true,"id":4074},"source":"function connect(morphA, morphB) {\n this.connectFrom(morphA)\n this.connectTo(morphB)\n this.updatePosition()\n}","funcProperties":{"__isSmartRef__":true,"id":4075},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4074":{"this":{"__isSmartRef__":true,"id":2988}},"4075":{"timestamp":{"__isSmartRef__":true,"id":4076},"user":"jenslincke","tags":[]},"4076":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:50:49 GMT+0100 (CET)"},"4077":{"varMapping":{"__isSmartRef__":true,"id":4078},"source":"function updatePosition() {\n this.updateControlPoint(this.controlPoints[0], this.fromMorph)\n this.updateControlPoint(this.controlPoints[1], this.toMorph)\n this.updateIntersection(this.fromMorph, this.controlPoints[0])\n this.updateIntersection(this.toMorph, this.controlPoints[1])\n\n this.adjustOrigin(this.bounds().extent().scaleBy(0.5))\n \n}","funcProperties":{"__isSmartRef__":true,"id":4079},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4078":{"this":{"__isSmartRef__":true,"id":2988}},"4079":{"timestamp":{"__isSmartRef__":true,"id":4080},"user":"jenslincke","tags":[]},"4080":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:42:58 GMT+0100 (CET)"},"4081":{"varMapping":{"__isSmartRef__":true,"id":4082},"source":"function updateControlPoint(cp, morph) {\n if (!cp || !morph) return;\n cp.setGlobalPos(morph.worldPoint(morph.shape.bounds().center()))\n}","funcProperties":{"__isSmartRef__":true,"id":4083},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4082":{"this":{"__isSmartRef__":true,"id":2988}},"4083":{"timestamp":{"__isSmartRef__":true,"id":4084},"user":"jenslincke","tags":[]},"4084":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:45:56 GMT+0100 (CET)"},"4085":{"varMapping":{"__isSmartRef__":true,"id":4086},"source":"function disconnectMorph(morph) {\n if (!morph) return;\n lively.bindings.disconnect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":4087},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4086":{"this":{"__isSmartRef__":true,"id":2988}},"4087":{"timestamp":{"__isSmartRef__":true,"id":4088},"user":"jenslincke","tags":[]},"4088":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:19:18 GMT+0100 (CET)"},"4089":{"varMapping":{"__isSmartRef__":true,"id":4090},"source":"function connectMorph(morph) {\n if (morph)\n lively.bindings.connect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":4091},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4090":{"this":{"__isSmartRef__":true,"id":2988}},"4091":{"timestamp":{"__isSmartRef__":true,"id":4092},"user":"jenslincke","tags":[]},"4092":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:52:12 GMT+0100 (CET)"},"4093":{"varMapping":{"__isSmartRef__":true,"id":4094},"source":"function onMouseOver(evt) {\n var p = evt.mousePoint.scaleBy(this.world().getScale())\n\n var cp1 = this.controlPoints[0].getGlobalPos();\n if (p.dist(cp1) < 20) {\n this.showFromHandle()\n } else {\n this.hideFromHandle()\n }\n var cp2 = this.controlPoints[1].getGlobalPos();\n if (p.dist(cp2) < 20) {\n this.showToHandle()\n } else {\n this.hideToHandle()\n }\n}","funcProperties":{"__isSmartRef__":true,"id":4095},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4094":{"this":{"__isSmartRef__":true,"id":2988}},"4095":{"timestamp":{"__isSmartRef__":true,"id":4096},"user":"jenslincke","tags":[]},"4096":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:23:03 GMT+0100 (CET)"},"4097":{"varMapping":{"__isSmartRef__":true,"id":4098},"source":"function onMouseOut(evt) {\n // this.hideFromHandle()\n // this.hideToHandle()\n}","funcProperties":{"__isSmartRef__":true,"id":4103},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4098":{"this":{"__isSmartRef__":true,"id":2988},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4099}},"4099":{"$super":{"__isSmartRef__":true,"id":4100}},"4100":{"varMapping":{"__isSmartRef__":true,"id":4101},"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":4102},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4101":{"obj":{"__isSmartRef__":true,"id":2988},"name":"onMouseOut"},"4102":{},"4103":{"timestamp":{"__isSmartRef__":true,"id":4104},"user":"jenslincke","tags":[]},"4104":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:54:53 GMT+0100 (CET)"},"4105":{"varMapping":{"__isSmartRef__":true,"id":4106},"source":"function makeHandle() {\n var m = lively.morphic.Morph.makeRectangle(0,0,10,10);\n m.disableGrabbing()\n m.enableDragging()\n m.connector = this;\n // move real behavior to a place which is easier to develop\n // do not use bind, because we like late binding \n m.addScript(function onDragStart(evt) {\n this.connector.onDragStartInHandle(this, evt)\n })\n m.addScript(function onDrag(evt) {\n this.connector.onDragInHandle(this, evt)\n })\n m.addScript(function onDragEnd(evt) {\n this.connector.onDragEndInHandle(this, evt)\n })\n m.isEpiMorph = true;\n return m\n}","funcProperties":{"__isSmartRef__":true,"id":4107},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4106":{"this":{"__isSmartRef__":true,"id":2988}},"4107":{"timestamp":{"__isSmartRef__":true,"id":4108},"user":"jenslincke","tags":[]},"4108":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:08:29 GMT+0100 (CET)"},"4109":{"varMapping":{"__isSmartRef__":true,"id":4110},"source":"function showFromHandle() {\n if (!this.fromHandle) {\n this.fromHandle = this.makeHandle();\n this.fromHandle.setFill(Color.red)\n this.fromHandle.isFromHandle = true;\n }\n this.fromHandle.openInWorld();\n this.fromHandle.controlPoint = this.controlPoints[0];\n this.fromHandle.setPosition(this.controlPoints[0].getGlobalPos().subPt(pt(5,5)))\n return this.fromHandle\n}","funcProperties":{"__isSmartRef__":true,"id":4111},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4110":{"this":{"__isSmartRef__":true,"id":2988}},"4111":{"timestamp":{"__isSmartRef__":true,"id":4112},"user":"jenslincke","tags":[]},"4112":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:13:03 GMT+0100 (CET)"},"4113":{"varMapping":{"__isSmartRef__":true,"id":4114},"source":"function showToHandle() {\n if (!this.toHandle) {\n this.toHandle = this.makeHandle();\n this.toHandle.setFill(Color.red)\n this.toHandle.isToHandle = true;\n\n }\n this.toHandle.openInWorld();\n this.toHandle.controlPoint = this.controlPoints[1];\n this.toHandle.setPosition(this.controlPoints[1].getGlobalPos().subPt(pt(5,5)))\n return this.toHandle\n}","funcProperties":{"__isSmartRef__":true,"id":4115},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4114":{"this":{"__isSmartRef__":true,"id":2988}},"4115":{"timestamp":{"__isSmartRef__":true,"id":4116},"user":"jenslincke","tags":[]},"4116":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:20:25 GMT+0100 (CET)"},"4117":{"varMapping":{"__isSmartRef__":true,"id":4118},"source":"function reset() {\n if (this.fromHandle) {\n this.fromHandle.remove()\n delete this.fromHandle\n }\n if (this.toHandle) {\n this.toHandle.remove()\n delete this.toHandle\n }\n // this.controlPoints[1].setPos(pt(200,200))\n}","funcProperties":{"__isSmartRef__":true,"id":4119},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4118":{"this":{"__isSmartRef__":true,"id":2988}},"4119":{"timestamp":{"__isSmartRef__":true,"id":4120},"user":"jenslincke","tags":[]},"4120":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:15:00 GMT+0100 (CET)"},"4121":{"varMapping":{"__isSmartRef__":true,"id":4122},"source":"function onDragInHandle(handle, evt) {\n\n var pos = handle.getPositionInWorld();\n var delta = evt.hand.getPosition().subPt(pos);\n handle.moveBy(delta)\n pos = handle.getPositionInWorld();\n if (handle.controlPoint)\n handle.controlPoint.setGlobalPos(pos.addPt(pt(5,5)))\n var morphs = this.owner.morphsContainingPoint(pos)\n morphs = morphs.reject(function(ea) {\n return ea.isWorld || (ea === handle) || (ea === this) || \n (ea === this.owner)\n }, this)\n this.get('Console').textString = morphs\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n this.selectedMorph = morphs.first();\n this.selectedMorphHighlights = show(this.selectedMorph)\n handle.startPos = evt.getPosition();\n}","funcProperties":{"__isSmartRef__":true,"id":4123},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4122":{"this":{"__isSmartRef__":true,"id":2988}},"4123":{"timestamp":{"__isSmartRef__":true,"id":4124},"user":"jenslincke","tags":[]},"4124":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:09:40 GMT+0100 (CET)"},"4125":{"varMapping":{"__isSmartRef__":true,"id":4126},"source":"function onDragStartInHandle(handle, evt) {\n handle.startPos = evt.getPosition()\n}","funcProperties":{"__isSmartRef__":true,"id":4127},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4126":{"this":{"__isSmartRef__":true,"id":2988}},"4127":{"timestamp":{"__isSmartRef__":true,"id":4128},"user":"jenslincke","tags":[]},"4128":{"isSerializedDate":true,"string":"Thu Dec 13 2012 15:51:13 GMT+0100 (CET)"},"4129":{"varMapping":{"__isSmartRef__":true,"id":4130},"source":"function onDragEndInHandle(handle, evt) {\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n \n if (handle.isFromHandle) this.connectFrom(this.selectedMorph)\n if (handle.isToHandle) this.connectTo(this.selectedMorph)\n handle.remove()\n}","funcProperties":{"__isSmartRef__":true,"id":4131},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4130":{"this":{"__isSmartRef__":true,"id":2988}},"4131":{"timestamp":{"__isSmartRef__":true,"id":4132},"user":"jenslincke","tags":[]},"4132":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:44:35 GMT+0100 (CET)"},"4133":{"varMapping":{"__isSmartRef__":true,"id":4134},"source":"function connectFrom(morph) {\n this.disconnectMorph(this.fromMorph)\n this.fromMorph = morph;\n this.connectMorph(this.fromMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":4135},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4134":{"this":{"__isSmartRef__":true,"id":2988}},"4135":{"timestamp":{"__isSmartRef__":true,"id":4136},"user":"jenslincke","tags":[]},"4136":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:50:12 GMT+0100 (CET)"},"4137":{"varMapping":{"__isSmartRef__":true,"id":4138},"source":"function connectTo(morph) {\n this.disconnectMorph(this.toMorph)\n this.toMorph = morph;\n this.connectMorph(this.toMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":4139},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4138":{"this":{"__isSmartRef__":true,"id":2988}},"4139":{"timestamp":{"__isSmartRef__":true,"id":4140},"user":"jenslincke","tags":[]},"4140":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:50:04 GMT+0100 (CET)"},"4141":{"varMapping":{"__isSmartRef__":true,"id":4142},"source":"function hideToHandle() {\n if (this.toHandle) {\n this.toHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":4143},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4142":{"this":{"__isSmartRef__":true,"id":2988}},"4143":{"timestamp":{"__isSmartRef__":true,"id":4144},"user":"jenslincke","tags":[]},"4144":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:51:59 GMT+0100 (CET)"},"4145":{"varMapping":{"__isSmartRef__":true,"id":4146},"source":"function hideFromHandle() {\n if (this.fromHandle) {\n this.fromHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":4147},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4146":{"this":{"__isSmartRef__":true,"id":2988}},"4147":{"timestamp":{"__isSmartRef__":true,"id":4148},"user":"jenslincke","tags":[]},"4148":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:52:18 GMT+0100 (CET)"},"4149":{"varMapping":{"__isSmartRef__":true,"id":4150},"source":"function updateIntersection(morph, cp) {\n if (!morph) return;\n var intersection = this.intersectMorph(morph)[0];\n if (intersection) {\n cp.setGlobalPos(intersection);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":4151},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4150":{"this":{"__isSmartRef__":true,"id":2988}},"4151":{"timestamp":{"__isSmartRef__":true,"id":4152},"user":"jenslincke","tags":[]},"4152":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:32 GMT+0100 (CET)"},"4153":{"varMapping":{"__isSmartRef__":true,"id":4154},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":4155},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4154":{"this":{"__isSmartRef__":true,"id":2988}},"4155":{"timestamp":{"__isSmartRef__":true,"id":4156},"user":"jenslincke","tags":[]},"4156":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:47:12 GMT+0100 (CET)"},"4157":{"varMapping":{"__isSmartRef__":true,"id":4158},"source":"function intersectMorphLinePoints(morph, a1, a2) {\n var points = this.globalShapePathFromMorph(morph);\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":4159},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4158":{"this":{"__isSmartRef__":true,"id":2988}},"4159":{"timestamp":{"__isSmartRef__":true,"id":4160},"user":"jenslincke","tags":[]},"4160":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:21 GMT+0100 (CET)"},"4161":{"varMapping":{"__isSmartRef__":true,"id":4162},"source":"function intersectMorph(morph) {\n var line = this;\n return this.intersectMorphLinePoints(morph,\n line.controlPoints[0].getGlobalPos(), line.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":4163},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4162":{"this":{"__isSmartRef__":true,"id":2988}},"4163":{"timestamp":{"__isSmartRef__":true,"id":4164},"user":"jenslincke","tags":[]},"4164":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:47 GMT+0100 (CET)"},"4165":{"varMapping":{"__isSmartRef__":true,"id":4166},"source":"function globalShapePathFromMorph(morph) {\n var b = morph.shape.bounds();\n var p1 = morph.worldPoint(b.topLeft()),\n p2 = morph.worldPoint(b.topRight()),\n p3 = morph.worldPoint(b.bottomRight()),\n p4 = morph.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":4167},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4166":{"this":{"__isSmartRef__":true,"id":2988}},"4167":{"timestamp":{"__isSmartRef__":true,"id":4168},"user":"jenslincke","tags":[]},"4168":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:00 GMT+0100 (CET)"},"4169":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":4170},"id":"5E9FF80A-8869-4D30-9A4C-37023352650B","eventHandler":{"__isSmartRef__":true,"id":4173},"__layered_droppingEnabled__":true,"halosEnabled":true,"isBeingDragged":false,"controlPoints":[{"__isSmartRef__":true,"id":4174},{"__isSmartRef__":true,"id":4175}],"showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":4176},"name":"Connector","derivationIds":[731,"5E6BD741-9C99-47B9-95C1-7A028178DB17","A8D5C37A-F23F-47FE-8DE2-211CE4484A4F","F722069B-8602-4E8D-BE3F-92A1E0C0EF28","D5ED19F9-968E-4C7E-9936-69F2735A813F","A9E370BC-F208-425C-BFFC-F8D6BB52E11F","4E431641-D056-46CB-B2A8-6626382EF423"],"_ClipMode":"visible","controlPointsHalos":[],"prevScroll":[0,0],"grabbingEnabled":false,"moved":true,"#startLetters":"controlPoints[0]","update":{"__isSmartRef__":true,"id":4188},"isCopyMorphRef":true,"morphRefId":2,"selectedMorphHighlights":[],"owner":{"__isSmartRef__":true,"id":2945},"_Rotation":0,"_Scale":1,"__serializedExpressions__":["distanceToDragEvent","_Position"],"selectedMorph":{"__isSmartRef__":true,"id":4190},"toMorph":{"__isSmartRef__":true,"id":4190},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4674},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","distanceToDragEvent":"lively.pt(295.7,-20.8)","_Position":"lively.pt(650.5,96.3)"},"4170":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":4171},{"__isSmartRef__":true,"id":4172}],"_ClipMode":"visible","_BorderWidth":3.1119999999999997,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Padding","_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(-48.7,-18.4)","_Extent":"lively.pt(97.5,36.9)","_BorderColor":"Color.rgb(161,161,161)"},"4171":{"isAbsolute":true,"x":-46.745628226708334,"y":-16.430783399125175,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"4172":{"isAbsolute":true,"x":47.74562822670839,"y":17.430783399125175,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"4173":{"morph":{"__isSmartRef__":true,"id":4169},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4174":{"morph":{"__isSmartRef__":true,"id":4169},"index":0,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"4175":{"morph":{"__isSmartRef__":true,"id":4169},"index":1,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"4176":{"requiredModules":[],"migrationLevel":4,"partsSpaceName":"PartsBin/Jens/","comment":"Yes, I think I got it again: Powerful and nice connectors.\nThis time 100 % Part only!","partName":"Connector","lastModifiedDate":{"__isSmartRef__":true,"id":4177},"revisionOnLoad":186847,"changes":[{"__isSmartRef__":true,"id":4178},{"__isSmartRef__":true,"id":4180},{"__isSmartRef__":true,"id":4182},{"__isSmartRef__":true,"id":4184},{"__isSmartRef__":true,"id":4186}],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"4177":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:37:16 GMT+0100 (CET)"},"4178":{"date":{"__isSmartRef__":true,"id":4179},"author":"jenslincke","message":"no comment","id":"3D5067AE-5BA0-4317-837F-59F8F61B8B24"},"4179":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:35:06 GMT+0100 (CET)"},"4180":{"date":{"__isSmartRef__":true,"id":4181},"author":"jenslincke","message":"no comment","id":"79159460-DFFB-462D-AFC9-EECD3539A1A9"},"4181":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:32:27 GMT+0100 (CET)"},"4182":{"date":{"__isSmartRef__":true,"id":4183},"author":"jenslincke","message":"no comment","id":"117C964B-9768-48F2-8EC8-D4328478198F"},"4183":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:05:07 GMT+0100 (CET)"},"4184":{"date":{"__isSmartRef__":true,"id":4185},"author":"jenslincke","message":"no comment","id":"28165CED-C8C5-4B8E-9655-645E3F5099BB"},"4185":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:42 GMT+0100 (CET)"},"4186":{"date":{"__isSmartRef__":true,"id":4187},"author":"jenslincke","message":"no comment","id":"ED70FB47-8AA0-4D4E-8D90-FF99454C924B"},"4187":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:37:32 GMT+0100 (CET)"},"4188":{"d":1,"a":1,"f":906.1,"e":107.8,"c":0,"b":0,"matrix_":{"__isSmartRef__":true,"id":4189},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"4189":{"a":1,"b":0,"c":0,"d":1,"e":107.8,"f":906.1,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"4190":{"submorphs":[{"__isSmartRef__":true,"id":4191}],"scripts":[],"id":"37281932-6BFC-4796-9330-CDFA7FB46F54","shape":{"__isSmartRef__":true,"id":4267},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"A","partsBinMetaInfo":{"__isSmartRef__":true,"id":4268},"eventHandler":{"__isSmartRef__":true,"id":4286},"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","BBAFB862-93AE-4F89-BCFF-9F1C67B7FE4C","7EC17E78-593A-4CC8-B7E3-859BCBBFE785","FDB06D4A-9F4E-4B8C-A67C-671A9583EFE8","1C80FDE1-05C0-4148-9AD8-33C88667084C","5059E383-6BE3-4AD3-A9C4-89DA9D8D5E99","5B810AFE-E692-4EB4-A695-ABB4A95CEA39","BFFEF617-9B97-45D4-A541-8E33A6A17485","A10BBA48-4AD1-425A-AC7B-2F5515CE56F5","319DCFA5-FBA0-4E93-825A-584A580A412F","1A7DC4D8-6C49-4243-8B1D-04CED44FD759"],"partTests":{"__isSmartRef__":true,"id":4287},"_ClipMode":"visible","moved":true,"isBeingDragged":false,"magnets":[{"__isSmartRef__":true,"id":4292},{"__isSmartRef__":true,"id":4293},{"__isSmartRef__":true,"id":4294},{"__isSmartRef__":true,"id":4295},{"__isSmartRef__":true,"id":4616},{"__isSmartRef__":true,"id":4617},{"__isSmartRef__":true,"id":4618},{"__isSmartRef__":true,"id":4619}],"attributeConnections":[{"__isSmartRef__":true,"id":4214},{"__isSmartRef__":true,"id":4233},{"__isSmartRef__":true,"id":4235},{"__isSmartRef__":true,"id":4237},{"__isSmartRef__":true,"id":4239},{"__isSmartRef__":true,"id":4620},{"__isSmartRef__":true,"id":4622},{"__isSmartRef__":true,"id":4624},{"__isSmartRef__":true,"id":4626},{"__isSmartRef__":true,"id":4628},{"__isSmartRef__":true,"id":4640},{"__isSmartRef__":true,"id":4642},{"__isSmartRef__":true,"id":4644},{"__isSmartRef__":true,"id":4646},{"__isSmartRef__":true,"id":4648}],"doNotSerialize":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"doNotCopyProperties":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"isCopyMorphRef":true,"morphRefId":1,"prevScroll":[0,0],"_Scale":0.9999999999999996,"_Rotation":0.5699219218563105,"owner":{"__isSmartRef__":true,"id":2945},"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4660},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","distanceToDragEvent":"lively.pt(35.0,-16.3)","_Position":"lively.pt(725.3,71.4)"},"4191":{"submorphs":[],"scripts":[],"id":"6D969508-F1F5-4E9D-A211-8F66FCA4DA80","shape":{"__isSmartRef__":true,"id":4192},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":180.8018403394826,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":19,"name":"NameLabel2","partsBinMetaInfo":{"__isSmartRef__":true,"id":4193},"textChunks":[{"__isSmartRef__":true,"id":4195}],"charsReplaced":"A1","lastFindLoc":2,"prevScroll":[0,0],"attributeConnections":[{"__isSmartRef__":true,"id":4197},{"__isSmartRef__":true,"id":4198},{"__isSmartRef__":true,"id":4199},{"__isSmartRef__":true,"id":4225},{"__isSmartRef__":true,"id":4227},{"__isSmartRef__":true,"id":4229},{"__isSmartRef__":true,"id":4231}],"doNotSerialize":["$$owner","$$savedTextString","$$_Position","$$_Scale","$$_Rotation"],"doNotCopyProperties":["$$owner","$$savedTextString","$$_Position","$$_Scale","$$_Rotation"],"isInputLine":true,"savedTextString":"A","eventHandler":{"__isSmartRef__":true,"id":4251},"derivationIds":[7027,"331C6367-0699-4BD6-9916-ABA82517453B","BEAA7850-FEFB-4AFD-9E06-730FF35D99A4","559B0B8A-5C01-4133-88B2-0D08385E23F6","BE195383-D309-4B6E-A6B0-79A6112B4011","E323F75A-232F-4712-9A03-20C8FD574C9A","E6E38336-AA2D-4F75-80C1-B1617DD8544E","DAFCD826-DF9B-4DEF-B4D7-59AAED8D199D","3999CB16-D9E3-4D28-A617-9B093624E8AC","24C6A462-5AF8-4580-9777-8F5696841AF0","38DF0DD5-01B1-4481-B32C-B1595F8042DF"],"_WhiteSpaceHandling":"pre-wrap","_ClipMode":"visible","moved":true,"isBeingDragged":false,"_WordBreak":"break-all","magnets":[{"__isSmartRef__":true,"id":4252},{"__isSmartRef__":true,"id":4253},{"__isSmartRef__":true,"id":4254},{"__isSmartRef__":true,"id":4255},{"__isSmartRef__":true,"id":4256},{"__isSmartRef__":true,"id":4257},{"__isSmartRef__":true,"id":4258},{"__isSmartRef__":true,"id":4259}],"_PreviousBorderWidth":1,"owner":{"__isSmartRef__":true,"id":4190},"oldOwner":{"__isSmartRef__":true,"id":4190},"_Rotation":0,"_Scale":0.9999999999999997,"priorSelectionRange":[1,1],"__serializedExpressions__":["_Position","textColor","distanceToDragEvent","_TextColor"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4260},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(34.8,36.8)","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(31.1,-9.9)","_TextColor":"Color.rgb(255,143,0)"},"4192":{"fill":null,"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(42.8,29.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"4193":{"migrationLevel":2,"comment":"Label that shows the name of a morph. Updates automatically.","partName":"NameLabel","lastModifiedDate":{"__isSmartRef__":true,"id":4194},"revisionOnLoad":140039,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"4194":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (CEST)"},"4195":{"style":{"__isSmartRef__":true,"id":4196},"chunkOwner":{"__isSmartRef__":true,"id":4191},"_id":"_942","storedString":"A","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4196":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4197":{"sourceObj":{"__isSmartRef__":true,"id":4191},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":4191},"targetMethodName":"updateLabel","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4198":{"sourceObj":{"__isSmartRef__":true,"id":4191},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":4191},"targetMethodName":"renameOwner","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4199":{"sourceObj":{"__isSmartRef__":true,"id":4191},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":4200},"targetMethodName":"realignConnection","varMapping":{"__isSmartRef__":true,"id":4224},"dependendConnections":[{"__isSmartRef__":true,"id":4225},{"__isSmartRef__":true,"id":4227},{"__isSmartRef__":true,"id":4229},{"__isSmartRef__":true,"id":4231},{"__isSmartRef__":true,"id":4233},{"__isSmartRef__":true,"id":4235},{"__isSmartRef__":true,"id":4237},{"__isSmartRef__":true,"id":4239},{"__isSmartRef__":true,"id":4241},{"__isSmartRef__":true,"id":4243},{"__isSmartRef__":true,"id":4245},{"__isSmartRef__":true,"id":4247}],"oldTransform":{"__isSmartRef__":true,"id":4249},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"4200":{"submorphs":[{"__isSmartRef__":true,"id":4201}],"scripts":[],"shape":{"__isSmartRef__":true,"id":4208},"eventHandler":{"__isSmartRef__":true,"id":4211},"_ClipMode":"visible","derivationIds":[],"id":"5814672F-102B-41EE-9D91-9FA58B6451FD","__layered_droppingEnabled__":true,"halosEnabled":true,"owner":null,"controlPoints":[{"__isSmartRef__":true,"id":4212},{"__isSmartRef__":true,"id":4213}],"con":{"__isSmartRef__":true,"id":4214},"showsMorphMenu":true,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4216},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"4201":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":4202},"eventHandler":{"__isSmartRef__":true,"id":4207},"_ClipMode":"visible","derivationIds":[],"id":"01253C2A-18A1-43A8-AA72-260E7FC0929E","__layered_droppingEnabled__":true,"halosEnabled":true,"owner":{"__isSmartRef__":true,"id":4200},"_Rotation":1.3832457846463706,"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","_Position":"lively.pt(259.1,3427.8)"},"4202":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":4203},{"__isSmartRef__":true,"id":4204},{"__isSmartRef__":true,"id":4205},{"__isSmartRef__":true,"id":4206}],"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor","_Fill"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Position":"lively.pt(-12.0,-6.0)","_Extent":"lively.pt(17.0,13.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(0,0,0)"},"4203":{"isAbsolute":true,"x":-11,"y":-5,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"4204":{"isAbsolute":true,"x":-11,"y":7,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"4205":{"isAbsolute":true,"x":5,"y":1,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"4206":{"isAbsolute":true,"x":-11,"y":-5,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"4207":{"morph":{"__isSmartRef__":true,"id":4201},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4208":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":4209},{"__isSmartRef__":true,"id":4210}],"_BorderWidth":1,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Position":"lively.pt(248.7,3377.0)","_Extent":"lively.pt(10.4,50.8)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"4209":{"isAbsolute":true,"x":249.7,"y":3378,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"4210":{"isAbsolute":true,"x":259.14357977177195,"y":3427.7604139964105,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"4211":{"morph":{"__isSmartRef__":true,"id":4200},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4212":{"morph":{"__isSmartRef__":true,"id":4200},"index":0,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"4213":{"morph":{"__isSmartRef__":true,"id":4200},"index":1,"marker":{"__isSmartRef__":true,"id":4201},"markerDirection":"prev","__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"4214":{"sourceObj":{"__isSmartRef__":true,"id":4190},"sourceAttrName":"name","targetObj":{"__isSmartRef__":true,"id":4191},"targetMethodName":"updateLabel","varMapping":{"__isSmartRef__":true,"id":4215},"visualConnector":{"__isSmartRef__":true,"id":4200},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4215":{"source":{"__isSmartRef__":true,"id":4190},"target":{"__isSmartRef__":true,"id":4191}},"4216":{"morphMenuItems":{"__isSmartRef__":true,"id":4217}},"4217":{"varMapping":{"__isSmartRef__":true,"id":4218},"source":"function morphMenuItems() {\n var visualConnector = this, con = this.con, world = $world;\n var items = [\n ['Edit converter', function() {\n var window = lively.bindings.editConnection(con);\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":4223},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4218":{"this":{"__isSmartRef__":true,"id":4200},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4219}},"4219":{"$super":{"__isSmartRef__":true,"id":4220}},"4220":{"varMapping":{"__isSmartRef__":true,"id":4221},"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":4222},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4221":{"obj":{"__isSmartRef__":true,"id":4200},"name":"morphMenuItems"},"4222":{},"4223":{},"4224":{"source":{"__isSmartRef__":true,"id":4191},"target":{"__isSmartRef__":true,"id":4200}},"4225":{"sourceObj":{"__isSmartRef__":true,"id":4191},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":4199},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":4226},"dependedBy":{"__isSmartRef__":true,"id":4199},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4226":{"source":{"__isSmartRef__":true,"id":4191},"target":{"__isSmartRef__":true,"id":4199}},"4227":{"sourceObj":{"__isSmartRef__":true,"id":4191},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":4199},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":4228},"dependedBy":{"__isSmartRef__":true,"id":4199},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4228":{"source":{"__isSmartRef__":true,"id":4191},"target":{"__isSmartRef__":true,"id":4199}},"4229":{"sourceObj":{"__isSmartRef__":true,"id":4191},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":4199},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":4230},"dependedBy":{"__isSmartRef__":true,"id":4199},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4230":{"source":{"__isSmartRef__":true,"id":4191},"target":{"__isSmartRef__":true,"id":4199}},"4231":{"sourceObj":{"__isSmartRef__":true,"id":4191},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":4199},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":4232},"dependedBy":{"__isSmartRef__":true,"id":4199},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4232":{"source":{"__isSmartRef__":true,"id":4191},"target":{"__isSmartRef__":true,"id":4199}},"4233":{"sourceObj":{"__isSmartRef__":true,"id":4190},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":4199},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":4234},"dependedBy":{"__isSmartRef__":true,"id":4199},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4234":{"source":{"__isSmartRef__":true,"id":4190},"target":{"__isSmartRef__":true,"id":4199}},"4235":{"sourceObj":{"__isSmartRef__":true,"id":4190},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":4199},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":4236},"dependedBy":{"__isSmartRef__":true,"id":4199},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4236":{"source":{"__isSmartRef__":true,"id":4190},"target":{"__isSmartRef__":true,"id":4199}},"4237":{"sourceObj":{"__isSmartRef__":true,"id":4190},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":4199},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":4238},"dependedBy":{"__isSmartRef__":true,"id":4199},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4238":{"source":{"__isSmartRef__":true,"id":4190},"target":{"__isSmartRef__":true,"id":4199}},"4239":{"sourceObj":{"__isSmartRef__":true,"id":4190},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":4199},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":4240},"dependedBy":{"__isSmartRef__":true,"id":4199},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4240":{"source":{"__isSmartRef__":true,"id":4190},"target":{"__isSmartRef__":true,"id":4199}},"4241":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":4199},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":4242},"dependedBy":{"__isSmartRef__":true,"id":4199},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4242":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":4199}},"4243":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":4199},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":4244},"dependedBy":{"__isSmartRef__":true,"id":4199},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4244":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":4199}},"4245":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":4199},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":4246},"dependedBy":{"__isSmartRef__":true,"id":4199},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4246":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":4199}},"4247":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":4199},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":4248},"dependedBy":{"__isSmartRef__":true,"id":4199},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4248":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":4199}},"4249":{"d":0.8419431060646688,"a":0.8419431060646688,"f":3052.8764300124267,"e":776.7686047967969,"c":-0.539566313023873,"b":0.539566313023873,"matrix_":{"__isSmartRef__":true,"id":4250},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"4250":{"a":0.8419431060646688,"b":0.539566313023873,"c":-0.539566313023873,"d":0.8419431060646688,"e":776.7686047967969,"f":3052.8764300124267,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"4251":{"morph":{"__isSmartRef__":true,"id":4191},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4252":{"morph":{"__isSmartRef__":true,"id":4191},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(771.7,3476.8)"},"4253":{"morph":{"__isSmartRef__":true,"id":4191},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(789.7,3488.3)"},"4254":{"morph":{"__isSmartRef__":true,"id":4191},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(807.7,3499.9)"},"4255":{"morph":{"__isSmartRef__":true,"id":4191},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(799.9,3512.1)"},"4256":{"morph":{"__isSmartRef__":true,"id":4191},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(792.1,3524.3)"},"4257":{"morph":{"__isSmartRef__":true,"id":4191},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(774.0,3512.8)"},"4258":{"morph":{"__isSmartRef__":true,"id":4191},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(756.0,3501.2)"},"4259":{"morph":{"__isSmartRef__":true,"id":4191},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(763.9,3489.0)"},"4260":{"updateLabel":{"__isSmartRef__":true,"id":4261},"renameOwner":{"__isSmartRef__":true,"id":4264}},"4261":{"varMapping":{"__isSmartRef__":true,"id":4262},"source":"function updateLabel() {\n\t// observe name changes in owner\n\tif (this.owner !== this.oldOwner) {\n\t\tif (this.oldOwner)\n\t\t\tdisconnect(this.oldOwner, 'name', this, 'updateLabel')\n\t\tif (this.owner)\n\t\t\tconnect(this.owner, 'name', this, 'updateLabel')\n\t\tthis.oldOwner = this.owner\n\t}\n\tvar name = (this.owner ? this.owner.name : \"no owner\")\n\tif (this.textString != name)\n\tthis.setTextString(name)\n}","funcProperties":{"__isSmartRef__":true,"id":4263},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4262":{"this":{"__isSmartRef__":true,"id":4191}},"4263":{},"4264":{"varMapping":{"__isSmartRef__":true,"id":4265},"source":"function renameOwner(name) {\n\tif (this.owner && this.owner.name != name) {\n\t\talertOK(\"renamed \" + this.owner + \" to \" + name)\n\t\tthis.owner.setName(name);\n\t}\n}","funcProperties":{"__isSmartRef__":true,"id":4266},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4265":{"this":{"__isSmartRef__":true,"id":4191}},"4266":{},"4267":{"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(89.0,80.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgba(204,204,204,0.5)","_Padding":"lively.rect(0,0,0,0)"},"4268":{"partsSpaceName":"PartsBin/Basic","comment":"A simple box morph. A really orange one. Its amazing what you can build out of simple boxes.... Who needs stars when you got orange rectangles!","migrationLevel":4,"partName":"Rectangle","changes":[{"__isSmartRef__":true,"id":4269},{"__isSmartRef__":true,"id":4271},{"__isSmartRef__":true,"id":4273},{"__isSmartRef__":true,"id":4275},{"__isSmartRef__":true,"id":4277},{"__isSmartRef__":true,"id":4279},{"__isSmartRef__":true,"id":4281},{"__isSmartRef__":true,"id":4283}],"lastModifiedDate":{"__isSmartRef__":true,"id":4285},"revisionOnLoad":184624,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"4269":{"date":{"__isSmartRef__":true,"id":4270},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"4270":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"4271":{"date":{"__isSmartRef__":true,"id":4272},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"4272":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"4273":{"date":{"__isSmartRef__":true,"id":4274},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"4274":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"4275":{"date":{"__isSmartRef__":true,"id":4276},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"4276":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"4277":{"date":{"__isSmartRef__":true,"id":4278},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"4278":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"4279":{"date":{"__isSmartRef__":true,"id":4280},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"4280":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"4281":{"date":{"__isSmartRef__":true,"id":4282},"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8"},"4282":{"isSerializedDate":true,"string":"Mon Jun 18 2012 19:35:08 GMT+0200 (CEST)"},"4283":{"date":{"__isSmartRef__":true,"id":4284},"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205"},"4284":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:35:51 GMT+0100 (CET)"},"4285":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:33:25 GMT+0100 (CET)"},"4286":{"morph":{"__isSmartRef__":true,"id":4190},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4287":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4288}},"4288":{"test01IsMorph":{"__isSmartRef__":true,"id":4289}},"4289":{"varMapping":{"__isSmartRef__":true,"id":4290},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":4291},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4290":{"this":{"__isSmartRef__":true,"id":4287}},"4291":{},"4292":{"morph":{"__isSmartRef__":true,"id":4190},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(762.2,3427.0)"},"4293":{"morph":{"__isSmartRef__":true,"id":4190},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(799.7,3451.1)"},"4294":{"morph":{"__isSmartRef__":true,"id":4190},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(837.2,3475.1)"},"4295":{"morph":{"__isSmartRef__":true,"id":4190},"connectedControlPoints":[{"__isSmartRef__":true,"id":4296}],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(815.6,3508.7)"},"4296":{"morph":{"__isSmartRef__":true,"id":4297},"index":0,"connectedMagnet":{"__isSmartRef__":true,"id":4295},"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"4297":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":4298},"id":"E083C82B-2BC4-42CB-B3A2-773909175FCB","eventHandler":{"__isSmartRef__":true,"id":4301},"__layered_droppingEnabled__":true,"halosEnabled":true,"isBeingDragged":false,"controlPoints":[{"__isSmartRef__":true,"id":4296},{"__isSmartRef__":true,"id":4302}],"showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":4303},"name":"Line4","derivationIds":[731,"5E6BD741-9C99-47B9-95C1-7A028178DB17","A8D5C37A-F23F-47FE-8DE2-211CE4484A4F","F722069B-8602-4E8D-BE3F-92A1E0C0EF28","D5ED19F9-968E-4C7E-9936-69F2735A813F","A9E370BC-F208-425C-BFFC-F8D6BB52E11F","4E431641-D056-46CB-B2A8-6626382EF423"],"_ClipMode":"visible","controlPointsHalos":[],"prevScroll":[0,0],"grabbingEnabled":false,"moved":true,"#startLetters":"controlPoints[0]","fromMorph":{"__isSmartRef__":true,"id":4307},"update":{"__isSmartRef__":true,"id":4517},"isCopyMorphRef":true,"morphRefId":2,"selectedMorph":{"__isSmartRef__":true,"id":4307},"selectedMorphHighlights":[],"_Scale":1,"_Rotation":0,"owner":null,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4519},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","distanceToDragEvent":"lively.pt(295.7,-20.8)","_Position":"lively.pt(376.1,57.6)"},"4298":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":4299},{"__isSmartRef__":true,"id":4300}],"_ClipMode":"visible","_BorderWidth":3.1119999999999997,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Padding","_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(50.5,3.2)","_Extent":"lively.pt(114.5,3494.5)","_BorderColor":"Color.rgb(161,161,161)"},"4299":{"isAbsolute":true,"x":820.6753089438256,"y":3084.8151421177276,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"4300":{"isAbsolute":true,"x":52.46197348862387,"y":5.223542983087555,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"4301":{"morph":{"__isSmartRef__":true,"id":4297},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4302":{"morph":{"__isSmartRef__":true,"id":4297},"index":1,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"4303":{"requiredModules":[],"migrationLevel":4,"partsSpaceName":"PartsBin/Jens/","comment":"a line","partName":"Connector","lastModifiedDate":{"__isSmartRef__":true,"id":4304},"revisionOnLoad":186528,"changes":[{"__isSmartRef__":true,"id":4305}],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"4304":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:18 GMT+0100 (CET)"},"4305":{"date":{"__isSmartRef__":true,"id":4306},"author":"jenslincke","message":"no comment","id":"28165CED-C8C5-4B8E-9655-645E3F5099BB"},"4306":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:42 GMT+0100 (CET)"},"4307":{"submorphs":[{"__isSmartRef__":true,"id":4308}],"scripts":[],"id":"7D787261-FDA4-4DCD-ACA3-699C8F2DB8DC","shape":{"__isSmartRef__":true,"id":4332},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"A","partsBinMetaInfo":{"__isSmartRef__":true,"id":4333},"eventHandler":{"__isSmartRef__":true,"id":4351},"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","BBAFB862-93AE-4F89-BCFF-9F1C67B7FE4C","7EC17E78-593A-4CC8-B7E3-859BCBBFE785","FDB06D4A-9F4E-4B8C-A67C-671A9583EFE8","1C80FDE1-05C0-4148-9AD8-33C88667084C","5059E383-6BE3-4AD3-A9C4-89DA9D8D5E99","5B810AFE-E692-4EB4-A695-ABB4A95CEA39","BFFEF617-9B97-45D4-A541-8E33A6A17485","A10BBA48-4AD1-425A-AC7B-2F5515CE56F5"],"partTests":{"__isSmartRef__":true,"id":4352},"_ClipMode":"visible","moved":true,"isBeingDragged":false,"magnets":[{"__isSmartRef__":true,"id":4357},{"__isSmartRef__":true,"id":4358},{"__isSmartRef__":true,"id":4359},{"__isSmartRef__":true,"id":4360},{"__isSmartRef__":true,"id":4361},{"__isSmartRef__":true,"id":4362},{"__isSmartRef__":true,"id":4363},{"__isSmartRef__":true,"id":4364}],"attributeConnections":[{"__isSmartRef__":true,"id":4365},{"__isSmartRef__":true,"id":4367},{"__isSmartRef__":true,"id":4369},{"__isSmartRef__":true,"id":4371},{"__isSmartRef__":true,"id":4373},{"__isSmartRef__":true,"id":4375},{"__isSmartRef__":true,"id":4379},{"__isSmartRef__":true,"id":4493},{"__isSmartRef__":true,"id":4495},{"__isSmartRef__":true,"id":4497},{"__isSmartRef__":true,"id":4499}],"doNotSerialize":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"doNotCopyProperties":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"isCopyMorphRef":true,"morphRefId":1,"prevScroll":[0,0],"_Scale":0.9999999999999998,"_Rotation":-0.3632069088060458,"owner":null,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4503},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","distanceToDragEvent":"lively.pt(89.3,-51.8)","_Position":"lively.pt(691.6,129.6)"},"4308":{"submorphs":[],"scripts":[],"id":"4BDF3799-4F08-4112-BD4C-91BAB858A860","shape":{"__isSmartRef__":true,"id":4309},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":180.8018403394826,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":19,"name":"NameLabel2","partsBinMetaInfo":{"__isSmartRef__":true,"id":4310},"textChunks":[{"__isSmartRef__":true,"id":4312}],"charsReplaced":"C1","lastFindLoc":2,"prevScroll":[0,0],"attributeConnections":[{"__isSmartRef__":true,"id":4314},{"__isSmartRef__":true,"id":4315}],"doNotSerialize":["$$owner","$$savedTextString"],"doNotCopyProperties":["$$owner","$$savedTextString"],"isInputLine":true,"savedTextString":"A","eventHandler":{"__isSmartRef__":true,"id":4316},"derivationIds":[7027,"331C6367-0699-4BD6-9916-ABA82517453B","BEAA7850-FEFB-4AFD-9E06-730FF35D99A4","559B0B8A-5C01-4133-88B2-0D08385E23F6","BE195383-D309-4B6E-A6B0-79A6112B4011","E323F75A-232F-4712-9A03-20C8FD574C9A","E6E38336-AA2D-4F75-80C1-B1617DD8544E","DAFCD826-DF9B-4DEF-B4D7-59AAED8D199D","3999CB16-D9E3-4D28-A617-9B093624E8AC"],"_WhiteSpaceHandling":"pre-wrap","_ClipMode":"visible","moved":true,"isBeingDragged":false,"_WordBreak":"break-all","magnets":[{"__isSmartRef__":true,"id":4317},{"__isSmartRef__":true,"id":4318},{"__isSmartRef__":true,"id":4319},{"__isSmartRef__":true,"id":4320},{"__isSmartRef__":true,"id":4321},{"__isSmartRef__":true,"id":4322},{"__isSmartRef__":true,"id":4323},{"__isSmartRef__":true,"id":4324}],"_PreviousBorderWidth":1,"owner":{"__isSmartRef__":true,"id":4307},"oldOwner":{"__isSmartRef__":true,"id":4307},"priorSelectionRange":[1,1],"_Rotation":0,"_Scale":0.9999999999999997,"__serializedExpressions__":["textColor","distanceToDragEvent","_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4325},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(31.1,-9.9)","_TextColor":"Color.rgb(255,143,0)","_Position":"lively.pt(34.8,36.8)"},"4309":{"fill":null,"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(42.8,29.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"4310":{"migrationLevel":2,"comment":"Label that shows the name of a morph. Updates automatically.","partName":"NameLabel","lastModifiedDate":{"__isSmartRef__":true,"id":4311},"revisionOnLoad":140039,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"4311":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (CEST)"},"4312":{"style":{"__isSmartRef__":true,"id":4313},"chunkOwner":{"__isSmartRef__":true,"id":4308},"_id":"_22384","storedString":"A","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4313":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4314":{"sourceObj":{"__isSmartRef__":true,"id":4308},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":4308},"targetMethodName":"updateLabel","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4315":{"sourceObj":{"__isSmartRef__":true,"id":4308},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":4308},"targetMethodName":"renameOwner","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4316":{"morph":{"__isSmartRef__":true,"id":4308},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4317":{"morph":{"__isSmartRef__":true,"id":4308},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(726.1,3497.3)"},"4318":{"morph":{"__isSmartRef__":true,"id":4308},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(746.1,3489.7)"},"4319":{"morph":{"__isSmartRef__":true,"id":4308},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(766.1,3482.1)"},"4320":{"morph":{"__isSmartRef__":true,"id":4308},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(771.3,3495.6)"},"4321":{"morph":{"__isSmartRef__":true,"id":4308},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(776.4,3509.2)"},"4322":{"morph":{"__isSmartRef__":true,"id":4308},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(756.4,3516.8)"},"4323":{"morph":{"__isSmartRef__":true,"id":4308},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(736.4,3524.4)"},"4324":{"morph":{"__isSmartRef__":true,"id":4308},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(731.2,3510.8)"},"4325":{"updateLabel":{"__isSmartRef__":true,"id":4326},"renameOwner":{"__isSmartRef__":true,"id":4329}},"4326":{"varMapping":{"__isSmartRef__":true,"id":4327},"source":"function updateLabel() {\n\t// observe name changes in owner\n\tif (this.owner !== this.oldOwner) {\n\t\tif (this.oldOwner)\n\t\t\tdisconnect(this.oldOwner, 'name', this, 'updateLabel')\n\t\tif (this.owner)\n\t\t\tconnect(this.owner, 'name', this, 'updateLabel')\n\t\tthis.oldOwner = this.owner\n\t}\n\tvar name = (this.owner ? this.owner.name : \"no owner\")\n\tif (this.textString != name)\n\tthis.setTextString(name)\n}","funcProperties":{"__isSmartRef__":true,"id":4328},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4327":{"this":{"__isSmartRef__":true,"id":4308}},"4328":{},"4329":{"varMapping":{"__isSmartRef__":true,"id":4330},"source":"function renameOwner(name) {\n\tif (this.owner && this.owner.name != name) {\n\t\talertOK(\"renamed \" + this.owner + \" to \" + name)\n\t\tthis.owner.setName(name);\n\t}\n}","funcProperties":{"__isSmartRef__":true,"id":4331},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4330":{"this":{"__isSmartRef__":true,"id":4308}},"4331":{},"4332":{"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(116.7,82.3)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgba(204,204,204,0.5)","_Padding":"lively.rect(0,0,0,0)"},"4333":{"partsSpaceName":"PartsBin/Basic","comment":"A simple box morph. A really orange one. Its amazing what you can build out of simple boxes.... Who needs stars when you got orange rectangles!","migrationLevel":4,"partName":"Rectangle","changes":[{"__isSmartRef__":true,"id":4334},{"__isSmartRef__":true,"id":4336},{"__isSmartRef__":true,"id":4338},{"__isSmartRef__":true,"id":4340},{"__isSmartRef__":true,"id":4342},{"__isSmartRef__":true,"id":4344},{"__isSmartRef__":true,"id":4346},{"__isSmartRef__":true,"id":4348}],"lastModifiedDate":{"__isSmartRef__":true,"id":4350},"revisionOnLoad":184624,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"4334":{"date":{"__isSmartRef__":true,"id":4335},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"4335":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"4336":{"date":{"__isSmartRef__":true,"id":4337},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"4337":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"4338":{"date":{"__isSmartRef__":true,"id":4339},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"4339":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"4340":{"date":{"__isSmartRef__":true,"id":4341},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"4341":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"4342":{"date":{"__isSmartRef__":true,"id":4343},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"4343":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"4344":{"date":{"__isSmartRef__":true,"id":4345},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"4345":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"4346":{"date":{"__isSmartRef__":true,"id":4347},"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8"},"4347":{"isSerializedDate":true,"string":"Mon Jun 18 2012 19:35:08 GMT+0200 (CEST)"},"4348":{"date":{"__isSmartRef__":true,"id":4349},"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205"},"4349":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:35:51 GMT+0100 (CET)"},"4350":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:33:25 GMT+0100 (CET)"},"4351":{"morph":{"__isSmartRef__":true,"id":4307},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4352":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4353}},"4353":{"test01IsMorph":{"__isSmartRef__":true,"id":4354}},"4354":{"varMapping":{"__isSmartRef__":true,"id":4355},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":4356},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4355":{"this":{"__isSmartRef__":true,"id":4352}},"4356":{},"4357":{"morph":{"__isSmartRef__":true,"id":4307},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(680.5,3475.2)"},"4358":{"morph":{"__isSmartRef__":true,"id":4307},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(735.0,3454.5)"},"4359":{"morph":{"__isSmartRef__":true,"id":4307},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(789.6,3433.8)"},"4360":{"morph":{"__isSmartRef__":true,"id":4307},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(804.2,3472.2)"},"4361":{"morph":{"__isSmartRef__":true,"id":4307},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(818.8,3510.7)"},"4362":{"morph":{"__isSmartRef__":true,"id":4307},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(764.3,3531.4)"},"4363":{"morph":{"__isSmartRef__":true,"id":4307},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(709.7,3552.2)"},"4364":{"morph":{"__isSmartRef__":true,"id":4307},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(695.1,3513.7)"},"4365":{"sourceObj":{"__isSmartRef__":true,"id":4307},"sourceAttrName":"name","targetObj":{"__isSmartRef__":true,"id":4308},"targetMethodName":"updateLabel","varMapping":{"__isSmartRef__":true,"id":4366},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4366":{"source":{"__isSmartRef__":true,"id":4307},"target":{"__isSmartRef__":true,"id":4308}},"4367":{"sourceObj":{"__isSmartRef__":true,"id":4307},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":4297},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":4368},"dependendConnections":[{"__isSmartRef__":true,"id":4369},{"__isSmartRef__":true,"id":4371},{"__isSmartRef__":true,"id":4373},{"__isSmartRef__":true,"id":4375}],"oldTransform":{"__isSmartRef__":true,"id":4377},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"4368":{"source":{"__isSmartRef__":true,"id":4307},"target":{"__isSmartRef__":true,"id":4297}},"4369":{"sourceObj":{"__isSmartRef__":true,"id":4307},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":4367},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":4370},"dependedBy":{"__isSmartRef__":true,"id":4367},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4370":{"source":{"__isSmartRef__":true,"id":4307},"target":{"__isSmartRef__":true,"id":4367}},"4371":{"sourceObj":{"__isSmartRef__":true,"id":4307},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":4367},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":4372},"dependedBy":{"__isSmartRef__":true,"id":4367},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4372":{"source":{"__isSmartRef__":true,"id":4307},"target":{"__isSmartRef__":true,"id":4367}},"4373":{"sourceObj":{"__isSmartRef__":true,"id":4307},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":4367},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":4374},"dependedBy":{"__isSmartRef__":true,"id":4367},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4374":{"source":{"__isSmartRef__":true,"id":4307},"target":{"__isSmartRef__":true,"id":4367}},"4375":{"sourceObj":{"__isSmartRef__":true,"id":4307},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":4367},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":4376},"dependedBy":{"__isSmartRef__":true,"id":4367},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4376":{"source":{"__isSmartRef__":true,"id":4307},"target":{"__isSmartRef__":true,"id":4367}},"4377":{"d":0.9347623017725522,"a":0.9347623017725522,"f":3485.245045045044,"e":728.5390390390387,"c":0.3552737524570028,"b":-0.3552737524570028,"matrix_":{"__isSmartRef__":true,"id":4378},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"4378":{"a":0.9347623017725522,"b":-0.3552737524570028,"c":0.3552737524570028,"d":0.9347623017725522,"e":728.5390390390387,"f":3485.245045045044,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"4379":{"sourceObj":{"__isSmartRef__":true,"id":4307},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":4380},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":4492},"dependendConnections":[{"__isSmartRef__":true,"id":4493},{"__isSmartRef__":true,"id":4495},{"__isSmartRef__":true,"id":4497},{"__isSmartRef__":true,"id":4499}],"oldTransform":{"__isSmartRef__":true,"id":4501},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"4380":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":4381},"id":"4809CC50-2A92-4A4F-9D0D-829B6BA12A0B","eventHandler":{"__isSmartRef__":true,"id":4384},"__layered_droppingEnabled__":true,"halosEnabled":true,"isBeingDragged":false,"controlPoints":[{"__isSmartRef__":true,"id":4385},{"__isSmartRef__":true,"id":4386}],"showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":4387},"name":"Connector1","derivationIds":[731,"5E6BD741-9C99-47B9-95C1-7A028178DB17","A8D5C37A-F23F-47FE-8DE2-211CE4484A4F","F722069B-8602-4E8D-BE3F-92A1E0C0EF28","D5ED19F9-968E-4C7E-9936-69F2735A813F","A9E370BC-F208-425C-BFFC-F8D6BB52E11F","4E431641-D056-46CB-B2A8-6626382EF423"],"_ClipMode":"visible","controlPointsHalos":[],"prevScroll":[0,0],"grabbingEnabled":false,"moved":true,"#startLetters":"controlPoints[0]","fromMorph":{"__isSmartRef__":true,"id":4307},"toMorph":{"__isSmartRef__":true,"id":3202},"update":{"__isSmartRef__":true,"id":4393},"isCopyMorphRef":true,"morphRefId":2,"selectedMorph":{"__isSmartRef__":true,"id":3202},"selectedMorphHighlights":[],"owner":null,"_Rotation":0,"_Scale":1,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4395},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","distanceToDragEvent":"lively.pt(295.7,-20.8)","_Position":"lively.pt(10527.5,52997.9)"},"4381":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":4382},{"__isSmartRef__":true,"id":4383}],"_ClipMode":"visible","_BorderWidth":3.1119999999999997,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Padding","_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(-75.9,-6.9)","_Extent":"lively.pt(151.7,13.9)","_BorderColor":"Color.rgb(161,161,161)"},"4382":{"isAbsolute":true,"x":74.86198803712648,"y":-4.949983532278566,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"4383":{"isAbsolute":true,"x":-73.86198803712614,"y":5.949983532282204,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"4384":{"morph":{"__isSmartRef__":true,"id":4380},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4385":{"morph":{"__isSmartRef__":true,"id":4380},"index":0,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"4386":{"morph":{"__isSmartRef__":true,"id":4380},"index":1,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"4387":{"requiredModules":[],"migrationLevel":4,"partsSpaceName":"PartsBin/Jens/","comment":"Yes, I think I got it again: Powerful and nice connectors.\nThis time 100 % Part only!","partName":"Connector","lastModifiedDate":{"__isSmartRef__":true,"id":4388},"revisionOnLoad":186829,"changes":[{"__isSmartRef__":true,"id":4389},{"__isSmartRef__":true,"id":4391}],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"4388":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:04:50 GMT+0100 (CET)"},"4389":{"date":{"__isSmartRef__":true,"id":4390},"author":"jenslincke","message":"no comment","id":"28165CED-C8C5-4B8E-9655-645E3F5099BB"},"4390":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:42 GMT+0100 (CET)"},"4391":{"date":{"__isSmartRef__":true,"id":4392},"author":"jenslincke","message":"no comment","id":"117C964B-9768-48F2-8EC8-D4328478198F"},"4392":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:05:07 GMT+0100 (CET)"},"4393":{"d":1,"a":1,"f":906.1,"e":107.8,"c":0,"b":0,"matrix_":{"__isSmartRef__":true,"id":4394},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"4394":{"a":1,"b":0,"c":0,"d":1,"e":107.8,"f":906.1,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"4395":{"connect":{"__isSmartRef__":true,"id":4396},"updatePosition":{"__isSmartRef__":true,"id":4400},"updateControlPoint":{"__isSmartRef__":true,"id":4404},"disconnectMorph":{"__isSmartRef__":true,"id":4408},"connectMorph":{"__isSmartRef__":true,"id":4412},"onMouseOver":{"__isSmartRef__":true,"id":4416},"onMouseOut":{"__isSmartRef__":true,"id":4420},"makeHandle":{"__isSmartRef__":true,"id":4428},"showFromHandle":{"__isSmartRef__":true,"id":4432},"showToHandle":{"__isSmartRef__":true,"id":4436},"reset":{"__isSmartRef__":true,"id":4440},"onDragInHandle":{"__isSmartRef__":true,"id":4444},"onDragStartInHandle":{"__isSmartRef__":true,"id":4448},"onDragEndInHandle":{"__isSmartRef__":true,"id":4452},"connectFrom":{"__isSmartRef__":true,"id":4456},"connectTo":{"__isSmartRef__":true,"id":4460},"hideToHandle":{"__isSmartRef__":true,"id":4464},"hideFromHandle":{"__isSmartRef__":true,"id":4468},"updateIntersection":{"__isSmartRef__":true,"id":4472},"lineIntersect":{"__isSmartRef__":true,"id":4476},"intersectMorphLinePoints":{"__isSmartRef__":true,"id":4480},"intersectMorph":{"__isSmartRef__":true,"id":4484},"globalShapePathFromMorph":{"__isSmartRef__":true,"id":4488}},"4396":{"varMapping":{"__isSmartRef__":true,"id":4397},"source":"function connect(morphA, morphB) {\n this.connectFrom(morphA)\n this.connectTo(morphB)\n this.updatePosition()\n}","funcProperties":{"__isSmartRef__":true,"id":4398},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4397":{"this":{"__isSmartRef__":true,"id":4380}},"4398":{"timestamp":{"__isSmartRef__":true,"id":4399},"user":"jenslincke","tags":[]},"4399":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:50:49 GMT+0100 (CET)"},"4400":{"varMapping":{"__isSmartRef__":true,"id":4401},"source":"function updatePosition() {\n this.updateControlPoint(this.controlPoints[0], this.fromMorph)\n this.updateControlPoint(this.controlPoints[1], this.toMorph)\n this.updateIntersection(this.fromMorph, this.controlPoints[0])\n this.updateIntersection(this.toMorph, this.controlPoints[1])\n\n this.adjustOrigin(this.bounds().extent().scaleBy(0.5))\n}","funcProperties":{"__isSmartRef__":true,"id":4402},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4401":{"this":{"__isSmartRef__":true,"id":4380}},"4402":{"timestamp":{"__isSmartRef__":true,"id":4403},"user":"jenslincke","tags":[]},"4403":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:06:20 GMT+0100 (CET)"},"4404":{"varMapping":{"__isSmartRef__":true,"id":4405},"source":"function updateControlPoint(cp, morph) {\n if (!cp || !morph) return;\n cp.setGlobalPos(morph.worldPoint(morph.shape.bounds().center()))\n}","funcProperties":{"__isSmartRef__":true,"id":4406},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4405":{"this":{"__isSmartRef__":true,"id":4380}},"4406":{"timestamp":{"__isSmartRef__":true,"id":4407},"user":"jenslincke","tags":[]},"4407":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:45:56 GMT+0100 (CET)"},"4408":{"varMapping":{"__isSmartRef__":true,"id":4409},"source":"function disconnectMorph(morph) {\n if (!morph) return;\n lively.bindings.disconnect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":4410},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4409":{"this":{"__isSmartRef__":true,"id":4380}},"4410":{"timestamp":{"__isSmartRef__":true,"id":4411},"user":"jenslincke","tags":[]},"4411":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:19:18 GMT+0100 (CET)"},"4412":{"varMapping":{"__isSmartRef__":true,"id":4413},"source":"function connectMorph(morph) {\n if (morph)\n lively.bindings.connect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":4414},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4413":{"this":{"__isSmartRef__":true,"id":4380}},"4414":{"timestamp":{"__isSmartRef__":true,"id":4415},"user":"jenslincke","tags":[]},"4415":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:52:12 GMT+0100 (CET)"},"4416":{"varMapping":{"__isSmartRef__":true,"id":4417},"source":"function onMouseOver(evt) {\n var p = evt.mousePoint.scaleBy(this.world().getScale())\n\n var cp1 = this.controlPoints[0].getGlobalPos();\n if (p.dist(cp1) < 20) {\n this.showFromHandle()\n } else {\n this.hideFromHandle()\n }\n var cp2 = this.controlPoints[1].getGlobalPos();\n if (p.dist(cp2) < 20) {\n this.showToHandle()\n } else {\n this.hideToHandle()\n }\n}","funcProperties":{"__isSmartRef__":true,"id":4418},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4417":{"this":{"__isSmartRef__":true,"id":4380}},"4418":{"timestamp":{"__isSmartRef__":true,"id":4419},"user":"jenslincke","tags":[]},"4419":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:23:03 GMT+0100 (CET)"},"4420":{"varMapping":{"__isSmartRef__":true,"id":4421},"source":"function onMouseOut(evt) {\n // this.hideFromHandle()\n // this.hideToHandle()\n}","funcProperties":{"__isSmartRef__":true,"id":4426},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4421":{"this":{"__isSmartRef__":true,"id":4380},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4422}},"4422":{"$super":{"__isSmartRef__":true,"id":4423}},"4423":{"varMapping":{"__isSmartRef__":true,"id":4424},"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":4425},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4424":{"obj":{"__isSmartRef__":true,"id":4380},"name":"onMouseOut"},"4425":{},"4426":{"timestamp":{"__isSmartRef__":true,"id":4427},"user":"jenslincke","tags":[]},"4427":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:54:53 GMT+0100 (CET)"},"4428":{"varMapping":{"__isSmartRef__":true,"id":4429},"source":"function makeHandle() {\n var m = lively.morphic.Morph.makeRectangle(0,0,10,10);\n m.disableGrabbing()\n m.enableDragging()\n m.connector = this;\n // move real behavior to a place which is easier to develop\n // do not use bind, because we like late binding \n m.addScript(function onDragStart(evt) {\n this.connector.onDragStartInHandle(this, evt)\n })\n m.addScript(function onDrag(evt) {\n this.connector.onDragInHandle(this, evt)\n })\n m.addScript(function onDragEnd(evt) {\n this.connector.onDragEndInHandle(this, evt)\n })\n m.isEpiMorph = true;\n return m\n}","funcProperties":{"__isSmartRef__":true,"id":4430},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4429":{"this":{"__isSmartRef__":true,"id":4380}},"4430":{"timestamp":{"__isSmartRef__":true,"id":4431},"user":"jenslincke","tags":[]},"4431":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:08:29 GMT+0100 (CET)"},"4432":{"varMapping":{"__isSmartRef__":true,"id":4433},"source":"function showFromHandle() {\n if (!this.fromHandle) {\n this.fromHandle = this.makeHandle();\n this.fromHandle.setFill(Color.red)\n this.fromHandle.isFromHandle = true;\n }\n this.fromHandle.openInWorld();\n this.fromHandle.controlPoint = this.controlPoints[0];\n this.fromHandle.setPosition(this.controlPoints[0].getGlobalPos().subPt(pt(5,5)))\n return this.fromHandle\n}","funcProperties":{"__isSmartRef__":true,"id":4434},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4433":{"this":{"__isSmartRef__":true,"id":4380}},"4434":{"timestamp":{"__isSmartRef__":true,"id":4435},"user":"jenslincke","tags":[]},"4435":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:13:03 GMT+0100 (CET)"},"4436":{"varMapping":{"__isSmartRef__":true,"id":4437},"source":"function showToHandle() {\n if (!this.toHandle) {\n this.toHandle = this.makeHandle();\n this.toHandle.setFill(Color.red)\n this.toHandle.isToHandle = true;\n\n }\n this.toHandle.openInWorld();\n this.toHandle.controlPoint = this.controlPoints[1];\n this.toHandle.setPosition(this.controlPoints[1].getGlobalPos().subPt(pt(5,5)))\n return this.toHandle\n}","funcProperties":{"__isSmartRef__":true,"id":4438},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4437":{"this":{"__isSmartRef__":true,"id":4380}},"4438":{"timestamp":{"__isSmartRef__":true,"id":4439},"user":"jenslincke","tags":[]},"4439":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:20:25 GMT+0100 (CET)"},"4440":{"varMapping":{"__isSmartRef__":true,"id":4441},"source":"function reset() {\n if (this.fromHandle) {\n this.fromHandle.remove()\n delete this.fromHandle\n }\n if (this.toHandle) {\n this.toHandle.remove()\n delete this.toHandle\n }\n // this.controlPoints[1].setPos(pt(200,200))\n}","funcProperties":{"__isSmartRef__":true,"id":4442},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4441":{"this":{"__isSmartRef__":true,"id":4380}},"4442":{"timestamp":{"__isSmartRef__":true,"id":4443},"user":"jenslincke","tags":[]},"4443":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:15:00 GMT+0100 (CET)"},"4444":{"varMapping":{"__isSmartRef__":true,"id":4445},"source":"function onDragInHandle(handle, evt) {\n\n var pos = handle.getPositionInWorld();\n var delta = evt.hand.getPosition().subPt(pos);\n handle.moveBy(delta)\n pos = handle.getPositionInWorld();\n if (handle.controlPoint)\n handle.controlPoint.setGlobalPos(pos.addPt(pt(5,5)))\n var morphs = this.owner.morphsContainingPoint(pos)\n morphs = morphs.reject(function(ea) {\n return ea.isWorld || (ea === handle) || (ea === this) || \n (ea === this.owner)\n }, this)\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n this.selectedMorph = morphs.first();\n this.selectedMorphHighlights = show(this.selectedMorph)\n handle.startPos = evt.getPosition();\n}","funcProperties":{"__isSmartRef__":true,"id":4446},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4445":{"this":{"__isSmartRef__":true,"id":4380}},"4446":{"timestamp":{"__isSmartRef__":true,"id":4447},"user":"jenslincke","tags":[]},"4447":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:06:40 GMT+0100 (CET)"},"4448":{"varMapping":{"__isSmartRef__":true,"id":4449},"source":"function onDragStartInHandle(handle, evt) {\n handle.startPos = evt.getPosition()\n}","funcProperties":{"__isSmartRef__":true,"id":4450},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4449":{"this":{"__isSmartRef__":true,"id":4380}},"4450":{"timestamp":{"__isSmartRef__":true,"id":4451},"user":"jenslincke","tags":[]},"4451":{"isSerializedDate":true,"string":"Thu Dec 13 2012 15:51:13 GMT+0100 (CET)"},"4452":{"varMapping":{"__isSmartRef__":true,"id":4453},"source":"function onDragEndInHandle(handle, evt) {\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n \n if (handle.isFromHandle) this.connectFrom(this.selectedMorph)\n if (handle.isToHandle) this.connectTo(this.selectedMorph)\n handle.remove()\n}","funcProperties":{"__isSmartRef__":true,"id":4454},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4453":{"this":{"__isSmartRef__":true,"id":4380}},"4454":{"timestamp":{"__isSmartRef__":true,"id":4455},"user":"jenslincke","tags":[]},"4455":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:44:35 GMT+0100 (CET)"},"4456":{"varMapping":{"__isSmartRef__":true,"id":4457},"source":"function connectFrom(morph) {\n if (morph && morph === this.toMorph) return; // not allowed\n\n this.disconnectMorph(this.fromMorph)\n this.fromMorph = morph;\n this.connectMorph(this.fromMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":4458},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4457":{"this":{"__isSmartRef__":true,"id":4380}},"4458":{"timestamp":{"__isSmartRef__":true,"id":4459},"user":"jenslincke","tags":[]},"4459":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:02:22 GMT+0100 (CET)"},"4460":{"varMapping":{"__isSmartRef__":true,"id":4461},"source":"function connectTo(morph) {\n\n if (morph && morph === this.fromMorph) return; // not allowed\n\n this.disconnectMorph(this.toMorph)\n this.toMorph = morph;\n this.connectMorph(this.toMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":4462},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4461":{"this":{"__isSmartRef__":true,"id":4380}},"4462":{"timestamp":{"__isSmartRef__":true,"id":4463},"user":"jenslincke","tags":[]},"4463":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:02:30 GMT+0100 (CET)"},"4464":{"varMapping":{"__isSmartRef__":true,"id":4465},"source":"function hideToHandle() {\n if (this.toHandle) {\n this.toHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":4466},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4465":{"this":{"__isSmartRef__":true,"id":4380}},"4466":{"timestamp":{"__isSmartRef__":true,"id":4467},"user":"jenslincke","tags":[]},"4467":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:51:59 GMT+0100 (CET)"},"4468":{"varMapping":{"__isSmartRef__":true,"id":4469},"source":"function hideFromHandle() {\n if (this.fromHandle) {\n this.fromHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":4470},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4469":{"this":{"__isSmartRef__":true,"id":4380}},"4470":{"timestamp":{"__isSmartRef__":true,"id":4471},"user":"jenslincke","tags":[]},"4471":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:52:18 GMT+0100 (CET)"},"4472":{"varMapping":{"__isSmartRef__":true,"id":4473},"source":"function updateIntersection(morph, cp) {\n if (!morph) return;\n var intersection = this.intersectMorph(morph)[0];\n if (intersection) {\n cp.setGlobalPos(intersection);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":4474},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4473":{"this":{"__isSmartRef__":true,"id":4380}},"4474":{"timestamp":{"__isSmartRef__":true,"id":4475},"user":"jenslincke","tags":[]},"4475":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:32 GMT+0100 (CET)"},"4476":{"varMapping":{"__isSmartRef__":true,"id":4477},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":4478},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4477":{"this":{"__isSmartRef__":true,"id":4380}},"4478":{"timestamp":{"__isSmartRef__":true,"id":4479},"user":"jenslincke","tags":[]},"4479":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:47:12 GMT+0100 (CET)"},"4480":{"varMapping":{"__isSmartRef__":true,"id":4481},"source":"function intersectMorphLinePoints(morph, a1, a2) {\n var points = this.globalShapePathFromMorph(morph);\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":4482},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4481":{"this":{"__isSmartRef__":true,"id":4380}},"4482":{"timestamp":{"__isSmartRef__":true,"id":4483},"user":"jenslincke","tags":[]},"4483":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:21 GMT+0100 (CET)"},"4484":{"varMapping":{"__isSmartRef__":true,"id":4485},"source":"function intersectMorph(morph) {\n var line = this;\n return this.intersectMorphLinePoints(morph,\n line.controlPoints[0].getGlobalPos(), line.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":4486},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4485":{"this":{"__isSmartRef__":true,"id":4380}},"4486":{"timestamp":{"__isSmartRef__":true,"id":4487},"user":"jenslincke","tags":[]},"4487":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:47 GMT+0100 (CET)"},"4488":{"varMapping":{"__isSmartRef__":true,"id":4489},"source":"function globalShapePathFromMorph(morph) {\n var b = morph.shape.bounds();\n var p1 = morph.worldPoint(b.topLeft()),\n p2 = morph.worldPoint(b.topRight()),\n p3 = morph.worldPoint(b.bottomRight()),\n p4 = morph.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":4490},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4489":{"this":{"__isSmartRef__":true,"id":4380}},"4490":{"timestamp":{"__isSmartRef__":true,"id":4491},"user":"jenslincke","tags":[]},"4491":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:00 GMT+0100 (CET)"},"4492":{"source":{"__isSmartRef__":true,"id":4307},"target":{"__isSmartRef__":true,"id":4380}},"4493":{"sourceObj":{"__isSmartRef__":true,"id":4307},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":4379},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":4494},"dependedBy":{"__isSmartRef__":true,"id":4379},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4494":{"source":{"__isSmartRef__":true,"id":4307},"target":{"__isSmartRef__":true,"id":4379}},"4495":{"sourceObj":{"__isSmartRef__":true,"id":4307},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":4379},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":4496},"dependedBy":{"__isSmartRef__":true,"id":4379},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4496":{"source":{"__isSmartRef__":true,"id":4307},"target":{"__isSmartRef__":true,"id":4379}},"4497":{"sourceObj":{"__isSmartRef__":true,"id":4307},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":4379},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":4498},"dependedBy":{"__isSmartRef__":true,"id":4379},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4498":{"source":{"__isSmartRef__":true,"id":4307},"target":{"__isSmartRef__":true,"id":4379}},"4499":{"sourceObj":{"__isSmartRef__":true,"id":4307},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":4379},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":4500},"dependedBy":{"__isSmartRef__":true,"id":4379},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4500":{"source":{"__isSmartRef__":true,"id":4307},"target":{"__isSmartRef__":true,"id":4379}},"4501":{"d":0.9347623017725522,"a":0.9347623017725522,"f":3485.245045045044,"e":728.5390390390387,"c":0.3552737524570028,"b":-0.3552737524570028,"matrix_":{"__isSmartRef__":true,"id":4502},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"4502":{"a":0.9347623017725522,"b":-0.3552737524570028,"c":0.3552737524570028,"d":0.9347623017725522,"e":728.5390390390387,"f":3485.245045045044,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"4503":{"globalShapePath":{"__isSmartRef__":true,"id":4504},"lineIntersect":{"__isSmartRef__":true,"id":4507},"intersectLine":{"__isSmartRef__":true,"id":4511},"intersectLineMorph":{"__isSmartRef__":true,"id":4514}},"4504":{"varMapping":{"__isSmartRef__":true,"id":4505},"source":"function globalShapePath() {\n var b = this.shape.bounds();\n var p1 = this.worldPoint(b.topLeft()),\n p2 = this.worldPoint(b.topRight()),\n p3 = this.worldPoint(b.bottomRight()),\n p4 = this.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":4506},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4505":{"this":{"__isSmartRef__":true,"id":4307}},"4506":{},"4507":{"varMapping":{"__isSmartRef__":true,"id":4508},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":4509},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4508":{"this":{"__isSmartRef__":true,"id":4307}},"4509":{"timestamp":{"__isSmartRef__":true,"id":4510},"user":"jenslincke","tags":[]},"4510":{"isSerializedDate":true,"string":"Thu Dec 13 2012 13:42:55 GMT+0100 (CET)"},"4511":{"varMapping":{"__isSmartRef__":true,"id":4512},"source":"function intersectLine(a1, a2) {\n var points = this.globalShapePath();\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":4513},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4512":{"this":{"__isSmartRef__":true,"id":4307}},"4513":{},"4514":{"varMapping":{"__isSmartRef__":true,"id":4515},"source":"function intersectLineMorph(m) {\n return this.intersectLine(m.controlPoints[0].getGlobalPos(), m.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":4516},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4515":{"this":{"__isSmartRef__":true,"id":4307}},"4516":{},"4517":{"d":1,"a":1,"f":906.1,"e":107.8,"c":0,"b":0,"matrix_":{"__isSmartRef__":true,"id":4518},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"4518":{"a":1,"b":0,"c":0,"d":1,"e":107.8,"f":906.1,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"4519":{"connect":{"__isSmartRef__":true,"id":4520},"updatePosition":{"__isSmartRef__":true,"id":4524},"updateControlPoint":{"__isSmartRef__":true,"id":4528},"disconnectMorph":{"__isSmartRef__":true,"id":4532},"connectMorph":{"__isSmartRef__":true,"id":4536},"onMouseOver":{"__isSmartRef__":true,"id":4540},"onMouseOut":{"__isSmartRef__":true,"id":4544},"makeHandle":{"__isSmartRef__":true,"id":4552},"showFromHandle":{"__isSmartRef__":true,"id":4556},"showToHandle":{"__isSmartRef__":true,"id":4560},"reset":{"__isSmartRef__":true,"id":4564},"onDragInHandle":{"__isSmartRef__":true,"id":4568},"onDragStartInHandle":{"__isSmartRef__":true,"id":4572},"onDragEndInHandle":{"__isSmartRef__":true,"id":4576},"connectFrom":{"__isSmartRef__":true,"id":4580},"connectTo":{"__isSmartRef__":true,"id":4584},"hideToHandle":{"__isSmartRef__":true,"id":4588},"hideFromHandle":{"__isSmartRef__":true,"id":4592},"updateIntersection":{"__isSmartRef__":true,"id":4596},"lineIntersect":{"__isSmartRef__":true,"id":4600},"intersectMorphLinePoints":{"__isSmartRef__":true,"id":4604},"intersectMorph":{"__isSmartRef__":true,"id":4608},"globalShapePathFromMorph":{"__isSmartRef__":true,"id":4612}},"4520":{"varMapping":{"__isSmartRef__":true,"id":4521},"source":"function connect(morphA, morphB) {\n this.connectFrom(morphA)\n this.connectTo(morphB)\n this.updatePosition()\n}","funcProperties":{"__isSmartRef__":true,"id":4522},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4521":{"this":{"__isSmartRef__":true,"id":4297}},"4522":{"timestamp":{"__isSmartRef__":true,"id":4523},"user":"jenslincke","tags":[]},"4523":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:50:49 GMT+0100 (CET)"},"4524":{"varMapping":{"__isSmartRef__":true,"id":4525},"source":"function updatePosition() {\n this.updateControlPoint(this.controlPoints[0], this.fromMorph)\n this.updateControlPoint(this.controlPoints[1], this.toMorph)\n this.updateIntersection(this.fromMorph, this.controlPoints[0])\n this.updateIntersection(this.toMorph, this.controlPoints[1])\n\n if (this.controlPoints[0].getPos().equalPt(this.controlPoints[1].getPos()))\n this.controlPoints[1].setPos(this.controlPoints[1].getPos().addPt(pt(30,0)))\n\n this.adjustOrigin(this.bounds().extent().scaleBy(0.5))\n \n}","funcProperties":{"__isSmartRef__":true,"id":4526},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4525":{"this":{"__isSmartRef__":true,"id":4297}},"4526":{"timestamp":{"__isSmartRef__":true,"id":4527},"user":"jenslincke","tags":[]},"4527":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:59:26 GMT+0100 (CET)"},"4528":{"varMapping":{"__isSmartRef__":true,"id":4529},"source":"function updateControlPoint(cp, morph) {\n if (!cp || !morph) return;\n cp.setGlobalPos(morph.worldPoint(morph.shape.bounds().center()))\n}","funcProperties":{"__isSmartRef__":true,"id":4530},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4529":{"this":{"__isSmartRef__":true,"id":4297}},"4530":{"timestamp":{"__isSmartRef__":true,"id":4531},"user":"jenslincke","tags":[]},"4531":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:45:56 GMT+0100 (CET)"},"4532":{"varMapping":{"__isSmartRef__":true,"id":4533},"source":"function disconnectMorph(morph) {\n if (!morph) return;\n lively.bindings.disconnect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":4534},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4533":{"this":{"__isSmartRef__":true,"id":4297}},"4534":{"timestamp":{"__isSmartRef__":true,"id":4535},"user":"jenslincke","tags":[]},"4535":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:19:18 GMT+0100 (CET)"},"4536":{"varMapping":{"__isSmartRef__":true,"id":4537},"source":"function connectMorph(morph) {\n if (morph)\n lively.bindings.connect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":4538},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4537":{"this":{"__isSmartRef__":true,"id":4297}},"4538":{"timestamp":{"__isSmartRef__":true,"id":4539},"user":"jenslincke","tags":[]},"4539":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:52:12 GMT+0100 (CET)"},"4540":{"varMapping":{"__isSmartRef__":true,"id":4541},"source":"function onMouseOver(evt) {\n var p = evt.mousePoint.scaleBy(this.world().getScale())\n\n var cp1 = this.controlPoints[0].getGlobalPos();\n if (p.dist(cp1) < 20) {\n this.showFromHandle()\n } else {\n this.hideFromHandle()\n }\n var cp2 = this.controlPoints[1].getGlobalPos();\n if (p.dist(cp2) < 20) {\n this.showToHandle()\n } else {\n this.hideToHandle()\n }\n}","funcProperties":{"__isSmartRef__":true,"id":4542},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4541":{"this":{"__isSmartRef__":true,"id":4297}},"4542":{"timestamp":{"__isSmartRef__":true,"id":4543},"user":"jenslincke","tags":[]},"4543":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:23:03 GMT+0100 (CET)"},"4544":{"varMapping":{"__isSmartRef__":true,"id":4545},"source":"function onMouseOut(evt) {\n // this.hideFromHandle()\n // this.hideToHandle()\n}","funcProperties":{"__isSmartRef__":true,"id":4550},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4545":{"this":{"__isSmartRef__":true,"id":4297},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4546}},"4546":{"$super":{"__isSmartRef__":true,"id":4547}},"4547":{"varMapping":{"__isSmartRef__":true,"id":4548},"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":4549},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4548":{"obj":{"__isSmartRef__":true,"id":4297},"name":"onMouseOut"},"4549":{},"4550":{"timestamp":{"__isSmartRef__":true,"id":4551},"user":"jenslincke","tags":[]},"4551":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:54:53 GMT+0100 (CET)"},"4552":{"varMapping":{"__isSmartRef__":true,"id":4553},"source":"function makeHandle() {\n var m = lively.morphic.Morph.makeRectangle(0,0,10,10);\n m.disableGrabbing()\n m.enableDragging()\n m.connector = this;\n // move real behavior to a place which is easier to develop\n // do not use bind, because we like late binding \n m.addScript(function onDragStart(evt) {\n this.connector.onDragStartInHandle(this, evt)\n })\n m.addScript(function onDrag(evt) {\n this.connector.onDragInHandle(this, evt)\n })\n m.addScript(function onDragEnd(evt) {\n this.connector.onDragEndInHandle(this, evt)\n })\n m.isEpiMorph = true;\n return m\n}","funcProperties":{"__isSmartRef__":true,"id":4554},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4553":{"this":{"__isSmartRef__":true,"id":4297}},"4554":{"timestamp":{"__isSmartRef__":true,"id":4555},"user":"jenslincke","tags":[]},"4555":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:08:29 GMT+0100 (CET)"},"4556":{"varMapping":{"__isSmartRef__":true,"id":4557},"source":"function showFromHandle() {\n if (!this.fromHandle) {\n this.fromHandle = this.makeHandle();\n this.fromHandle.setFill(Color.red)\n this.fromHandle.isFromHandle = true;\n }\n this.fromHandle.openInWorld();\n this.fromHandle.controlPoint = this.controlPoints[0];\n this.fromHandle.setPosition(this.controlPoints[0].getGlobalPos().subPt(pt(5,5)))\n return this.fromHandle\n}","funcProperties":{"__isSmartRef__":true,"id":4558},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4557":{"this":{"__isSmartRef__":true,"id":4297}},"4558":{"timestamp":{"__isSmartRef__":true,"id":4559},"user":"jenslincke","tags":[]},"4559":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:13:03 GMT+0100 (CET)"},"4560":{"varMapping":{"__isSmartRef__":true,"id":4561},"source":"function showToHandle() {\n if (!this.toHandle) {\n this.toHandle = this.makeHandle();\n this.toHandle.setFill(Color.red)\n this.toHandle.isToHandle = true;\n\n }\n this.toHandle.openInWorld();\n this.toHandle.controlPoint = this.controlPoints[1];\n this.toHandle.setPosition(this.controlPoints[1].getGlobalPos().subPt(pt(5,5)))\n return this.toHandle\n}","funcProperties":{"__isSmartRef__":true,"id":4562},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4561":{"this":{"__isSmartRef__":true,"id":4297}},"4562":{"timestamp":{"__isSmartRef__":true,"id":4563},"user":"jenslincke","tags":[]},"4563":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:20:25 GMT+0100 (CET)"},"4564":{"varMapping":{"__isSmartRef__":true,"id":4565},"source":"function reset() {\n if (this.fromHandle) {\n this.fromHandle.remove()\n delete this.fromHandle\n }\n if (this.toHandle) {\n this.toHandle.remove()\n delete this.toHandle\n }\n // this.controlPoints[1].setPos(pt(200,200))\n}","funcProperties":{"__isSmartRef__":true,"id":4566},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4565":{"this":{"__isSmartRef__":true,"id":4297}},"4566":{"timestamp":{"__isSmartRef__":true,"id":4567},"user":"jenslincke","tags":[]},"4567":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:15:00 GMT+0100 (CET)"},"4568":{"varMapping":{"__isSmartRef__":true,"id":4569},"source":"function onDragInHandle(handle, evt) {\n\n var pos = handle.getPositionInWorld();\n var delta = evt.hand.getPosition().subPt(pos);\n handle.moveBy(delta)\n pos = handle.getPositionInWorld();\n if (handle.controlPoint)\n handle.controlPoint.setGlobalPos(pos.addPt(pt(5,5)))\n var morphs = this.owner.morphsContainingPoint(pos)\n morphs = morphs.reject(function(ea) {\n return ea.isWorld || (ea === handle) || (ea === this) || \n (ea === this.owner)\n }, this)\n this.get('Console').textString = morphs\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n this.selectedMorph = morphs.first();\n this.selectedMorphHighlights = show(this.selectedMorph)\n handle.startPos = evt.getPosition();\n}","funcProperties":{"__isSmartRef__":true,"id":4570},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4569":{"this":{"__isSmartRef__":true,"id":4297}},"4570":{"timestamp":{"__isSmartRef__":true,"id":4571},"user":"jenslincke","tags":[]},"4571":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:09:40 GMT+0100 (CET)"},"4572":{"varMapping":{"__isSmartRef__":true,"id":4573},"source":"function onDragStartInHandle(handle, evt) {\n handle.startPos = evt.getPosition()\n}","funcProperties":{"__isSmartRef__":true,"id":4574},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4573":{"this":{"__isSmartRef__":true,"id":4297}},"4574":{"timestamp":{"__isSmartRef__":true,"id":4575},"user":"jenslincke","tags":[]},"4575":{"isSerializedDate":true,"string":"Thu Dec 13 2012 15:51:13 GMT+0100 (CET)"},"4576":{"varMapping":{"__isSmartRef__":true,"id":4577},"source":"function onDragEndInHandle(handle, evt) {\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n \n if (handle.isFromHandle) this.connectFrom(this.selectedMorph)\n if (handle.isToHandle) this.connectTo(this.selectedMorph)\n handle.remove()\n}","funcProperties":{"__isSmartRef__":true,"id":4578},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4577":{"this":{"__isSmartRef__":true,"id":4297}},"4578":{"timestamp":{"__isSmartRef__":true,"id":4579},"user":"jenslincke","tags":[]},"4579":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:44:35 GMT+0100 (CET)"},"4580":{"varMapping":{"__isSmartRef__":true,"id":4581},"source":"function connectFrom(morph) {\n if (morph === this.toMorph) return; // not allowed\n\n this.disconnectMorph(this.fromMorph)\n this.fromMorph = morph;\n this.connectMorph(this.fromMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":4582},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4581":{"this":{"__isSmartRef__":true,"id":4297}},"4582":{"timestamp":{"__isSmartRef__":true,"id":4583},"user":"jenslincke","tags":[]},"4583":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:57:22 GMT+0100 (CET)"},"4584":{"varMapping":{"__isSmartRef__":true,"id":4585},"source":"function connectTo(morph) {\n\n if (morph === this.fromMorph) return; // not allowed\n\n this.disconnectMorph(this.toMorph)\n this.toMorph = morph;\n this.connectMorph(this.toMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":4586},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4585":{"this":{"__isSmartRef__":true,"id":4297}},"4586":{"timestamp":{"__isSmartRef__":true,"id":4587},"user":"jenslincke","tags":[]},"4587":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:57:14 GMT+0100 (CET)"},"4588":{"varMapping":{"__isSmartRef__":true,"id":4589},"source":"function hideToHandle() {\n if (this.toHandle) {\n this.toHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":4590},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4589":{"this":{"__isSmartRef__":true,"id":4297}},"4590":{"timestamp":{"__isSmartRef__":true,"id":4591},"user":"jenslincke","tags":[]},"4591":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:51:59 GMT+0100 (CET)"},"4592":{"varMapping":{"__isSmartRef__":true,"id":4593},"source":"function hideFromHandle() {\n if (this.fromHandle) {\n this.fromHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":4594},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4593":{"this":{"__isSmartRef__":true,"id":4297}},"4594":{"timestamp":{"__isSmartRef__":true,"id":4595},"user":"jenslincke","tags":[]},"4595":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:52:18 GMT+0100 (CET)"},"4596":{"varMapping":{"__isSmartRef__":true,"id":4597},"source":"function updateIntersection(morph, cp) {\n if (!morph) return;\n var intersection = this.intersectMorph(morph)[0];\n if (intersection) {\n cp.setGlobalPos(intersection);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":4598},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4597":{"this":{"__isSmartRef__":true,"id":4297}},"4598":{"timestamp":{"__isSmartRef__":true,"id":4599},"user":"jenslincke","tags":[]},"4599":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:32 GMT+0100 (CET)"},"4600":{"varMapping":{"__isSmartRef__":true,"id":4601},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":4602},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4601":{"this":{"__isSmartRef__":true,"id":4297}},"4602":{"timestamp":{"__isSmartRef__":true,"id":4603},"user":"jenslincke","tags":[]},"4603":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:47:12 GMT+0100 (CET)"},"4604":{"varMapping":{"__isSmartRef__":true,"id":4605},"source":"function intersectMorphLinePoints(morph, a1, a2) {\n var points = this.globalShapePathFromMorph(morph);\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":4606},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4605":{"this":{"__isSmartRef__":true,"id":4297}},"4606":{"timestamp":{"__isSmartRef__":true,"id":4607},"user":"jenslincke","tags":[]},"4607":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:21 GMT+0100 (CET)"},"4608":{"varMapping":{"__isSmartRef__":true,"id":4609},"source":"function intersectMorph(morph) {\n var line = this;\n return this.intersectMorphLinePoints(morph,\n line.controlPoints[0].getGlobalPos(), line.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":4610},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4609":{"this":{"__isSmartRef__":true,"id":4297}},"4610":{"timestamp":{"__isSmartRef__":true,"id":4611},"user":"jenslincke","tags":[]},"4611":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:47 GMT+0100 (CET)"},"4612":{"varMapping":{"__isSmartRef__":true,"id":4613},"source":"function globalShapePathFromMorph(morph) {\n var b = morph.shape.bounds();\n var p1 = morph.worldPoint(b.topLeft()),\n p2 = morph.worldPoint(b.topRight()),\n p3 = morph.worldPoint(b.bottomRight()),\n p4 = morph.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":4614},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4613":{"this":{"__isSmartRef__":true,"id":4297}},"4614":{"timestamp":{"__isSmartRef__":true,"id":4615},"user":"jenslincke","tags":[]},"4615":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:00 GMT+0100 (CET)"},"4616":{"morph":{"__isSmartRef__":true,"id":4190},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(794.0,3542.4)"},"4617":{"morph":{"__isSmartRef__":true,"id":4190},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(756.5,3518.4)"},"4618":{"morph":{"__isSmartRef__":true,"id":4190},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(719.1,3494.4)"},"4619":{"morph":{"__isSmartRef__":true,"id":4190},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(740.7,3460.7)"},"4620":{"sourceObj":{"__isSmartRef__":true,"id":4190},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":4296},"targetMethodName":"alignToMagnet","varMapping":{"__isSmartRef__":true,"id":4621},"dependendConnections":[{"__isSmartRef__":true,"id":4622},{"__isSmartRef__":true,"id":4624},{"__isSmartRef__":true,"id":4626},{"__isSmartRef__":true,"id":4628},{"__isSmartRef__":true,"id":4630},{"__isSmartRef__":true,"id":4632},{"__isSmartRef__":true,"id":4634},{"__isSmartRef__":true,"id":4636}],"oldTransform":{"__isSmartRef__":true,"id":4638},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"4621":{"source":{"__isSmartRef__":true,"id":4190},"target":{"__isSmartRef__":true,"id":4296}},"4622":{"sourceObj":{"__isSmartRef__":true,"id":4190},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":4620},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":4623},"dependedBy":{"__isSmartRef__":true,"id":4620},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4623":{"source":{"__isSmartRef__":true,"id":4190},"target":{"__isSmartRef__":true,"id":4620}},"4624":{"sourceObj":{"__isSmartRef__":true,"id":4190},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":4620},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":4625},"dependedBy":{"__isSmartRef__":true,"id":4620},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4625":{"source":{"__isSmartRef__":true,"id":4190},"target":{"__isSmartRef__":true,"id":4620}},"4626":{"sourceObj":{"__isSmartRef__":true,"id":4190},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":4620},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":4627},"dependedBy":{"__isSmartRef__":true,"id":4620},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4627":{"source":{"__isSmartRef__":true,"id":4190},"target":{"__isSmartRef__":true,"id":4620}},"4628":{"sourceObj":{"__isSmartRef__":true,"id":4190},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":4620},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":4629},"dependedBy":{"__isSmartRef__":true,"id":4620},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4629":{"source":{"__isSmartRef__":true,"id":4190},"target":{"__isSmartRef__":true,"id":4620}},"4630":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":4620},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":4631},"dependedBy":{"__isSmartRef__":true,"id":4620},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4631":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":4620}},"4632":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":4620},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":4633},"dependedBy":{"__isSmartRef__":true,"id":4620},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4633":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":4620}},"4634":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":4620},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":4635},"dependedBy":{"__isSmartRef__":true,"id":4620},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4635":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":4620}},"4636":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":4620},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":4637},"dependedBy":{"__isSmartRef__":true,"id":4620},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4637":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":4620}},"4638":{"d":0.8419431060646692,"a":0.8419431060646692,"f":3003.116016016016,"e":767.325025025025,"c":-0.5395663130238733,"b":0.5395663130238733,"matrix_":{"__isSmartRef__":true,"id":4639},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"4639":{"a":0.8419431060646692,"b":0.5395663130238733,"c":-0.5395663130238733,"d":0.8419431060646692,"e":767.325025025025,"f":3003.116016016016,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"4640":{"sourceObj":{"__isSmartRef__":true,"id":4190},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":4169},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":4641},"dependendConnections":[{"__isSmartRef__":true,"id":4642},{"__isSmartRef__":true,"id":4644},{"__isSmartRef__":true,"id":4646},{"__isSmartRef__":true,"id":4648},{"__isSmartRef__":true,"id":4650},{"__isSmartRef__":true,"id":4652},{"__isSmartRef__":true,"id":4654},{"__isSmartRef__":true,"id":4656}],"oldTransform":{"__isSmartRef__":true,"id":4658},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"4641":{"source":{"__isSmartRef__":true,"id":4190},"target":{"__isSmartRef__":true,"id":4169}},"4642":{"sourceObj":{"__isSmartRef__":true,"id":4190},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":4640},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":4643},"dependedBy":{"__isSmartRef__":true,"id":4640},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4643":{"source":{"__isSmartRef__":true,"id":4190},"target":{"__isSmartRef__":true,"id":4640}},"4644":{"sourceObj":{"__isSmartRef__":true,"id":4190},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":4640},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":4645},"dependedBy":{"__isSmartRef__":true,"id":4640},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4645":{"source":{"__isSmartRef__":true,"id":4190},"target":{"__isSmartRef__":true,"id":4640}},"4646":{"sourceObj":{"__isSmartRef__":true,"id":4190},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":4640},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":4647},"dependedBy":{"__isSmartRef__":true,"id":4640},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4647":{"source":{"__isSmartRef__":true,"id":4190},"target":{"__isSmartRef__":true,"id":4640}},"4648":{"sourceObj":{"__isSmartRef__":true,"id":4190},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":4640},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":4649},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","dependedBy":{"__isSmartRef__":true,"id":4640},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4649":{"source":{"__isSmartRef__":true,"id":4190},"target":{"__isSmartRef__":true,"id":4640}},"4650":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":4640},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":4651},"dependedBy":{"__isSmartRef__":true,"id":4640},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4651":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":4640}},"4652":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":4640},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":4653},"dependedBy":{"__isSmartRef__":true,"id":4640},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4653":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":4640}},"4654":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":4640},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":4655},"dependedBy":{"__isSmartRef__":true,"id":4640},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4655":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":4640}},"4656":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":4640},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":4657},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","dependedBy":{"__isSmartRef__":true,"id":4640},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4657":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":4640}},"4658":{"d":0.8419431060646692,"a":0.8419431060646692,"f":3003.116016016016,"e":767.325025025025,"c":-0.5395663130238733,"b":0.5395663130238733,"matrix_":{"__isSmartRef__":true,"id":4659},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"4659":{"a":0.8419431060646692,"b":0.5395663130238733,"c":-0.5395663130238733,"d":0.8419431060646692,"e":767.325025025025,"f":3003.116016016016,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"4660":{"globalShapePath":{"__isSmartRef__":true,"id":4661},"lineIntersect":{"__isSmartRef__":true,"id":4664},"intersectLine":{"__isSmartRef__":true,"id":4668},"intersectLineMorph":{"__isSmartRef__":true,"id":4671}},"4661":{"varMapping":{"__isSmartRef__":true,"id":4662},"source":"function globalShapePath() {\n var b = this.shape.bounds();\n var p1 = this.worldPoint(b.topLeft()),\n p2 = this.worldPoint(b.topRight()),\n p3 = this.worldPoint(b.bottomRight()),\n p4 = this.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":4663},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4662":{"this":{"__isSmartRef__":true,"id":4190}},"4663":{},"4664":{"varMapping":{"__isSmartRef__":true,"id":4665},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":4666},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4665":{"this":{"__isSmartRef__":true,"id":4190}},"4666":{"timestamp":{"__isSmartRef__":true,"id":4667},"user":"jenslincke","tags":[]},"4667":{"isSerializedDate":true,"string":"Thu Dec 13 2012 13:42:55 GMT+0100 (CET)"},"4668":{"varMapping":{"__isSmartRef__":true,"id":4669},"source":"function intersectLine(a1, a2) {\n var points = this.globalShapePath();\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":4670},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4669":{"this":{"__isSmartRef__":true,"id":4190}},"4670":{},"4671":{"varMapping":{"__isSmartRef__":true,"id":4672},"source":"function intersectLineMorph(m) {\n return this.intersectLine(m.controlPoints[0].getGlobalPos(), m.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":4673},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4672":{"this":{"__isSmartRef__":true,"id":4190}},"4673":{},"4674":{"connect":{"__isSmartRef__":true,"id":4675},"updatePosition":{"__isSmartRef__":true,"id":4679},"updateControlPoint":{"__isSmartRef__":true,"id":4683},"disconnectMorph":{"__isSmartRef__":true,"id":4687},"connectMorph":{"__isSmartRef__":true,"id":4691},"onMouseOver":{"__isSmartRef__":true,"id":4695},"onMouseOut":{"__isSmartRef__":true,"id":4699},"makeHandle":{"__isSmartRef__":true,"id":4707},"showFromHandle":{"__isSmartRef__":true,"id":4711},"showToHandle":{"__isSmartRef__":true,"id":4715},"reset":{"__isSmartRef__":true,"id":4719},"onDragInHandle":{"__isSmartRef__":true,"id":4723},"onDragStartInHandle":{"__isSmartRef__":true,"id":4727},"onDragEndInHandle":{"__isSmartRef__":true,"id":4731},"connectFrom":{"__isSmartRef__":true,"id":4735},"connectTo":{"__isSmartRef__":true,"id":4739},"hideToHandle":{"__isSmartRef__":true,"id":4743},"hideFromHandle":{"__isSmartRef__":true,"id":4747},"updateIntersection":{"__isSmartRef__":true,"id":4751},"lineIntersect":{"__isSmartRef__":true,"id":4755},"intersectMorphLinePoints":{"__isSmartRef__":true,"id":4759},"intersectMorph":{"__isSmartRef__":true,"id":4763},"globalShapePathFromMorph":{"__isSmartRef__":true,"id":4767},"remove":{"__isSmartRef__":true,"id":4771}},"4675":{"varMapping":{"__isSmartRef__":true,"id":4676},"source":"function connect(morphA, morphB) {\n this.connectFrom(morphA)\n this.connectTo(morphB)\n this.updatePosition()\n}","funcProperties":{"__isSmartRef__":true,"id":4677},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4676":{"this":{"__isSmartRef__":true,"id":4169}},"4677":{"timestamp":{"__isSmartRef__":true,"id":4678},"user":"jenslincke","tags":[]},"4678":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:50:49 GMT+0100 (CET)"},"4679":{"varMapping":{"__isSmartRef__":true,"id":4680},"source":"function updatePosition() {\n this.updateControlPoint(this.controlPoints[0], this.fromMorph)\n this.updateControlPoint(this.controlPoints[1], this.toMorph)\n this.updateIntersection(this.fromMorph, this.controlPoints[0])\n this.updateIntersection(this.toMorph, this.controlPoints[1])\n\n this.adjustOrigin(this.bounds().extent().scaleBy(0.5))\n}","funcProperties":{"__isSmartRef__":true,"id":4681},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4680":{"this":{"__isSmartRef__":true,"id":4169}},"4681":{"timestamp":{"__isSmartRef__":true,"id":4682},"user":"jenslincke","tags":[]},"4682":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:06:20 GMT+0100 (CET)"},"4683":{"varMapping":{"__isSmartRef__":true,"id":4684},"source":"function updateControlPoint(cp, morph) {\n if (!cp || !morph) return;\n cp.setGlobalPos(morph.worldPoint(morph.shape.bounds().center()))\n}","funcProperties":{"__isSmartRef__":true,"id":4685},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4684":{"this":{"__isSmartRef__":true,"id":4169}},"4685":{"timestamp":{"__isSmartRef__":true,"id":4686},"user":"jenslincke","tags":[]},"4686":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:45:56 GMT+0100 (CET)"},"4687":{"varMapping":{"__isSmartRef__":true,"id":4688},"source":"function disconnectMorph(morph) {\n if (!morph) return;\n lively.bindings.disconnect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":4689},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4688":{"this":{"__isSmartRef__":true,"id":4169}},"4689":{"timestamp":{"__isSmartRef__":true,"id":4690},"user":"jenslincke","tags":[]},"4690":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:19:18 GMT+0100 (CET)"},"4691":{"varMapping":{"__isSmartRef__":true,"id":4692},"source":"function connectMorph(morph) {\n if (morph)\n lively.bindings.connect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":4693},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4692":{"this":{"__isSmartRef__":true,"id":4169}},"4693":{"timestamp":{"__isSmartRef__":true,"id":4694},"user":"jenslincke","tags":[]},"4694":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:52:12 GMT+0100 (CET)"},"4695":{"varMapping":{"__isSmartRef__":true,"id":4696},"source":"function onMouseOver(evt) {\n var p = evt.mousePoint.scaleBy(this.world().getScale())\n\n var cp1 = this.controlPoints[0].getGlobalPos();\n if (p.dist(cp1) < 20) {\n this.showFromHandle()\n } else {\n this.hideFromHandle()\n }\n var cp2 = this.controlPoints[1].getGlobalPos();\n if (p.dist(cp2) < 20) {\n this.showToHandle()\n } else {\n this.hideToHandle()\n }\n}","funcProperties":{"__isSmartRef__":true,"id":4697},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4696":{"this":{"__isSmartRef__":true,"id":4169}},"4697":{"timestamp":{"__isSmartRef__":true,"id":4698},"user":"jenslincke","tags":[]},"4698":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:23:03 GMT+0100 (CET)"},"4699":{"varMapping":{"__isSmartRef__":true,"id":4700},"source":"function onMouseOut(evt) {\n // this.hideFromHandle()\n // this.hideToHandle()\n}","funcProperties":{"__isSmartRef__":true,"id":4705},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4700":{"this":{"__isSmartRef__":true,"id":4169},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4701}},"4701":{"$super":{"__isSmartRef__":true,"id":4702}},"4702":{"varMapping":{"__isSmartRef__":true,"id":4703},"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":4704},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4703":{"obj":{"__isSmartRef__":true,"id":4169},"name":"onMouseOut"},"4704":{},"4705":{"timestamp":{"__isSmartRef__":true,"id":4706},"user":"jenslincke","tags":[]},"4706":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:54:53 GMT+0100 (CET)"},"4707":{"varMapping":{"__isSmartRef__":true,"id":4708},"source":"function makeHandle() {\n var m = lively.morphic.Morph.makeRectangle(0,0,10,10);\n m.disableGrabbing()\n m.enableDragging()\n m.connector = this;\n // move real behavior to a place which is easier to develop\n // do not use bind, because we like late binding \n m.addScript(function onDragStart(evt) {\n this.connector.onDragStartInHandle(this, evt)\n })\n m.addScript(function onDrag(evt) {\n this.connector.onDragInHandle(this, evt)\n })\n m.addScript(function onDragEnd(evt) {\n this.connector.onDragEndInHandle(this, evt)\n })\n m.isEpiMorph = true;\n return m\n}","funcProperties":{"__isSmartRef__":true,"id":4709},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4708":{"this":{"__isSmartRef__":true,"id":4169}},"4709":{"timestamp":{"__isSmartRef__":true,"id":4710},"user":"jenslincke","tags":[]},"4710":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:08:29 GMT+0100 (CET)"},"4711":{"varMapping":{"__isSmartRef__":true,"id":4712},"source":"function showFromHandle() {\n if (!this.fromHandle) {\n this.fromHandle = this.makeHandle();\n this.fromHandle.setFill(Color.red)\n this.fromHandle.isFromHandle = true;\n }\n this.fromHandle.openInWorld();\n this.fromHandle.controlPoint = this.controlPoints[0];\n this.fromHandle.setPosition(this.controlPoints[0].getGlobalPos().subPt(pt(5,5)))\n return this.fromHandle\n}","funcProperties":{"__isSmartRef__":true,"id":4713},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4712":{"this":{"__isSmartRef__":true,"id":4169}},"4713":{"timestamp":{"__isSmartRef__":true,"id":4714},"user":"jenslincke","tags":[]},"4714":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:13:03 GMT+0100 (CET)"},"4715":{"varMapping":{"__isSmartRef__":true,"id":4716},"source":"function showToHandle() {\n if (!this.toHandle) {\n this.toHandle = this.makeHandle();\n this.toHandle.setFill(Color.red)\n this.toHandle.isToHandle = true;\n\n }\n this.toHandle.openInWorld();\n this.toHandle.controlPoint = this.controlPoints[1];\n this.toHandle.setPosition(this.controlPoints[1].getGlobalPos().subPt(pt(5,5)))\n return this.toHandle\n}","funcProperties":{"__isSmartRef__":true,"id":4717},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4716":{"this":{"__isSmartRef__":true,"id":4169}},"4717":{"timestamp":{"__isSmartRef__":true,"id":4718},"user":"jenslincke","tags":[]},"4718":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:20:25 GMT+0100 (CET)"},"4719":{"varMapping":{"__isSmartRef__":true,"id":4720},"source":"function reset() {\n if (this.fromHandle) {\n this.fromHandle.remove()\n delete this.fromHandle\n }\n if (this.toHandle) {\n this.toHandle.remove()\n delete this.toHandle\n }\n // this.controlPoints[1].setPos(pt(200,200))\n}","funcProperties":{"__isSmartRef__":true,"id":4721},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4720":{"this":{"__isSmartRef__":true,"id":4169}},"4721":{"timestamp":{"__isSmartRef__":true,"id":4722},"user":"jenslincke","tags":[]},"4722":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:15:00 GMT+0100 (CET)"},"4723":{"varMapping":{"__isSmartRef__":true,"id":4724},"source":"function onDragInHandle(handle, evt) {\n\n var pos = handle.getPositionInWorld();\n var delta = evt.hand.getPosition().subPt(pos);\n handle.moveBy(delta)\n pos = handle.getPositionInWorld();\n if (handle.controlPoint)\n handle.controlPoint.setGlobalPos(pos.addPt(pt(5,5)))\n var morphs = this.owner.morphsContainingPoint(pos)\n morphs = morphs.reject(function(ea) {\n return ea.isWorld || (ea === handle) || (ea === this) || \n (ea === this.owner)\n }, this)\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n this.selectedMorph = morphs.first();\n this.selectedMorphHighlights = show(this.selectedMorph)\n handle.startPos = evt.getPosition();\n}","funcProperties":{"__isSmartRef__":true,"id":4725},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4724":{"this":{"__isSmartRef__":true,"id":4169}},"4725":{"timestamp":{"__isSmartRef__":true,"id":4726},"user":"jenslincke","tags":[]},"4726":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:06:40 GMT+0100 (CET)"},"4727":{"varMapping":{"__isSmartRef__":true,"id":4728},"source":"function onDragStartInHandle(handle, evt) {\n handle.startPos = evt.getPosition()\n}","funcProperties":{"__isSmartRef__":true,"id":4729},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4728":{"this":{"__isSmartRef__":true,"id":4169}},"4729":{"timestamp":{"__isSmartRef__":true,"id":4730},"user":"jenslincke","tags":[]},"4730":{"isSerializedDate":true,"string":"Thu Dec 13 2012 15:51:13 GMT+0100 (CET)"},"4731":{"varMapping":{"__isSmartRef__":true,"id":4732},"source":"function onDragEndInHandle(handle, evt) {\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n \n if (handle.isFromHandle) this.connectFrom(this.selectedMorph)\n if (handle.isToHandle) this.connectTo(this.selectedMorph)\n handle.remove()\n this.updatePosition()\n}","funcProperties":{"__isSmartRef__":true,"id":4733},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4732":{"this":{"__isSmartRef__":true,"id":4169}},"4733":{"timestamp":{"__isSmartRef__":true,"id":4734},"user":"jenslincke","tags":[]},"4734":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:36:59 GMT+0100 (CET)"},"4735":{"varMapping":{"__isSmartRef__":true,"id":4736},"source":"function connectFrom(morph) {\n if (morph && morph === this.toMorph) return; // not allowed\n\n this.disconnectMorph(this.fromMorph)\n this.fromMorph = morph;\n this.connectMorph(this.fromMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":4737},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4736":{"this":{"__isSmartRef__":true,"id":4169}},"4737":{"timestamp":{"__isSmartRef__":true,"id":4738},"user":"jenslincke","tags":[]},"4738":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:02:22 GMT+0100 (CET)"},"4739":{"varMapping":{"__isSmartRef__":true,"id":4740},"source":"function connectTo(morph) {\n\n if (morph && morph === this.fromMorph) return; // not allowed\n\n this.disconnectMorph(this.toMorph)\n this.toMorph = morph;\n this.connectMorph(this.toMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":4741},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4740":{"this":{"__isSmartRef__":true,"id":4169}},"4741":{"timestamp":{"__isSmartRef__":true,"id":4742},"user":"jenslincke","tags":[]},"4742":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:02:30 GMT+0100 (CET)"},"4743":{"varMapping":{"__isSmartRef__":true,"id":4744},"source":"function hideToHandle() {\n if (this.toHandle) {\n this.toHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":4745},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4744":{"this":{"__isSmartRef__":true,"id":4169}},"4745":{"timestamp":{"__isSmartRef__":true,"id":4746},"user":"jenslincke","tags":[]},"4746":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:51:59 GMT+0100 (CET)"},"4747":{"varMapping":{"__isSmartRef__":true,"id":4748},"source":"function hideFromHandle() {\n if (this.fromHandle) {\n this.fromHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":4749},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4748":{"this":{"__isSmartRef__":true,"id":4169}},"4749":{"timestamp":{"__isSmartRef__":true,"id":4750},"user":"jenslincke","tags":[]},"4750":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:52:18 GMT+0100 (CET)"},"4751":{"varMapping":{"__isSmartRef__":true,"id":4752},"source":"function updateIntersection(morph, cp) {\n if (!morph) return;\n var intersection = this.intersectMorph(morph)[0];\n if (intersection) {\n cp.setGlobalPos(intersection);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":4753},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4752":{"this":{"__isSmartRef__":true,"id":4169}},"4753":{"timestamp":{"__isSmartRef__":true,"id":4754},"user":"jenslincke","tags":[]},"4754":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:32 GMT+0100 (CET)"},"4755":{"varMapping":{"__isSmartRef__":true,"id":4756},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":4757},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4756":{"this":{"__isSmartRef__":true,"id":4169}},"4757":{"timestamp":{"__isSmartRef__":true,"id":4758},"user":"jenslincke","tags":[]},"4758":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:47:12 GMT+0100 (CET)"},"4759":{"varMapping":{"__isSmartRef__":true,"id":4760},"source":"function intersectMorphLinePoints(morph, a1, a2) {\n var points = this.globalShapePathFromMorph(morph);\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":4761},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4760":{"this":{"__isSmartRef__":true,"id":4169}},"4761":{"timestamp":{"__isSmartRef__":true,"id":4762},"user":"jenslincke","tags":[]},"4762":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:21 GMT+0100 (CET)"},"4763":{"varMapping":{"__isSmartRef__":true,"id":4764},"source":"function intersectMorph(morph) {\n var line = this;\n return this.intersectMorphLinePoints(morph,\n line.controlPoints[0].getGlobalPos(), line.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":4765},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4764":{"this":{"__isSmartRef__":true,"id":4169}},"4765":{"timestamp":{"__isSmartRef__":true,"id":4766},"user":"jenslincke","tags":[]},"4766":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:47 GMT+0100 (CET)"},"4767":{"varMapping":{"__isSmartRef__":true,"id":4768},"source":"function globalShapePathFromMorph(morph) {\n var b = morph.shape.bounds();\n var p1 = morph.worldPoint(b.topLeft()),\n p2 = morph.worldPoint(b.topRight()),\n p3 = morph.worldPoint(b.bottomRight()),\n p4 = morph.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":4769},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4768":{"this":{"__isSmartRef__":true,"id":4169}},"4769":{"timestamp":{"__isSmartRef__":true,"id":4770},"user":"jenslincke","tags":[]},"4770":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:00 GMT+0100 (CET)"},"4771":{"varMapping":{"__isSmartRef__":true,"id":4772},"source":"function remove() {\n \n this.disconnectMorph(this.fromMorph)\n this.disconnectMorph(this.toMorph)\n return $super()\n}","funcProperties":{"__isSmartRef__":true,"id":4777},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4772":{"this":{"__isSmartRef__":true,"id":4169},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4773}},"4773":{"$super":{"__isSmartRef__":true,"id":4774}},"4774":{"varMapping":{"__isSmartRef__":true,"id":4775},"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":4776},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4775":{"obj":{"__isSmartRef__":true,"id":4169},"name":"remove"},"4776":{},"4777":{"timestamp":{"__isSmartRef__":true,"id":4778},"user":"jenslincke","tags":[]},"4778":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:33:57 GMT+0100 (CET)"},"4779":{"_BorderWidth":1,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(847.0,231.0)","_BorderColor":"Color.rgb(204,204,204)","_Fill":"Color.rgb(255,255,255)","_Padding":"lively.rect(0,0,0,0)"},"4780":{"options":{"__isSmartRef__":true,"id":4781}},"4781":{"override":["onDrag","onDragStart","onDragEnd"]},"4782":{"requiredModules":[],"partsSpaceName":"PartsBin/Presenting/","migrationLevel":2,"comment":"A copy of this object is used by the PresentationController when you press the button \"new slide\".","lastModifiedDate":{"__isSmartRef__":true,"id":4783},"revisionOnLoad":140039,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"4783":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (CEST)"},"4784":{"morph":{"__isSmartRef__":true,"id":2945},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4785":{"morph":{"__isSmartRef__":true,"id":2945},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(36.9,3355.6)"},"4786":{"morph":{"__isSmartRef__":true,"id":2945},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(460.4,3355.6)"},"4787":{"morph":{"__isSmartRef__":true,"id":2945},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(883.9,3355.6)"},"4788":{"morph":{"__isSmartRef__":true,"id":2945},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(883.9,3471.1)"},"4789":{"morph":{"__isSmartRef__":true,"id":2945},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(883.9,3586.6)"},"4790":{"morph":{"__isSmartRef__":true,"id":2945},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(460.4,3586.6)"},"4791":{"morph":{"__isSmartRef__":true,"id":2945},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(36.9,3586.6)"},"4792":{"morph":{"__isSmartRef__":true,"id":2945},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(36.9,3471.1)"},"4793":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"name","targetObj":{"__isSmartRef__":true,"id":2946},"targetMethodName":"updateLabel","varMapping":{"__isSmartRef__":true,"id":4794},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4794":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":2946}},"4795":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":4796},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5318},"dependedBy":{"__isSmartRef__":true,"id":4796},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4796":{"sourceObj":{"__isSmartRef__":true,"id":4797},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":5178},"targetMethodName":"realignConnection","varMapping":{"__isSmartRef__":true,"id":5309},"dependendConnections":[{"__isSmartRef__":true,"id":4805},{"__isSmartRef__":true,"id":4807},{"__isSmartRef__":true,"id":4809},{"__isSmartRef__":true,"id":4811},{"__isSmartRef__":true,"id":5220},{"__isSmartRef__":true,"id":5222},{"__isSmartRef__":true,"id":5224},{"__isSmartRef__":true,"id":5226},{"__isSmartRef__":true,"id":4795},{"__isSmartRef__":true,"id":5310},{"__isSmartRef__":true,"id":5312},{"__isSmartRef__":true,"id":5314}],"oldTransform":{"__isSmartRef__":true,"id":5316},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"4797":{"submorphs":[],"scripts":[],"id":"2B61CBB9-7E04-45B8-BF01-F421C8C45EA9","shape":{"__isSmartRef__":true,"id":4798},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":180.8018403394826,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":19,"name":"NameLabel2","partsBinMetaInfo":{"__isSmartRef__":true,"id":4799},"textChunks":[{"__isSmartRef__":true,"id":4801}],"charsReplaced":"A1","lastFindLoc":2,"prevScroll":[0,0],"attributeConnections":[{"__isSmartRef__":true,"id":4803},{"__isSmartRef__":true,"id":4804},{"__isSmartRef__":true,"id":4796},{"__isSmartRef__":true,"id":4805},{"__isSmartRef__":true,"id":4807},{"__isSmartRef__":true,"id":4809},{"__isSmartRef__":true,"id":4811}],"doNotSerialize":["$$owner","$$savedTextString","$$_Position","$$_Scale","$$_Rotation"],"doNotCopyProperties":["$$owner","$$savedTextString","$$_Position","$$_Scale","$$_Rotation"],"isInputLine":true,"savedTextString":"B","eventHandler":{"__isSmartRef__":true,"id":4813},"derivationIds":[7027,"331C6367-0699-4BD6-9916-ABA82517453B","BEAA7850-FEFB-4AFD-9E06-730FF35D99A4","559B0B8A-5C01-4133-88B2-0D08385E23F6","BE195383-D309-4B6E-A6B0-79A6112B4011","E323F75A-232F-4712-9A03-20C8FD574C9A","E6E38336-AA2D-4F75-80C1-B1617DD8544E","DAFCD826-DF9B-4DEF-B4D7-59AAED8D199D","3999CB16-D9E3-4D28-A617-9B093624E8AC","24C6A462-5AF8-4580-9777-8F5696841AF0","38DF0DD5-01B1-4481-B32C-B1595F8042DF"],"_WhiteSpaceHandling":"pre-wrap","_ClipMode":"visible","moved":true,"isBeingDragged":false,"_WordBreak":"break-all","magnets":[{"__isSmartRef__":true,"id":4814},{"__isSmartRef__":true,"id":4815},{"__isSmartRef__":true,"id":4816},{"__isSmartRef__":true,"id":4817},{"__isSmartRef__":true,"id":4818},{"__isSmartRef__":true,"id":4819},{"__isSmartRef__":true,"id":4820},{"__isSmartRef__":true,"id":4821}],"_PreviousBorderWidth":1,"owner":{"__isSmartRef__":true,"id":4822},"oldOwner":{"__isSmartRef__":true,"id":4822},"_Rotation":0,"_Scale":0.9999999999999997,"__serializedExpressions__":["_Position","textColor","distanceToDragEvent","_TextColor"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5302},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(34.8,36.8)","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(31.1,-9.9)","_TextColor":"Color.rgb(255,143,0)"},"4798":{"fill":null,"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(42.8,29.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"4799":{"migrationLevel":2,"comment":"Label that shows the name of a morph. Updates automatically.","partName":"NameLabel","lastModifiedDate":{"__isSmartRef__":true,"id":4800},"revisionOnLoad":140039,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"4800":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (CEST)"},"4801":{"style":{"__isSmartRef__":true,"id":4802},"chunkOwner":{"__isSmartRef__":true,"id":4797},"_id":"_736","storedString":"B1","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4802":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4803":{"sourceObj":{"__isSmartRef__":true,"id":4797},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":4797},"targetMethodName":"updateLabel","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4804":{"sourceObj":{"__isSmartRef__":true,"id":4797},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":4797},"targetMethodName":"renameOwner","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4805":{"sourceObj":{"__isSmartRef__":true,"id":4797},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":4796},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":4806},"dependedBy":{"__isSmartRef__":true,"id":4796},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4806":{"source":{"__isSmartRef__":true,"id":4797},"target":{"__isSmartRef__":true,"id":4796}},"4807":{"sourceObj":{"__isSmartRef__":true,"id":4797},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":4796},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":4808},"dependedBy":{"__isSmartRef__":true,"id":4796},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4808":{"source":{"__isSmartRef__":true,"id":4797},"target":{"__isSmartRef__":true,"id":4796}},"4809":{"sourceObj":{"__isSmartRef__":true,"id":4797},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":4796},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":4810},"dependedBy":{"__isSmartRef__":true,"id":4796},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4810":{"source":{"__isSmartRef__":true,"id":4797},"target":{"__isSmartRef__":true,"id":4796}},"4811":{"sourceObj":{"__isSmartRef__":true,"id":4797},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":4796},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":4812},"dependedBy":{"__isSmartRef__":true,"id":4796},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4812":{"source":{"__isSmartRef__":true,"id":4797},"target":{"__isSmartRef__":true,"id":4796}},"4813":{"morph":{"__isSmartRef__":true,"id":4797},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4814":{"morph":{"__isSmartRef__":true,"id":4797},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(120.0,3464.8)"},"4815":{"morph":{"__isSmartRef__":true,"id":4797},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(138.1,3476.3)"},"4816":{"morph":{"__isSmartRef__":true,"id":4797},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(156.1,3487.9)"},"4817":{"morph":{"__isSmartRef__":true,"id":4797},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(148.3,3500.1)"},"4818":{"morph":{"__isSmartRef__":true,"id":4797},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(140.4,3512.3)"},"4819":{"morph":{"__isSmartRef__":true,"id":4797},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(122.4,3500.7)"},"4820":{"morph":{"__isSmartRef__":true,"id":4797},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(104.4,3489.2)"},"4821":{"morph":{"__isSmartRef__":true,"id":4797},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(112.2,3477.0)"},"4822":{"submorphs":[{"__isSmartRef__":true,"id":4797}],"scripts":[],"id":"542B6FC9-80FE-4DEE-987B-70B5A1A3B811","shape":{"__isSmartRef__":true,"id":4823},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"B1","partsBinMetaInfo":{"__isSmartRef__":true,"id":4824},"eventHandler":{"__isSmartRef__":true,"id":4842},"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","BBAFB862-93AE-4F89-BCFF-9F1C67B7FE4C","7EC17E78-593A-4CC8-B7E3-859BCBBFE785","FDB06D4A-9F4E-4B8C-A67C-671A9583EFE8","1C80FDE1-05C0-4148-9AD8-33C88667084C","5059E383-6BE3-4AD3-A9C4-89DA9D8D5E99","5B810AFE-E692-4EB4-A695-ABB4A95CEA39","BFFEF617-9B97-45D4-A541-8E33A6A17485","A10BBA48-4AD1-425A-AC7B-2F5515CE56F5","319DCFA5-FBA0-4E93-825A-584A580A412F","1A7DC4D8-6C49-4243-8B1D-04CED44FD759"],"partTests":{"__isSmartRef__":true,"id":4843},"_ClipMode":"visible","moved":true,"isBeingDragged":false,"magnets":[{"__isSmartRef__":true,"id":4848},{"__isSmartRef__":true,"id":4849},{"__isSmartRef__":true,"id":4850},{"__isSmartRef__":true,"id":4851},{"__isSmartRef__":true,"id":5172},{"__isSmartRef__":true,"id":5173},{"__isSmartRef__":true,"id":5174},{"__isSmartRef__":true,"id":5175}],"attributeConnections":[{"__isSmartRef__":true,"id":5176},{"__isSmartRef__":true,"id":5200},{"__isSmartRef__":true,"id":5202},{"__isSmartRef__":true,"id":5204},{"__isSmartRef__":true,"id":5206},{"__isSmartRef__":true,"id":5208},{"__isSmartRef__":true,"id":5220},{"__isSmartRef__":true,"id":5222},{"__isSmartRef__":true,"id":5224},{"__isSmartRef__":true,"id":5226},{"__isSmartRef__":true,"id":5228},{"__isSmartRef__":true,"id":5230},{"__isSmartRef__":true,"id":5232},{"__isSmartRef__":true,"id":5234},{"__isSmartRef__":true,"id":5236},{"__isSmartRef__":true,"id":5248},{"__isSmartRef__":true,"id":5250},{"__isSmartRef__":true,"id":5252},{"__isSmartRef__":true,"id":5254},{"__isSmartRef__":true,"id":5256},{"__isSmartRef__":true,"id":5268},{"__isSmartRef__":true,"id":5270},{"__isSmartRef__":true,"id":5272},{"__isSmartRef__":true,"id":5274},{"__isSmartRef__":true,"id":5276}],"doNotSerialize":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"doNotCopyProperties":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"isCopyMorphRef":true,"morphRefId":1,"prevScroll":[0,0],"_Scale":0.9999999999999996,"_Rotation":0.5699219218563105,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5288},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","distanceToDragEvent":"lively.pt(35.0,-16.3)","_Position":"lively.pt(73.7,59.4)"},"4823":{"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(89.0,80.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgba(204,204,204,0.5)","_Padding":"lively.rect(0,0,0,0)"},"4824":{"partsSpaceName":"PartsBin/Basic","comment":"A simple box morph. A really orange one. Its amazing what you can build out of simple boxes.... Who needs stars when you got orange rectangles!","migrationLevel":4,"partName":"Rectangle","changes":[{"__isSmartRef__":true,"id":4825},{"__isSmartRef__":true,"id":4827},{"__isSmartRef__":true,"id":4829},{"__isSmartRef__":true,"id":4831},{"__isSmartRef__":true,"id":4833},{"__isSmartRef__":true,"id":4835},{"__isSmartRef__":true,"id":4837},{"__isSmartRef__":true,"id":4839}],"lastModifiedDate":{"__isSmartRef__":true,"id":4841},"revisionOnLoad":184624,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"4825":{"date":{"__isSmartRef__":true,"id":4826},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"4826":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"4827":{"date":{"__isSmartRef__":true,"id":4828},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"4828":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"4829":{"date":{"__isSmartRef__":true,"id":4830},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"4830":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"4831":{"date":{"__isSmartRef__":true,"id":4832},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"4832":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"4833":{"date":{"__isSmartRef__":true,"id":4834},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"4834":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"4835":{"date":{"__isSmartRef__":true,"id":4836},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"4836":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"4837":{"date":{"__isSmartRef__":true,"id":4838},"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8"},"4838":{"isSerializedDate":true,"string":"Mon Jun 18 2012 19:35:08 GMT+0200 (CEST)"},"4839":{"date":{"__isSmartRef__":true,"id":4840},"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205"},"4840":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:35:51 GMT+0100 (CET)"},"4841":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:33:25 GMT+0100 (CET)"},"4842":{"morph":{"__isSmartRef__":true,"id":4822},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4843":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4844}},"4844":{"test01IsMorph":{"__isSmartRef__":true,"id":4845}},"4845":{"varMapping":{"__isSmartRef__":true,"id":4846},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":4847},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4846":{"this":{"__isSmartRef__":true,"id":4843}},"4847":{},"4848":{"morph":{"__isSmartRef__":true,"id":4822},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(110.6,3415.0)"},"4849":{"morph":{"__isSmartRef__":true,"id":4822},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(148.1,3439.0)"},"4850":{"morph":{"__isSmartRef__":true,"id":4822},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(185.5,3463.0)"},"4851":{"morph":{"__isSmartRef__":true,"id":4822},"connectedControlPoints":[{"__isSmartRef__":true,"id":4852}],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(164.0,3496.7)"},"4852":{"morph":{"__isSmartRef__":true,"id":4853},"index":0,"connectedMagnet":{"__isSmartRef__":true,"id":4851},"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"4853":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":4854},"id":"E083C82B-2BC4-42CB-B3A2-773909175FCB","eventHandler":{"__isSmartRef__":true,"id":4857},"__layered_droppingEnabled__":true,"halosEnabled":true,"isBeingDragged":false,"controlPoints":[{"__isSmartRef__":true,"id":4852},{"__isSmartRef__":true,"id":4858}],"showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":4859},"name":"Line4","derivationIds":[731,"5E6BD741-9C99-47B9-95C1-7A028178DB17","A8D5C37A-F23F-47FE-8DE2-211CE4484A4F","F722069B-8602-4E8D-BE3F-92A1E0C0EF28","D5ED19F9-968E-4C7E-9936-69F2735A813F","A9E370BC-F208-425C-BFFC-F8D6BB52E11F","4E431641-D056-46CB-B2A8-6626382EF423"],"_ClipMode":"visible","controlPointsHalos":[],"prevScroll":[0,0],"grabbingEnabled":false,"moved":true,"#startLetters":"controlPoints[0]","fromMorph":{"__isSmartRef__":true,"id":4863},"update":{"__isSmartRef__":true,"id":5073},"isCopyMorphRef":true,"morphRefId":2,"selectedMorph":{"__isSmartRef__":true,"id":4863},"selectedMorphHighlights":[],"_Scale":1,"_Rotation":0,"owner":null,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5075},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","distanceToDragEvent":"lively.pt(295.7,-20.8)","_Position":"lively.pt(376.1,57.6)"},"4854":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":4855},{"__isSmartRef__":true,"id":4856}],"_ClipMode":"visible","_BorderWidth":3.1119999999999997,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Padding","_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(50.5,3.2)","_Extent":"lively.pt(114.5,3494.5)","_BorderColor":"Color.rgb(161,161,161)"},"4855":{"isAbsolute":true,"x":0,"y":0,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"4856":{"isAbsolute":true,"x":52.46197348862387,"y":5.223542983087555,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"4857":{"morph":{"__isSmartRef__":true,"id":4853},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4858":{"morph":{"__isSmartRef__":true,"id":4853},"index":1,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"4859":{"requiredModules":[],"migrationLevel":4,"partsSpaceName":"PartsBin/Jens/","comment":"a line","partName":"Connector","lastModifiedDate":{"__isSmartRef__":true,"id":4860},"revisionOnLoad":186528,"changes":[{"__isSmartRef__":true,"id":4861}],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"4860":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:18 GMT+0100 (CET)"},"4861":{"date":{"__isSmartRef__":true,"id":4862},"author":"jenslincke","message":"no comment","id":"28165CED-C8C5-4B8E-9655-645E3F5099BB"},"4862":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:42 GMT+0100 (CET)"},"4863":{"submorphs":[{"__isSmartRef__":true,"id":4864}],"scripts":[],"id":"7D787261-FDA4-4DCD-ACA3-699C8F2DB8DC","shape":{"__isSmartRef__":true,"id":4888},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"A","partsBinMetaInfo":{"__isSmartRef__":true,"id":4889},"eventHandler":{"__isSmartRef__":true,"id":4907},"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","BBAFB862-93AE-4F89-BCFF-9F1C67B7FE4C","7EC17E78-593A-4CC8-B7E3-859BCBBFE785","FDB06D4A-9F4E-4B8C-A67C-671A9583EFE8","1C80FDE1-05C0-4148-9AD8-33C88667084C","5059E383-6BE3-4AD3-A9C4-89DA9D8D5E99","5B810AFE-E692-4EB4-A695-ABB4A95CEA39","BFFEF617-9B97-45D4-A541-8E33A6A17485","A10BBA48-4AD1-425A-AC7B-2F5515CE56F5"],"partTests":{"__isSmartRef__":true,"id":4908},"_ClipMode":"visible","moved":true,"isBeingDragged":false,"magnets":[{"__isSmartRef__":true,"id":4913},{"__isSmartRef__":true,"id":4914},{"__isSmartRef__":true,"id":4915},{"__isSmartRef__":true,"id":4916},{"__isSmartRef__":true,"id":4917},{"__isSmartRef__":true,"id":4918},{"__isSmartRef__":true,"id":4919},{"__isSmartRef__":true,"id":4920}],"attributeConnections":[{"__isSmartRef__":true,"id":4921},{"__isSmartRef__":true,"id":4923},{"__isSmartRef__":true,"id":4925},{"__isSmartRef__":true,"id":4927},{"__isSmartRef__":true,"id":4929},{"__isSmartRef__":true,"id":4931},{"__isSmartRef__":true,"id":4935},{"__isSmartRef__":true,"id":5049},{"__isSmartRef__":true,"id":5051},{"__isSmartRef__":true,"id":5053},{"__isSmartRef__":true,"id":5055}],"doNotSerialize":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"doNotCopyProperties":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"isCopyMorphRef":true,"morphRefId":1,"prevScroll":[0,0],"_Scale":0.9999999999999998,"_Rotation":-0.3632069088060458,"owner":null,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5059},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","distanceToDragEvent":"lively.pt(89.3,-51.8)","_Position":"lively.pt(691.6,129.6)"},"4864":{"submorphs":[],"scripts":[],"id":"4BDF3799-4F08-4112-BD4C-91BAB858A860","shape":{"__isSmartRef__":true,"id":4865},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":180.8018403394826,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":19,"name":"NameLabel2","partsBinMetaInfo":{"__isSmartRef__":true,"id":4866},"textChunks":[{"__isSmartRef__":true,"id":4868}],"charsReplaced":"C1","lastFindLoc":2,"prevScroll":[0,0],"attributeConnections":[{"__isSmartRef__":true,"id":4870},{"__isSmartRef__":true,"id":4871}],"doNotSerialize":["$$owner","$$savedTextString"],"doNotCopyProperties":["$$owner","$$savedTextString"],"isInputLine":true,"savedTextString":"A","eventHandler":{"__isSmartRef__":true,"id":4872},"derivationIds":[7027,"331C6367-0699-4BD6-9916-ABA82517453B","BEAA7850-FEFB-4AFD-9E06-730FF35D99A4","559B0B8A-5C01-4133-88B2-0D08385E23F6","BE195383-D309-4B6E-A6B0-79A6112B4011","E323F75A-232F-4712-9A03-20C8FD574C9A","E6E38336-AA2D-4F75-80C1-B1617DD8544E","DAFCD826-DF9B-4DEF-B4D7-59AAED8D199D","3999CB16-D9E3-4D28-A617-9B093624E8AC"],"_WhiteSpaceHandling":"pre-wrap","_ClipMode":"visible","moved":true,"isBeingDragged":false,"_WordBreak":"break-all","magnets":[{"__isSmartRef__":true,"id":4873},{"__isSmartRef__":true,"id":4874},{"__isSmartRef__":true,"id":4875},{"__isSmartRef__":true,"id":4876},{"__isSmartRef__":true,"id":4877},{"__isSmartRef__":true,"id":4878},{"__isSmartRef__":true,"id":4879},{"__isSmartRef__":true,"id":4880}],"_PreviousBorderWidth":1,"owner":{"__isSmartRef__":true,"id":4863},"oldOwner":{"__isSmartRef__":true,"id":4863},"priorSelectionRange":[1,1],"_Rotation":0,"_Scale":0.9999999999999997,"__serializedExpressions__":["textColor","distanceToDragEvent","_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4881},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(31.1,-9.9)","_TextColor":"Color.rgb(255,143,0)","_Position":"lively.pt(34.8,36.8)"},"4865":{"fill":null,"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(42.8,29.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"4866":{"migrationLevel":2,"comment":"Label that shows the name of a morph. Updates automatically.","partName":"NameLabel","lastModifiedDate":{"__isSmartRef__":true,"id":4867},"revisionOnLoad":140039,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"4867":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (CEST)"},"4868":{"style":{"__isSmartRef__":true,"id":4869},"chunkOwner":{"__isSmartRef__":true,"id":4864},"_id":"_22384","storedString":"A","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4869":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4870":{"sourceObj":{"__isSmartRef__":true,"id":4864},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":4864},"targetMethodName":"updateLabel","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4871":{"sourceObj":{"__isSmartRef__":true,"id":4864},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":4864},"targetMethodName":"renameOwner","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4872":{"morph":{"__isSmartRef__":true,"id":4864},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4873":{"morph":{"__isSmartRef__":true,"id":4864},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(726.1,3497.3)"},"4874":{"morph":{"__isSmartRef__":true,"id":4864},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(746.1,3489.7)"},"4875":{"morph":{"__isSmartRef__":true,"id":4864},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(766.1,3482.1)"},"4876":{"morph":{"__isSmartRef__":true,"id":4864},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(771.3,3495.6)"},"4877":{"morph":{"__isSmartRef__":true,"id":4864},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(776.4,3509.2)"},"4878":{"morph":{"__isSmartRef__":true,"id":4864},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(756.4,3516.8)"},"4879":{"morph":{"__isSmartRef__":true,"id":4864},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(736.4,3524.4)"},"4880":{"morph":{"__isSmartRef__":true,"id":4864},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(731.2,3510.8)"},"4881":{"updateLabel":{"__isSmartRef__":true,"id":4882},"renameOwner":{"__isSmartRef__":true,"id":4885}},"4882":{"varMapping":{"__isSmartRef__":true,"id":4883},"source":"function updateLabel() {\n\t// observe name changes in owner\n\tif (this.owner !== this.oldOwner) {\n\t\tif (this.oldOwner)\n\t\t\tdisconnect(this.oldOwner, 'name', this, 'updateLabel')\n\t\tif (this.owner)\n\t\t\tconnect(this.owner, 'name', this, 'updateLabel')\n\t\tthis.oldOwner = this.owner\n\t}\n\tvar name = (this.owner ? this.owner.name : \"no owner\")\n\tif (this.textString != name)\n\tthis.setTextString(name)\n}","funcProperties":{"__isSmartRef__":true,"id":4884},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4883":{"this":{"__isSmartRef__":true,"id":4864}},"4884":{},"4885":{"varMapping":{"__isSmartRef__":true,"id":4886},"source":"function renameOwner(name) {\n\tif (this.owner && this.owner.name != name) {\n\t\talertOK(\"renamed \" + this.owner + \" to \" + name)\n\t\tthis.owner.setName(name);\n\t}\n}","funcProperties":{"__isSmartRef__":true,"id":4887},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4886":{"this":{"__isSmartRef__":true,"id":4864}},"4887":{},"4888":{"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(116.7,82.3)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgba(204,204,204,0.5)","_Padding":"lively.rect(0,0,0,0)"},"4889":{"partsSpaceName":"PartsBin/Basic","comment":"A simple box morph. A really orange one. Its amazing what you can build out of simple boxes.... Who needs stars when you got orange rectangles!","migrationLevel":4,"partName":"Rectangle","changes":[{"__isSmartRef__":true,"id":4890},{"__isSmartRef__":true,"id":4892},{"__isSmartRef__":true,"id":4894},{"__isSmartRef__":true,"id":4896},{"__isSmartRef__":true,"id":4898},{"__isSmartRef__":true,"id":4900},{"__isSmartRef__":true,"id":4902},{"__isSmartRef__":true,"id":4904}],"lastModifiedDate":{"__isSmartRef__":true,"id":4906},"revisionOnLoad":184624,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"4890":{"date":{"__isSmartRef__":true,"id":4891},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"4891":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"4892":{"date":{"__isSmartRef__":true,"id":4893},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"4893":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"4894":{"date":{"__isSmartRef__":true,"id":4895},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"4895":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"4896":{"date":{"__isSmartRef__":true,"id":4897},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"4897":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"4898":{"date":{"__isSmartRef__":true,"id":4899},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"4899":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"4900":{"date":{"__isSmartRef__":true,"id":4901},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"4901":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"4902":{"date":{"__isSmartRef__":true,"id":4903},"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8"},"4903":{"isSerializedDate":true,"string":"Mon Jun 18 2012 19:35:08 GMT+0200 (CEST)"},"4904":{"date":{"__isSmartRef__":true,"id":4905},"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205"},"4905":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:35:51 GMT+0100 (CET)"},"4906":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:33:25 GMT+0100 (CET)"},"4907":{"morph":{"__isSmartRef__":true,"id":4863},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4908":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4909}},"4909":{"test01IsMorph":{"__isSmartRef__":true,"id":4910}},"4910":{"varMapping":{"__isSmartRef__":true,"id":4911},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":4912},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4911":{"this":{"__isSmartRef__":true,"id":4908}},"4912":{},"4913":{"morph":{"__isSmartRef__":true,"id":4863},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(680.5,3475.2)"},"4914":{"morph":{"__isSmartRef__":true,"id":4863},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(735.0,3454.5)"},"4915":{"morph":{"__isSmartRef__":true,"id":4863},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(789.6,3433.8)"},"4916":{"morph":{"__isSmartRef__":true,"id":4863},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(804.2,3472.2)"},"4917":{"morph":{"__isSmartRef__":true,"id":4863},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(818.8,3510.7)"},"4918":{"morph":{"__isSmartRef__":true,"id":4863},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(764.3,3531.4)"},"4919":{"morph":{"__isSmartRef__":true,"id":4863},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(709.7,3552.2)"},"4920":{"morph":{"__isSmartRef__":true,"id":4863},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(695.1,3513.7)"},"4921":{"sourceObj":{"__isSmartRef__":true,"id":4863},"sourceAttrName":"name","targetObj":{"__isSmartRef__":true,"id":4864},"targetMethodName":"updateLabel","varMapping":{"__isSmartRef__":true,"id":4922},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4922":{"source":{"__isSmartRef__":true,"id":4863},"target":{"__isSmartRef__":true,"id":4864}},"4923":{"sourceObj":{"__isSmartRef__":true,"id":4863},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":4853},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":4924},"dependendConnections":[{"__isSmartRef__":true,"id":4925},{"__isSmartRef__":true,"id":4927},{"__isSmartRef__":true,"id":4929},{"__isSmartRef__":true,"id":4931}],"oldTransform":{"__isSmartRef__":true,"id":4933},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"4924":{"source":{"__isSmartRef__":true,"id":4863},"target":{"__isSmartRef__":true,"id":4853}},"4925":{"sourceObj":{"__isSmartRef__":true,"id":4863},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":4923},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":4926},"dependedBy":{"__isSmartRef__":true,"id":4923},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4926":{"source":{"__isSmartRef__":true,"id":4863},"target":{"__isSmartRef__":true,"id":4923}},"4927":{"sourceObj":{"__isSmartRef__":true,"id":4863},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":4923},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":4928},"dependedBy":{"__isSmartRef__":true,"id":4923},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4928":{"source":{"__isSmartRef__":true,"id":4863},"target":{"__isSmartRef__":true,"id":4923}},"4929":{"sourceObj":{"__isSmartRef__":true,"id":4863},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":4923},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":4930},"dependedBy":{"__isSmartRef__":true,"id":4923},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4930":{"source":{"__isSmartRef__":true,"id":4863},"target":{"__isSmartRef__":true,"id":4923}},"4931":{"sourceObj":{"__isSmartRef__":true,"id":4863},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":4923},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":4932},"dependedBy":{"__isSmartRef__":true,"id":4923},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4932":{"source":{"__isSmartRef__":true,"id":4863},"target":{"__isSmartRef__":true,"id":4923}},"4933":{"d":0.9347623017725522,"a":0.9347623017725522,"f":3485.245045045044,"e":728.5390390390387,"c":0.3552737524570028,"b":-0.3552737524570028,"matrix_":{"__isSmartRef__":true,"id":4934},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"4934":{"a":0.9347623017725522,"b":-0.3552737524570028,"c":0.3552737524570028,"d":0.9347623017725522,"e":728.5390390390387,"f":3485.245045045044,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"4935":{"sourceObj":{"__isSmartRef__":true,"id":4863},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":4936},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":5048},"dependendConnections":[{"__isSmartRef__":true,"id":5049},{"__isSmartRef__":true,"id":5051},{"__isSmartRef__":true,"id":5053},{"__isSmartRef__":true,"id":5055}],"oldTransform":{"__isSmartRef__":true,"id":5057},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"4936":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":4937},"id":"4809CC50-2A92-4A4F-9D0D-829B6BA12A0B","eventHandler":{"__isSmartRef__":true,"id":4940},"__layered_droppingEnabled__":true,"halosEnabled":true,"isBeingDragged":false,"controlPoints":[{"__isSmartRef__":true,"id":4941},{"__isSmartRef__":true,"id":4942}],"showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":4943},"name":"Connector1","derivationIds":[731,"5E6BD741-9C99-47B9-95C1-7A028178DB17","A8D5C37A-F23F-47FE-8DE2-211CE4484A4F","F722069B-8602-4E8D-BE3F-92A1E0C0EF28","D5ED19F9-968E-4C7E-9936-69F2735A813F","A9E370BC-F208-425C-BFFC-F8D6BB52E11F","4E431641-D056-46CB-B2A8-6626382EF423"],"_ClipMode":"visible","controlPointsHalos":[],"prevScroll":[0,0],"grabbingEnabled":false,"moved":true,"#startLetters":"controlPoints[0]","fromMorph":{"__isSmartRef__":true,"id":4863},"toMorph":{"__isSmartRef__":true,"id":3202},"update":{"__isSmartRef__":true,"id":4949},"isCopyMorphRef":true,"morphRefId":2,"selectedMorph":{"__isSmartRef__":true,"id":3202},"selectedMorphHighlights":[],"owner":null,"_Rotation":0,"_Scale":1,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4951},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","distanceToDragEvent":"lively.pt(295.7,-20.8)","_Position":"lively.pt(10527.5,52997.9)"},"4937":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":4938},{"__isSmartRef__":true,"id":4939}],"_ClipMode":"visible","_BorderWidth":3.1119999999999997,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Padding","_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(-75.9,-6.9)","_Extent":"lively.pt(151.7,13.9)","_BorderColor":"Color.rgb(161,161,161)"},"4938":{"isAbsolute":true,"x":74.86198803712648,"y":-4.949983532278566,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"4939":{"isAbsolute":true,"x":-73.86198803712614,"y":5.949983532282204,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"4940":{"morph":{"__isSmartRef__":true,"id":4936},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4941":{"morph":{"__isSmartRef__":true,"id":4936},"index":0,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"4942":{"morph":{"__isSmartRef__":true,"id":4936},"index":1,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"4943":{"requiredModules":[],"migrationLevel":4,"partsSpaceName":"PartsBin/Jens/","comment":"Yes, I think I got it again: Powerful and nice connectors.\nThis time 100 % Part only!","partName":"Connector","lastModifiedDate":{"__isSmartRef__":true,"id":4944},"revisionOnLoad":186829,"changes":[{"__isSmartRef__":true,"id":4945},{"__isSmartRef__":true,"id":4947}],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"4944":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:04:50 GMT+0100 (CET)"},"4945":{"date":{"__isSmartRef__":true,"id":4946},"author":"jenslincke","message":"no comment","id":"28165CED-C8C5-4B8E-9655-645E3F5099BB"},"4946":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:42 GMT+0100 (CET)"},"4947":{"date":{"__isSmartRef__":true,"id":4948},"author":"jenslincke","message":"no comment","id":"117C964B-9768-48F2-8EC8-D4328478198F"},"4948":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:05:07 GMT+0100 (CET)"},"4949":{"d":1,"a":1,"f":906.1,"e":107.8,"c":0,"b":0,"matrix_":{"__isSmartRef__":true,"id":4950},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"4950":{"a":1,"b":0,"c":0,"d":1,"e":107.8,"f":906.1,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"4951":{"connect":{"__isSmartRef__":true,"id":4952},"updatePosition":{"__isSmartRef__":true,"id":4956},"updateControlPoint":{"__isSmartRef__":true,"id":4960},"disconnectMorph":{"__isSmartRef__":true,"id":4964},"connectMorph":{"__isSmartRef__":true,"id":4968},"onMouseOver":{"__isSmartRef__":true,"id":4972},"onMouseOut":{"__isSmartRef__":true,"id":4976},"makeHandle":{"__isSmartRef__":true,"id":4984},"showFromHandle":{"__isSmartRef__":true,"id":4988},"showToHandle":{"__isSmartRef__":true,"id":4992},"reset":{"__isSmartRef__":true,"id":4996},"onDragInHandle":{"__isSmartRef__":true,"id":5000},"onDragStartInHandle":{"__isSmartRef__":true,"id":5004},"onDragEndInHandle":{"__isSmartRef__":true,"id":5008},"connectFrom":{"__isSmartRef__":true,"id":5012},"connectTo":{"__isSmartRef__":true,"id":5016},"hideToHandle":{"__isSmartRef__":true,"id":5020},"hideFromHandle":{"__isSmartRef__":true,"id":5024},"updateIntersection":{"__isSmartRef__":true,"id":5028},"lineIntersect":{"__isSmartRef__":true,"id":5032},"intersectMorphLinePoints":{"__isSmartRef__":true,"id":5036},"intersectMorph":{"__isSmartRef__":true,"id":5040},"globalShapePathFromMorph":{"__isSmartRef__":true,"id":5044}},"4952":{"varMapping":{"__isSmartRef__":true,"id":4953},"source":"function connect(morphA, morphB) {\n this.connectFrom(morphA)\n this.connectTo(morphB)\n this.updatePosition()\n}","funcProperties":{"__isSmartRef__":true,"id":4954},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4953":{"this":{"__isSmartRef__":true,"id":4936}},"4954":{"timestamp":{"__isSmartRef__":true,"id":4955},"user":"jenslincke","tags":[]},"4955":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:50:49 GMT+0100 (CET)"},"4956":{"varMapping":{"__isSmartRef__":true,"id":4957},"source":"function updatePosition() {\n this.updateControlPoint(this.controlPoints[0], this.fromMorph)\n this.updateControlPoint(this.controlPoints[1], this.toMorph)\n this.updateIntersection(this.fromMorph, this.controlPoints[0])\n this.updateIntersection(this.toMorph, this.controlPoints[1])\n\n this.adjustOrigin(this.bounds().extent().scaleBy(0.5))\n}","funcProperties":{"__isSmartRef__":true,"id":4958},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4957":{"this":{"__isSmartRef__":true,"id":4936}},"4958":{"timestamp":{"__isSmartRef__":true,"id":4959},"user":"jenslincke","tags":[]},"4959":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:06:20 GMT+0100 (CET)"},"4960":{"varMapping":{"__isSmartRef__":true,"id":4961},"source":"function updateControlPoint(cp, morph) {\n if (!cp || !morph) return;\n cp.setGlobalPos(morph.worldPoint(morph.shape.bounds().center()))\n}","funcProperties":{"__isSmartRef__":true,"id":4962},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4961":{"this":{"__isSmartRef__":true,"id":4936}},"4962":{"timestamp":{"__isSmartRef__":true,"id":4963},"user":"jenslincke","tags":[]},"4963":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:45:56 GMT+0100 (CET)"},"4964":{"varMapping":{"__isSmartRef__":true,"id":4965},"source":"function disconnectMorph(morph) {\n if (!morph) return;\n lively.bindings.disconnect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":4966},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4965":{"this":{"__isSmartRef__":true,"id":4936}},"4966":{"timestamp":{"__isSmartRef__":true,"id":4967},"user":"jenslincke","tags":[]},"4967":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:19:18 GMT+0100 (CET)"},"4968":{"varMapping":{"__isSmartRef__":true,"id":4969},"source":"function connectMorph(morph) {\n if (morph)\n lively.bindings.connect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":4970},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4969":{"this":{"__isSmartRef__":true,"id":4936}},"4970":{"timestamp":{"__isSmartRef__":true,"id":4971},"user":"jenslincke","tags":[]},"4971":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:52:12 GMT+0100 (CET)"},"4972":{"varMapping":{"__isSmartRef__":true,"id":4973},"source":"function onMouseOver(evt) {\n var p = evt.mousePoint.scaleBy(this.world().getScale())\n\n var cp1 = this.controlPoints[0].getGlobalPos();\n if (p.dist(cp1) < 20) {\n this.showFromHandle()\n } else {\n this.hideFromHandle()\n }\n var cp2 = this.controlPoints[1].getGlobalPos();\n if (p.dist(cp2) < 20) {\n this.showToHandle()\n } else {\n this.hideToHandle()\n }\n}","funcProperties":{"__isSmartRef__":true,"id":4974},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4973":{"this":{"__isSmartRef__":true,"id":4936}},"4974":{"timestamp":{"__isSmartRef__":true,"id":4975},"user":"jenslincke","tags":[]},"4975":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:23:03 GMT+0100 (CET)"},"4976":{"varMapping":{"__isSmartRef__":true,"id":4977},"source":"function onMouseOut(evt) {\n // this.hideFromHandle()\n // this.hideToHandle()\n}","funcProperties":{"__isSmartRef__":true,"id":4982},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4977":{"this":{"__isSmartRef__":true,"id":4936},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4978}},"4978":{"$super":{"__isSmartRef__":true,"id":4979}},"4979":{"varMapping":{"__isSmartRef__":true,"id":4980},"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":4981},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4980":{"obj":{"__isSmartRef__":true,"id":4936},"name":"onMouseOut"},"4981":{},"4982":{"timestamp":{"__isSmartRef__":true,"id":4983},"user":"jenslincke","tags":[]},"4983":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:54:53 GMT+0100 (CET)"},"4984":{"varMapping":{"__isSmartRef__":true,"id":4985},"source":"function makeHandle() {\n var m = lively.morphic.Morph.makeRectangle(0,0,10,10);\n m.disableGrabbing()\n m.enableDragging()\n m.connector = this;\n // move real behavior to a place which is easier to develop\n // do not use bind, because we like late binding \n m.addScript(function onDragStart(evt) {\n this.connector.onDragStartInHandle(this, evt)\n })\n m.addScript(function onDrag(evt) {\n this.connector.onDragInHandle(this, evt)\n })\n m.addScript(function onDragEnd(evt) {\n this.connector.onDragEndInHandle(this, evt)\n })\n m.isEpiMorph = true;\n return m\n}","funcProperties":{"__isSmartRef__":true,"id":4986},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4985":{"this":{"__isSmartRef__":true,"id":4936}},"4986":{"timestamp":{"__isSmartRef__":true,"id":4987},"user":"jenslincke","tags":[]},"4987":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:08:29 GMT+0100 (CET)"},"4988":{"varMapping":{"__isSmartRef__":true,"id":4989},"source":"function showFromHandle() {\n if (!this.fromHandle) {\n this.fromHandle = this.makeHandle();\n this.fromHandle.setFill(Color.red)\n this.fromHandle.isFromHandle = true;\n }\n this.fromHandle.openInWorld();\n this.fromHandle.controlPoint = this.controlPoints[0];\n this.fromHandle.setPosition(this.controlPoints[0].getGlobalPos().subPt(pt(5,5)))\n return this.fromHandle\n}","funcProperties":{"__isSmartRef__":true,"id":4990},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4989":{"this":{"__isSmartRef__":true,"id":4936}},"4990":{"timestamp":{"__isSmartRef__":true,"id":4991},"user":"jenslincke","tags":[]},"4991":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:13:03 GMT+0100 (CET)"},"4992":{"varMapping":{"__isSmartRef__":true,"id":4993},"source":"function showToHandle() {\n if (!this.toHandle) {\n this.toHandle = this.makeHandle();\n this.toHandle.setFill(Color.red)\n this.toHandle.isToHandle = true;\n\n }\n this.toHandle.openInWorld();\n this.toHandle.controlPoint = this.controlPoints[1];\n this.toHandle.setPosition(this.controlPoints[1].getGlobalPos().subPt(pt(5,5)))\n return this.toHandle\n}","funcProperties":{"__isSmartRef__":true,"id":4994},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4993":{"this":{"__isSmartRef__":true,"id":4936}},"4994":{"timestamp":{"__isSmartRef__":true,"id":4995},"user":"jenslincke","tags":[]},"4995":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:20:25 GMT+0100 (CET)"},"4996":{"varMapping":{"__isSmartRef__":true,"id":4997},"source":"function reset() {\n if (this.fromHandle) {\n this.fromHandle.remove()\n delete this.fromHandle\n }\n if (this.toHandle) {\n this.toHandle.remove()\n delete this.toHandle\n }\n // this.controlPoints[1].setPos(pt(200,200))\n}","funcProperties":{"__isSmartRef__":true,"id":4998},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4997":{"this":{"__isSmartRef__":true,"id":4936}},"4998":{"timestamp":{"__isSmartRef__":true,"id":4999},"user":"jenslincke","tags":[]},"4999":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:15:00 GMT+0100 (CET)"},"5000":{"varMapping":{"__isSmartRef__":true,"id":5001},"source":"function onDragInHandle(handle, evt) {\n\n var pos = handle.getPositionInWorld();\n var delta = evt.hand.getPosition().subPt(pos);\n handle.moveBy(delta)\n pos = handle.getPositionInWorld();\n if (handle.controlPoint)\n handle.controlPoint.setGlobalPos(pos.addPt(pt(5,5)))\n var morphs = this.owner.morphsContainingPoint(pos)\n morphs = morphs.reject(function(ea) {\n return ea.isWorld || (ea === handle) || (ea === this) || \n (ea === this.owner)\n }, this)\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n this.selectedMorph = morphs.first();\n this.selectedMorphHighlights = show(this.selectedMorph)\n handle.startPos = evt.getPosition();\n}","funcProperties":{"__isSmartRef__":true,"id":5002},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5001":{"this":{"__isSmartRef__":true,"id":4936}},"5002":{"timestamp":{"__isSmartRef__":true,"id":5003},"user":"jenslincke","tags":[]},"5003":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:06:40 GMT+0100 (CET)"},"5004":{"varMapping":{"__isSmartRef__":true,"id":5005},"source":"function onDragStartInHandle(handle, evt) {\n handle.startPos = evt.getPosition()\n}","funcProperties":{"__isSmartRef__":true,"id":5006},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5005":{"this":{"__isSmartRef__":true,"id":4936}},"5006":{"timestamp":{"__isSmartRef__":true,"id":5007},"user":"jenslincke","tags":[]},"5007":{"isSerializedDate":true,"string":"Thu Dec 13 2012 15:51:13 GMT+0100 (CET)"},"5008":{"varMapping":{"__isSmartRef__":true,"id":5009},"source":"function onDragEndInHandle(handle, evt) {\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n \n if (handle.isFromHandle) this.connectFrom(this.selectedMorph)\n if (handle.isToHandle) this.connectTo(this.selectedMorph)\n handle.remove()\n}","funcProperties":{"__isSmartRef__":true,"id":5010},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5009":{"this":{"__isSmartRef__":true,"id":4936}},"5010":{"timestamp":{"__isSmartRef__":true,"id":5011},"user":"jenslincke","tags":[]},"5011":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:44:35 GMT+0100 (CET)"},"5012":{"varMapping":{"__isSmartRef__":true,"id":5013},"source":"function connectFrom(morph) {\n if (morph && morph === this.toMorph) return; // not allowed\n\n this.disconnectMorph(this.fromMorph)\n this.fromMorph = morph;\n this.connectMorph(this.fromMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":5014},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5013":{"this":{"__isSmartRef__":true,"id":4936}},"5014":{"timestamp":{"__isSmartRef__":true,"id":5015},"user":"jenslincke","tags":[]},"5015":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:02:22 GMT+0100 (CET)"},"5016":{"varMapping":{"__isSmartRef__":true,"id":5017},"source":"function connectTo(morph) {\n\n if (morph && morph === this.fromMorph) return; // not allowed\n\n this.disconnectMorph(this.toMorph)\n this.toMorph = morph;\n this.connectMorph(this.toMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":5018},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5017":{"this":{"__isSmartRef__":true,"id":4936}},"5018":{"timestamp":{"__isSmartRef__":true,"id":5019},"user":"jenslincke","tags":[]},"5019":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:02:30 GMT+0100 (CET)"},"5020":{"varMapping":{"__isSmartRef__":true,"id":5021},"source":"function hideToHandle() {\n if (this.toHandle) {\n this.toHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":5022},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5021":{"this":{"__isSmartRef__":true,"id":4936}},"5022":{"timestamp":{"__isSmartRef__":true,"id":5023},"user":"jenslincke","tags":[]},"5023":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:51:59 GMT+0100 (CET)"},"5024":{"varMapping":{"__isSmartRef__":true,"id":5025},"source":"function hideFromHandle() {\n if (this.fromHandle) {\n this.fromHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":5026},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5025":{"this":{"__isSmartRef__":true,"id":4936}},"5026":{"timestamp":{"__isSmartRef__":true,"id":5027},"user":"jenslincke","tags":[]},"5027":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:52:18 GMT+0100 (CET)"},"5028":{"varMapping":{"__isSmartRef__":true,"id":5029},"source":"function updateIntersection(morph, cp) {\n if (!morph) return;\n var intersection = this.intersectMorph(morph)[0];\n if (intersection) {\n cp.setGlobalPos(intersection);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":5030},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5029":{"this":{"__isSmartRef__":true,"id":4936}},"5030":{"timestamp":{"__isSmartRef__":true,"id":5031},"user":"jenslincke","tags":[]},"5031":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:32 GMT+0100 (CET)"},"5032":{"varMapping":{"__isSmartRef__":true,"id":5033},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":5034},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5033":{"this":{"__isSmartRef__":true,"id":4936}},"5034":{"timestamp":{"__isSmartRef__":true,"id":5035},"user":"jenslincke","tags":[]},"5035":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:47:12 GMT+0100 (CET)"},"5036":{"varMapping":{"__isSmartRef__":true,"id":5037},"source":"function intersectMorphLinePoints(morph, a1, a2) {\n var points = this.globalShapePathFromMorph(morph);\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":5038},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5037":{"this":{"__isSmartRef__":true,"id":4936}},"5038":{"timestamp":{"__isSmartRef__":true,"id":5039},"user":"jenslincke","tags":[]},"5039":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:21 GMT+0100 (CET)"},"5040":{"varMapping":{"__isSmartRef__":true,"id":5041},"source":"function intersectMorph(morph) {\n var line = this;\n return this.intersectMorphLinePoints(morph,\n line.controlPoints[0].getGlobalPos(), line.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":5042},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5041":{"this":{"__isSmartRef__":true,"id":4936}},"5042":{"timestamp":{"__isSmartRef__":true,"id":5043},"user":"jenslincke","tags":[]},"5043":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:47 GMT+0100 (CET)"},"5044":{"varMapping":{"__isSmartRef__":true,"id":5045},"source":"function globalShapePathFromMorph(morph) {\n var b = morph.shape.bounds();\n var p1 = morph.worldPoint(b.topLeft()),\n p2 = morph.worldPoint(b.topRight()),\n p3 = morph.worldPoint(b.bottomRight()),\n p4 = morph.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":5046},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5045":{"this":{"__isSmartRef__":true,"id":4936}},"5046":{"timestamp":{"__isSmartRef__":true,"id":5047},"user":"jenslincke","tags":[]},"5047":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:00 GMT+0100 (CET)"},"5048":{"source":{"__isSmartRef__":true,"id":4863},"target":{"__isSmartRef__":true,"id":4936}},"5049":{"sourceObj":{"__isSmartRef__":true,"id":4863},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":4935},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5050},"dependedBy":{"__isSmartRef__":true,"id":4935},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5050":{"source":{"__isSmartRef__":true,"id":4863},"target":{"__isSmartRef__":true,"id":4935}},"5051":{"sourceObj":{"__isSmartRef__":true,"id":4863},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":4935},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5052},"dependedBy":{"__isSmartRef__":true,"id":4935},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5052":{"source":{"__isSmartRef__":true,"id":4863},"target":{"__isSmartRef__":true,"id":4935}},"5053":{"sourceObj":{"__isSmartRef__":true,"id":4863},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":4935},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5054},"dependedBy":{"__isSmartRef__":true,"id":4935},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5054":{"source":{"__isSmartRef__":true,"id":4863},"target":{"__isSmartRef__":true,"id":4935}},"5055":{"sourceObj":{"__isSmartRef__":true,"id":4863},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":4935},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":5056},"dependedBy":{"__isSmartRef__":true,"id":4935},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5056":{"source":{"__isSmartRef__":true,"id":4863},"target":{"__isSmartRef__":true,"id":4935}},"5057":{"d":0.9347623017725522,"a":0.9347623017725522,"f":3485.245045045044,"e":728.5390390390387,"c":0.3552737524570028,"b":-0.3552737524570028,"matrix_":{"__isSmartRef__":true,"id":5058},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"5058":{"a":0.9347623017725522,"b":-0.3552737524570028,"c":0.3552737524570028,"d":0.9347623017725522,"e":728.5390390390387,"f":3485.245045045044,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"5059":{"globalShapePath":{"__isSmartRef__":true,"id":5060},"lineIntersect":{"__isSmartRef__":true,"id":5063},"intersectLine":{"__isSmartRef__":true,"id":5067},"intersectLineMorph":{"__isSmartRef__":true,"id":5070}},"5060":{"varMapping":{"__isSmartRef__":true,"id":5061},"source":"function globalShapePath() {\n var b = this.shape.bounds();\n var p1 = this.worldPoint(b.topLeft()),\n p2 = this.worldPoint(b.topRight()),\n p3 = this.worldPoint(b.bottomRight()),\n p4 = this.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":5062},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5061":{"this":{"__isSmartRef__":true,"id":4863}},"5062":{},"5063":{"varMapping":{"__isSmartRef__":true,"id":5064},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":5065},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5064":{"this":{"__isSmartRef__":true,"id":4863}},"5065":{"timestamp":{"__isSmartRef__":true,"id":5066},"user":"jenslincke","tags":[]},"5066":{"isSerializedDate":true,"string":"Thu Dec 13 2012 13:42:55 GMT+0100 (CET)"},"5067":{"varMapping":{"__isSmartRef__":true,"id":5068},"source":"function intersectLine(a1, a2) {\n var points = this.globalShapePath();\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":5069},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5068":{"this":{"__isSmartRef__":true,"id":4863}},"5069":{},"5070":{"varMapping":{"__isSmartRef__":true,"id":5071},"source":"function intersectLineMorph(m) {\n return this.intersectLine(m.controlPoints[0].getGlobalPos(), m.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":5072},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5071":{"this":{"__isSmartRef__":true,"id":4863}},"5072":{},"5073":{"d":1,"a":1,"f":906.1,"e":107.8,"c":0,"b":0,"matrix_":{"__isSmartRef__":true,"id":5074},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"5074":{"a":1,"b":0,"c":0,"d":1,"e":107.8,"f":906.1,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"5075":{"connect":{"__isSmartRef__":true,"id":5076},"updatePosition":{"__isSmartRef__":true,"id":5080},"updateControlPoint":{"__isSmartRef__":true,"id":5084},"disconnectMorph":{"__isSmartRef__":true,"id":5088},"connectMorph":{"__isSmartRef__":true,"id":5092},"onMouseOver":{"__isSmartRef__":true,"id":5096},"onMouseOut":{"__isSmartRef__":true,"id":5100},"makeHandle":{"__isSmartRef__":true,"id":5108},"showFromHandle":{"__isSmartRef__":true,"id":5112},"showToHandle":{"__isSmartRef__":true,"id":5116},"reset":{"__isSmartRef__":true,"id":5120},"onDragInHandle":{"__isSmartRef__":true,"id":5124},"onDragStartInHandle":{"__isSmartRef__":true,"id":5128},"onDragEndInHandle":{"__isSmartRef__":true,"id":5132},"connectFrom":{"__isSmartRef__":true,"id":5136},"connectTo":{"__isSmartRef__":true,"id":5140},"hideToHandle":{"__isSmartRef__":true,"id":5144},"hideFromHandle":{"__isSmartRef__":true,"id":5148},"updateIntersection":{"__isSmartRef__":true,"id":5152},"lineIntersect":{"__isSmartRef__":true,"id":5156},"intersectMorphLinePoints":{"__isSmartRef__":true,"id":5160},"intersectMorph":{"__isSmartRef__":true,"id":5164},"globalShapePathFromMorph":{"__isSmartRef__":true,"id":5168}},"5076":{"varMapping":{"__isSmartRef__":true,"id":5077},"source":"function connect(morphA, morphB) {\n this.connectFrom(morphA)\n this.connectTo(morphB)\n this.updatePosition()\n}","funcProperties":{"__isSmartRef__":true,"id":5078},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5077":{"this":{"__isSmartRef__":true,"id":4853}},"5078":{"timestamp":{"__isSmartRef__":true,"id":5079},"user":"jenslincke","tags":[]},"5079":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:50:49 GMT+0100 (CET)"},"5080":{"varMapping":{"__isSmartRef__":true,"id":5081},"source":"function updatePosition() {\n this.updateControlPoint(this.controlPoints[0], this.fromMorph)\n this.updateControlPoint(this.controlPoints[1], this.toMorph)\n this.updateIntersection(this.fromMorph, this.controlPoints[0])\n this.updateIntersection(this.toMorph, this.controlPoints[1])\n\n if (this.controlPoints[0].getPos().equalPt(this.controlPoints[1].getPos()))\n this.controlPoints[1].setPos(this.controlPoints[1].getPos().addPt(pt(30,0)))\n\n this.adjustOrigin(this.bounds().extent().scaleBy(0.5))\n \n}","funcProperties":{"__isSmartRef__":true,"id":5082},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5081":{"this":{"__isSmartRef__":true,"id":4853}},"5082":{"timestamp":{"__isSmartRef__":true,"id":5083},"user":"jenslincke","tags":[]},"5083":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:59:26 GMT+0100 (CET)"},"5084":{"varMapping":{"__isSmartRef__":true,"id":5085},"source":"function updateControlPoint(cp, morph) {\n if (!cp || !morph) return;\n cp.setGlobalPos(morph.worldPoint(morph.shape.bounds().center()))\n}","funcProperties":{"__isSmartRef__":true,"id":5086},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5085":{"this":{"__isSmartRef__":true,"id":4853}},"5086":{"timestamp":{"__isSmartRef__":true,"id":5087},"user":"jenslincke","tags":[]},"5087":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:45:56 GMT+0100 (CET)"},"5088":{"varMapping":{"__isSmartRef__":true,"id":5089},"source":"function disconnectMorph(morph) {\n if (!morph) return;\n lively.bindings.disconnect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":5090},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5089":{"this":{"__isSmartRef__":true,"id":4853}},"5090":{"timestamp":{"__isSmartRef__":true,"id":5091},"user":"jenslincke","tags":[]},"5091":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:19:18 GMT+0100 (CET)"},"5092":{"varMapping":{"__isSmartRef__":true,"id":5093},"source":"function connectMorph(morph) {\n if (morph)\n lively.bindings.connect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":5094},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5093":{"this":{"__isSmartRef__":true,"id":4853}},"5094":{"timestamp":{"__isSmartRef__":true,"id":5095},"user":"jenslincke","tags":[]},"5095":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:52:12 GMT+0100 (CET)"},"5096":{"varMapping":{"__isSmartRef__":true,"id":5097},"source":"function onMouseOver(evt) {\n var p = evt.mousePoint.scaleBy(this.world().getScale())\n\n var cp1 = this.controlPoints[0].getGlobalPos();\n if (p.dist(cp1) < 20) {\n this.showFromHandle()\n } else {\n this.hideFromHandle()\n }\n var cp2 = this.controlPoints[1].getGlobalPos();\n if (p.dist(cp2) < 20) {\n this.showToHandle()\n } else {\n this.hideToHandle()\n }\n}","funcProperties":{"__isSmartRef__":true,"id":5098},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5097":{"this":{"__isSmartRef__":true,"id":4853}},"5098":{"timestamp":{"__isSmartRef__":true,"id":5099},"user":"jenslincke","tags":[]},"5099":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:23:03 GMT+0100 (CET)"},"5100":{"varMapping":{"__isSmartRef__":true,"id":5101},"source":"function onMouseOut(evt) {\n // this.hideFromHandle()\n // this.hideToHandle()\n}","funcProperties":{"__isSmartRef__":true,"id":5106},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5101":{"this":{"__isSmartRef__":true,"id":4853},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5102}},"5102":{"$super":{"__isSmartRef__":true,"id":5103}},"5103":{"varMapping":{"__isSmartRef__":true,"id":5104},"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":5105},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5104":{"obj":{"__isSmartRef__":true,"id":4853},"name":"onMouseOut"},"5105":{},"5106":{"timestamp":{"__isSmartRef__":true,"id":5107},"user":"jenslincke","tags":[]},"5107":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:54:53 GMT+0100 (CET)"},"5108":{"varMapping":{"__isSmartRef__":true,"id":5109},"source":"function makeHandle() {\n var m = lively.morphic.Morph.makeRectangle(0,0,10,10);\n m.disableGrabbing()\n m.enableDragging()\n m.connector = this;\n // move real behavior to a place which is easier to develop\n // do not use bind, because we like late binding \n m.addScript(function onDragStart(evt) {\n this.connector.onDragStartInHandle(this, evt)\n })\n m.addScript(function onDrag(evt) {\n this.connector.onDragInHandle(this, evt)\n })\n m.addScript(function onDragEnd(evt) {\n this.connector.onDragEndInHandle(this, evt)\n })\n m.isEpiMorph = true;\n return m\n}","funcProperties":{"__isSmartRef__":true,"id":5110},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5109":{"this":{"__isSmartRef__":true,"id":4853}},"5110":{"timestamp":{"__isSmartRef__":true,"id":5111},"user":"jenslincke","tags":[]},"5111":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:08:29 GMT+0100 (CET)"},"5112":{"varMapping":{"__isSmartRef__":true,"id":5113},"source":"function showFromHandle() {\n if (!this.fromHandle) {\n this.fromHandle = this.makeHandle();\n this.fromHandle.setFill(Color.red)\n this.fromHandle.isFromHandle = true;\n }\n this.fromHandle.openInWorld();\n this.fromHandle.controlPoint = this.controlPoints[0];\n this.fromHandle.setPosition(this.controlPoints[0].getGlobalPos().subPt(pt(5,5)))\n return this.fromHandle\n}","funcProperties":{"__isSmartRef__":true,"id":5114},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5113":{"this":{"__isSmartRef__":true,"id":4853}},"5114":{"timestamp":{"__isSmartRef__":true,"id":5115},"user":"jenslincke","tags":[]},"5115":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:13:03 GMT+0100 (CET)"},"5116":{"varMapping":{"__isSmartRef__":true,"id":5117},"source":"function showToHandle() {\n if (!this.toHandle) {\n this.toHandle = this.makeHandle();\n this.toHandle.setFill(Color.red)\n this.toHandle.isToHandle = true;\n\n }\n this.toHandle.openInWorld();\n this.toHandle.controlPoint = this.controlPoints[1];\n this.toHandle.setPosition(this.controlPoints[1].getGlobalPos().subPt(pt(5,5)))\n return this.toHandle\n}","funcProperties":{"__isSmartRef__":true,"id":5118},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5117":{"this":{"__isSmartRef__":true,"id":4853}},"5118":{"timestamp":{"__isSmartRef__":true,"id":5119},"user":"jenslincke","tags":[]},"5119":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:20:25 GMT+0100 (CET)"},"5120":{"varMapping":{"__isSmartRef__":true,"id":5121},"source":"function reset() {\n if (this.fromHandle) {\n this.fromHandle.remove()\n delete this.fromHandle\n }\n if (this.toHandle) {\n this.toHandle.remove()\n delete this.toHandle\n }\n // this.controlPoints[1].setPos(pt(200,200))\n}","funcProperties":{"__isSmartRef__":true,"id":5122},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5121":{"this":{"__isSmartRef__":true,"id":4853}},"5122":{"timestamp":{"__isSmartRef__":true,"id":5123},"user":"jenslincke","tags":[]},"5123":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:15:00 GMT+0100 (CET)"},"5124":{"varMapping":{"__isSmartRef__":true,"id":5125},"source":"function onDragInHandle(handle, evt) {\n\n var pos = handle.getPositionInWorld();\n var delta = evt.hand.getPosition().subPt(pos);\n handle.moveBy(delta)\n pos = handle.getPositionInWorld();\n if (handle.controlPoint)\n handle.controlPoint.setGlobalPos(pos.addPt(pt(5,5)))\n var morphs = this.owner.morphsContainingPoint(pos)\n morphs = morphs.reject(function(ea) {\n return ea.isWorld || (ea === handle) || (ea === this) || \n (ea === this.owner)\n }, this)\n this.get('Console').textString = morphs\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n this.selectedMorph = morphs.first();\n this.selectedMorphHighlights = show(this.selectedMorph)\n handle.startPos = evt.getPosition();\n}","funcProperties":{"__isSmartRef__":true,"id":5126},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5125":{"this":{"__isSmartRef__":true,"id":4853}},"5126":{"timestamp":{"__isSmartRef__":true,"id":5127},"user":"jenslincke","tags":[]},"5127":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:09:40 GMT+0100 (CET)"},"5128":{"varMapping":{"__isSmartRef__":true,"id":5129},"source":"function onDragStartInHandle(handle, evt) {\n handle.startPos = evt.getPosition()\n}","funcProperties":{"__isSmartRef__":true,"id":5130},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5129":{"this":{"__isSmartRef__":true,"id":4853}},"5130":{"timestamp":{"__isSmartRef__":true,"id":5131},"user":"jenslincke","tags":[]},"5131":{"isSerializedDate":true,"string":"Thu Dec 13 2012 15:51:13 GMT+0100 (CET)"},"5132":{"varMapping":{"__isSmartRef__":true,"id":5133},"source":"function onDragEndInHandle(handle, evt) {\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n \n if (handle.isFromHandle) this.connectFrom(this.selectedMorph)\n if (handle.isToHandle) this.connectTo(this.selectedMorph)\n handle.remove()\n}","funcProperties":{"__isSmartRef__":true,"id":5134},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5133":{"this":{"__isSmartRef__":true,"id":4853}},"5134":{"timestamp":{"__isSmartRef__":true,"id":5135},"user":"jenslincke","tags":[]},"5135":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:44:35 GMT+0100 (CET)"},"5136":{"varMapping":{"__isSmartRef__":true,"id":5137},"source":"function connectFrom(morph) {\n if (morph === this.toMorph) return; // not allowed\n\n this.disconnectMorph(this.fromMorph)\n this.fromMorph = morph;\n this.connectMorph(this.fromMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":5138},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5137":{"this":{"__isSmartRef__":true,"id":4853}},"5138":{"timestamp":{"__isSmartRef__":true,"id":5139},"user":"jenslincke","tags":[]},"5139":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:57:22 GMT+0100 (CET)"},"5140":{"varMapping":{"__isSmartRef__":true,"id":5141},"source":"function connectTo(morph) {\n\n if (morph === this.fromMorph) return; // not allowed\n\n this.disconnectMorph(this.toMorph)\n this.toMorph = morph;\n this.connectMorph(this.toMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":5142},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5141":{"this":{"__isSmartRef__":true,"id":4853}},"5142":{"timestamp":{"__isSmartRef__":true,"id":5143},"user":"jenslincke","tags":[]},"5143":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:57:14 GMT+0100 (CET)"},"5144":{"varMapping":{"__isSmartRef__":true,"id":5145},"source":"function hideToHandle() {\n if (this.toHandle) {\n this.toHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":5146},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5145":{"this":{"__isSmartRef__":true,"id":4853}},"5146":{"timestamp":{"__isSmartRef__":true,"id":5147},"user":"jenslincke","tags":[]},"5147":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:51:59 GMT+0100 (CET)"},"5148":{"varMapping":{"__isSmartRef__":true,"id":5149},"source":"function hideFromHandle() {\n if (this.fromHandle) {\n this.fromHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":5150},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5149":{"this":{"__isSmartRef__":true,"id":4853}},"5150":{"timestamp":{"__isSmartRef__":true,"id":5151},"user":"jenslincke","tags":[]},"5151":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:52:18 GMT+0100 (CET)"},"5152":{"varMapping":{"__isSmartRef__":true,"id":5153},"source":"function updateIntersection(morph, cp) {\n if (!morph) return;\n var intersection = this.intersectMorph(morph)[0];\n if (intersection) {\n cp.setGlobalPos(intersection);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":5154},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5153":{"this":{"__isSmartRef__":true,"id":4853}},"5154":{"timestamp":{"__isSmartRef__":true,"id":5155},"user":"jenslincke","tags":[]},"5155":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:32 GMT+0100 (CET)"},"5156":{"varMapping":{"__isSmartRef__":true,"id":5157},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":5158},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5157":{"this":{"__isSmartRef__":true,"id":4853}},"5158":{"timestamp":{"__isSmartRef__":true,"id":5159},"user":"jenslincke","tags":[]},"5159":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:47:12 GMT+0100 (CET)"},"5160":{"varMapping":{"__isSmartRef__":true,"id":5161},"source":"function intersectMorphLinePoints(morph, a1, a2) {\n var points = this.globalShapePathFromMorph(morph);\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":5162},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5161":{"this":{"__isSmartRef__":true,"id":4853}},"5162":{"timestamp":{"__isSmartRef__":true,"id":5163},"user":"jenslincke","tags":[]},"5163":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:21 GMT+0100 (CET)"},"5164":{"varMapping":{"__isSmartRef__":true,"id":5165},"source":"function intersectMorph(morph) {\n var line = this;\n return this.intersectMorphLinePoints(morph,\n line.controlPoints[0].getGlobalPos(), line.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":5166},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5165":{"this":{"__isSmartRef__":true,"id":4853}},"5166":{"timestamp":{"__isSmartRef__":true,"id":5167},"user":"jenslincke","tags":[]},"5167":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:47 GMT+0100 (CET)"},"5168":{"varMapping":{"__isSmartRef__":true,"id":5169},"source":"function globalShapePathFromMorph(morph) {\n var b = morph.shape.bounds();\n var p1 = morph.worldPoint(b.topLeft()),\n p2 = morph.worldPoint(b.topRight()),\n p3 = morph.worldPoint(b.bottomRight()),\n p4 = morph.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":5170},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5169":{"this":{"__isSmartRef__":true,"id":4853}},"5170":{"timestamp":{"__isSmartRef__":true,"id":5171},"user":"jenslincke","tags":[]},"5171":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:00 GMT+0100 (CET)"},"5172":{"morph":{"__isSmartRef__":true,"id":4822},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(142.4,3530.4)"},"5173":{"morph":{"__isSmartRef__":true,"id":4822},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(104.9,3506.4)"},"5174":{"morph":{"__isSmartRef__":true,"id":4822},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(67.4,3482.4)"},"5175":{"morph":{"__isSmartRef__":true,"id":4822},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(89.0,3448.7)"},"5176":{"sourceObj":{"__isSmartRef__":true,"id":4822},"sourceAttrName":"name","targetObj":{"__isSmartRef__":true,"id":4797},"targetMethodName":"updateLabel","varMapping":{"__isSmartRef__":true,"id":5177},"visualConnector":{"__isSmartRef__":true,"id":5178},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5177":{"source":{"__isSmartRef__":true,"id":4822},"target":{"__isSmartRef__":true,"id":4797}},"5178":{"submorphs":[{"__isSmartRef__":true,"id":5179}],"scripts":[],"shape":{"__isSmartRef__":true,"id":5186},"eventHandler":{"__isSmartRef__":true,"id":5189},"_ClipMode":"visible","derivationIds":[],"id":"5814672F-102B-41EE-9D91-9FA58B6451FD","__layered_droppingEnabled__":true,"halosEnabled":true,"owner":null,"controlPoints":[{"__isSmartRef__":true,"id":5190},{"__isSmartRef__":true,"id":5191}],"con":{"__isSmartRef__":true,"id":5176},"showsMorphMenu":true,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5192},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"5179":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":5180},"eventHandler":{"__isSmartRef__":true,"id":5185},"_ClipMode":"visible","derivationIds":[],"id":"01253C2A-18A1-43A8-AA72-260E7FC0929E","__layered_droppingEnabled__":true,"halosEnabled":true,"owner":{"__isSmartRef__":true,"id":5178},"_Rotation":1.3832457846463706,"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","_Position":"lively.pt(259.1,3427.8)"},"5180":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":5181},{"__isSmartRef__":true,"id":5182},{"__isSmartRef__":true,"id":5183},{"__isSmartRef__":true,"id":5184}],"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor","_Fill"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Position":"lively.pt(-12.0,-6.0)","_Extent":"lively.pt(17.0,13.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(0,0,0)"},"5181":{"isAbsolute":true,"x":-11,"y":-5,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"5182":{"isAbsolute":true,"x":-11,"y":7,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"5183":{"isAbsolute":true,"x":5,"y":1,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"5184":{"isAbsolute":true,"x":-11,"y":-5,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"5185":{"morph":{"__isSmartRef__":true,"id":5179},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5186":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":5187},{"__isSmartRef__":true,"id":5188}],"_BorderWidth":1,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Position":"lively.pt(248.7,3377.0)","_Extent":"lively.pt(10.4,50.8)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"5187":{"isAbsolute":true,"x":249.7,"y":3378,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"5188":{"isAbsolute":true,"x":259.14357977177195,"y":3427.7604139964105,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"5189":{"morph":{"__isSmartRef__":true,"id":5178},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5190":{"morph":{"__isSmartRef__":true,"id":5178},"index":0,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"5191":{"morph":{"__isSmartRef__":true,"id":5178},"index":1,"marker":{"__isSmartRef__":true,"id":5179},"markerDirection":"prev","__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"5192":{"morphMenuItems":{"__isSmartRef__":true,"id":5193}},"5193":{"varMapping":{"__isSmartRef__":true,"id":5194},"source":"function morphMenuItems() {\n var visualConnector = this, con = this.con, world = $world;\n var items = [\n ['Edit converter', function() {\n var window = lively.bindings.editConnection(con);\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":5199},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5194":{"this":{"__isSmartRef__":true,"id":5178},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5195}},"5195":{"$super":{"__isSmartRef__":true,"id":5196}},"5196":{"varMapping":{"__isSmartRef__":true,"id":5197},"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":5198},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5197":{"obj":{"__isSmartRef__":true,"id":5178},"name":"morphMenuItems"},"5198":{},"5199":{},"5200":{"sourceObj":{"__isSmartRef__":true,"id":4822},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":5178},"targetMethodName":"realignConnection","varMapping":{"__isSmartRef__":true,"id":5201},"dependendConnections":[{"__isSmartRef__":true,"id":5202},{"__isSmartRef__":true,"id":5204},{"__isSmartRef__":true,"id":5206},{"__isSmartRef__":true,"id":5208},{"__isSmartRef__":true,"id":5210},{"__isSmartRef__":true,"id":5212},{"__isSmartRef__":true,"id":5214},{"__isSmartRef__":true,"id":5216}],"oldTransform":{"__isSmartRef__":true,"id":5218},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"5201":{"source":{"__isSmartRef__":true,"id":4822},"target":{"__isSmartRef__":true,"id":5178}},"5202":{"sourceObj":{"__isSmartRef__":true,"id":4822},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":5200},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5203},"dependedBy":{"__isSmartRef__":true,"id":5200},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5203":{"source":{"__isSmartRef__":true,"id":4822},"target":{"__isSmartRef__":true,"id":5200}},"5204":{"sourceObj":{"__isSmartRef__":true,"id":4822},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":5200},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5205},"dependedBy":{"__isSmartRef__":true,"id":5200},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5205":{"source":{"__isSmartRef__":true,"id":4822},"target":{"__isSmartRef__":true,"id":5200}},"5206":{"sourceObj":{"__isSmartRef__":true,"id":4822},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":5200},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5207},"dependedBy":{"__isSmartRef__":true,"id":5200},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5207":{"source":{"__isSmartRef__":true,"id":4822},"target":{"__isSmartRef__":true,"id":5200}},"5208":{"sourceObj":{"__isSmartRef__":true,"id":4822},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":5200},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":5209},"dependedBy":{"__isSmartRef__":true,"id":5200},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5209":{"source":{"__isSmartRef__":true,"id":4822},"target":{"__isSmartRef__":true,"id":5200}},"5210":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":5200},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5211},"dependedBy":{"__isSmartRef__":true,"id":5200},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5211":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":5200}},"5212":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":5200},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5213},"dependedBy":{"__isSmartRef__":true,"id":5200},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5213":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":5200}},"5214":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":5200},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5215},"dependedBy":{"__isSmartRef__":true,"id":5200},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5215":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":5200}},"5216":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":5200},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":5217},"dependedBy":{"__isSmartRef__":true,"id":5200},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5217":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":5200}},"5218":{"d":0.8419431060646692,"a":0.8419431060646692,"f":59.4,"e":73.7,"c":-0.5395663130238733,"b":0.5395663130238733,"matrix_":{"__isSmartRef__":true,"id":5219},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"5219":{"a":0.8419431060646692,"b":0.5395663130238733,"c":-0.5395663130238733,"d":0.8419431060646692,"e":73.7,"f":59.4,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"5220":{"sourceObj":{"__isSmartRef__":true,"id":4822},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":4796},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5221},"dependedBy":{"__isSmartRef__":true,"id":4796},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5221":{"source":{"__isSmartRef__":true,"id":4822},"target":{"__isSmartRef__":true,"id":4796}},"5222":{"sourceObj":{"__isSmartRef__":true,"id":4822},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":4796},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5223},"dependedBy":{"__isSmartRef__":true,"id":4796},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5223":{"source":{"__isSmartRef__":true,"id":4822},"target":{"__isSmartRef__":true,"id":4796}},"5224":{"sourceObj":{"__isSmartRef__":true,"id":4822},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":4796},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5225},"dependedBy":{"__isSmartRef__":true,"id":4796},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5225":{"source":{"__isSmartRef__":true,"id":4822},"target":{"__isSmartRef__":true,"id":4796}},"5226":{"sourceObj":{"__isSmartRef__":true,"id":4822},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":4796},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":5227},"dependedBy":{"__isSmartRef__":true,"id":4796},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5227":{"source":{"__isSmartRef__":true,"id":4822},"target":{"__isSmartRef__":true,"id":4796}},"5228":{"sourceObj":{"__isSmartRef__":true,"id":4822},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":2988},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":5229},"dependendConnections":[{"__isSmartRef__":true,"id":5230},{"__isSmartRef__":true,"id":5232},{"__isSmartRef__":true,"id":5234},{"__isSmartRef__":true,"id":5236},{"__isSmartRef__":true,"id":5238},{"__isSmartRef__":true,"id":5240},{"__isSmartRef__":true,"id":5242},{"__isSmartRef__":true,"id":5244}],"oldTransform":{"__isSmartRef__":true,"id":5246},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"5229":{"source":{"__isSmartRef__":true,"id":4822},"target":{"__isSmartRef__":true,"id":2988}},"5230":{"sourceObj":{"__isSmartRef__":true,"id":4822},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":5228},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5231},"dependedBy":{"__isSmartRef__":true,"id":5228},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5231":{"source":{"__isSmartRef__":true,"id":4822},"target":{"__isSmartRef__":true,"id":5228}},"5232":{"sourceObj":{"__isSmartRef__":true,"id":4822},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":5228},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5233},"dependedBy":{"__isSmartRef__":true,"id":5228},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5233":{"source":{"__isSmartRef__":true,"id":4822},"target":{"__isSmartRef__":true,"id":5228}},"5234":{"sourceObj":{"__isSmartRef__":true,"id":4822},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":5228},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5235},"dependedBy":{"__isSmartRef__":true,"id":5228},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5235":{"source":{"__isSmartRef__":true,"id":4822},"target":{"__isSmartRef__":true,"id":5228}},"5236":{"sourceObj":{"__isSmartRef__":true,"id":4822},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":5228},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":5237},"dependedBy":{"__isSmartRef__":true,"id":5228},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5237":{"source":{"__isSmartRef__":true,"id":4822},"target":{"__isSmartRef__":true,"id":5228}},"5238":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":5228},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5239},"dependedBy":{"__isSmartRef__":true,"id":5228},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5239":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":5228}},"5240":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":5228},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5241},"dependedBy":{"__isSmartRef__":true,"id":5228},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5241":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":5228}},"5242":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":5228},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5243},"dependedBy":{"__isSmartRef__":true,"id":5228},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5243":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":5228}},"5244":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":5228},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":5245},"dependedBy":{"__isSmartRef__":true,"id":5228},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5245":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":5228}},"5246":{"d":0.8419431060646692,"a":0.8419431060646692,"f":59.4,"e":73.7,"c":-0.5395663130238733,"b":0.5395663130238733,"matrix_":{"__isSmartRef__":true,"id":5247},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"5247":{"a":0.8419431060646692,"b":0.5395663130238733,"c":-0.5395663130238733,"d":0.8419431060646692,"e":73.7,"f":59.4,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"5248":{"sourceObj":{"__isSmartRef__":true,"id":4822},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":4852},"targetMethodName":"alignToMagnet","varMapping":{"__isSmartRef__":true,"id":5249},"dependendConnections":[{"__isSmartRef__":true,"id":5250},{"__isSmartRef__":true,"id":5252},{"__isSmartRef__":true,"id":5254},{"__isSmartRef__":true,"id":5256},{"__isSmartRef__":true,"id":5258},{"__isSmartRef__":true,"id":5260},{"__isSmartRef__":true,"id":5262},{"__isSmartRef__":true,"id":5264}],"oldTransform":{"__isSmartRef__":true,"id":5266},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"5249":{"source":{"__isSmartRef__":true,"id":4822},"target":{"__isSmartRef__":true,"id":4852}},"5250":{"sourceObj":{"__isSmartRef__":true,"id":4822},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":5248},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5251},"dependedBy":{"__isSmartRef__":true,"id":5248},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5251":{"source":{"__isSmartRef__":true,"id":4822},"target":{"__isSmartRef__":true,"id":5248}},"5252":{"sourceObj":{"__isSmartRef__":true,"id":4822},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":5248},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5253},"dependedBy":{"__isSmartRef__":true,"id":5248},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5253":{"source":{"__isSmartRef__":true,"id":4822},"target":{"__isSmartRef__":true,"id":5248}},"5254":{"sourceObj":{"__isSmartRef__":true,"id":4822},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":5248},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5255},"dependedBy":{"__isSmartRef__":true,"id":5248},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5255":{"source":{"__isSmartRef__":true,"id":4822},"target":{"__isSmartRef__":true,"id":5248}},"5256":{"sourceObj":{"__isSmartRef__":true,"id":4822},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":5248},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":5257},"dependedBy":{"__isSmartRef__":true,"id":5248},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5257":{"source":{"__isSmartRef__":true,"id":4822},"target":{"__isSmartRef__":true,"id":5248}},"5258":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":5248},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5259},"dependedBy":{"__isSmartRef__":true,"id":5248},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5259":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":5248}},"5260":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":5248},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5261},"dependedBy":{"__isSmartRef__":true,"id":5248},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5261":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":5248}},"5262":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":5248},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5263},"dependedBy":{"__isSmartRef__":true,"id":5248},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5263":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":5248}},"5264":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":5248},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":5265},"dependedBy":{"__isSmartRef__":true,"id":5248},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5265":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":5248}},"5266":{"d":0.8419431060646692,"a":0.8419431060646692,"f":59.4,"e":73.7,"c":-0.5395663130238733,"b":0.5395663130238733,"matrix_":{"__isSmartRef__":true,"id":5267},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"5267":{"a":0.8419431060646692,"b":0.5395663130238733,"c":-0.5395663130238733,"d":0.8419431060646692,"e":73.7,"f":59.4,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"5268":{"sourceObj":{"__isSmartRef__":true,"id":4822},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":3261},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":5269},"dependendConnections":[{"__isSmartRef__":true,"id":5270},{"__isSmartRef__":true,"id":5272},{"__isSmartRef__":true,"id":5274},{"__isSmartRef__":true,"id":5276},{"__isSmartRef__":true,"id":5278},{"__isSmartRef__":true,"id":5280},{"__isSmartRef__":true,"id":5282},{"__isSmartRef__":true,"id":5284}],"oldTransform":{"__isSmartRef__":true,"id":5286},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"5269":{"source":{"__isSmartRef__":true,"id":4822},"target":{"__isSmartRef__":true,"id":3261}},"5270":{"sourceObj":{"__isSmartRef__":true,"id":4822},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":5268},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5271},"dependedBy":{"__isSmartRef__":true,"id":5268},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5271":{"source":{"__isSmartRef__":true,"id":4822},"target":{"__isSmartRef__":true,"id":5268}},"5272":{"sourceObj":{"__isSmartRef__":true,"id":4822},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":5268},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5273},"dependedBy":{"__isSmartRef__":true,"id":5268},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5273":{"source":{"__isSmartRef__":true,"id":4822},"target":{"__isSmartRef__":true,"id":5268}},"5274":{"sourceObj":{"__isSmartRef__":true,"id":4822},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":5268},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5275},"dependedBy":{"__isSmartRef__":true,"id":5268},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5275":{"source":{"__isSmartRef__":true,"id":4822},"target":{"__isSmartRef__":true,"id":5268}},"5276":{"sourceObj":{"__isSmartRef__":true,"id":4822},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":5268},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":5277},"dependedBy":{"__isSmartRef__":true,"id":5268},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5277":{"source":{"__isSmartRef__":true,"id":4822},"target":{"__isSmartRef__":true,"id":5268}},"5278":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":5268},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5279},"dependedBy":{"__isSmartRef__":true,"id":5268},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5279":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":5268}},"5280":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":5268},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5281},"dependedBy":{"__isSmartRef__":true,"id":5268},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5281":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":5268}},"5282":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":5268},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5283},"dependedBy":{"__isSmartRef__":true,"id":5268},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5283":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":5268}},"5284":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":5268},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":5285},"dependedBy":{"__isSmartRef__":true,"id":5268},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5285":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":5268}},"5286":{"d":0.8419431060646692,"a":0.8419431060646692,"f":59.4,"e":73.7,"c":-0.5395663130238733,"b":0.5395663130238733,"matrix_":{"__isSmartRef__":true,"id":5287},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"5287":{"a":0.8419431060646692,"b":0.5395663130238733,"c":-0.5395663130238733,"d":0.8419431060646692,"e":73.7,"f":59.4,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"5288":{"globalShapePath":{"__isSmartRef__":true,"id":5289},"lineIntersect":{"__isSmartRef__":true,"id":5292},"intersectLine":{"__isSmartRef__":true,"id":5296},"intersectLineMorph":{"__isSmartRef__":true,"id":5299}},"5289":{"varMapping":{"__isSmartRef__":true,"id":5290},"source":"function globalShapePath() {\n var b = this.shape.bounds();\n var p1 = this.worldPoint(b.topLeft()),\n p2 = this.worldPoint(b.topRight()),\n p3 = this.worldPoint(b.bottomRight()),\n p4 = this.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":5291},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5290":{"this":{"__isSmartRef__":true,"id":4822}},"5291":{},"5292":{"varMapping":{"__isSmartRef__":true,"id":5293},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":5294},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5293":{"this":{"__isSmartRef__":true,"id":4822}},"5294":{"timestamp":{"__isSmartRef__":true,"id":5295},"user":"jenslincke","tags":[]},"5295":{"isSerializedDate":true,"string":"Thu Dec 13 2012 13:42:55 GMT+0100 (CET)"},"5296":{"varMapping":{"__isSmartRef__":true,"id":5297},"source":"function intersectLine(a1, a2) {\n var points = this.globalShapePath();\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":5298},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5297":{"this":{"__isSmartRef__":true,"id":4822}},"5298":{},"5299":{"varMapping":{"__isSmartRef__":true,"id":5300},"source":"function intersectLineMorph(m) {\n return this.intersectLine(m.controlPoints[0].getGlobalPos(), m.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":5301},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5300":{"this":{"__isSmartRef__":true,"id":4822}},"5301":{},"5302":{"updateLabel":{"__isSmartRef__":true,"id":5303},"renameOwner":{"__isSmartRef__":true,"id":5306}},"5303":{"varMapping":{"__isSmartRef__":true,"id":5304},"source":"function updateLabel() {\n\t// observe name changes in owner\n\tif (this.owner !== this.oldOwner) {\n\t\tif (this.oldOwner)\n\t\t\tdisconnect(this.oldOwner, 'name', this, 'updateLabel')\n\t\tif (this.owner)\n\t\t\tconnect(this.owner, 'name', this, 'updateLabel')\n\t\tthis.oldOwner = this.owner\n\t}\n\tvar name = (this.owner ? this.owner.name : \"no owner\")\n\tif (this.textString != name)\n\tthis.setTextString(name)\n}","funcProperties":{"__isSmartRef__":true,"id":5305},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5304":{"this":{"__isSmartRef__":true,"id":4797}},"5305":{},"5306":{"varMapping":{"__isSmartRef__":true,"id":5307},"source":"function renameOwner(name) {\n\tif (this.owner && this.owner.name != name) {\n\t\talertOK(\"renamed \" + this.owner + \" to \" + name)\n\t\tthis.owner.setName(name);\n\t}\n}","funcProperties":{"__isSmartRef__":true,"id":5308},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5307":{"this":{"__isSmartRef__":true,"id":4797}},"5308":{},"5309":{"source":{"__isSmartRef__":true,"id":4797},"target":{"__isSmartRef__":true,"id":5178}},"5310":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":4796},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5311},"dependedBy":{"__isSmartRef__":true,"id":4796},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5311":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":4796}},"5312":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":4796},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5313},"dependedBy":{"__isSmartRef__":true,"id":4796},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5313":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":4796}},"5314":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":4796},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":5315},"dependedBy":{"__isSmartRef__":true,"id":4796},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5315":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":4796}},"5316":{"d":0.8419431060646688,"a":0.8419431060646688,"f":109.1604139964106,"e":83.14357977177195,"c":-0.539566313023873,"b":0.539566313023873,"matrix_":{"__isSmartRef__":true,"id":5317},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"5317":{"a":0.8419431060646688,"b":0.539566313023873,"c":-0.539566313023873,"d":0.8419431060646688,"e":83.14357977177195,"f":109.1604139964106,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"5318":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":4796}},"5319":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":5320},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5842},"dependedBy":{"__isSmartRef__":true,"id":5320},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5320":{"sourceObj":{"__isSmartRef__":true,"id":5321},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":5702},"targetMethodName":"realignConnection","varMapping":{"__isSmartRef__":true,"id":5833},"dependendConnections":[{"__isSmartRef__":true,"id":5329},{"__isSmartRef__":true,"id":5331},{"__isSmartRef__":true,"id":5333},{"__isSmartRef__":true,"id":5335},{"__isSmartRef__":true,"id":5744},{"__isSmartRef__":true,"id":5746},{"__isSmartRef__":true,"id":5748},{"__isSmartRef__":true,"id":5750},{"__isSmartRef__":true,"id":5319},{"__isSmartRef__":true,"id":5834},{"__isSmartRef__":true,"id":5836},{"__isSmartRef__":true,"id":5838}],"oldTransform":{"__isSmartRef__":true,"id":5840},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"5321":{"submorphs":[],"scripts":[],"id":"D1658A01-03A0-4B46-BB6C-ED9D7F6AC087","shape":{"__isSmartRef__":true,"id":5322},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":180.8018403394826,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":19,"name":"NameLabel2","partsBinMetaInfo":{"__isSmartRef__":true,"id":5323},"textChunks":[{"__isSmartRef__":true,"id":5325}],"charsReplaced":"A1","lastFindLoc":2,"prevScroll":[0,0],"attributeConnections":[{"__isSmartRef__":true,"id":5327},{"__isSmartRef__":true,"id":5328},{"__isSmartRef__":true,"id":5320},{"__isSmartRef__":true,"id":5329},{"__isSmartRef__":true,"id":5331},{"__isSmartRef__":true,"id":5333},{"__isSmartRef__":true,"id":5335}],"doNotSerialize":["$$owner","$$savedTextString","$$_Position","$$_Scale","$$_Rotation"],"doNotCopyProperties":["$$owner","$$savedTextString","$$_Position","$$_Scale","$$_Rotation"],"isInputLine":true,"savedTextString":"B","eventHandler":{"__isSmartRef__":true,"id":5337},"derivationIds":[7027,"331C6367-0699-4BD6-9916-ABA82517453B","BEAA7850-FEFB-4AFD-9E06-730FF35D99A4","559B0B8A-5C01-4133-88B2-0D08385E23F6","BE195383-D309-4B6E-A6B0-79A6112B4011","E323F75A-232F-4712-9A03-20C8FD574C9A","E6E38336-AA2D-4F75-80C1-B1617DD8544E","DAFCD826-DF9B-4DEF-B4D7-59AAED8D199D","3999CB16-D9E3-4D28-A617-9B093624E8AC","24C6A462-5AF8-4580-9777-8F5696841AF0","38DF0DD5-01B1-4481-B32C-B1595F8042DF"],"_WhiteSpaceHandling":"pre-wrap","_ClipMode":"visible","moved":true,"isBeingDragged":false,"_WordBreak":"break-all","magnets":[{"__isSmartRef__":true,"id":5338},{"__isSmartRef__":true,"id":5339},{"__isSmartRef__":true,"id":5340},{"__isSmartRef__":true,"id":5341},{"__isSmartRef__":true,"id":5342},{"__isSmartRef__":true,"id":5343},{"__isSmartRef__":true,"id":5344},{"__isSmartRef__":true,"id":5345}],"_PreviousBorderWidth":1,"owner":{"__isSmartRef__":true,"id":5346},"oldOwner":{"__isSmartRef__":true,"id":5346},"_Rotation":0,"_Scale":0.9999999999999997,"__serializedExpressions__":["_Position","textColor","distanceToDragEvent","_TextColor"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5826},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(34.8,36.8)","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(31.1,-9.9)","_TextColor":"Color.rgb(255,143,0)"},"5322":{"fill":null,"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(42.8,29.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"5323":{"migrationLevel":2,"comment":"Label that shows the name of a morph. Updates automatically.","partName":"NameLabel","lastModifiedDate":{"__isSmartRef__":true,"id":5324},"revisionOnLoad":140039,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"5324":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (CEST)"},"5325":{"style":{"__isSmartRef__":true,"id":5326},"chunkOwner":{"__isSmartRef__":true,"id":5321},"_id":"_769","storedString":"B1","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5326":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5327":{"sourceObj":{"__isSmartRef__":true,"id":5321},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":5321},"targetMethodName":"updateLabel","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5328":{"sourceObj":{"__isSmartRef__":true,"id":5321},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":5321},"targetMethodName":"renameOwner","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5329":{"sourceObj":{"__isSmartRef__":true,"id":5321},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":5320},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5330},"dependedBy":{"__isSmartRef__":true,"id":5320},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5330":{"source":{"__isSmartRef__":true,"id":5321},"target":{"__isSmartRef__":true,"id":5320}},"5331":{"sourceObj":{"__isSmartRef__":true,"id":5321},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":5320},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5332},"dependedBy":{"__isSmartRef__":true,"id":5320},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5332":{"source":{"__isSmartRef__":true,"id":5321},"target":{"__isSmartRef__":true,"id":5320}},"5333":{"sourceObj":{"__isSmartRef__":true,"id":5321},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":5320},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5334},"dependedBy":{"__isSmartRef__":true,"id":5320},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5334":{"source":{"__isSmartRef__":true,"id":5321},"target":{"__isSmartRef__":true,"id":5320}},"5335":{"sourceObj":{"__isSmartRef__":true,"id":5321},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":5320},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":5336},"dependedBy":{"__isSmartRef__":true,"id":5320},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5336":{"source":{"__isSmartRef__":true,"id":5321},"target":{"__isSmartRef__":true,"id":5320}},"5337":{"morph":{"__isSmartRef__":true,"id":5321},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5338":{"morph":{"__isSmartRef__":true,"id":5321},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(120.0,3464.8)"},"5339":{"morph":{"__isSmartRef__":true,"id":5321},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(138.1,3476.3)"},"5340":{"morph":{"__isSmartRef__":true,"id":5321},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(156.1,3487.9)"},"5341":{"morph":{"__isSmartRef__":true,"id":5321},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(148.3,3500.1)"},"5342":{"morph":{"__isSmartRef__":true,"id":5321},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(140.4,3512.3)"},"5343":{"morph":{"__isSmartRef__":true,"id":5321},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(122.4,3500.7)"},"5344":{"morph":{"__isSmartRef__":true,"id":5321},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(104.4,3489.2)"},"5345":{"morph":{"__isSmartRef__":true,"id":5321},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(112.2,3477.0)"},"5346":{"submorphs":[{"__isSmartRef__":true,"id":5321}],"scripts":[],"id":"9AE9E2E3-C8C3-45FD-B88B-231FB756BC00","shape":{"__isSmartRef__":true,"id":5347},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"B1","partsBinMetaInfo":{"__isSmartRef__":true,"id":5348},"eventHandler":{"__isSmartRef__":true,"id":5366},"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","BBAFB862-93AE-4F89-BCFF-9F1C67B7FE4C","7EC17E78-593A-4CC8-B7E3-859BCBBFE785","FDB06D4A-9F4E-4B8C-A67C-671A9583EFE8","1C80FDE1-05C0-4148-9AD8-33C88667084C","5059E383-6BE3-4AD3-A9C4-89DA9D8D5E99","5B810AFE-E692-4EB4-A695-ABB4A95CEA39","BFFEF617-9B97-45D4-A541-8E33A6A17485","A10BBA48-4AD1-425A-AC7B-2F5515CE56F5","319DCFA5-FBA0-4E93-825A-584A580A412F","1A7DC4D8-6C49-4243-8B1D-04CED44FD759"],"partTests":{"__isSmartRef__":true,"id":5367},"_ClipMode":"visible","moved":true,"isBeingDragged":false,"magnets":[{"__isSmartRef__":true,"id":5372},{"__isSmartRef__":true,"id":5373},{"__isSmartRef__":true,"id":5374},{"__isSmartRef__":true,"id":5375},{"__isSmartRef__":true,"id":5696},{"__isSmartRef__":true,"id":5697},{"__isSmartRef__":true,"id":5698},{"__isSmartRef__":true,"id":5699}],"attributeConnections":[{"__isSmartRef__":true,"id":5700},{"__isSmartRef__":true,"id":5724},{"__isSmartRef__":true,"id":5726},{"__isSmartRef__":true,"id":5728},{"__isSmartRef__":true,"id":5730},{"__isSmartRef__":true,"id":5732},{"__isSmartRef__":true,"id":5744},{"__isSmartRef__":true,"id":5746},{"__isSmartRef__":true,"id":5748},{"__isSmartRef__":true,"id":5750},{"__isSmartRef__":true,"id":5752},{"__isSmartRef__":true,"id":5754},{"__isSmartRef__":true,"id":5756},{"__isSmartRef__":true,"id":5758},{"__isSmartRef__":true,"id":5760},{"__isSmartRef__":true,"id":5772},{"__isSmartRef__":true,"id":5774},{"__isSmartRef__":true,"id":5776},{"__isSmartRef__":true,"id":5778},{"__isSmartRef__":true,"id":5780},{"__isSmartRef__":true,"id":5792},{"__isSmartRef__":true,"id":5794},{"__isSmartRef__":true,"id":5796},{"__isSmartRef__":true,"id":5798},{"__isSmartRef__":true,"id":5800}],"doNotSerialize":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"doNotCopyProperties":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"isCopyMorphRef":true,"morphRefId":1,"prevScroll":[0,0],"_Scale":0.9999999999999996,"_Rotation":0.5699219218563105,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5812},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","distanceToDragEvent":"lively.pt(35.0,-16.3)","_Position":"lively.pt(73.7,59.4)"},"5347":{"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(89.0,80.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgba(204,204,204,0.5)","_Padding":"lively.rect(0,0,0,0)"},"5348":{"partsSpaceName":"PartsBin/Basic","comment":"A simple box morph. A really orange one. Its amazing what you can build out of simple boxes.... Who needs stars when you got orange rectangles!","migrationLevel":4,"partName":"Rectangle","changes":[{"__isSmartRef__":true,"id":5349},{"__isSmartRef__":true,"id":5351},{"__isSmartRef__":true,"id":5353},{"__isSmartRef__":true,"id":5355},{"__isSmartRef__":true,"id":5357},{"__isSmartRef__":true,"id":5359},{"__isSmartRef__":true,"id":5361},{"__isSmartRef__":true,"id":5363}],"lastModifiedDate":{"__isSmartRef__":true,"id":5365},"revisionOnLoad":184624,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"5349":{"date":{"__isSmartRef__":true,"id":5350},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"5350":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"5351":{"date":{"__isSmartRef__":true,"id":5352},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"5352":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"5353":{"date":{"__isSmartRef__":true,"id":5354},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"5354":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"5355":{"date":{"__isSmartRef__":true,"id":5356},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"5356":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"5357":{"date":{"__isSmartRef__":true,"id":5358},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"5358":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"5359":{"date":{"__isSmartRef__":true,"id":5360},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"5360":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"5361":{"date":{"__isSmartRef__":true,"id":5362},"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8"},"5362":{"isSerializedDate":true,"string":"Mon Jun 18 2012 19:35:08 GMT+0200 (CEST)"},"5363":{"date":{"__isSmartRef__":true,"id":5364},"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205"},"5364":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:35:51 GMT+0100 (CET)"},"5365":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:33:25 GMT+0100 (CET)"},"5366":{"morph":{"__isSmartRef__":true,"id":5346},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5367":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5368}},"5368":{"test01IsMorph":{"__isSmartRef__":true,"id":5369}},"5369":{"varMapping":{"__isSmartRef__":true,"id":5370},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":5371},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5370":{"this":{"__isSmartRef__":true,"id":5367}},"5371":{},"5372":{"morph":{"__isSmartRef__":true,"id":5346},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(110.6,3415.0)"},"5373":{"morph":{"__isSmartRef__":true,"id":5346},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(148.1,3439.0)"},"5374":{"morph":{"__isSmartRef__":true,"id":5346},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(185.5,3463.0)"},"5375":{"morph":{"__isSmartRef__":true,"id":5346},"connectedControlPoints":[{"__isSmartRef__":true,"id":5376}],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(164.0,3496.7)"},"5376":{"morph":{"__isSmartRef__":true,"id":5377},"index":0,"connectedMagnet":{"__isSmartRef__":true,"id":5375},"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"5377":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":5378},"id":"E083C82B-2BC4-42CB-B3A2-773909175FCB","eventHandler":{"__isSmartRef__":true,"id":5381},"__layered_droppingEnabled__":true,"halosEnabled":true,"isBeingDragged":false,"controlPoints":[{"__isSmartRef__":true,"id":5376},{"__isSmartRef__":true,"id":5382}],"showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":5383},"name":"Line4","derivationIds":[731,"5E6BD741-9C99-47B9-95C1-7A028178DB17","A8D5C37A-F23F-47FE-8DE2-211CE4484A4F","F722069B-8602-4E8D-BE3F-92A1E0C0EF28","D5ED19F9-968E-4C7E-9936-69F2735A813F","A9E370BC-F208-425C-BFFC-F8D6BB52E11F","4E431641-D056-46CB-B2A8-6626382EF423"],"_ClipMode":"visible","controlPointsHalos":[],"prevScroll":[0,0],"grabbingEnabled":false,"moved":true,"#startLetters":"controlPoints[0]","fromMorph":{"__isSmartRef__":true,"id":5387},"update":{"__isSmartRef__":true,"id":5597},"isCopyMorphRef":true,"morphRefId":2,"selectedMorph":{"__isSmartRef__":true,"id":5387},"selectedMorphHighlights":[],"_Scale":1,"_Rotation":0,"owner":null,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5599},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","distanceToDragEvent":"lively.pt(295.7,-20.8)","_Position":"lively.pt(376.1,57.6)"},"5378":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":5379},{"__isSmartRef__":true,"id":5380}],"_ClipMode":"visible","_BorderWidth":3.1119999999999997,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Padding","_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(50.5,3.2)","_Extent":"lively.pt(114.5,3494.5)","_BorderColor":"Color.rgb(161,161,161)"},"5379":{"isAbsolute":true,"x":0,"y":0,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"5380":{"isAbsolute":true,"x":52.46197348862387,"y":5.223542983087555,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"5381":{"morph":{"__isSmartRef__":true,"id":5377},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5382":{"morph":{"__isSmartRef__":true,"id":5377},"index":1,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"5383":{"requiredModules":[],"migrationLevel":4,"partsSpaceName":"PartsBin/Jens/","comment":"a line","partName":"Connector","lastModifiedDate":{"__isSmartRef__":true,"id":5384},"revisionOnLoad":186528,"changes":[{"__isSmartRef__":true,"id":5385}],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"5384":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:18 GMT+0100 (CET)"},"5385":{"date":{"__isSmartRef__":true,"id":5386},"author":"jenslincke","message":"no comment","id":"28165CED-C8C5-4B8E-9655-645E3F5099BB"},"5386":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:42 GMT+0100 (CET)"},"5387":{"submorphs":[{"__isSmartRef__":true,"id":5388}],"scripts":[],"id":"7D787261-FDA4-4DCD-ACA3-699C8F2DB8DC","shape":{"__isSmartRef__":true,"id":5412},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"A","partsBinMetaInfo":{"__isSmartRef__":true,"id":5413},"eventHandler":{"__isSmartRef__":true,"id":5431},"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","BBAFB862-93AE-4F89-BCFF-9F1C67B7FE4C","7EC17E78-593A-4CC8-B7E3-859BCBBFE785","FDB06D4A-9F4E-4B8C-A67C-671A9583EFE8","1C80FDE1-05C0-4148-9AD8-33C88667084C","5059E383-6BE3-4AD3-A9C4-89DA9D8D5E99","5B810AFE-E692-4EB4-A695-ABB4A95CEA39","BFFEF617-9B97-45D4-A541-8E33A6A17485","A10BBA48-4AD1-425A-AC7B-2F5515CE56F5"],"partTests":{"__isSmartRef__":true,"id":5432},"_ClipMode":"visible","moved":true,"isBeingDragged":false,"magnets":[{"__isSmartRef__":true,"id":5437},{"__isSmartRef__":true,"id":5438},{"__isSmartRef__":true,"id":5439},{"__isSmartRef__":true,"id":5440},{"__isSmartRef__":true,"id":5441},{"__isSmartRef__":true,"id":5442},{"__isSmartRef__":true,"id":5443},{"__isSmartRef__":true,"id":5444}],"attributeConnections":[{"__isSmartRef__":true,"id":5445},{"__isSmartRef__":true,"id":5447},{"__isSmartRef__":true,"id":5449},{"__isSmartRef__":true,"id":5451},{"__isSmartRef__":true,"id":5453},{"__isSmartRef__":true,"id":5455},{"__isSmartRef__":true,"id":5459},{"__isSmartRef__":true,"id":5573},{"__isSmartRef__":true,"id":5575},{"__isSmartRef__":true,"id":5577},{"__isSmartRef__":true,"id":5579}],"doNotSerialize":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"doNotCopyProperties":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"isCopyMorphRef":true,"morphRefId":1,"prevScroll":[0,0],"_Scale":0.9999999999999998,"_Rotation":-0.3632069088060458,"owner":null,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5583},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","distanceToDragEvent":"lively.pt(89.3,-51.8)","_Position":"lively.pt(691.6,129.6)"},"5388":{"submorphs":[],"scripts":[],"id":"4BDF3799-4F08-4112-BD4C-91BAB858A860","shape":{"__isSmartRef__":true,"id":5389},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":180.8018403394826,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":19,"name":"NameLabel2","partsBinMetaInfo":{"__isSmartRef__":true,"id":5390},"textChunks":[{"__isSmartRef__":true,"id":5392}],"charsReplaced":"C1","lastFindLoc":2,"prevScroll":[0,0],"attributeConnections":[{"__isSmartRef__":true,"id":5394},{"__isSmartRef__":true,"id":5395}],"doNotSerialize":["$$owner","$$savedTextString"],"doNotCopyProperties":["$$owner","$$savedTextString"],"isInputLine":true,"savedTextString":"A","eventHandler":{"__isSmartRef__":true,"id":5396},"derivationIds":[7027,"331C6367-0699-4BD6-9916-ABA82517453B","BEAA7850-FEFB-4AFD-9E06-730FF35D99A4","559B0B8A-5C01-4133-88B2-0D08385E23F6","BE195383-D309-4B6E-A6B0-79A6112B4011","E323F75A-232F-4712-9A03-20C8FD574C9A","E6E38336-AA2D-4F75-80C1-B1617DD8544E","DAFCD826-DF9B-4DEF-B4D7-59AAED8D199D","3999CB16-D9E3-4D28-A617-9B093624E8AC"],"_WhiteSpaceHandling":"pre-wrap","_ClipMode":"visible","moved":true,"isBeingDragged":false,"_WordBreak":"break-all","magnets":[{"__isSmartRef__":true,"id":5397},{"__isSmartRef__":true,"id":5398},{"__isSmartRef__":true,"id":5399},{"__isSmartRef__":true,"id":5400},{"__isSmartRef__":true,"id":5401},{"__isSmartRef__":true,"id":5402},{"__isSmartRef__":true,"id":5403},{"__isSmartRef__":true,"id":5404}],"_PreviousBorderWidth":1,"owner":{"__isSmartRef__":true,"id":5387},"oldOwner":{"__isSmartRef__":true,"id":5387},"priorSelectionRange":[1,1],"_Rotation":0,"_Scale":0.9999999999999997,"__serializedExpressions__":["textColor","distanceToDragEvent","_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5405},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(31.1,-9.9)","_TextColor":"Color.rgb(255,143,0)","_Position":"lively.pt(34.8,36.8)"},"5389":{"fill":null,"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(42.8,29.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"5390":{"migrationLevel":2,"comment":"Label that shows the name of a morph. Updates automatically.","partName":"NameLabel","lastModifiedDate":{"__isSmartRef__":true,"id":5391},"revisionOnLoad":140039,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"5391":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (CEST)"},"5392":{"style":{"__isSmartRef__":true,"id":5393},"chunkOwner":{"__isSmartRef__":true,"id":5388},"_id":"_22384","storedString":"A","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5393":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5394":{"sourceObj":{"__isSmartRef__":true,"id":5388},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":5388},"targetMethodName":"updateLabel","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5395":{"sourceObj":{"__isSmartRef__":true,"id":5388},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":5388},"targetMethodName":"renameOwner","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5396":{"morph":{"__isSmartRef__":true,"id":5388},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5397":{"morph":{"__isSmartRef__":true,"id":5388},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(726.1,3497.3)"},"5398":{"morph":{"__isSmartRef__":true,"id":5388},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(746.1,3489.7)"},"5399":{"morph":{"__isSmartRef__":true,"id":5388},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(766.1,3482.1)"},"5400":{"morph":{"__isSmartRef__":true,"id":5388},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(771.3,3495.6)"},"5401":{"morph":{"__isSmartRef__":true,"id":5388},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(776.4,3509.2)"},"5402":{"morph":{"__isSmartRef__":true,"id":5388},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(756.4,3516.8)"},"5403":{"morph":{"__isSmartRef__":true,"id":5388},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(736.4,3524.4)"},"5404":{"morph":{"__isSmartRef__":true,"id":5388},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(731.2,3510.8)"},"5405":{"updateLabel":{"__isSmartRef__":true,"id":5406},"renameOwner":{"__isSmartRef__":true,"id":5409}},"5406":{"varMapping":{"__isSmartRef__":true,"id":5407},"source":"function updateLabel() {\n\t// observe name changes in owner\n\tif (this.owner !== this.oldOwner) {\n\t\tif (this.oldOwner)\n\t\t\tdisconnect(this.oldOwner, 'name', this, 'updateLabel')\n\t\tif (this.owner)\n\t\t\tconnect(this.owner, 'name', this, 'updateLabel')\n\t\tthis.oldOwner = this.owner\n\t}\n\tvar name = (this.owner ? this.owner.name : \"no owner\")\n\tif (this.textString != name)\n\tthis.setTextString(name)\n}","funcProperties":{"__isSmartRef__":true,"id":5408},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5407":{"this":{"__isSmartRef__":true,"id":5388}},"5408":{},"5409":{"varMapping":{"__isSmartRef__":true,"id":5410},"source":"function renameOwner(name) {\n\tif (this.owner && this.owner.name != name) {\n\t\talertOK(\"renamed \" + this.owner + \" to \" + name)\n\t\tthis.owner.setName(name);\n\t}\n}","funcProperties":{"__isSmartRef__":true,"id":5411},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5410":{"this":{"__isSmartRef__":true,"id":5388}},"5411":{},"5412":{"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(116.7,82.3)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgba(204,204,204,0.5)","_Padding":"lively.rect(0,0,0,0)"},"5413":{"partsSpaceName":"PartsBin/Basic","comment":"A simple box morph. A really orange one. Its amazing what you can build out of simple boxes.... Who needs stars when you got orange rectangles!","migrationLevel":4,"partName":"Rectangle","changes":[{"__isSmartRef__":true,"id":5414},{"__isSmartRef__":true,"id":5416},{"__isSmartRef__":true,"id":5418},{"__isSmartRef__":true,"id":5420},{"__isSmartRef__":true,"id":5422},{"__isSmartRef__":true,"id":5424},{"__isSmartRef__":true,"id":5426},{"__isSmartRef__":true,"id":5428}],"lastModifiedDate":{"__isSmartRef__":true,"id":5430},"revisionOnLoad":184624,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"5414":{"date":{"__isSmartRef__":true,"id":5415},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"5415":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"5416":{"date":{"__isSmartRef__":true,"id":5417},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"5417":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"5418":{"date":{"__isSmartRef__":true,"id":5419},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"5419":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"5420":{"date":{"__isSmartRef__":true,"id":5421},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"5421":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"5422":{"date":{"__isSmartRef__":true,"id":5423},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"5423":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"5424":{"date":{"__isSmartRef__":true,"id":5425},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"5425":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"5426":{"date":{"__isSmartRef__":true,"id":5427},"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8"},"5427":{"isSerializedDate":true,"string":"Mon Jun 18 2012 19:35:08 GMT+0200 (CEST)"},"5428":{"date":{"__isSmartRef__":true,"id":5429},"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205"},"5429":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:35:51 GMT+0100 (CET)"},"5430":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:33:25 GMT+0100 (CET)"},"5431":{"morph":{"__isSmartRef__":true,"id":5387},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5432":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5433}},"5433":{"test01IsMorph":{"__isSmartRef__":true,"id":5434}},"5434":{"varMapping":{"__isSmartRef__":true,"id":5435},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":5436},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5435":{"this":{"__isSmartRef__":true,"id":5432}},"5436":{},"5437":{"morph":{"__isSmartRef__":true,"id":5387},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(680.5,3475.2)"},"5438":{"morph":{"__isSmartRef__":true,"id":5387},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(735.0,3454.5)"},"5439":{"morph":{"__isSmartRef__":true,"id":5387},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(789.6,3433.8)"},"5440":{"morph":{"__isSmartRef__":true,"id":5387},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(804.2,3472.2)"},"5441":{"morph":{"__isSmartRef__":true,"id":5387},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(818.8,3510.7)"},"5442":{"morph":{"__isSmartRef__":true,"id":5387},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(764.3,3531.4)"},"5443":{"morph":{"__isSmartRef__":true,"id":5387},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(709.7,3552.2)"},"5444":{"morph":{"__isSmartRef__":true,"id":5387},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(695.1,3513.7)"},"5445":{"sourceObj":{"__isSmartRef__":true,"id":5387},"sourceAttrName":"name","targetObj":{"__isSmartRef__":true,"id":5388},"targetMethodName":"updateLabel","varMapping":{"__isSmartRef__":true,"id":5446},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5446":{"source":{"__isSmartRef__":true,"id":5387},"target":{"__isSmartRef__":true,"id":5388}},"5447":{"sourceObj":{"__isSmartRef__":true,"id":5387},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":5377},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":5448},"dependendConnections":[{"__isSmartRef__":true,"id":5449},{"__isSmartRef__":true,"id":5451},{"__isSmartRef__":true,"id":5453},{"__isSmartRef__":true,"id":5455}],"oldTransform":{"__isSmartRef__":true,"id":5457},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"5448":{"source":{"__isSmartRef__":true,"id":5387},"target":{"__isSmartRef__":true,"id":5377}},"5449":{"sourceObj":{"__isSmartRef__":true,"id":5387},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":5447},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5450},"dependedBy":{"__isSmartRef__":true,"id":5447},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5450":{"source":{"__isSmartRef__":true,"id":5387},"target":{"__isSmartRef__":true,"id":5447}},"5451":{"sourceObj":{"__isSmartRef__":true,"id":5387},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":5447},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5452},"dependedBy":{"__isSmartRef__":true,"id":5447},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5452":{"source":{"__isSmartRef__":true,"id":5387},"target":{"__isSmartRef__":true,"id":5447}},"5453":{"sourceObj":{"__isSmartRef__":true,"id":5387},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":5447},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5454},"dependedBy":{"__isSmartRef__":true,"id":5447},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5454":{"source":{"__isSmartRef__":true,"id":5387},"target":{"__isSmartRef__":true,"id":5447}},"5455":{"sourceObj":{"__isSmartRef__":true,"id":5387},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":5447},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":5456},"dependedBy":{"__isSmartRef__":true,"id":5447},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5456":{"source":{"__isSmartRef__":true,"id":5387},"target":{"__isSmartRef__":true,"id":5447}},"5457":{"d":0.9347623017725522,"a":0.9347623017725522,"f":3485.245045045044,"e":728.5390390390387,"c":0.3552737524570028,"b":-0.3552737524570028,"matrix_":{"__isSmartRef__":true,"id":5458},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"5458":{"a":0.9347623017725522,"b":-0.3552737524570028,"c":0.3552737524570028,"d":0.9347623017725522,"e":728.5390390390387,"f":3485.245045045044,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"5459":{"sourceObj":{"__isSmartRef__":true,"id":5387},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":5460},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":5572},"dependendConnections":[{"__isSmartRef__":true,"id":5573},{"__isSmartRef__":true,"id":5575},{"__isSmartRef__":true,"id":5577},{"__isSmartRef__":true,"id":5579}],"oldTransform":{"__isSmartRef__":true,"id":5581},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"5460":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":5461},"id":"4809CC50-2A92-4A4F-9D0D-829B6BA12A0B","eventHandler":{"__isSmartRef__":true,"id":5464},"__layered_droppingEnabled__":true,"halosEnabled":true,"isBeingDragged":false,"controlPoints":[{"__isSmartRef__":true,"id":5465},{"__isSmartRef__":true,"id":5466}],"showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":5467},"name":"Connector1","derivationIds":[731,"5E6BD741-9C99-47B9-95C1-7A028178DB17","A8D5C37A-F23F-47FE-8DE2-211CE4484A4F","F722069B-8602-4E8D-BE3F-92A1E0C0EF28","D5ED19F9-968E-4C7E-9936-69F2735A813F","A9E370BC-F208-425C-BFFC-F8D6BB52E11F","4E431641-D056-46CB-B2A8-6626382EF423"],"_ClipMode":"visible","controlPointsHalos":[],"prevScroll":[0,0],"grabbingEnabled":false,"moved":true,"#startLetters":"controlPoints[0]","fromMorph":{"__isSmartRef__":true,"id":5387},"toMorph":{"__isSmartRef__":true,"id":3202},"update":{"__isSmartRef__":true,"id":5473},"isCopyMorphRef":true,"morphRefId":2,"selectedMorph":{"__isSmartRef__":true,"id":3202},"selectedMorphHighlights":[],"owner":null,"_Rotation":0,"_Scale":1,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5475},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","distanceToDragEvent":"lively.pt(295.7,-20.8)","_Position":"lively.pt(10527.5,52997.9)"},"5461":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":5462},{"__isSmartRef__":true,"id":5463}],"_ClipMode":"visible","_BorderWidth":3.1119999999999997,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Padding","_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(-75.9,-6.9)","_Extent":"lively.pt(151.7,13.9)","_BorderColor":"Color.rgb(161,161,161)"},"5462":{"isAbsolute":true,"x":74.86198803712648,"y":-4.949983532278566,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"5463":{"isAbsolute":true,"x":-73.86198803712614,"y":5.949983532282204,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"5464":{"morph":{"__isSmartRef__":true,"id":5460},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5465":{"morph":{"__isSmartRef__":true,"id":5460},"index":0,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"5466":{"morph":{"__isSmartRef__":true,"id":5460},"index":1,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"5467":{"requiredModules":[],"migrationLevel":4,"partsSpaceName":"PartsBin/Jens/","comment":"Yes, I think I got it again: Powerful and nice connectors.\nThis time 100 % Part only!","partName":"Connector","lastModifiedDate":{"__isSmartRef__":true,"id":5468},"revisionOnLoad":186829,"changes":[{"__isSmartRef__":true,"id":5469},{"__isSmartRef__":true,"id":5471}],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"5468":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:04:50 GMT+0100 (CET)"},"5469":{"date":{"__isSmartRef__":true,"id":5470},"author":"jenslincke","message":"no comment","id":"28165CED-C8C5-4B8E-9655-645E3F5099BB"},"5470":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:42 GMT+0100 (CET)"},"5471":{"date":{"__isSmartRef__":true,"id":5472},"author":"jenslincke","message":"no comment","id":"117C964B-9768-48F2-8EC8-D4328478198F"},"5472":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:05:07 GMT+0100 (CET)"},"5473":{"d":1,"a":1,"f":906.1,"e":107.8,"c":0,"b":0,"matrix_":{"__isSmartRef__":true,"id":5474},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"5474":{"a":1,"b":0,"c":0,"d":1,"e":107.8,"f":906.1,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"5475":{"connect":{"__isSmartRef__":true,"id":5476},"updatePosition":{"__isSmartRef__":true,"id":5480},"updateControlPoint":{"__isSmartRef__":true,"id":5484},"disconnectMorph":{"__isSmartRef__":true,"id":5488},"connectMorph":{"__isSmartRef__":true,"id":5492},"onMouseOver":{"__isSmartRef__":true,"id":5496},"onMouseOut":{"__isSmartRef__":true,"id":5500},"makeHandle":{"__isSmartRef__":true,"id":5508},"showFromHandle":{"__isSmartRef__":true,"id":5512},"showToHandle":{"__isSmartRef__":true,"id":5516},"reset":{"__isSmartRef__":true,"id":5520},"onDragInHandle":{"__isSmartRef__":true,"id":5524},"onDragStartInHandle":{"__isSmartRef__":true,"id":5528},"onDragEndInHandle":{"__isSmartRef__":true,"id":5532},"connectFrom":{"__isSmartRef__":true,"id":5536},"connectTo":{"__isSmartRef__":true,"id":5540},"hideToHandle":{"__isSmartRef__":true,"id":5544},"hideFromHandle":{"__isSmartRef__":true,"id":5548},"updateIntersection":{"__isSmartRef__":true,"id":5552},"lineIntersect":{"__isSmartRef__":true,"id":5556},"intersectMorphLinePoints":{"__isSmartRef__":true,"id":5560},"intersectMorph":{"__isSmartRef__":true,"id":5564},"globalShapePathFromMorph":{"__isSmartRef__":true,"id":5568}},"5476":{"varMapping":{"__isSmartRef__":true,"id":5477},"source":"function connect(morphA, morphB) {\n this.connectFrom(morphA)\n this.connectTo(morphB)\n this.updatePosition()\n}","funcProperties":{"__isSmartRef__":true,"id":5478},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5477":{"this":{"__isSmartRef__":true,"id":5460}},"5478":{"timestamp":{"__isSmartRef__":true,"id":5479},"user":"jenslincke","tags":[]},"5479":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:50:49 GMT+0100 (CET)"},"5480":{"varMapping":{"__isSmartRef__":true,"id":5481},"source":"function updatePosition() {\n this.updateControlPoint(this.controlPoints[0], this.fromMorph)\n this.updateControlPoint(this.controlPoints[1], this.toMorph)\n this.updateIntersection(this.fromMorph, this.controlPoints[0])\n this.updateIntersection(this.toMorph, this.controlPoints[1])\n\n this.adjustOrigin(this.bounds().extent().scaleBy(0.5))\n}","funcProperties":{"__isSmartRef__":true,"id":5482},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5481":{"this":{"__isSmartRef__":true,"id":5460}},"5482":{"timestamp":{"__isSmartRef__":true,"id":5483},"user":"jenslincke","tags":[]},"5483":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:06:20 GMT+0100 (CET)"},"5484":{"varMapping":{"__isSmartRef__":true,"id":5485},"source":"function updateControlPoint(cp, morph) {\n if (!cp || !morph) return;\n cp.setGlobalPos(morph.worldPoint(morph.shape.bounds().center()))\n}","funcProperties":{"__isSmartRef__":true,"id":5486},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5485":{"this":{"__isSmartRef__":true,"id":5460}},"5486":{"timestamp":{"__isSmartRef__":true,"id":5487},"user":"jenslincke","tags":[]},"5487":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:45:56 GMT+0100 (CET)"},"5488":{"varMapping":{"__isSmartRef__":true,"id":5489},"source":"function disconnectMorph(morph) {\n if (!morph) return;\n lively.bindings.disconnect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":5490},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5489":{"this":{"__isSmartRef__":true,"id":5460}},"5490":{"timestamp":{"__isSmartRef__":true,"id":5491},"user":"jenslincke","tags":[]},"5491":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:19:18 GMT+0100 (CET)"},"5492":{"varMapping":{"__isSmartRef__":true,"id":5493},"source":"function connectMorph(morph) {\n if (morph)\n lively.bindings.connect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":5494},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5493":{"this":{"__isSmartRef__":true,"id":5460}},"5494":{"timestamp":{"__isSmartRef__":true,"id":5495},"user":"jenslincke","tags":[]},"5495":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:52:12 GMT+0100 (CET)"},"5496":{"varMapping":{"__isSmartRef__":true,"id":5497},"source":"function onMouseOver(evt) {\n var p = evt.mousePoint.scaleBy(this.world().getScale())\n\n var cp1 = this.controlPoints[0].getGlobalPos();\n if (p.dist(cp1) < 20) {\n this.showFromHandle()\n } else {\n this.hideFromHandle()\n }\n var cp2 = this.controlPoints[1].getGlobalPos();\n if (p.dist(cp2) < 20) {\n this.showToHandle()\n } else {\n this.hideToHandle()\n }\n}","funcProperties":{"__isSmartRef__":true,"id":5498},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5497":{"this":{"__isSmartRef__":true,"id":5460}},"5498":{"timestamp":{"__isSmartRef__":true,"id":5499},"user":"jenslincke","tags":[]},"5499":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:23:03 GMT+0100 (CET)"},"5500":{"varMapping":{"__isSmartRef__":true,"id":5501},"source":"function onMouseOut(evt) {\n // this.hideFromHandle()\n // this.hideToHandle()\n}","funcProperties":{"__isSmartRef__":true,"id":5506},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5501":{"this":{"__isSmartRef__":true,"id":5460},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5502}},"5502":{"$super":{"__isSmartRef__":true,"id":5503}},"5503":{"varMapping":{"__isSmartRef__":true,"id":5504},"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":5505},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5504":{"obj":{"__isSmartRef__":true,"id":5460},"name":"onMouseOut"},"5505":{},"5506":{"timestamp":{"__isSmartRef__":true,"id":5507},"user":"jenslincke","tags":[]},"5507":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:54:53 GMT+0100 (CET)"},"5508":{"varMapping":{"__isSmartRef__":true,"id":5509},"source":"function makeHandle() {\n var m = lively.morphic.Morph.makeRectangle(0,0,10,10);\n m.disableGrabbing()\n m.enableDragging()\n m.connector = this;\n // move real behavior to a place which is easier to develop\n // do not use bind, because we like late binding \n m.addScript(function onDragStart(evt) {\n this.connector.onDragStartInHandle(this, evt)\n })\n m.addScript(function onDrag(evt) {\n this.connector.onDragInHandle(this, evt)\n })\n m.addScript(function onDragEnd(evt) {\n this.connector.onDragEndInHandle(this, evt)\n })\n m.isEpiMorph = true;\n return m\n}","funcProperties":{"__isSmartRef__":true,"id":5510},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5509":{"this":{"__isSmartRef__":true,"id":5460}},"5510":{"timestamp":{"__isSmartRef__":true,"id":5511},"user":"jenslincke","tags":[]},"5511":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:08:29 GMT+0100 (CET)"},"5512":{"varMapping":{"__isSmartRef__":true,"id":5513},"source":"function showFromHandle() {\n if (!this.fromHandle) {\n this.fromHandle = this.makeHandle();\n this.fromHandle.setFill(Color.red)\n this.fromHandle.isFromHandle = true;\n }\n this.fromHandle.openInWorld();\n this.fromHandle.controlPoint = this.controlPoints[0];\n this.fromHandle.setPosition(this.controlPoints[0].getGlobalPos().subPt(pt(5,5)))\n return this.fromHandle\n}","funcProperties":{"__isSmartRef__":true,"id":5514},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5513":{"this":{"__isSmartRef__":true,"id":5460}},"5514":{"timestamp":{"__isSmartRef__":true,"id":5515},"user":"jenslincke","tags":[]},"5515":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:13:03 GMT+0100 (CET)"},"5516":{"varMapping":{"__isSmartRef__":true,"id":5517},"source":"function showToHandle() {\n if (!this.toHandle) {\n this.toHandle = this.makeHandle();\n this.toHandle.setFill(Color.red)\n this.toHandle.isToHandle = true;\n\n }\n this.toHandle.openInWorld();\n this.toHandle.controlPoint = this.controlPoints[1];\n this.toHandle.setPosition(this.controlPoints[1].getGlobalPos().subPt(pt(5,5)))\n return this.toHandle\n}","funcProperties":{"__isSmartRef__":true,"id":5518},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5517":{"this":{"__isSmartRef__":true,"id":5460}},"5518":{"timestamp":{"__isSmartRef__":true,"id":5519},"user":"jenslincke","tags":[]},"5519":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:20:25 GMT+0100 (CET)"},"5520":{"varMapping":{"__isSmartRef__":true,"id":5521},"source":"function reset() {\n if (this.fromHandle) {\n this.fromHandle.remove()\n delete this.fromHandle\n }\n if (this.toHandle) {\n this.toHandle.remove()\n delete this.toHandle\n }\n // this.controlPoints[1].setPos(pt(200,200))\n}","funcProperties":{"__isSmartRef__":true,"id":5522},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5521":{"this":{"__isSmartRef__":true,"id":5460}},"5522":{"timestamp":{"__isSmartRef__":true,"id":5523},"user":"jenslincke","tags":[]},"5523":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:15:00 GMT+0100 (CET)"},"5524":{"varMapping":{"__isSmartRef__":true,"id":5525},"source":"function onDragInHandle(handle, evt) {\n\n var pos = handle.getPositionInWorld();\n var delta = evt.hand.getPosition().subPt(pos);\n handle.moveBy(delta)\n pos = handle.getPositionInWorld();\n if (handle.controlPoint)\n handle.controlPoint.setGlobalPos(pos.addPt(pt(5,5)))\n var morphs = this.owner.morphsContainingPoint(pos)\n morphs = morphs.reject(function(ea) {\n return ea.isWorld || (ea === handle) || (ea === this) || \n (ea === this.owner)\n }, this)\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n this.selectedMorph = morphs.first();\n this.selectedMorphHighlights = show(this.selectedMorph)\n handle.startPos = evt.getPosition();\n}","funcProperties":{"__isSmartRef__":true,"id":5526},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5525":{"this":{"__isSmartRef__":true,"id":5460}},"5526":{"timestamp":{"__isSmartRef__":true,"id":5527},"user":"jenslincke","tags":[]},"5527":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:06:40 GMT+0100 (CET)"},"5528":{"varMapping":{"__isSmartRef__":true,"id":5529},"source":"function onDragStartInHandle(handle, evt) {\n handle.startPos = evt.getPosition()\n}","funcProperties":{"__isSmartRef__":true,"id":5530},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5529":{"this":{"__isSmartRef__":true,"id":5460}},"5530":{"timestamp":{"__isSmartRef__":true,"id":5531},"user":"jenslincke","tags":[]},"5531":{"isSerializedDate":true,"string":"Thu Dec 13 2012 15:51:13 GMT+0100 (CET)"},"5532":{"varMapping":{"__isSmartRef__":true,"id":5533},"source":"function onDragEndInHandle(handle, evt) {\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n \n if (handle.isFromHandle) this.connectFrom(this.selectedMorph)\n if (handle.isToHandle) this.connectTo(this.selectedMorph)\n handle.remove()\n}","funcProperties":{"__isSmartRef__":true,"id":5534},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5533":{"this":{"__isSmartRef__":true,"id":5460}},"5534":{"timestamp":{"__isSmartRef__":true,"id":5535},"user":"jenslincke","tags":[]},"5535":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:44:35 GMT+0100 (CET)"},"5536":{"varMapping":{"__isSmartRef__":true,"id":5537},"source":"function connectFrom(morph) {\n if (morph && morph === this.toMorph) return; // not allowed\n\n this.disconnectMorph(this.fromMorph)\n this.fromMorph = morph;\n this.connectMorph(this.fromMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":5538},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5537":{"this":{"__isSmartRef__":true,"id":5460}},"5538":{"timestamp":{"__isSmartRef__":true,"id":5539},"user":"jenslincke","tags":[]},"5539":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:02:22 GMT+0100 (CET)"},"5540":{"varMapping":{"__isSmartRef__":true,"id":5541},"source":"function connectTo(morph) {\n\n if (morph && morph === this.fromMorph) return; // not allowed\n\n this.disconnectMorph(this.toMorph)\n this.toMorph = morph;\n this.connectMorph(this.toMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":5542},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5541":{"this":{"__isSmartRef__":true,"id":5460}},"5542":{"timestamp":{"__isSmartRef__":true,"id":5543},"user":"jenslincke","tags":[]},"5543":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:02:30 GMT+0100 (CET)"},"5544":{"varMapping":{"__isSmartRef__":true,"id":5545},"source":"function hideToHandle() {\n if (this.toHandle) {\n this.toHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":5546},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5545":{"this":{"__isSmartRef__":true,"id":5460}},"5546":{"timestamp":{"__isSmartRef__":true,"id":5547},"user":"jenslincke","tags":[]},"5547":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:51:59 GMT+0100 (CET)"},"5548":{"varMapping":{"__isSmartRef__":true,"id":5549},"source":"function hideFromHandle() {\n if (this.fromHandle) {\n this.fromHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":5550},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5549":{"this":{"__isSmartRef__":true,"id":5460}},"5550":{"timestamp":{"__isSmartRef__":true,"id":5551},"user":"jenslincke","tags":[]},"5551":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:52:18 GMT+0100 (CET)"},"5552":{"varMapping":{"__isSmartRef__":true,"id":5553},"source":"function updateIntersection(morph, cp) {\n if (!morph) return;\n var intersection = this.intersectMorph(morph)[0];\n if (intersection) {\n cp.setGlobalPos(intersection);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":5554},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5553":{"this":{"__isSmartRef__":true,"id":5460}},"5554":{"timestamp":{"__isSmartRef__":true,"id":5555},"user":"jenslincke","tags":[]},"5555":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:32 GMT+0100 (CET)"},"5556":{"varMapping":{"__isSmartRef__":true,"id":5557},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":5558},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5557":{"this":{"__isSmartRef__":true,"id":5460}},"5558":{"timestamp":{"__isSmartRef__":true,"id":5559},"user":"jenslincke","tags":[]},"5559":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:47:12 GMT+0100 (CET)"},"5560":{"varMapping":{"__isSmartRef__":true,"id":5561},"source":"function intersectMorphLinePoints(morph, a1, a2) {\n var points = this.globalShapePathFromMorph(morph);\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":5562},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5561":{"this":{"__isSmartRef__":true,"id":5460}},"5562":{"timestamp":{"__isSmartRef__":true,"id":5563},"user":"jenslincke","tags":[]},"5563":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:21 GMT+0100 (CET)"},"5564":{"varMapping":{"__isSmartRef__":true,"id":5565},"source":"function intersectMorph(morph) {\n var line = this;\n return this.intersectMorphLinePoints(morph,\n line.controlPoints[0].getGlobalPos(), line.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":5566},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5565":{"this":{"__isSmartRef__":true,"id":5460}},"5566":{"timestamp":{"__isSmartRef__":true,"id":5567},"user":"jenslincke","tags":[]},"5567":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:47 GMT+0100 (CET)"},"5568":{"varMapping":{"__isSmartRef__":true,"id":5569},"source":"function globalShapePathFromMorph(morph) {\n var b = morph.shape.bounds();\n var p1 = morph.worldPoint(b.topLeft()),\n p2 = morph.worldPoint(b.topRight()),\n p3 = morph.worldPoint(b.bottomRight()),\n p4 = morph.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":5570},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5569":{"this":{"__isSmartRef__":true,"id":5460}},"5570":{"timestamp":{"__isSmartRef__":true,"id":5571},"user":"jenslincke","tags":[]},"5571":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:00 GMT+0100 (CET)"},"5572":{"source":{"__isSmartRef__":true,"id":5387},"target":{"__isSmartRef__":true,"id":5460}},"5573":{"sourceObj":{"__isSmartRef__":true,"id":5387},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":5459},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5574},"dependedBy":{"__isSmartRef__":true,"id":5459},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5574":{"source":{"__isSmartRef__":true,"id":5387},"target":{"__isSmartRef__":true,"id":5459}},"5575":{"sourceObj":{"__isSmartRef__":true,"id":5387},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":5459},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5576},"dependedBy":{"__isSmartRef__":true,"id":5459},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5576":{"source":{"__isSmartRef__":true,"id":5387},"target":{"__isSmartRef__":true,"id":5459}},"5577":{"sourceObj":{"__isSmartRef__":true,"id":5387},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":5459},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5578},"dependedBy":{"__isSmartRef__":true,"id":5459},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5578":{"source":{"__isSmartRef__":true,"id":5387},"target":{"__isSmartRef__":true,"id":5459}},"5579":{"sourceObj":{"__isSmartRef__":true,"id":5387},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":5459},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":5580},"dependedBy":{"__isSmartRef__":true,"id":5459},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5580":{"source":{"__isSmartRef__":true,"id":5387},"target":{"__isSmartRef__":true,"id":5459}},"5581":{"d":0.9347623017725522,"a":0.9347623017725522,"f":3485.245045045044,"e":728.5390390390387,"c":0.3552737524570028,"b":-0.3552737524570028,"matrix_":{"__isSmartRef__":true,"id":5582},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"5582":{"a":0.9347623017725522,"b":-0.3552737524570028,"c":0.3552737524570028,"d":0.9347623017725522,"e":728.5390390390387,"f":3485.245045045044,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"5583":{"globalShapePath":{"__isSmartRef__":true,"id":5584},"lineIntersect":{"__isSmartRef__":true,"id":5587},"intersectLine":{"__isSmartRef__":true,"id":5591},"intersectLineMorph":{"__isSmartRef__":true,"id":5594}},"5584":{"varMapping":{"__isSmartRef__":true,"id":5585},"source":"function globalShapePath() {\n var b = this.shape.bounds();\n var p1 = this.worldPoint(b.topLeft()),\n p2 = this.worldPoint(b.topRight()),\n p3 = this.worldPoint(b.bottomRight()),\n p4 = this.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":5586},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5585":{"this":{"__isSmartRef__":true,"id":5387}},"5586":{},"5587":{"varMapping":{"__isSmartRef__":true,"id":5588},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":5589},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5588":{"this":{"__isSmartRef__":true,"id":5387}},"5589":{"timestamp":{"__isSmartRef__":true,"id":5590},"user":"jenslincke","tags":[]},"5590":{"isSerializedDate":true,"string":"Thu Dec 13 2012 13:42:55 GMT+0100 (CET)"},"5591":{"varMapping":{"__isSmartRef__":true,"id":5592},"source":"function intersectLine(a1, a2) {\n var points = this.globalShapePath();\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":5593},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5592":{"this":{"__isSmartRef__":true,"id":5387}},"5593":{},"5594":{"varMapping":{"__isSmartRef__":true,"id":5595},"source":"function intersectLineMorph(m) {\n return this.intersectLine(m.controlPoints[0].getGlobalPos(), m.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":5596},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5595":{"this":{"__isSmartRef__":true,"id":5387}},"5596":{},"5597":{"d":1,"a":1,"f":906.1,"e":107.8,"c":0,"b":0,"matrix_":{"__isSmartRef__":true,"id":5598},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"5598":{"a":1,"b":0,"c":0,"d":1,"e":107.8,"f":906.1,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"5599":{"connect":{"__isSmartRef__":true,"id":5600},"updatePosition":{"__isSmartRef__":true,"id":5604},"updateControlPoint":{"__isSmartRef__":true,"id":5608},"disconnectMorph":{"__isSmartRef__":true,"id":5612},"connectMorph":{"__isSmartRef__":true,"id":5616},"onMouseOver":{"__isSmartRef__":true,"id":5620},"onMouseOut":{"__isSmartRef__":true,"id":5624},"makeHandle":{"__isSmartRef__":true,"id":5632},"showFromHandle":{"__isSmartRef__":true,"id":5636},"showToHandle":{"__isSmartRef__":true,"id":5640},"reset":{"__isSmartRef__":true,"id":5644},"onDragInHandle":{"__isSmartRef__":true,"id":5648},"onDragStartInHandle":{"__isSmartRef__":true,"id":5652},"onDragEndInHandle":{"__isSmartRef__":true,"id":5656},"connectFrom":{"__isSmartRef__":true,"id":5660},"connectTo":{"__isSmartRef__":true,"id":5664},"hideToHandle":{"__isSmartRef__":true,"id":5668},"hideFromHandle":{"__isSmartRef__":true,"id":5672},"updateIntersection":{"__isSmartRef__":true,"id":5676},"lineIntersect":{"__isSmartRef__":true,"id":5680},"intersectMorphLinePoints":{"__isSmartRef__":true,"id":5684},"intersectMorph":{"__isSmartRef__":true,"id":5688},"globalShapePathFromMorph":{"__isSmartRef__":true,"id":5692}},"5600":{"varMapping":{"__isSmartRef__":true,"id":5601},"source":"function connect(morphA, morphB) {\n this.connectFrom(morphA)\n this.connectTo(morphB)\n this.updatePosition()\n}","funcProperties":{"__isSmartRef__":true,"id":5602},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5601":{"this":{"__isSmartRef__":true,"id":5377}},"5602":{"timestamp":{"__isSmartRef__":true,"id":5603},"user":"jenslincke","tags":[]},"5603":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:50:49 GMT+0100 (CET)"},"5604":{"varMapping":{"__isSmartRef__":true,"id":5605},"source":"function updatePosition() {\n this.updateControlPoint(this.controlPoints[0], this.fromMorph)\n this.updateControlPoint(this.controlPoints[1], this.toMorph)\n this.updateIntersection(this.fromMorph, this.controlPoints[0])\n this.updateIntersection(this.toMorph, this.controlPoints[1])\n\n if (this.controlPoints[0].getPos().equalPt(this.controlPoints[1].getPos()))\n this.controlPoints[1].setPos(this.controlPoints[1].getPos().addPt(pt(30,0)))\n\n this.adjustOrigin(this.bounds().extent().scaleBy(0.5))\n \n}","funcProperties":{"__isSmartRef__":true,"id":5606},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5605":{"this":{"__isSmartRef__":true,"id":5377}},"5606":{"timestamp":{"__isSmartRef__":true,"id":5607},"user":"jenslincke","tags":[]},"5607":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:59:26 GMT+0100 (CET)"},"5608":{"varMapping":{"__isSmartRef__":true,"id":5609},"source":"function updateControlPoint(cp, morph) {\n if (!cp || !morph) return;\n cp.setGlobalPos(morph.worldPoint(morph.shape.bounds().center()))\n}","funcProperties":{"__isSmartRef__":true,"id":5610},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5609":{"this":{"__isSmartRef__":true,"id":5377}},"5610":{"timestamp":{"__isSmartRef__":true,"id":5611},"user":"jenslincke","tags":[]},"5611":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:45:56 GMT+0100 (CET)"},"5612":{"varMapping":{"__isSmartRef__":true,"id":5613},"source":"function disconnectMorph(morph) {\n if (!morph) return;\n lively.bindings.disconnect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":5614},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5613":{"this":{"__isSmartRef__":true,"id":5377}},"5614":{"timestamp":{"__isSmartRef__":true,"id":5615},"user":"jenslincke","tags":[]},"5615":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:19:18 GMT+0100 (CET)"},"5616":{"varMapping":{"__isSmartRef__":true,"id":5617},"source":"function connectMorph(morph) {\n if (morph)\n lively.bindings.connect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":5618},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5617":{"this":{"__isSmartRef__":true,"id":5377}},"5618":{"timestamp":{"__isSmartRef__":true,"id":5619},"user":"jenslincke","tags":[]},"5619":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:52:12 GMT+0100 (CET)"},"5620":{"varMapping":{"__isSmartRef__":true,"id":5621},"source":"function onMouseOver(evt) {\n var p = evt.mousePoint.scaleBy(this.world().getScale())\n\n var cp1 = this.controlPoints[0].getGlobalPos();\n if (p.dist(cp1) < 20) {\n this.showFromHandle()\n } else {\n this.hideFromHandle()\n }\n var cp2 = this.controlPoints[1].getGlobalPos();\n if (p.dist(cp2) < 20) {\n this.showToHandle()\n } else {\n this.hideToHandle()\n }\n}","funcProperties":{"__isSmartRef__":true,"id":5622},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5621":{"this":{"__isSmartRef__":true,"id":5377}},"5622":{"timestamp":{"__isSmartRef__":true,"id":5623},"user":"jenslincke","tags":[]},"5623":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:23:03 GMT+0100 (CET)"},"5624":{"varMapping":{"__isSmartRef__":true,"id":5625},"source":"function onMouseOut(evt) {\n // this.hideFromHandle()\n // this.hideToHandle()\n}","funcProperties":{"__isSmartRef__":true,"id":5630},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5625":{"this":{"__isSmartRef__":true,"id":5377},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5626}},"5626":{"$super":{"__isSmartRef__":true,"id":5627}},"5627":{"varMapping":{"__isSmartRef__":true,"id":5628},"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":5629},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5628":{"obj":{"__isSmartRef__":true,"id":5377},"name":"onMouseOut"},"5629":{},"5630":{"timestamp":{"__isSmartRef__":true,"id":5631},"user":"jenslincke","tags":[]},"5631":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:54:53 GMT+0100 (CET)"},"5632":{"varMapping":{"__isSmartRef__":true,"id":5633},"source":"function makeHandle() {\n var m = lively.morphic.Morph.makeRectangle(0,0,10,10);\n m.disableGrabbing()\n m.enableDragging()\n m.connector = this;\n // move real behavior to a place which is easier to develop\n // do not use bind, because we like late binding \n m.addScript(function onDragStart(evt) {\n this.connector.onDragStartInHandle(this, evt)\n })\n m.addScript(function onDrag(evt) {\n this.connector.onDragInHandle(this, evt)\n })\n m.addScript(function onDragEnd(evt) {\n this.connector.onDragEndInHandle(this, evt)\n })\n m.isEpiMorph = true;\n return m\n}","funcProperties":{"__isSmartRef__":true,"id":5634},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5633":{"this":{"__isSmartRef__":true,"id":5377}},"5634":{"timestamp":{"__isSmartRef__":true,"id":5635},"user":"jenslincke","tags":[]},"5635":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:08:29 GMT+0100 (CET)"},"5636":{"varMapping":{"__isSmartRef__":true,"id":5637},"source":"function showFromHandle() {\n if (!this.fromHandle) {\n this.fromHandle = this.makeHandle();\n this.fromHandle.setFill(Color.red)\n this.fromHandle.isFromHandle = true;\n }\n this.fromHandle.openInWorld();\n this.fromHandle.controlPoint = this.controlPoints[0];\n this.fromHandle.setPosition(this.controlPoints[0].getGlobalPos().subPt(pt(5,5)))\n return this.fromHandle\n}","funcProperties":{"__isSmartRef__":true,"id":5638},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5637":{"this":{"__isSmartRef__":true,"id":5377}},"5638":{"timestamp":{"__isSmartRef__":true,"id":5639},"user":"jenslincke","tags":[]},"5639":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:13:03 GMT+0100 (CET)"},"5640":{"varMapping":{"__isSmartRef__":true,"id":5641},"source":"function showToHandle() {\n if (!this.toHandle) {\n this.toHandle = this.makeHandle();\n this.toHandle.setFill(Color.red)\n this.toHandle.isToHandle = true;\n\n }\n this.toHandle.openInWorld();\n this.toHandle.controlPoint = this.controlPoints[1];\n this.toHandle.setPosition(this.controlPoints[1].getGlobalPos().subPt(pt(5,5)))\n return this.toHandle\n}","funcProperties":{"__isSmartRef__":true,"id":5642},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5641":{"this":{"__isSmartRef__":true,"id":5377}},"5642":{"timestamp":{"__isSmartRef__":true,"id":5643},"user":"jenslincke","tags":[]},"5643":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:20:25 GMT+0100 (CET)"},"5644":{"varMapping":{"__isSmartRef__":true,"id":5645},"source":"function reset() {\n if (this.fromHandle) {\n this.fromHandle.remove()\n delete this.fromHandle\n }\n if (this.toHandle) {\n this.toHandle.remove()\n delete this.toHandle\n }\n // this.controlPoints[1].setPos(pt(200,200))\n}","funcProperties":{"__isSmartRef__":true,"id":5646},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5645":{"this":{"__isSmartRef__":true,"id":5377}},"5646":{"timestamp":{"__isSmartRef__":true,"id":5647},"user":"jenslincke","tags":[]},"5647":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:15:00 GMT+0100 (CET)"},"5648":{"varMapping":{"__isSmartRef__":true,"id":5649},"source":"function onDragInHandle(handle, evt) {\n\n var pos = handle.getPositionInWorld();\n var delta = evt.hand.getPosition().subPt(pos);\n handle.moveBy(delta)\n pos = handle.getPositionInWorld();\n if (handle.controlPoint)\n handle.controlPoint.setGlobalPos(pos.addPt(pt(5,5)))\n var morphs = this.owner.morphsContainingPoint(pos)\n morphs = morphs.reject(function(ea) {\n return ea.isWorld || (ea === handle) || (ea === this) || \n (ea === this.owner)\n }, this)\n this.get('Console').textString = morphs\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n this.selectedMorph = morphs.first();\n this.selectedMorphHighlights = show(this.selectedMorph)\n handle.startPos = evt.getPosition();\n}","funcProperties":{"__isSmartRef__":true,"id":5650},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5649":{"this":{"__isSmartRef__":true,"id":5377}},"5650":{"timestamp":{"__isSmartRef__":true,"id":5651},"user":"jenslincke","tags":[]},"5651":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:09:40 GMT+0100 (CET)"},"5652":{"varMapping":{"__isSmartRef__":true,"id":5653},"source":"function onDragStartInHandle(handle, evt) {\n handle.startPos = evt.getPosition()\n}","funcProperties":{"__isSmartRef__":true,"id":5654},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5653":{"this":{"__isSmartRef__":true,"id":5377}},"5654":{"timestamp":{"__isSmartRef__":true,"id":5655},"user":"jenslincke","tags":[]},"5655":{"isSerializedDate":true,"string":"Thu Dec 13 2012 15:51:13 GMT+0100 (CET)"},"5656":{"varMapping":{"__isSmartRef__":true,"id":5657},"source":"function onDragEndInHandle(handle, evt) {\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n \n if (handle.isFromHandle) this.connectFrom(this.selectedMorph)\n if (handle.isToHandle) this.connectTo(this.selectedMorph)\n handle.remove()\n}","funcProperties":{"__isSmartRef__":true,"id":5658},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5657":{"this":{"__isSmartRef__":true,"id":5377}},"5658":{"timestamp":{"__isSmartRef__":true,"id":5659},"user":"jenslincke","tags":[]},"5659":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:44:35 GMT+0100 (CET)"},"5660":{"varMapping":{"__isSmartRef__":true,"id":5661},"source":"function connectFrom(morph) {\n if (morph === this.toMorph) return; // not allowed\n\n this.disconnectMorph(this.fromMorph)\n this.fromMorph = morph;\n this.connectMorph(this.fromMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":5662},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5661":{"this":{"__isSmartRef__":true,"id":5377}},"5662":{"timestamp":{"__isSmartRef__":true,"id":5663},"user":"jenslincke","tags":[]},"5663":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:57:22 GMT+0100 (CET)"},"5664":{"varMapping":{"__isSmartRef__":true,"id":5665},"source":"function connectTo(morph) {\n\n if (morph === this.fromMorph) return; // not allowed\n\n this.disconnectMorph(this.toMorph)\n this.toMorph = morph;\n this.connectMorph(this.toMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":5666},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5665":{"this":{"__isSmartRef__":true,"id":5377}},"5666":{"timestamp":{"__isSmartRef__":true,"id":5667},"user":"jenslincke","tags":[]},"5667":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:57:14 GMT+0100 (CET)"},"5668":{"varMapping":{"__isSmartRef__":true,"id":5669},"source":"function hideToHandle() {\n if (this.toHandle) {\n this.toHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":5670},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5669":{"this":{"__isSmartRef__":true,"id":5377}},"5670":{"timestamp":{"__isSmartRef__":true,"id":5671},"user":"jenslincke","tags":[]},"5671":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:51:59 GMT+0100 (CET)"},"5672":{"varMapping":{"__isSmartRef__":true,"id":5673},"source":"function hideFromHandle() {\n if (this.fromHandle) {\n this.fromHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":5674},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5673":{"this":{"__isSmartRef__":true,"id":5377}},"5674":{"timestamp":{"__isSmartRef__":true,"id":5675},"user":"jenslincke","tags":[]},"5675":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:52:18 GMT+0100 (CET)"},"5676":{"varMapping":{"__isSmartRef__":true,"id":5677},"source":"function updateIntersection(morph, cp) {\n if (!morph) return;\n var intersection = this.intersectMorph(morph)[0];\n if (intersection) {\n cp.setGlobalPos(intersection);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":5678},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5677":{"this":{"__isSmartRef__":true,"id":5377}},"5678":{"timestamp":{"__isSmartRef__":true,"id":5679},"user":"jenslincke","tags":[]},"5679":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:32 GMT+0100 (CET)"},"5680":{"varMapping":{"__isSmartRef__":true,"id":5681},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":5682},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5681":{"this":{"__isSmartRef__":true,"id":5377}},"5682":{"timestamp":{"__isSmartRef__":true,"id":5683},"user":"jenslincke","tags":[]},"5683":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:47:12 GMT+0100 (CET)"},"5684":{"varMapping":{"__isSmartRef__":true,"id":5685},"source":"function intersectMorphLinePoints(morph, a1, a2) {\n var points = this.globalShapePathFromMorph(morph);\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":5686},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5685":{"this":{"__isSmartRef__":true,"id":5377}},"5686":{"timestamp":{"__isSmartRef__":true,"id":5687},"user":"jenslincke","tags":[]},"5687":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:21 GMT+0100 (CET)"},"5688":{"varMapping":{"__isSmartRef__":true,"id":5689},"source":"function intersectMorph(morph) {\n var line = this;\n return this.intersectMorphLinePoints(morph,\n line.controlPoints[0].getGlobalPos(), line.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":5690},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5689":{"this":{"__isSmartRef__":true,"id":5377}},"5690":{"timestamp":{"__isSmartRef__":true,"id":5691},"user":"jenslincke","tags":[]},"5691":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:47 GMT+0100 (CET)"},"5692":{"varMapping":{"__isSmartRef__":true,"id":5693},"source":"function globalShapePathFromMorph(morph) {\n var b = morph.shape.bounds();\n var p1 = morph.worldPoint(b.topLeft()),\n p2 = morph.worldPoint(b.topRight()),\n p3 = morph.worldPoint(b.bottomRight()),\n p4 = morph.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":5694},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5693":{"this":{"__isSmartRef__":true,"id":5377}},"5694":{"timestamp":{"__isSmartRef__":true,"id":5695},"user":"jenslincke","tags":[]},"5695":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:00 GMT+0100 (CET)"},"5696":{"morph":{"__isSmartRef__":true,"id":5346},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(142.4,3530.4)"},"5697":{"morph":{"__isSmartRef__":true,"id":5346},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(104.9,3506.4)"},"5698":{"morph":{"__isSmartRef__":true,"id":5346},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(67.4,3482.4)"},"5699":{"morph":{"__isSmartRef__":true,"id":5346},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(89.0,3448.7)"},"5700":{"sourceObj":{"__isSmartRef__":true,"id":5346},"sourceAttrName":"name","targetObj":{"__isSmartRef__":true,"id":5321},"targetMethodName":"updateLabel","varMapping":{"__isSmartRef__":true,"id":5701},"visualConnector":{"__isSmartRef__":true,"id":5702},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5701":{"source":{"__isSmartRef__":true,"id":5346},"target":{"__isSmartRef__":true,"id":5321}},"5702":{"submorphs":[{"__isSmartRef__":true,"id":5703}],"scripts":[],"shape":{"__isSmartRef__":true,"id":5710},"eventHandler":{"__isSmartRef__":true,"id":5713},"_ClipMode":"visible","derivationIds":[],"id":"5814672F-102B-41EE-9D91-9FA58B6451FD","__layered_droppingEnabled__":true,"halosEnabled":true,"owner":null,"controlPoints":[{"__isSmartRef__":true,"id":5714},{"__isSmartRef__":true,"id":5715}],"con":{"__isSmartRef__":true,"id":5700},"showsMorphMenu":true,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5716},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"5703":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":5704},"eventHandler":{"__isSmartRef__":true,"id":5709},"_ClipMode":"visible","derivationIds":[],"id":"01253C2A-18A1-43A8-AA72-260E7FC0929E","__layered_droppingEnabled__":true,"halosEnabled":true,"owner":{"__isSmartRef__":true,"id":5702},"_Rotation":1.3832457846463706,"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","_Position":"lively.pt(259.1,3427.8)"},"5704":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":5705},{"__isSmartRef__":true,"id":5706},{"__isSmartRef__":true,"id":5707},{"__isSmartRef__":true,"id":5708}],"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor","_Fill"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Position":"lively.pt(-12.0,-6.0)","_Extent":"lively.pt(17.0,13.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(0,0,0)"},"5705":{"isAbsolute":true,"x":-11,"y":-5,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"5706":{"isAbsolute":true,"x":-11,"y":7,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"5707":{"isAbsolute":true,"x":5,"y":1,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"5708":{"isAbsolute":true,"x":-11,"y":-5,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"5709":{"morph":{"__isSmartRef__":true,"id":5703},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5710":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":5711},{"__isSmartRef__":true,"id":5712}],"_BorderWidth":1,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Position":"lively.pt(248.7,3377.0)","_Extent":"lively.pt(10.4,50.8)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"5711":{"isAbsolute":true,"x":249.7,"y":3378,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"5712":{"isAbsolute":true,"x":259.14357977177195,"y":3427.7604139964105,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"5713":{"morph":{"__isSmartRef__":true,"id":5702},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5714":{"morph":{"__isSmartRef__":true,"id":5702},"index":0,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"5715":{"morph":{"__isSmartRef__":true,"id":5702},"index":1,"marker":{"__isSmartRef__":true,"id":5703},"markerDirection":"prev","__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"5716":{"morphMenuItems":{"__isSmartRef__":true,"id":5717}},"5717":{"varMapping":{"__isSmartRef__":true,"id":5718},"source":"function morphMenuItems() {\n var visualConnector = this, con = this.con, world = $world;\n var items = [\n ['Edit converter', function() {\n var window = lively.bindings.editConnection(con);\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":5723},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5718":{"this":{"__isSmartRef__":true,"id":5702},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5719}},"5719":{"$super":{"__isSmartRef__":true,"id":5720}},"5720":{"varMapping":{"__isSmartRef__":true,"id":5721},"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":5722},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5721":{"obj":{"__isSmartRef__":true,"id":5702},"name":"morphMenuItems"},"5722":{},"5723":{},"5724":{"sourceObj":{"__isSmartRef__":true,"id":5346},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":5702},"targetMethodName":"realignConnection","varMapping":{"__isSmartRef__":true,"id":5725},"dependendConnections":[{"__isSmartRef__":true,"id":5726},{"__isSmartRef__":true,"id":5728},{"__isSmartRef__":true,"id":5730},{"__isSmartRef__":true,"id":5732},{"__isSmartRef__":true,"id":5734},{"__isSmartRef__":true,"id":5736},{"__isSmartRef__":true,"id":5738},{"__isSmartRef__":true,"id":5740}],"oldTransform":{"__isSmartRef__":true,"id":5742},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"5725":{"source":{"__isSmartRef__":true,"id":5346},"target":{"__isSmartRef__":true,"id":5702}},"5726":{"sourceObj":{"__isSmartRef__":true,"id":5346},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":5724},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5727},"dependedBy":{"__isSmartRef__":true,"id":5724},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5727":{"source":{"__isSmartRef__":true,"id":5346},"target":{"__isSmartRef__":true,"id":5724}},"5728":{"sourceObj":{"__isSmartRef__":true,"id":5346},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":5724},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5729},"dependedBy":{"__isSmartRef__":true,"id":5724},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5729":{"source":{"__isSmartRef__":true,"id":5346},"target":{"__isSmartRef__":true,"id":5724}},"5730":{"sourceObj":{"__isSmartRef__":true,"id":5346},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":5724},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5731},"dependedBy":{"__isSmartRef__":true,"id":5724},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5731":{"source":{"__isSmartRef__":true,"id":5346},"target":{"__isSmartRef__":true,"id":5724}},"5732":{"sourceObj":{"__isSmartRef__":true,"id":5346},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":5724},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":5733},"dependedBy":{"__isSmartRef__":true,"id":5724},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5733":{"source":{"__isSmartRef__":true,"id":5346},"target":{"__isSmartRef__":true,"id":5724}},"5734":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":5724},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5735},"dependedBy":{"__isSmartRef__":true,"id":5724},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5735":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":5724}},"5736":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":5724},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5737},"dependedBy":{"__isSmartRef__":true,"id":5724},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5737":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":5724}},"5738":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":5724},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5739},"dependedBy":{"__isSmartRef__":true,"id":5724},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5739":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":5724}},"5740":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":5724},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":5741},"dependedBy":{"__isSmartRef__":true,"id":5724},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5741":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":5724}},"5742":{"d":0.8419431060646692,"a":0.8419431060646692,"f":59.4,"e":73.7,"c":-0.5395663130238733,"b":0.5395663130238733,"matrix_":{"__isSmartRef__":true,"id":5743},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"5743":{"a":0.8419431060646692,"b":0.5395663130238733,"c":-0.5395663130238733,"d":0.8419431060646692,"e":73.7,"f":59.4,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"5744":{"sourceObj":{"__isSmartRef__":true,"id":5346},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":5320},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5745},"dependedBy":{"__isSmartRef__":true,"id":5320},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5745":{"source":{"__isSmartRef__":true,"id":5346},"target":{"__isSmartRef__":true,"id":5320}},"5746":{"sourceObj":{"__isSmartRef__":true,"id":5346},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":5320},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5747},"dependedBy":{"__isSmartRef__":true,"id":5320},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5747":{"source":{"__isSmartRef__":true,"id":5346},"target":{"__isSmartRef__":true,"id":5320}},"5748":{"sourceObj":{"__isSmartRef__":true,"id":5346},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":5320},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5749},"dependedBy":{"__isSmartRef__":true,"id":5320},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5749":{"source":{"__isSmartRef__":true,"id":5346},"target":{"__isSmartRef__":true,"id":5320}},"5750":{"sourceObj":{"__isSmartRef__":true,"id":5346},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":5320},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":5751},"dependedBy":{"__isSmartRef__":true,"id":5320},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5751":{"source":{"__isSmartRef__":true,"id":5346},"target":{"__isSmartRef__":true,"id":5320}},"5752":{"sourceObj":{"__isSmartRef__":true,"id":5346},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":2988},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":5753},"dependendConnections":[{"__isSmartRef__":true,"id":5754},{"__isSmartRef__":true,"id":5756},{"__isSmartRef__":true,"id":5758},{"__isSmartRef__":true,"id":5760},{"__isSmartRef__":true,"id":5762},{"__isSmartRef__":true,"id":5764},{"__isSmartRef__":true,"id":5766},{"__isSmartRef__":true,"id":5768}],"oldTransform":{"__isSmartRef__":true,"id":5770},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"5753":{"source":{"__isSmartRef__":true,"id":5346},"target":{"__isSmartRef__":true,"id":2988}},"5754":{"sourceObj":{"__isSmartRef__":true,"id":5346},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":5752},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5755},"dependedBy":{"__isSmartRef__":true,"id":5752},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5755":{"source":{"__isSmartRef__":true,"id":5346},"target":{"__isSmartRef__":true,"id":5752}},"5756":{"sourceObj":{"__isSmartRef__":true,"id":5346},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":5752},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5757},"dependedBy":{"__isSmartRef__":true,"id":5752},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5757":{"source":{"__isSmartRef__":true,"id":5346},"target":{"__isSmartRef__":true,"id":5752}},"5758":{"sourceObj":{"__isSmartRef__":true,"id":5346},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":5752},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5759},"dependedBy":{"__isSmartRef__":true,"id":5752},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5759":{"source":{"__isSmartRef__":true,"id":5346},"target":{"__isSmartRef__":true,"id":5752}},"5760":{"sourceObj":{"__isSmartRef__":true,"id":5346},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":5752},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":5761},"dependedBy":{"__isSmartRef__":true,"id":5752},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5761":{"source":{"__isSmartRef__":true,"id":5346},"target":{"__isSmartRef__":true,"id":5752}},"5762":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":5752},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5763},"dependedBy":{"__isSmartRef__":true,"id":5752},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5763":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":5752}},"5764":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":5752},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5765},"dependedBy":{"__isSmartRef__":true,"id":5752},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5765":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":5752}},"5766":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":5752},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5767},"dependedBy":{"__isSmartRef__":true,"id":5752},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5767":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":5752}},"5768":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":5752},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":5769},"dependedBy":{"__isSmartRef__":true,"id":5752},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5769":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":5752}},"5770":{"d":0.8419431060646692,"a":0.8419431060646692,"f":59.4,"e":73.7,"c":-0.5395663130238733,"b":0.5395663130238733,"matrix_":{"__isSmartRef__":true,"id":5771},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"5771":{"a":0.8419431060646692,"b":0.5395663130238733,"c":-0.5395663130238733,"d":0.8419431060646692,"e":73.7,"f":59.4,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"5772":{"sourceObj":{"__isSmartRef__":true,"id":5346},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":5376},"targetMethodName":"alignToMagnet","varMapping":{"__isSmartRef__":true,"id":5773},"dependendConnections":[{"__isSmartRef__":true,"id":5774},{"__isSmartRef__":true,"id":5776},{"__isSmartRef__":true,"id":5778},{"__isSmartRef__":true,"id":5780},{"__isSmartRef__":true,"id":5782},{"__isSmartRef__":true,"id":5784},{"__isSmartRef__":true,"id":5786},{"__isSmartRef__":true,"id":5788}],"oldTransform":{"__isSmartRef__":true,"id":5790},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"5773":{"source":{"__isSmartRef__":true,"id":5346},"target":{"__isSmartRef__":true,"id":5376}},"5774":{"sourceObj":{"__isSmartRef__":true,"id":5346},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":5772},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5775},"dependedBy":{"__isSmartRef__":true,"id":5772},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5775":{"source":{"__isSmartRef__":true,"id":5346},"target":{"__isSmartRef__":true,"id":5772}},"5776":{"sourceObj":{"__isSmartRef__":true,"id":5346},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":5772},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5777},"dependedBy":{"__isSmartRef__":true,"id":5772},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5777":{"source":{"__isSmartRef__":true,"id":5346},"target":{"__isSmartRef__":true,"id":5772}},"5778":{"sourceObj":{"__isSmartRef__":true,"id":5346},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":5772},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5779},"dependedBy":{"__isSmartRef__":true,"id":5772},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5779":{"source":{"__isSmartRef__":true,"id":5346},"target":{"__isSmartRef__":true,"id":5772}},"5780":{"sourceObj":{"__isSmartRef__":true,"id":5346},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":5772},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":5781},"dependedBy":{"__isSmartRef__":true,"id":5772},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5781":{"source":{"__isSmartRef__":true,"id":5346},"target":{"__isSmartRef__":true,"id":5772}},"5782":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":5772},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5783},"dependedBy":{"__isSmartRef__":true,"id":5772},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5783":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":5772}},"5784":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":5772},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5785},"dependedBy":{"__isSmartRef__":true,"id":5772},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5785":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":5772}},"5786":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":5772},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5787},"dependedBy":{"__isSmartRef__":true,"id":5772},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5787":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":5772}},"5788":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":5772},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":5789},"dependedBy":{"__isSmartRef__":true,"id":5772},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5789":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":5772}},"5790":{"d":0.8419431060646692,"a":0.8419431060646692,"f":59.4,"e":73.7,"c":-0.5395663130238733,"b":0.5395663130238733,"matrix_":{"__isSmartRef__":true,"id":5791},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"5791":{"a":0.8419431060646692,"b":0.5395663130238733,"c":-0.5395663130238733,"d":0.8419431060646692,"e":73.7,"f":59.4,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"5792":{"sourceObj":{"__isSmartRef__":true,"id":5346},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":3261},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":5793},"dependendConnections":[{"__isSmartRef__":true,"id":5794},{"__isSmartRef__":true,"id":5796},{"__isSmartRef__":true,"id":5798},{"__isSmartRef__":true,"id":5800},{"__isSmartRef__":true,"id":5802},{"__isSmartRef__":true,"id":5804},{"__isSmartRef__":true,"id":5806},{"__isSmartRef__":true,"id":5808}],"oldTransform":{"__isSmartRef__":true,"id":5810},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"5793":{"source":{"__isSmartRef__":true,"id":5346},"target":{"__isSmartRef__":true,"id":3261}},"5794":{"sourceObj":{"__isSmartRef__":true,"id":5346},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":5792},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5795},"dependedBy":{"__isSmartRef__":true,"id":5792},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5795":{"source":{"__isSmartRef__":true,"id":5346},"target":{"__isSmartRef__":true,"id":5792}},"5796":{"sourceObj":{"__isSmartRef__":true,"id":5346},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":5792},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5797},"dependedBy":{"__isSmartRef__":true,"id":5792},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5797":{"source":{"__isSmartRef__":true,"id":5346},"target":{"__isSmartRef__":true,"id":5792}},"5798":{"sourceObj":{"__isSmartRef__":true,"id":5346},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":5792},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5799},"dependedBy":{"__isSmartRef__":true,"id":5792},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5799":{"source":{"__isSmartRef__":true,"id":5346},"target":{"__isSmartRef__":true,"id":5792}},"5800":{"sourceObj":{"__isSmartRef__":true,"id":5346},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":5792},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":5801},"dependedBy":{"__isSmartRef__":true,"id":5792},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5801":{"source":{"__isSmartRef__":true,"id":5346},"target":{"__isSmartRef__":true,"id":5792}},"5802":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":5792},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5803},"dependedBy":{"__isSmartRef__":true,"id":5792},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5803":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":5792}},"5804":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":5792},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5805},"dependedBy":{"__isSmartRef__":true,"id":5792},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5805":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":5792}},"5806":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":5792},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5807},"dependedBy":{"__isSmartRef__":true,"id":5792},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5807":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":5792}},"5808":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":5792},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":5809},"dependedBy":{"__isSmartRef__":true,"id":5792},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5809":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":5792}},"5810":{"d":0.8419431060646692,"a":0.8419431060646692,"f":59.4,"e":73.7,"c":-0.5395663130238733,"b":0.5395663130238733,"matrix_":{"__isSmartRef__":true,"id":5811},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"5811":{"a":0.8419431060646692,"b":0.5395663130238733,"c":-0.5395663130238733,"d":0.8419431060646692,"e":73.7,"f":59.4,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"5812":{"globalShapePath":{"__isSmartRef__":true,"id":5813},"lineIntersect":{"__isSmartRef__":true,"id":5816},"intersectLine":{"__isSmartRef__":true,"id":5820},"intersectLineMorph":{"__isSmartRef__":true,"id":5823}},"5813":{"varMapping":{"__isSmartRef__":true,"id":5814},"source":"function globalShapePath() {\n var b = this.shape.bounds();\n var p1 = this.worldPoint(b.topLeft()),\n p2 = this.worldPoint(b.topRight()),\n p3 = this.worldPoint(b.bottomRight()),\n p4 = this.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":5815},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5814":{"this":{"__isSmartRef__":true,"id":5346}},"5815":{},"5816":{"varMapping":{"__isSmartRef__":true,"id":5817},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":5818},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5817":{"this":{"__isSmartRef__":true,"id":5346}},"5818":{"timestamp":{"__isSmartRef__":true,"id":5819},"user":"jenslincke","tags":[]},"5819":{"isSerializedDate":true,"string":"Thu Dec 13 2012 13:42:55 GMT+0100 (CET)"},"5820":{"varMapping":{"__isSmartRef__":true,"id":5821},"source":"function intersectLine(a1, a2) {\n var points = this.globalShapePath();\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":5822},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5821":{"this":{"__isSmartRef__":true,"id":5346}},"5822":{},"5823":{"varMapping":{"__isSmartRef__":true,"id":5824},"source":"function intersectLineMorph(m) {\n return this.intersectLine(m.controlPoints[0].getGlobalPos(), m.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":5825},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5824":{"this":{"__isSmartRef__":true,"id":5346}},"5825":{},"5826":{"updateLabel":{"__isSmartRef__":true,"id":5827},"renameOwner":{"__isSmartRef__":true,"id":5830}},"5827":{"varMapping":{"__isSmartRef__":true,"id":5828},"source":"function updateLabel() {\n\t// observe name changes in owner\n\tif (this.owner !== this.oldOwner) {\n\t\tif (this.oldOwner)\n\t\t\tdisconnect(this.oldOwner, 'name', this, 'updateLabel')\n\t\tif (this.owner)\n\t\t\tconnect(this.owner, 'name', this, 'updateLabel')\n\t\tthis.oldOwner = this.owner\n\t}\n\tvar name = (this.owner ? this.owner.name : \"no owner\")\n\tif (this.textString != name)\n\tthis.setTextString(name)\n}","funcProperties":{"__isSmartRef__":true,"id":5829},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5828":{"this":{"__isSmartRef__":true,"id":5321}},"5829":{},"5830":{"varMapping":{"__isSmartRef__":true,"id":5831},"source":"function renameOwner(name) {\n\tif (this.owner && this.owner.name != name) {\n\t\talertOK(\"renamed \" + this.owner + \" to \" + name)\n\t\tthis.owner.setName(name);\n\t}\n}","funcProperties":{"__isSmartRef__":true,"id":5832},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5831":{"this":{"__isSmartRef__":true,"id":5321}},"5832":{},"5833":{"source":{"__isSmartRef__":true,"id":5321},"target":{"__isSmartRef__":true,"id":5702}},"5834":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":5320},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5835},"dependedBy":{"__isSmartRef__":true,"id":5320},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5835":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":5320}},"5836":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":5320},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5837},"dependedBy":{"__isSmartRef__":true,"id":5320},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5837":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":5320}},"5838":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":5320},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":5839},"dependedBy":{"__isSmartRef__":true,"id":5320},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5839":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":5320}},"5840":{"d":0.8419431060646688,"a":0.8419431060646688,"f":109.1604139964106,"e":83.14357977177195,"c":-0.539566313023873,"b":0.539566313023873,"matrix_":{"__isSmartRef__":true,"id":5841},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"5841":{"a":0.8419431060646688,"b":0.539566313023873,"c":-0.539566313023873,"d":0.8419431060646688,"e":83.14357977177195,"f":109.1604139964106,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"5842":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":5320}},"5843":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":5844},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6366},"dependedBy":{"__isSmartRef__":true,"id":5844},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5844":{"sourceObj":{"__isSmartRef__":true,"id":5845},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":6226},"targetMethodName":"realignConnection","varMapping":{"__isSmartRef__":true,"id":6357},"dependendConnections":[{"__isSmartRef__":true,"id":5853},{"__isSmartRef__":true,"id":5855},{"__isSmartRef__":true,"id":5857},{"__isSmartRef__":true,"id":5859},{"__isSmartRef__":true,"id":6268},{"__isSmartRef__":true,"id":6270},{"__isSmartRef__":true,"id":6272},{"__isSmartRef__":true,"id":6274},{"__isSmartRef__":true,"id":5843},{"__isSmartRef__":true,"id":6358},{"__isSmartRef__":true,"id":6360},{"__isSmartRef__":true,"id":6362}],"oldTransform":{"__isSmartRef__":true,"id":6364},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"5845":{"submorphs":[],"scripts":[],"id":"2F113DC8-B21F-4A9F-BC52-5A5E0C1FB410","shape":{"__isSmartRef__":true,"id":5846},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":180.8018403394826,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":19,"name":"NameLabel2","partsBinMetaInfo":{"__isSmartRef__":true,"id":5847},"textChunks":[{"__isSmartRef__":true,"id":5849}],"charsReplaced":"A1","lastFindLoc":2,"prevScroll":[0,0],"attributeConnections":[{"__isSmartRef__":true,"id":5851},{"__isSmartRef__":true,"id":5852},{"__isSmartRef__":true,"id":5844},{"__isSmartRef__":true,"id":5853},{"__isSmartRef__":true,"id":5855},{"__isSmartRef__":true,"id":5857},{"__isSmartRef__":true,"id":5859}],"doNotSerialize":["$$owner","$$savedTextString","$$_Position","$$_Scale","$$_Rotation"],"doNotCopyProperties":["$$owner","$$savedTextString","$$_Position","$$_Scale","$$_Rotation"],"isInputLine":true,"savedTextString":"B","eventHandler":{"__isSmartRef__":true,"id":5861},"derivationIds":[7027,"331C6367-0699-4BD6-9916-ABA82517453B","BEAA7850-FEFB-4AFD-9E06-730FF35D99A4","559B0B8A-5C01-4133-88B2-0D08385E23F6","BE195383-D309-4B6E-A6B0-79A6112B4011","E323F75A-232F-4712-9A03-20C8FD574C9A","E6E38336-AA2D-4F75-80C1-B1617DD8544E","DAFCD826-DF9B-4DEF-B4D7-59AAED8D199D","3999CB16-D9E3-4D28-A617-9B093624E8AC","24C6A462-5AF8-4580-9777-8F5696841AF0","38DF0DD5-01B1-4481-B32C-B1595F8042DF"],"_WhiteSpaceHandling":"pre-wrap","_ClipMode":"visible","moved":true,"isBeingDragged":false,"_WordBreak":"break-all","magnets":[{"__isSmartRef__":true,"id":5862},{"__isSmartRef__":true,"id":5863},{"__isSmartRef__":true,"id":5864},{"__isSmartRef__":true,"id":5865},{"__isSmartRef__":true,"id":5866},{"__isSmartRef__":true,"id":5867},{"__isSmartRef__":true,"id":5868},{"__isSmartRef__":true,"id":5869}],"_PreviousBorderWidth":1,"owner":{"__isSmartRef__":true,"id":5870},"oldOwner":{"__isSmartRef__":true,"id":5870},"_Rotation":0,"_Scale":0.9999999999999997,"__serializedExpressions__":["_Position","textColor","distanceToDragEvent","_TextColor"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":6350},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(34.8,36.8)","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(31.1,-9.9)","_TextColor":"Color.rgb(255,143,0)"},"5846":{"fill":null,"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(42.8,29.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"5847":{"migrationLevel":2,"comment":"Label that shows the name of a morph. Updates automatically.","partName":"NameLabel","lastModifiedDate":{"__isSmartRef__":true,"id":5848},"revisionOnLoad":140039,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"5848":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (CEST)"},"5849":{"style":{"__isSmartRef__":true,"id":5850},"chunkOwner":{"__isSmartRef__":true,"id":5845},"_id":"_804","storedString":"B1","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5850":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5851":{"sourceObj":{"__isSmartRef__":true,"id":5845},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":5845},"targetMethodName":"updateLabel","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5852":{"sourceObj":{"__isSmartRef__":true,"id":5845},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":5845},"targetMethodName":"renameOwner","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5853":{"sourceObj":{"__isSmartRef__":true,"id":5845},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":5844},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5854},"dependedBy":{"__isSmartRef__":true,"id":5844},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5854":{"source":{"__isSmartRef__":true,"id":5845},"target":{"__isSmartRef__":true,"id":5844}},"5855":{"sourceObj":{"__isSmartRef__":true,"id":5845},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":5844},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5856},"dependedBy":{"__isSmartRef__":true,"id":5844},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5856":{"source":{"__isSmartRef__":true,"id":5845},"target":{"__isSmartRef__":true,"id":5844}},"5857":{"sourceObj":{"__isSmartRef__":true,"id":5845},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":5844},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5858},"dependedBy":{"__isSmartRef__":true,"id":5844},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5858":{"source":{"__isSmartRef__":true,"id":5845},"target":{"__isSmartRef__":true,"id":5844}},"5859":{"sourceObj":{"__isSmartRef__":true,"id":5845},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":5844},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":5860},"dependedBy":{"__isSmartRef__":true,"id":5844},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5860":{"source":{"__isSmartRef__":true,"id":5845},"target":{"__isSmartRef__":true,"id":5844}},"5861":{"morph":{"__isSmartRef__":true,"id":5845},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5862":{"morph":{"__isSmartRef__":true,"id":5845},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(120.0,3464.8)"},"5863":{"morph":{"__isSmartRef__":true,"id":5845},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(138.1,3476.3)"},"5864":{"morph":{"__isSmartRef__":true,"id":5845},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(156.1,3487.9)"},"5865":{"morph":{"__isSmartRef__":true,"id":5845},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(148.3,3500.1)"},"5866":{"morph":{"__isSmartRef__":true,"id":5845},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(140.4,3512.3)"},"5867":{"morph":{"__isSmartRef__":true,"id":5845},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(122.4,3500.7)"},"5868":{"morph":{"__isSmartRef__":true,"id":5845},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(104.4,3489.2)"},"5869":{"morph":{"__isSmartRef__":true,"id":5845},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(112.2,3477.0)"},"5870":{"submorphs":[{"__isSmartRef__":true,"id":5845}],"scripts":[],"id":"E6E15BC6-FBB5-4E81-8399-5326299F6752","shape":{"__isSmartRef__":true,"id":5871},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"B1","partsBinMetaInfo":{"__isSmartRef__":true,"id":5872},"eventHandler":{"__isSmartRef__":true,"id":5890},"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","BBAFB862-93AE-4F89-BCFF-9F1C67B7FE4C","7EC17E78-593A-4CC8-B7E3-859BCBBFE785","FDB06D4A-9F4E-4B8C-A67C-671A9583EFE8","1C80FDE1-05C0-4148-9AD8-33C88667084C","5059E383-6BE3-4AD3-A9C4-89DA9D8D5E99","5B810AFE-E692-4EB4-A695-ABB4A95CEA39","BFFEF617-9B97-45D4-A541-8E33A6A17485","A10BBA48-4AD1-425A-AC7B-2F5515CE56F5","319DCFA5-FBA0-4E93-825A-584A580A412F","1A7DC4D8-6C49-4243-8B1D-04CED44FD759"],"partTests":{"__isSmartRef__":true,"id":5891},"_ClipMode":"visible","moved":true,"isBeingDragged":false,"magnets":[{"__isSmartRef__":true,"id":5896},{"__isSmartRef__":true,"id":5897},{"__isSmartRef__":true,"id":5898},{"__isSmartRef__":true,"id":5899},{"__isSmartRef__":true,"id":6220},{"__isSmartRef__":true,"id":6221},{"__isSmartRef__":true,"id":6222},{"__isSmartRef__":true,"id":6223}],"attributeConnections":[{"__isSmartRef__":true,"id":6224},{"__isSmartRef__":true,"id":6248},{"__isSmartRef__":true,"id":6250},{"__isSmartRef__":true,"id":6252},{"__isSmartRef__":true,"id":6254},{"__isSmartRef__":true,"id":6256},{"__isSmartRef__":true,"id":6268},{"__isSmartRef__":true,"id":6270},{"__isSmartRef__":true,"id":6272},{"__isSmartRef__":true,"id":6274},{"__isSmartRef__":true,"id":6276},{"__isSmartRef__":true,"id":6278},{"__isSmartRef__":true,"id":6280},{"__isSmartRef__":true,"id":6282},{"__isSmartRef__":true,"id":6284},{"__isSmartRef__":true,"id":6296},{"__isSmartRef__":true,"id":6298},{"__isSmartRef__":true,"id":6300},{"__isSmartRef__":true,"id":6302},{"__isSmartRef__":true,"id":6304},{"__isSmartRef__":true,"id":6316},{"__isSmartRef__":true,"id":6318},{"__isSmartRef__":true,"id":6320},{"__isSmartRef__":true,"id":6322},{"__isSmartRef__":true,"id":6324}],"doNotSerialize":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"doNotCopyProperties":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"isCopyMorphRef":true,"morphRefId":1,"prevScroll":[0,0],"_Scale":0.9999999999999996,"_Rotation":0.5699219218563105,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":6336},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","distanceToDragEvent":"lively.pt(35.0,-16.3)","_Position":"lively.pt(73.7,59.4)"},"5871":{"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(89.0,80.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgba(204,204,204,0.5)","_Padding":"lively.rect(0,0,0,0)"},"5872":{"partsSpaceName":"PartsBin/Basic","comment":"A simple box morph. A really orange one. Its amazing what you can build out of simple boxes.... Who needs stars when you got orange rectangles!","migrationLevel":4,"partName":"Rectangle","changes":[{"__isSmartRef__":true,"id":5873},{"__isSmartRef__":true,"id":5875},{"__isSmartRef__":true,"id":5877},{"__isSmartRef__":true,"id":5879},{"__isSmartRef__":true,"id":5881},{"__isSmartRef__":true,"id":5883},{"__isSmartRef__":true,"id":5885},{"__isSmartRef__":true,"id":5887}],"lastModifiedDate":{"__isSmartRef__":true,"id":5889},"revisionOnLoad":184624,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"5873":{"date":{"__isSmartRef__":true,"id":5874},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"5874":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"5875":{"date":{"__isSmartRef__":true,"id":5876},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"5876":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"5877":{"date":{"__isSmartRef__":true,"id":5878},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"5878":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"5879":{"date":{"__isSmartRef__":true,"id":5880},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"5880":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"5881":{"date":{"__isSmartRef__":true,"id":5882},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"5882":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"5883":{"date":{"__isSmartRef__":true,"id":5884},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"5884":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"5885":{"date":{"__isSmartRef__":true,"id":5886},"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8"},"5886":{"isSerializedDate":true,"string":"Mon Jun 18 2012 19:35:08 GMT+0200 (CEST)"},"5887":{"date":{"__isSmartRef__":true,"id":5888},"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205"},"5888":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:35:51 GMT+0100 (CET)"},"5889":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:33:25 GMT+0100 (CET)"},"5890":{"morph":{"__isSmartRef__":true,"id":5870},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5891":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5892}},"5892":{"test01IsMorph":{"__isSmartRef__":true,"id":5893}},"5893":{"varMapping":{"__isSmartRef__":true,"id":5894},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":5895},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5894":{"this":{"__isSmartRef__":true,"id":5891}},"5895":{},"5896":{"morph":{"__isSmartRef__":true,"id":5870},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(110.6,3415.0)"},"5897":{"morph":{"__isSmartRef__":true,"id":5870},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(148.1,3439.0)"},"5898":{"morph":{"__isSmartRef__":true,"id":5870},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(185.5,3463.0)"},"5899":{"morph":{"__isSmartRef__":true,"id":5870},"connectedControlPoints":[{"__isSmartRef__":true,"id":5900}],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(164.0,3496.7)"},"5900":{"morph":{"__isSmartRef__":true,"id":5901},"index":0,"connectedMagnet":{"__isSmartRef__":true,"id":5899},"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"5901":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":5902},"id":"E083C82B-2BC4-42CB-B3A2-773909175FCB","eventHandler":{"__isSmartRef__":true,"id":5905},"__layered_droppingEnabled__":true,"halosEnabled":true,"isBeingDragged":false,"controlPoints":[{"__isSmartRef__":true,"id":5900},{"__isSmartRef__":true,"id":5906}],"showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":5907},"name":"Line4","derivationIds":[731,"5E6BD741-9C99-47B9-95C1-7A028178DB17","A8D5C37A-F23F-47FE-8DE2-211CE4484A4F","F722069B-8602-4E8D-BE3F-92A1E0C0EF28","D5ED19F9-968E-4C7E-9936-69F2735A813F","A9E370BC-F208-425C-BFFC-F8D6BB52E11F","4E431641-D056-46CB-B2A8-6626382EF423"],"_ClipMode":"visible","controlPointsHalos":[],"prevScroll":[0,0],"grabbingEnabled":false,"moved":true,"#startLetters":"controlPoints[0]","fromMorph":{"__isSmartRef__":true,"id":5911},"update":{"__isSmartRef__":true,"id":6121},"isCopyMorphRef":true,"morphRefId":2,"selectedMorph":{"__isSmartRef__":true,"id":5911},"selectedMorphHighlights":[],"_Scale":1,"_Rotation":0,"owner":null,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":6123},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","distanceToDragEvent":"lively.pt(295.7,-20.8)","_Position":"lively.pt(376.1,57.6)"},"5902":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":5903},{"__isSmartRef__":true,"id":5904}],"_ClipMode":"visible","_BorderWidth":3.1119999999999997,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Padding","_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(50.5,3.2)","_Extent":"lively.pt(114.5,3494.5)","_BorderColor":"Color.rgb(161,161,161)"},"5903":{"isAbsolute":true,"x":0,"y":0,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"5904":{"isAbsolute":true,"x":52.46197348862387,"y":5.223542983087555,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"5905":{"morph":{"__isSmartRef__":true,"id":5901},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5906":{"morph":{"__isSmartRef__":true,"id":5901},"index":1,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"5907":{"requiredModules":[],"migrationLevel":4,"partsSpaceName":"PartsBin/Jens/","comment":"a line","partName":"Connector","lastModifiedDate":{"__isSmartRef__":true,"id":5908},"revisionOnLoad":186528,"changes":[{"__isSmartRef__":true,"id":5909}],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"5908":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:18 GMT+0100 (CET)"},"5909":{"date":{"__isSmartRef__":true,"id":5910},"author":"jenslincke","message":"no comment","id":"28165CED-C8C5-4B8E-9655-645E3F5099BB"},"5910":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:42 GMT+0100 (CET)"},"5911":{"submorphs":[{"__isSmartRef__":true,"id":5912}],"scripts":[],"id":"7D787261-FDA4-4DCD-ACA3-699C8F2DB8DC","shape":{"__isSmartRef__":true,"id":5936},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"A","partsBinMetaInfo":{"__isSmartRef__":true,"id":5937},"eventHandler":{"__isSmartRef__":true,"id":5955},"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","BBAFB862-93AE-4F89-BCFF-9F1C67B7FE4C","7EC17E78-593A-4CC8-B7E3-859BCBBFE785","FDB06D4A-9F4E-4B8C-A67C-671A9583EFE8","1C80FDE1-05C0-4148-9AD8-33C88667084C","5059E383-6BE3-4AD3-A9C4-89DA9D8D5E99","5B810AFE-E692-4EB4-A695-ABB4A95CEA39","BFFEF617-9B97-45D4-A541-8E33A6A17485","A10BBA48-4AD1-425A-AC7B-2F5515CE56F5"],"partTests":{"__isSmartRef__":true,"id":5956},"_ClipMode":"visible","moved":true,"isBeingDragged":false,"magnets":[{"__isSmartRef__":true,"id":5961},{"__isSmartRef__":true,"id":5962},{"__isSmartRef__":true,"id":5963},{"__isSmartRef__":true,"id":5964},{"__isSmartRef__":true,"id":5965},{"__isSmartRef__":true,"id":5966},{"__isSmartRef__":true,"id":5967},{"__isSmartRef__":true,"id":5968}],"attributeConnections":[{"__isSmartRef__":true,"id":5969},{"__isSmartRef__":true,"id":5971},{"__isSmartRef__":true,"id":5973},{"__isSmartRef__":true,"id":5975},{"__isSmartRef__":true,"id":5977},{"__isSmartRef__":true,"id":5979},{"__isSmartRef__":true,"id":5983},{"__isSmartRef__":true,"id":6097},{"__isSmartRef__":true,"id":6099},{"__isSmartRef__":true,"id":6101},{"__isSmartRef__":true,"id":6103}],"doNotSerialize":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"doNotCopyProperties":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"isCopyMorphRef":true,"morphRefId":1,"prevScroll":[0,0],"_Scale":0.9999999999999998,"_Rotation":-0.3632069088060458,"owner":null,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":6107},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","distanceToDragEvent":"lively.pt(89.3,-51.8)","_Position":"lively.pt(691.6,129.6)"},"5912":{"submorphs":[],"scripts":[],"id":"4BDF3799-4F08-4112-BD4C-91BAB858A860","shape":{"__isSmartRef__":true,"id":5913},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":180.8018403394826,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":19,"name":"NameLabel2","partsBinMetaInfo":{"__isSmartRef__":true,"id":5914},"textChunks":[{"__isSmartRef__":true,"id":5916}],"charsReplaced":"C1","lastFindLoc":2,"prevScroll":[0,0],"attributeConnections":[{"__isSmartRef__":true,"id":5918},{"__isSmartRef__":true,"id":5919}],"doNotSerialize":["$$owner","$$savedTextString"],"doNotCopyProperties":["$$owner","$$savedTextString"],"isInputLine":true,"savedTextString":"A","eventHandler":{"__isSmartRef__":true,"id":5920},"derivationIds":[7027,"331C6367-0699-4BD6-9916-ABA82517453B","BEAA7850-FEFB-4AFD-9E06-730FF35D99A4","559B0B8A-5C01-4133-88B2-0D08385E23F6","BE195383-D309-4B6E-A6B0-79A6112B4011","E323F75A-232F-4712-9A03-20C8FD574C9A","E6E38336-AA2D-4F75-80C1-B1617DD8544E","DAFCD826-DF9B-4DEF-B4D7-59AAED8D199D","3999CB16-D9E3-4D28-A617-9B093624E8AC"],"_WhiteSpaceHandling":"pre-wrap","_ClipMode":"visible","moved":true,"isBeingDragged":false,"_WordBreak":"break-all","magnets":[{"__isSmartRef__":true,"id":5921},{"__isSmartRef__":true,"id":5922},{"__isSmartRef__":true,"id":5923},{"__isSmartRef__":true,"id":5924},{"__isSmartRef__":true,"id":5925},{"__isSmartRef__":true,"id":5926},{"__isSmartRef__":true,"id":5927},{"__isSmartRef__":true,"id":5928}],"_PreviousBorderWidth":1,"owner":{"__isSmartRef__":true,"id":5911},"oldOwner":{"__isSmartRef__":true,"id":5911},"priorSelectionRange":[1,1],"_Rotation":0,"_Scale":0.9999999999999997,"__serializedExpressions__":["textColor","distanceToDragEvent","_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5929},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(31.1,-9.9)","_TextColor":"Color.rgb(255,143,0)","_Position":"lively.pt(34.8,36.8)"},"5913":{"fill":null,"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(42.8,29.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"5914":{"migrationLevel":2,"comment":"Label that shows the name of a morph. Updates automatically.","partName":"NameLabel","lastModifiedDate":{"__isSmartRef__":true,"id":5915},"revisionOnLoad":140039,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"5915":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (CEST)"},"5916":{"style":{"__isSmartRef__":true,"id":5917},"chunkOwner":{"__isSmartRef__":true,"id":5912},"_id":"_22384","storedString":"A","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5917":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5918":{"sourceObj":{"__isSmartRef__":true,"id":5912},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":5912},"targetMethodName":"updateLabel","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5919":{"sourceObj":{"__isSmartRef__":true,"id":5912},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":5912},"targetMethodName":"renameOwner","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5920":{"morph":{"__isSmartRef__":true,"id":5912},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5921":{"morph":{"__isSmartRef__":true,"id":5912},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(726.1,3497.3)"},"5922":{"morph":{"__isSmartRef__":true,"id":5912},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(746.1,3489.7)"},"5923":{"morph":{"__isSmartRef__":true,"id":5912},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(766.1,3482.1)"},"5924":{"morph":{"__isSmartRef__":true,"id":5912},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(771.3,3495.6)"},"5925":{"morph":{"__isSmartRef__":true,"id":5912},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(776.4,3509.2)"},"5926":{"morph":{"__isSmartRef__":true,"id":5912},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(756.4,3516.8)"},"5927":{"morph":{"__isSmartRef__":true,"id":5912},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(736.4,3524.4)"},"5928":{"morph":{"__isSmartRef__":true,"id":5912},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(731.2,3510.8)"},"5929":{"updateLabel":{"__isSmartRef__":true,"id":5930},"renameOwner":{"__isSmartRef__":true,"id":5933}},"5930":{"varMapping":{"__isSmartRef__":true,"id":5931},"source":"function updateLabel() {\n\t// observe name changes in owner\n\tif (this.owner !== this.oldOwner) {\n\t\tif (this.oldOwner)\n\t\t\tdisconnect(this.oldOwner, 'name', this, 'updateLabel')\n\t\tif (this.owner)\n\t\t\tconnect(this.owner, 'name', this, 'updateLabel')\n\t\tthis.oldOwner = this.owner\n\t}\n\tvar name = (this.owner ? this.owner.name : \"no owner\")\n\tif (this.textString != name)\n\tthis.setTextString(name)\n}","funcProperties":{"__isSmartRef__":true,"id":5932},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5931":{"this":{"__isSmartRef__":true,"id":5912}},"5932":{},"5933":{"varMapping":{"__isSmartRef__":true,"id":5934},"source":"function renameOwner(name) {\n\tif (this.owner && this.owner.name != name) {\n\t\talertOK(\"renamed \" + this.owner + \" to \" + name)\n\t\tthis.owner.setName(name);\n\t}\n}","funcProperties":{"__isSmartRef__":true,"id":5935},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5934":{"this":{"__isSmartRef__":true,"id":5912}},"5935":{},"5936":{"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(116.7,82.3)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgba(204,204,204,0.5)","_Padding":"lively.rect(0,0,0,0)"},"5937":{"partsSpaceName":"PartsBin/Basic","comment":"A simple box morph. A really orange one. Its amazing what you can build out of simple boxes.... Who needs stars when you got orange rectangles!","migrationLevel":4,"partName":"Rectangle","changes":[{"__isSmartRef__":true,"id":5938},{"__isSmartRef__":true,"id":5940},{"__isSmartRef__":true,"id":5942},{"__isSmartRef__":true,"id":5944},{"__isSmartRef__":true,"id":5946},{"__isSmartRef__":true,"id":5948},{"__isSmartRef__":true,"id":5950},{"__isSmartRef__":true,"id":5952}],"lastModifiedDate":{"__isSmartRef__":true,"id":5954},"revisionOnLoad":184624,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"5938":{"date":{"__isSmartRef__":true,"id":5939},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"5939":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"5940":{"date":{"__isSmartRef__":true,"id":5941},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"5941":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"5942":{"date":{"__isSmartRef__":true,"id":5943},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"5943":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"5944":{"date":{"__isSmartRef__":true,"id":5945},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"5945":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"5946":{"date":{"__isSmartRef__":true,"id":5947},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"5947":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"5948":{"date":{"__isSmartRef__":true,"id":5949},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"5949":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"5950":{"date":{"__isSmartRef__":true,"id":5951},"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8"},"5951":{"isSerializedDate":true,"string":"Mon Jun 18 2012 19:35:08 GMT+0200 (CEST)"},"5952":{"date":{"__isSmartRef__":true,"id":5953},"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205"},"5953":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:35:51 GMT+0100 (CET)"},"5954":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:33:25 GMT+0100 (CET)"},"5955":{"morph":{"__isSmartRef__":true,"id":5911},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5956":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5957}},"5957":{"test01IsMorph":{"__isSmartRef__":true,"id":5958}},"5958":{"varMapping":{"__isSmartRef__":true,"id":5959},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":5960},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5959":{"this":{"__isSmartRef__":true,"id":5956}},"5960":{},"5961":{"morph":{"__isSmartRef__":true,"id":5911},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(680.5,3475.2)"},"5962":{"morph":{"__isSmartRef__":true,"id":5911},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(735.0,3454.5)"},"5963":{"morph":{"__isSmartRef__":true,"id":5911},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(789.6,3433.8)"},"5964":{"morph":{"__isSmartRef__":true,"id":5911},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(804.2,3472.2)"},"5965":{"morph":{"__isSmartRef__":true,"id":5911},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(818.8,3510.7)"},"5966":{"morph":{"__isSmartRef__":true,"id":5911},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(764.3,3531.4)"},"5967":{"morph":{"__isSmartRef__":true,"id":5911},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(709.7,3552.2)"},"5968":{"morph":{"__isSmartRef__":true,"id":5911},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(695.1,3513.7)"},"5969":{"sourceObj":{"__isSmartRef__":true,"id":5911},"sourceAttrName":"name","targetObj":{"__isSmartRef__":true,"id":5912},"targetMethodName":"updateLabel","varMapping":{"__isSmartRef__":true,"id":5970},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5970":{"source":{"__isSmartRef__":true,"id":5911},"target":{"__isSmartRef__":true,"id":5912}},"5971":{"sourceObj":{"__isSmartRef__":true,"id":5911},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":5901},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":5972},"dependendConnections":[{"__isSmartRef__":true,"id":5973},{"__isSmartRef__":true,"id":5975},{"__isSmartRef__":true,"id":5977},{"__isSmartRef__":true,"id":5979}],"oldTransform":{"__isSmartRef__":true,"id":5981},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"5972":{"source":{"__isSmartRef__":true,"id":5911},"target":{"__isSmartRef__":true,"id":5901}},"5973":{"sourceObj":{"__isSmartRef__":true,"id":5911},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":5971},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5974},"dependedBy":{"__isSmartRef__":true,"id":5971},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5974":{"source":{"__isSmartRef__":true,"id":5911},"target":{"__isSmartRef__":true,"id":5971}},"5975":{"sourceObj":{"__isSmartRef__":true,"id":5911},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":5971},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5976},"dependedBy":{"__isSmartRef__":true,"id":5971},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5976":{"source":{"__isSmartRef__":true,"id":5911},"target":{"__isSmartRef__":true,"id":5971}},"5977":{"sourceObj":{"__isSmartRef__":true,"id":5911},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":5971},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":5978},"dependedBy":{"__isSmartRef__":true,"id":5971},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5978":{"source":{"__isSmartRef__":true,"id":5911},"target":{"__isSmartRef__":true,"id":5971}},"5979":{"sourceObj":{"__isSmartRef__":true,"id":5911},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":5971},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":5980},"dependedBy":{"__isSmartRef__":true,"id":5971},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5980":{"source":{"__isSmartRef__":true,"id":5911},"target":{"__isSmartRef__":true,"id":5971}},"5981":{"d":0.9347623017725522,"a":0.9347623017725522,"f":3485.245045045044,"e":728.5390390390387,"c":0.3552737524570028,"b":-0.3552737524570028,"matrix_":{"__isSmartRef__":true,"id":5982},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"5982":{"a":0.9347623017725522,"b":-0.3552737524570028,"c":0.3552737524570028,"d":0.9347623017725522,"e":728.5390390390387,"f":3485.245045045044,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"5983":{"sourceObj":{"__isSmartRef__":true,"id":5911},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":5984},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":6096},"dependendConnections":[{"__isSmartRef__":true,"id":6097},{"__isSmartRef__":true,"id":6099},{"__isSmartRef__":true,"id":6101},{"__isSmartRef__":true,"id":6103}],"oldTransform":{"__isSmartRef__":true,"id":6105},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"5984":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":5985},"id":"4809CC50-2A92-4A4F-9D0D-829B6BA12A0B","eventHandler":{"__isSmartRef__":true,"id":5988},"__layered_droppingEnabled__":true,"halosEnabled":true,"isBeingDragged":false,"controlPoints":[{"__isSmartRef__":true,"id":5989},{"__isSmartRef__":true,"id":5990}],"showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":5991},"name":"Connector1","derivationIds":[731,"5E6BD741-9C99-47B9-95C1-7A028178DB17","A8D5C37A-F23F-47FE-8DE2-211CE4484A4F","F722069B-8602-4E8D-BE3F-92A1E0C0EF28","D5ED19F9-968E-4C7E-9936-69F2735A813F","A9E370BC-F208-425C-BFFC-F8D6BB52E11F","4E431641-D056-46CB-B2A8-6626382EF423"],"_ClipMode":"visible","controlPointsHalos":[],"prevScroll":[0,0],"grabbingEnabled":false,"moved":true,"#startLetters":"controlPoints[0]","fromMorph":{"__isSmartRef__":true,"id":5911},"toMorph":{"__isSmartRef__":true,"id":3202},"update":{"__isSmartRef__":true,"id":5997},"isCopyMorphRef":true,"morphRefId":2,"selectedMorph":{"__isSmartRef__":true,"id":3202},"selectedMorphHighlights":[],"owner":null,"_Rotation":0,"_Scale":1,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5999},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","distanceToDragEvent":"lively.pt(295.7,-20.8)","_Position":"lively.pt(10527.5,52997.9)"},"5985":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":5986},{"__isSmartRef__":true,"id":5987}],"_ClipMode":"visible","_BorderWidth":3.1119999999999997,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Padding","_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(-75.9,-6.9)","_Extent":"lively.pt(151.7,13.9)","_BorderColor":"Color.rgb(161,161,161)"},"5986":{"isAbsolute":true,"x":74.86198803712648,"y":-4.949983532278566,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"5987":{"isAbsolute":true,"x":-73.86198803712614,"y":5.949983532282204,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"5988":{"morph":{"__isSmartRef__":true,"id":5984},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5989":{"morph":{"__isSmartRef__":true,"id":5984},"index":0,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"5990":{"morph":{"__isSmartRef__":true,"id":5984},"index":1,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"5991":{"requiredModules":[],"migrationLevel":4,"partsSpaceName":"PartsBin/Jens/","comment":"Yes, I think I got it again: Powerful and nice connectors.\nThis time 100 % Part only!","partName":"Connector","lastModifiedDate":{"__isSmartRef__":true,"id":5992},"revisionOnLoad":186829,"changes":[{"__isSmartRef__":true,"id":5993},{"__isSmartRef__":true,"id":5995}],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"5992":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:04:50 GMT+0100 (CET)"},"5993":{"date":{"__isSmartRef__":true,"id":5994},"author":"jenslincke","message":"no comment","id":"28165CED-C8C5-4B8E-9655-645E3F5099BB"},"5994":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:42 GMT+0100 (CET)"},"5995":{"date":{"__isSmartRef__":true,"id":5996},"author":"jenslincke","message":"no comment","id":"117C964B-9768-48F2-8EC8-D4328478198F"},"5996":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:05:07 GMT+0100 (CET)"},"5997":{"d":1,"a":1,"f":906.1,"e":107.8,"c":0,"b":0,"matrix_":{"__isSmartRef__":true,"id":5998},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"5998":{"a":1,"b":0,"c":0,"d":1,"e":107.8,"f":906.1,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"5999":{"connect":{"__isSmartRef__":true,"id":6000},"updatePosition":{"__isSmartRef__":true,"id":6004},"updateControlPoint":{"__isSmartRef__":true,"id":6008},"disconnectMorph":{"__isSmartRef__":true,"id":6012},"connectMorph":{"__isSmartRef__":true,"id":6016},"onMouseOver":{"__isSmartRef__":true,"id":6020},"onMouseOut":{"__isSmartRef__":true,"id":6024},"makeHandle":{"__isSmartRef__":true,"id":6032},"showFromHandle":{"__isSmartRef__":true,"id":6036},"showToHandle":{"__isSmartRef__":true,"id":6040},"reset":{"__isSmartRef__":true,"id":6044},"onDragInHandle":{"__isSmartRef__":true,"id":6048},"onDragStartInHandle":{"__isSmartRef__":true,"id":6052},"onDragEndInHandle":{"__isSmartRef__":true,"id":6056},"connectFrom":{"__isSmartRef__":true,"id":6060},"connectTo":{"__isSmartRef__":true,"id":6064},"hideToHandle":{"__isSmartRef__":true,"id":6068},"hideFromHandle":{"__isSmartRef__":true,"id":6072},"updateIntersection":{"__isSmartRef__":true,"id":6076},"lineIntersect":{"__isSmartRef__":true,"id":6080},"intersectMorphLinePoints":{"__isSmartRef__":true,"id":6084},"intersectMorph":{"__isSmartRef__":true,"id":6088},"globalShapePathFromMorph":{"__isSmartRef__":true,"id":6092}},"6000":{"varMapping":{"__isSmartRef__":true,"id":6001},"source":"function connect(morphA, morphB) {\n this.connectFrom(morphA)\n this.connectTo(morphB)\n this.updatePosition()\n}","funcProperties":{"__isSmartRef__":true,"id":6002},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6001":{"this":{"__isSmartRef__":true,"id":5984}},"6002":{"timestamp":{"__isSmartRef__":true,"id":6003},"user":"jenslincke","tags":[]},"6003":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:50:49 GMT+0100 (CET)"},"6004":{"varMapping":{"__isSmartRef__":true,"id":6005},"source":"function updatePosition() {\n this.updateControlPoint(this.controlPoints[0], this.fromMorph)\n this.updateControlPoint(this.controlPoints[1], this.toMorph)\n this.updateIntersection(this.fromMorph, this.controlPoints[0])\n this.updateIntersection(this.toMorph, this.controlPoints[1])\n\n this.adjustOrigin(this.bounds().extent().scaleBy(0.5))\n}","funcProperties":{"__isSmartRef__":true,"id":6006},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6005":{"this":{"__isSmartRef__":true,"id":5984}},"6006":{"timestamp":{"__isSmartRef__":true,"id":6007},"user":"jenslincke","tags":[]},"6007":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:06:20 GMT+0100 (CET)"},"6008":{"varMapping":{"__isSmartRef__":true,"id":6009},"source":"function updateControlPoint(cp, morph) {\n if (!cp || !morph) return;\n cp.setGlobalPos(morph.worldPoint(morph.shape.bounds().center()))\n}","funcProperties":{"__isSmartRef__":true,"id":6010},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6009":{"this":{"__isSmartRef__":true,"id":5984}},"6010":{"timestamp":{"__isSmartRef__":true,"id":6011},"user":"jenslincke","tags":[]},"6011":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:45:56 GMT+0100 (CET)"},"6012":{"varMapping":{"__isSmartRef__":true,"id":6013},"source":"function disconnectMorph(morph) {\n if (!morph) return;\n lively.bindings.disconnect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":6014},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6013":{"this":{"__isSmartRef__":true,"id":5984}},"6014":{"timestamp":{"__isSmartRef__":true,"id":6015},"user":"jenslincke","tags":[]},"6015":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:19:18 GMT+0100 (CET)"},"6016":{"varMapping":{"__isSmartRef__":true,"id":6017},"source":"function connectMorph(morph) {\n if (morph)\n lively.bindings.connect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":6018},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6017":{"this":{"__isSmartRef__":true,"id":5984}},"6018":{"timestamp":{"__isSmartRef__":true,"id":6019},"user":"jenslincke","tags":[]},"6019":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:52:12 GMT+0100 (CET)"},"6020":{"varMapping":{"__isSmartRef__":true,"id":6021},"source":"function onMouseOver(evt) {\n var p = evt.mousePoint.scaleBy(this.world().getScale())\n\n var cp1 = this.controlPoints[0].getGlobalPos();\n if (p.dist(cp1) < 20) {\n this.showFromHandle()\n } else {\n this.hideFromHandle()\n }\n var cp2 = this.controlPoints[1].getGlobalPos();\n if (p.dist(cp2) < 20) {\n this.showToHandle()\n } else {\n this.hideToHandle()\n }\n}","funcProperties":{"__isSmartRef__":true,"id":6022},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6021":{"this":{"__isSmartRef__":true,"id":5984}},"6022":{"timestamp":{"__isSmartRef__":true,"id":6023},"user":"jenslincke","tags":[]},"6023":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:23:03 GMT+0100 (CET)"},"6024":{"varMapping":{"__isSmartRef__":true,"id":6025},"source":"function onMouseOut(evt) {\n // this.hideFromHandle()\n // this.hideToHandle()\n}","funcProperties":{"__isSmartRef__":true,"id":6030},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6025":{"this":{"__isSmartRef__":true,"id":5984},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":6026}},"6026":{"$super":{"__isSmartRef__":true,"id":6027}},"6027":{"varMapping":{"__isSmartRef__":true,"id":6028},"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":6029},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6028":{"obj":{"__isSmartRef__":true,"id":5984},"name":"onMouseOut"},"6029":{},"6030":{"timestamp":{"__isSmartRef__":true,"id":6031},"user":"jenslincke","tags":[]},"6031":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:54:53 GMT+0100 (CET)"},"6032":{"varMapping":{"__isSmartRef__":true,"id":6033},"source":"function makeHandle() {\n var m = lively.morphic.Morph.makeRectangle(0,0,10,10);\n m.disableGrabbing()\n m.enableDragging()\n m.connector = this;\n // move real behavior to a place which is easier to develop\n // do not use bind, because we like late binding \n m.addScript(function onDragStart(evt) {\n this.connector.onDragStartInHandle(this, evt)\n })\n m.addScript(function onDrag(evt) {\n this.connector.onDragInHandle(this, evt)\n })\n m.addScript(function onDragEnd(evt) {\n this.connector.onDragEndInHandle(this, evt)\n })\n m.isEpiMorph = true;\n return m\n}","funcProperties":{"__isSmartRef__":true,"id":6034},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6033":{"this":{"__isSmartRef__":true,"id":5984}},"6034":{"timestamp":{"__isSmartRef__":true,"id":6035},"user":"jenslincke","tags":[]},"6035":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:08:29 GMT+0100 (CET)"},"6036":{"varMapping":{"__isSmartRef__":true,"id":6037},"source":"function showFromHandle() {\n if (!this.fromHandle) {\n this.fromHandle = this.makeHandle();\n this.fromHandle.setFill(Color.red)\n this.fromHandle.isFromHandle = true;\n }\n this.fromHandle.openInWorld();\n this.fromHandle.controlPoint = this.controlPoints[0];\n this.fromHandle.setPosition(this.controlPoints[0].getGlobalPos().subPt(pt(5,5)))\n return this.fromHandle\n}","funcProperties":{"__isSmartRef__":true,"id":6038},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6037":{"this":{"__isSmartRef__":true,"id":5984}},"6038":{"timestamp":{"__isSmartRef__":true,"id":6039},"user":"jenslincke","tags":[]},"6039":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:13:03 GMT+0100 (CET)"},"6040":{"varMapping":{"__isSmartRef__":true,"id":6041},"source":"function showToHandle() {\n if (!this.toHandle) {\n this.toHandle = this.makeHandle();\n this.toHandle.setFill(Color.red)\n this.toHandle.isToHandle = true;\n\n }\n this.toHandle.openInWorld();\n this.toHandle.controlPoint = this.controlPoints[1];\n this.toHandle.setPosition(this.controlPoints[1].getGlobalPos().subPt(pt(5,5)))\n return this.toHandle\n}","funcProperties":{"__isSmartRef__":true,"id":6042},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6041":{"this":{"__isSmartRef__":true,"id":5984}},"6042":{"timestamp":{"__isSmartRef__":true,"id":6043},"user":"jenslincke","tags":[]},"6043":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:20:25 GMT+0100 (CET)"},"6044":{"varMapping":{"__isSmartRef__":true,"id":6045},"source":"function reset() {\n if (this.fromHandle) {\n this.fromHandle.remove()\n delete this.fromHandle\n }\n if (this.toHandle) {\n this.toHandle.remove()\n delete this.toHandle\n }\n // this.controlPoints[1].setPos(pt(200,200))\n}","funcProperties":{"__isSmartRef__":true,"id":6046},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6045":{"this":{"__isSmartRef__":true,"id":5984}},"6046":{"timestamp":{"__isSmartRef__":true,"id":6047},"user":"jenslincke","tags":[]},"6047":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:15:00 GMT+0100 (CET)"},"6048":{"varMapping":{"__isSmartRef__":true,"id":6049},"source":"function onDragInHandle(handle, evt) {\n\n var pos = handle.getPositionInWorld();\n var delta = evt.hand.getPosition().subPt(pos);\n handle.moveBy(delta)\n pos = handle.getPositionInWorld();\n if (handle.controlPoint)\n handle.controlPoint.setGlobalPos(pos.addPt(pt(5,5)))\n var morphs = this.owner.morphsContainingPoint(pos)\n morphs = morphs.reject(function(ea) {\n return ea.isWorld || (ea === handle) || (ea === this) || \n (ea === this.owner)\n }, this)\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n this.selectedMorph = morphs.first();\n this.selectedMorphHighlights = show(this.selectedMorph)\n handle.startPos = evt.getPosition();\n}","funcProperties":{"__isSmartRef__":true,"id":6050},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6049":{"this":{"__isSmartRef__":true,"id":5984}},"6050":{"timestamp":{"__isSmartRef__":true,"id":6051},"user":"jenslincke","tags":[]},"6051":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:06:40 GMT+0100 (CET)"},"6052":{"varMapping":{"__isSmartRef__":true,"id":6053},"source":"function onDragStartInHandle(handle, evt) {\n handle.startPos = evt.getPosition()\n}","funcProperties":{"__isSmartRef__":true,"id":6054},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6053":{"this":{"__isSmartRef__":true,"id":5984}},"6054":{"timestamp":{"__isSmartRef__":true,"id":6055},"user":"jenslincke","tags":[]},"6055":{"isSerializedDate":true,"string":"Thu Dec 13 2012 15:51:13 GMT+0100 (CET)"},"6056":{"varMapping":{"__isSmartRef__":true,"id":6057},"source":"function onDragEndInHandle(handle, evt) {\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n \n if (handle.isFromHandle) this.connectFrom(this.selectedMorph)\n if (handle.isToHandle) this.connectTo(this.selectedMorph)\n handle.remove()\n}","funcProperties":{"__isSmartRef__":true,"id":6058},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6057":{"this":{"__isSmartRef__":true,"id":5984}},"6058":{"timestamp":{"__isSmartRef__":true,"id":6059},"user":"jenslincke","tags":[]},"6059":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:44:35 GMT+0100 (CET)"},"6060":{"varMapping":{"__isSmartRef__":true,"id":6061},"source":"function connectFrom(morph) {\n if (morph && morph === this.toMorph) return; // not allowed\n\n this.disconnectMorph(this.fromMorph)\n this.fromMorph = morph;\n this.connectMorph(this.fromMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":6062},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6061":{"this":{"__isSmartRef__":true,"id":5984}},"6062":{"timestamp":{"__isSmartRef__":true,"id":6063},"user":"jenslincke","tags":[]},"6063":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:02:22 GMT+0100 (CET)"},"6064":{"varMapping":{"__isSmartRef__":true,"id":6065},"source":"function connectTo(morph) {\n\n if (morph && morph === this.fromMorph) return; // not allowed\n\n this.disconnectMorph(this.toMorph)\n this.toMorph = morph;\n this.connectMorph(this.toMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":6066},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6065":{"this":{"__isSmartRef__":true,"id":5984}},"6066":{"timestamp":{"__isSmartRef__":true,"id":6067},"user":"jenslincke","tags":[]},"6067":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:02:30 GMT+0100 (CET)"},"6068":{"varMapping":{"__isSmartRef__":true,"id":6069},"source":"function hideToHandle() {\n if (this.toHandle) {\n this.toHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":6070},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6069":{"this":{"__isSmartRef__":true,"id":5984}},"6070":{"timestamp":{"__isSmartRef__":true,"id":6071},"user":"jenslincke","tags":[]},"6071":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:51:59 GMT+0100 (CET)"},"6072":{"varMapping":{"__isSmartRef__":true,"id":6073},"source":"function hideFromHandle() {\n if (this.fromHandle) {\n this.fromHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":6074},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6073":{"this":{"__isSmartRef__":true,"id":5984}},"6074":{"timestamp":{"__isSmartRef__":true,"id":6075},"user":"jenslincke","tags":[]},"6075":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:52:18 GMT+0100 (CET)"},"6076":{"varMapping":{"__isSmartRef__":true,"id":6077},"source":"function updateIntersection(morph, cp) {\n if (!morph) return;\n var intersection = this.intersectMorph(morph)[0];\n if (intersection) {\n cp.setGlobalPos(intersection);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":6078},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6077":{"this":{"__isSmartRef__":true,"id":5984}},"6078":{"timestamp":{"__isSmartRef__":true,"id":6079},"user":"jenslincke","tags":[]},"6079":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:32 GMT+0100 (CET)"},"6080":{"varMapping":{"__isSmartRef__":true,"id":6081},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":6082},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6081":{"this":{"__isSmartRef__":true,"id":5984}},"6082":{"timestamp":{"__isSmartRef__":true,"id":6083},"user":"jenslincke","tags":[]},"6083":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:47:12 GMT+0100 (CET)"},"6084":{"varMapping":{"__isSmartRef__":true,"id":6085},"source":"function intersectMorphLinePoints(morph, a1, a2) {\n var points = this.globalShapePathFromMorph(morph);\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":6086},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6085":{"this":{"__isSmartRef__":true,"id":5984}},"6086":{"timestamp":{"__isSmartRef__":true,"id":6087},"user":"jenslincke","tags":[]},"6087":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:21 GMT+0100 (CET)"},"6088":{"varMapping":{"__isSmartRef__":true,"id":6089},"source":"function intersectMorph(morph) {\n var line = this;\n return this.intersectMorphLinePoints(morph,\n line.controlPoints[0].getGlobalPos(), line.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":6090},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6089":{"this":{"__isSmartRef__":true,"id":5984}},"6090":{"timestamp":{"__isSmartRef__":true,"id":6091},"user":"jenslincke","tags":[]},"6091":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:47 GMT+0100 (CET)"},"6092":{"varMapping":{"__isSmartRef__":true,"id":6093},"source":"function globalShapePathFromMorph(morph) {\n var b = morph.shape.bounds();\n var p1 = morph.worldPoint(b.topLeft()),\n p2 = morph.worldPoint(b.topRight()),\n p3 = morph.worldPoint(b.bottomRight()),\n p4 = morph.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":6094},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6093":{"this":{"__isSmartRef__":true,"id":5984}},"6094":{"timestamp":{"__isSmartRef__":true,"id":6095},"user":"jenslincke","tags":[]},"6095":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:00 GMT+0100 (CET)"},"6096":{"source":{"__isSmartRef__":true,"id":5911},"target":{"__isSmartRef__":true,"id":5984}},"6097":{"sourceObj":{"__isSmartRef__":true,"id":5911},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":5983},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6098},"dependedBy":{"__isSmartRef__":true,"id":5983},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6098":{"source":{"__isSmartRef__":true,"id":5911},"target":{"__isSmartRef__":true,"id":5983}},"6099":{"sourceObj":{"__isSmartRef__":true,"id":5911},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":5983},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6100},"dependedBy":{"__isSmartRef__":true,"id":5983},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6100":{"source":{"__isSmartRef__":true,"id":5911},"target":{"__isSmartRef__":true,"id":5983}},"6101":{"sourceObj":{"__isSmartRef__":true,"id":5911},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":5983},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6102},"dependedBy":{"__isSmartRef__":true,"id":5983},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6102":{"source":{"__isSmartRef__":true,"id":5911},"target":{"__isSmartRef__":true,"id":5983}},"6103":{"sourceObj":{"__isSmartRef__":true,"id":5911},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":5983},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":6104},"dependedBy":{"__isSmartRef__":true,"id":5983},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6104":{"source":{"__isSmartRef__":true,"id":5911},"target":{"__isSmartRef__":true,"id":5983}},"6105":{"d":0.9347623017725522,"a":0.9347623017725522,"f":3485.245045045044,"e":728.5390390390387,"c":0.3552737524570028,"b":-0.3552737524570028,"matrix_":{"__isSmartRef__":true,"id":6106},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"6106":{"a":0.9347623017725522,"b":-0.3552737524570028,"c":0.3552737524570028,"d":0.9347623017725522,"e":728.5390390390387,"f":3485.245045045044,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"6107":{"globalShapePath":{"__isSmartRef__":true,"id":6108},"lineIntersect":{"__isSmartRef__":true,"id":6111},"intersectLine":{"__isSmartRef__":true,"id":6115},"intersectLineMorph":{"__isSmartRef__":true,"id":6118}},"6108":{"varMapping":{"__isSmartRef__":true,"id":6109},"source":"function globalShapePath() {\n var b = this.shape.bounds();\n var p1 = this.worldPoint(b.topLeft()),\n p2 = this.worldPoint(b.topRight()),\n p3 = this.worldPoint(b.bottomRight()),\n p4 = this.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":6110},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6109":{"this":{"__isSmartRef__":true,"id":5911}},"6110":{},"6111":{"varMapping":{"__isSmartRef__":true,"id":6112},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":6113},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6112":{"this":{"__isSmartRef__":true,"id":5911}},"6113":{"timestamp":{"__isSmartRef__":true,"id":6114},"user":"jenslincke","tags":[]},"6114":{"isSerializedDate":true,"string":"Thu Dec 13 2012 13:42:55 GMT+0100 (CET)"},"6115":{"varMapping":{"__isSmartRef__":true,"id":6116},"source":"function intersectLine(a1, a2) {\n var points = this.globalShapePath();\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":6117},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6116":{"this":{"__isSmartRef__":true,"id":5911}},"6117":{},"6118":{"varMapping":{"__isSmartRef__":true,"id":6119},"source":"function intersectLineMorph(m) {\n return this.intersectLine(m.controlPoints[0].getGlobalPos(), m.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":6120},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6119":{"this":{"__isSmartRef__":true,"id":5911}},"6120":{},"6121":{"d":1,"a":1,"f":906.1,"e":107.8,"c":0,"b":0,"matrix_":{"__isSmartRef__":true,"id":6122},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"6122":{"a":1,"b":0,"c":0,"d":1,"e":107.8,"f":906.1,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"6123":{"connect":{"__isSmartRef__":true,"id":6124},"updatePosition":{"__isSmartRef__":true,"id":6128},"updateControlPoint":{"__isSmartRef__":true,"id":6132},"disconnectMorph":{"__isSmartRef__":true,"id":6136},"connectMorph":{"__isSmartRef__":true,"id":6140},"onMouseOver":{"__isSmartRef__":true,"id":6144},"onMouseOut":{"__isSmartRef__":true,"id":6148},"makeHandle":{"__isSmartRef__":true,"id":6156},"showFromHandle":{"__isSmartRef__":true,"id":6160},"showToHandle":{"__isSmartRef__":true,"id":6164},"reset":{"__isSmartRef__":true,"id":6168},"onDragInHandle":{"__isSmartRef__":true,"id":6172},"onDragStartInHandle":{"__isSmartRef__":true,"id":6176},"onDragEndInHandle":{"__isSmartRef__":true,"id":6180},"connectFrom":{"__isSmartRef__":true,"id":6184},"connectTo":{"__isSmartRef__":true,"id":6188},"hideToHandle":{"__isSmartRef__":true,"id":6192},"hideFromHandle":{"__isSmartRef__":true,"id":6196},"updateIntersection":{"__isSmartRef__":true,"id":6200},"lineIntersect":{"__isSmartRef__":true,"id":6204},"intersectMorphLinePoints":{"__isSmartRef__":true,"id":6208},"intersectMorph":{"__isSmartRef__":true,"id":6212},"globalShapePathFromMorph":{"__isSmartRef__":true,"id":6216}},"6124":{"varMapping":{"__isSmartRef__":true,"id":6125},"source":"function connect(morphA, morphB) {\n this.connectFrom(morphA)\n this.connectTo(morphB)\n this.updatePosition()\n}","funcProperties":{"__isSmartRef__":true,"id":6126},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6125":{"this":{"__isSmartRef__":true,"id":5901}},"6126":{"timestamp":{"__isSmartRef__":true,"id":6127},"user":"jenslincke","tags":[]},"6127":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:50:49 GMT+0100 (CET)"},"6128":{"varMapping":{"__isSmartRef__":true,"id":6129},"source":"function updatePosition() {\n this.updateControlPoint(this.controlPoints[0], this.fromMorph)\n this.updateControlPoint(this.controlPoints[1], this.toMorph)\n this.updateIntersection(this.fromMorph, this.controlPoints[0])\n this.updateIntersection(this.toMorph, this.controlPoints[1])\n\n if (this.controlPoints[0].getPos().equalPt(this.controlPoints[1].getPos()))\n this.controlPoints[1].setPos(this.controlPoints[1].getPos().addPt(pt(30,0)))\n\n this.adjustOrigin(this.bounds().extent().scaleBy(0.5))\n \n}","funcProperties":{"__isSmartRef__":true,"id":6130},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6129":{"this":{"__isSmartRef__":true,"id":5901}},"6130":{"timestamp":{"__isSmartRef__":true,"id":6131},"user":"jenslincke","tags":[]},"6131":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:59:26 GMT+0100 (CET)"},"6132":{"varMapping":{"__isSmartRef__":true,"id":6133},"source":"function updateControlPoint(cp, morph) {\n if (!cp || !morph) return;\n cp.setGlobalPos(morph.worldPoint(morph.shape.bounds().center()))\n}","funcProperties":{"__isSmartRef__":true,"id":6134},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6133":{"this":{"__isSmartRef__":true,"id":5901}},"6134":{"timestamp":{"__isSmartRef__":true,"id":6135},"user":"jenslincke","tags":[]},"6135":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:45:56 GMT+0100 (CET)"},"6136":{"varMapping":{"__isSmartRef__":true,"id":6137},"source":"function disconnectMorph(morph) {\n if (!morph) return;\n lively.bindings.disconnect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":6138},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6137":{"this":{"__isSmartRef__":true,"id":5901}},"6138":{"timestamp":{"__isSmartRef__":true,"id":6139},"user":"jenslincke","tags":[]},"6139":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:19:18 GMT+0100 (CET)"},"6140":{"varMapping":{"__isSmartRef__":true,"id":6141},"source":"function connectMorph(morph) {\n if (morph)\n lively.bindings.connect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":6142},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6141":{"this":{"__isSmartRef__":true,"id":5901}},"6142":{"timestamp":{"__isSmartRef__":true,"id":6143},"user":"jenslincke","tags":[]},"6143":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:52:12 GMT+0100 (CET)"},"6144":{"varMapping":{"__isSmartRef__":true,"id":6145},"source":"function onMouseOver(evt) {\n var p = evt.mousePoint.scaleBy(this.world().getScale())\n\n var cp1 = this.controlPoints[0].getGlobalPos();\n if (p.dist(cp1) < 20) {\n this.showFromHandle()\n } else {\n this.hideFromHandle()\n }\n var cp2 = this.controlPoints[1].getGlobalPos();\n if (p.dist(cp2) < 20) {\n this.showToHandle()\n } else {\n this.hideToHandle()\n }\n}","funcProperties":{"__isSmartRef__":true,"id":6146},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6145":{"this":{"__isSmartRef__":true,"id":5901}},"6146":{"timestamp":{"__isSmartRef__":true,"id":6147},"user":"jenslincke","tags":[]},"6147":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:23:03 GMT+0100 (CET)"},"6148":{"varMapping":{"__isSmartRef__":true,"id":6149},"source":"function onMouseOut(evt) {\n // this.hideFromHandle()\n // this.hideToHandle()\n}","funcProperties":{"__isSmartRef__":true,"id":6154},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6149":{"this":{"__isSmartRef__":true,"id":5901},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":6150}},"6150":{"$super":{"__isSmartRef__":true,"id":6151}},"6151":{"varMapping":{"__isSmartRef__":true,"id":6152},"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":6153},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6152":{"obj":{"__isSmartRef__":true,"id":5901},"name":"onMouseOut"},"6153":{},"6154":{"timestamp":{"__isSmartRef__":true,"id":6155},"user":"jenslincke","tags":[]},"6155":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:54:53 GMT+0100 (CET)"},"6156":{"varMapping":{"__isSmartRef__":true,"id":6157},"source":"function makeHandle() {\n var m = lively.morphic.Morph.makeRectangle(0,0,10,10);\n m.disableGrabbing()\n m.enableDragging()\n m.connector = this;\n // move real behavior to a place which is easier to develop\n // do not use bind, because we like late binding \n m.addScript(function onDragStart(evt) {\n this.connector.onDragStartInHandle(this, evt)\n })\n m.addScript(function onDrag(evt) {\n this.connector.onDragInHandle(this, evt)\n })\n m.addScript(function onDragEnd(evt) {\n this.connector.onDragEndInHandle(this, evt)\n })\n m.isEpiMorph = true;\n return m\n}","funcProperties":{"__isSmartRef__":true,"id":6158},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6157":{"this":{"__isSmartRef__":true,"id":5901}},"6158":{"timestamp":{"__isSmartRef__":true,"id":6159},"user":"jenslincke","tags":[]},"6159":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:08:29 GMT+0100 (CET)"},"6160":{"varMapping":{"__isSmartRef__":true,"id":6161},"source":"function showFromHandle() {\n if (!this.fromHandle) {\n this.fromHandle = this.makeHandle();\n this.fromHandle.setFill(Color.red)\n this.fromHandle.isFromHandle = true;\n }\n this.fromHandle.openInWorld();\n this.fromHandle.controlPoint = this.controlPoints[0];\n this.fromHandle.setPosition(this.controlPoints[0].getGlobalPos().subPt(pt(5,5)))\n return this.fromHandle\n}","funcProperties":{"__isSmartRef__":true,"id":6162},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6161":{"this":{"__isSmartRef__":true,"id":5901}},"6162":{"timestamp":{"__isSmartRef__":true,"id":6163},"user":"jenslincke","tags":[]},"6163":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:13:03 GMT+0100 (CET)"},"6164":{"varMapping":{"__isSmartRef__":true,"id":6165},"source":"function showToHandle() {\n if (!this.toHandle) {\n this.toHandle = this.makeHandle();\n this.toHandle.setFill(Color.red)\n this.toHandle.isToHandle = true;\n\n }\n this.toHandle.openInWorld();\n this.toHandle.controlPoint = this.controlPoints[1];\n this.toHandle.setPosition(this.controlPoints[1].getGlobalPos().subPt(pt(5,5)))\n return this.toHandle\n}","funcProperties":{"__isSmartRef__":true,"id":6166},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6165":{"this":{"__isSmartRef__":true,"id":5901}},"6166":{"timestamp":{"__isSmartRef__":true,"id":6167},"user":"jenslincke","tags":[]},"6167":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:20:25 GMT+0100 (CET)"},"6168":{"varMapping":{"__isSmartRef__":true,"id":6169},"source":"function reset() {\n if (this.fromHandle) {\n this.fromHandle.remove()\n delete this.fromHandle\n }\n if (this.toHandle) {\n this.toHandle.remove()\n delete this.toHandle\n }\n // this.controlPoints[1].setPos(pt(200,200))\n}","funcProperties":{"__isSmartRef__":true,"id":6170},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6169":{"this":{"__isSmartRef__":true,"id":5901}},"6170":{"timestamp":{"__isSmartRef__":true,"id":6171},"user":"jenslincke","tags":[]},"6171":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:15:00 GMT+0100 (CET)"},"6172":{"varMapping":{"__isSmartRef__":true,"id":6173},"source":"function onDragInHandle(handle, evt) {\n\n var pos = handle.getPositionInWorld();\n var delta = evt.hand.getPosition().subPt(pos);\n handle.moveBy(delta)\n pos = handle.getPositionInWorld();\n if (handle.controlPoint)\n handle.controlPoint.setGlobalPos(pos.addPt(pt(5,5)))\n var morphs = this.owner.morphsContainingPoint(pos)\n morphs = morphs.reject(function(ea) {\n return ea.isWorld || (ea === handle) || (ea === this) || \n (ea === this.owner)\n }, this)\n this.get('Console').textString = morphs\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n this.selectedMorph = morphs.first();\n this.selectedMorphHighlights = show(this.selectedMorph)\n handle.startPos = evt.getPosition();\n}","funcProperties":{"__isSmartRef__":true,"id":6174},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6173":{"this":{"__isSmartRef__":true,"id":5901}},"6174":{"timestamp":{"__isSmartRef__":true,"id":6175},"user":"jenslincke","tags":[]},"6175":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:09:40 GMT+0100 (CET)"},"6176":{"varMapping":{"__isSmartRef__":true,"id":6177},"source":"function onDragStartInHandle(handle, evt) {\n handle.startPos = evt.getPosition()\n}","funcProperties":{"__isSmartRef__":true,"id":6178},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6177":{"this":{"__isSmartRef__":true,"id":5901}},"6178":{"timestamp":{"__isSmartRef__":true,"id":6179},"user":"jenslincke","tags":[]},"6179":{"isSerializedDate":true,"string":"Thu Dec 13 2012 15:51:13 GMT+0100 (CET)"},"6180":{"varMapping":{"__isSmartRef__":true,"id":6181},"source":"function onDragEndInHandle(handle, evt) {\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n \n if (handle.isFromHandle) this.connectFrom(this.selectedMorph)\n if (handle.isToHandle) this.connectTo(this.selectedMorph)\n handle.remove()\n}","funcProperties":{"__isSmartRef__":true,"id":6182},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6181":{"this":{"__isSmartRef__":true,"id":5901}},"6182":{"timestamp":{"__isSmartRef__":true,"id":6183},"user":"jenslincke","tags":[]},"6183":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:44:35 GMT+0100 (CET)"},"6184":{"varMapping":{"__isSmartRef__":true,"id":6185},"source":"function connectFrom(morph) {\n if (morph === this.toMorph) return; // not allowed\n\n this.disconnectMorph(this.fromMorph)\n this.fromMorph = morph;\n this.connectMorph(this.fromMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":6186},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6185":{"this":{"__isSmartRef__":true,"id":5901}},"6186":{"timestamp":{"__isSmartRef__":true,"id":6187},"user":"jenslincke","tags":[]},"6187":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:57:22 GMT+0100 (CET)"},"6188":{"varMapping":{"__isSmartRef__":true,"id":6189},"source":"function connectTo(morph) {\n\n if (morph === this.fromMorph) return; // not allowed\n\n this.disconnectMorph(this.toMorph)\n this.toMorph = morph;\n this.connectMorph(this.toMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":6190},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6189":{"this":{"__isSmartRef__":true,"id":5901}},"6190":{"timestamp":{"__isSmartRef__":true,"id":6191},"user":"jenslincke","tags":[]},"6191":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:57:14 GMT+0100 (CET)"},"6192":{"varMapping":{"__isSmartRef__":true,"id":6193},"source":"function hideToHandle() {\n if (this.toHandle) {\n this.toHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":6194},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6193":{"this":{"__isSmartRef__":true,"id":5901}},"6194":{"timestamp":{"__isSmartRef__":true,"id":6195},"user":"jenslincke","tags":[]},"6195":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:51:59 GMT+0100 (CET)"},"6196":{"varMapping":{"__isSmartRef__":true,"id":6197},"source":"function hideFromHandle() {\n if (this.fromHandle) {\n this.fromHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":6198},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6197":{"this":{"__isSmartRef__":true,"id":5901}},"6198":{"timestamp":{"__isSmartRef__":true,"id":6199},"user":"jenslincke","tags":[]},"6199":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:52:18 GMT+0100 (CET)"},"6200":{"varMapping":{"__isSmartRef__":true,"id":6201},"source":"function updateIntersection(morph, cp) {\n if (!morph) return;\n var intersection = this.intersectMorph(morph)[0];\n if (intersection) {\n cp.setGlobalPos(intersection);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":6202},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6201":{"this":{"__isSmartRef__":true,"id":5901}},"6202":{"timestamp":{"__isSmartRef__":true,"id":6203},"user":"jenslincke","tags":[]},"6203":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:32 GMT+0100 (CET)"},"6204":{"varMapping":{"__isSmartRef__":true,"id":6205},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":6206},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6205":{"this":{"__isSmartRef__":true,"id":5901}},"6206":{"timestamp":{"__isSmartRef__":true,"id":6207},"user":"jenslincke","tags":[]},"6207":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:47:12 GMT+0100 (CET)"},"6208":{"varMapping":{"__isSmartRef__":true,"id":6209},"source":"function intersectMorphLinePoints(morph, a1, a2) {\n var points = this.globalShapePathFromMorph(morph);\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":6210},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6209":{"this":{"__isSmartRef__":true,"id":5901}},"6210":{"timestamp":{"__isSmartRef__":true,"id":6211},"user":"jenslincke","tags":[]},"6211":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:21 GMT+0100 (CET)"},"6212":{"varMapping":{"__isSmartRef__":true,"id":6213},"source":"function intersectMorph(morph) {\n var line = this;\n return this.intersectMorphLinePoints(morph,\n line.controlPoints[0].getGlobalPos(), line.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":6214},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6213":{"this":{"__isSmartRef__":true,"id":5901}},"6214":{"timestamp":{"__isSmartRef__":true,"id":6215},"user":"jenslincke","tags":[]},"6215":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:47 GMT+0100 (CET)"},"6216":{"varMapping":{"__isSmartRef__":true,"id":6217},"source":"function globalShapePathFromMorph(morph) {\n var b = morph.shape.bounds();\n var p1 = morph.worldPoint(b.topLeft()),\n p2 = morph.worldPoint(b.topRight()),\n p3 = morph.worldPoint(b.bottomRight()),\n p4 = morph.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":6218},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6217":{"this":{"__isSmartRef__":true,"id":5901}},"6218":{"timestamp":{"__isSmartRef__":true,"id":6219},"user":"jenslincke","tags":[]},"6219":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:00 GMT+0100 (CET)"},"6220":{"morph":{"__isSmartRef__":true,"id":5870},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(142.4,3530.4)"},"6221":{"morph":{"__isSmartRef__":true,"id":5870},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(104.9,3506.4)"},"6222":{"morph":{"__isSmartRef__":true,"id":5870},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(67.4,3482.4)"},"6223":{"morph":{"__isSmartRef__":true,"id":5870},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(89.0,3448.7)"},"6224":{"sourceObj":{"__isSmartRef__":true,"id":5870},"sourceAttrName":"name","targetObj":{"__isSmartRef__":true,"id":5845},"targetMethodName":"updateLabel","varMapping":{"__isSmartRef__":true,"id":6225},"visualConnector":{"__isSmartRef__":true,"id":6226},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6225":{"source":{"__isSmartRef__":true,"id":5870},"target":{"__isSmartRef__":true,"id":5845}},"6226":{"submorphs":[{"__isSmartRef__":true,"id":6227}],"scripts":[],"shape":{"__isSmartRef__":true,"id":6234},"eventHandler":{"__isSmartRef__":true,"id":6237},"_ClipMode":"visible","derivationIds":[],"id":"5814672F-102B-41EE-9D91-9FA58B6451FD","__layered_droppingEnabled__":true,"halosEnabled":true,"owner":null,"controlPoints":[{"__isSmartRef__":true,"id":6238},{"__isSmartRef__":true,"id":6239}],"con":{"__isSmartRef__":true,"id":6224},"showsMorphMenu":true,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":6240},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"6227":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":6228},"eventHandler":{"__isSmartRef__":true,"id":6233},"_ClipMode":"visible","derivationIds":[],"id":"01253C2A-18A1-43A8-AA72-260E7FC0929E","__layered_droppingEnabled__":true,"halosEnabled":true,"owner":{"__isSmartRef__":true,"id":6226},"_Rotation":1.3832457846463706,"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","_Position":"lively.pt(259.1,3427.8)"},"6228":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":6229},{"__isSmartRef__":true,"id":6230},{"__isSmartRef__":true,"id":6231},{"__isSmartRef__":true,"id":6232}],"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor","_Fill"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Position":"lively.pt(-12.0,-6.0)","_Extent":"lively.pt(17.0,13.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(0,0,0)"},"6229":{"isAbsolute":true,"x":-11,"y":-5,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"6230":{"isAbsolute":true,"x":-11,"y":7,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"6231":{"isAbsolute":true,"x":5,"y":1,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"6232":{"isAbsolute":true,"x":-11,"y":-5,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"6233":{"morph":{"__isSmartRef__":true,"id":6227},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"6234":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":6235},{"__isSmartRef__":true,"id":6236}],"_BorderWidth":1,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Position":"lively.pt(248.7,3377.0)","_Extent":"lively.pt(10.4,50.8)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"6235":{"isAbsolute":true,"x":249.7,"y":3378,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"6236":{"isAbsolute":true,"x":259.14357977177195,"y":3427.7604139964105,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"6237":{"morph":{"__isSmartRef__":true,"id":6226},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"6238":{"morph":{"__isSmartRef__":true,"id":6226},"index":0,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"6239":{"morph":{"__isSmartRef__":true,"id":6226},"index":1,"marker":{"__isSmartRef__":true,"id":6227},"markerDirection":"prev","__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"6240":{"morphMenuItems":{"__isSmartRef__":true,"id":6241}},"6241":{"varMapping":{"__isSmartRef__":true,"id":6242},"source":"function morphMenuItems() {\n var visualConnector = this, con = this.con, world = $world;\n var items = [\n ['Edit converter', function() {\n var window = lively.bindings.editConnection(con);\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":6247},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6242":{"this":{"__isSmartRef__":true,"id":6226},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":6243}},"6243":{"$super":{"__isSmartRef__":true,"id":6244}},"6244":{"varMapping":{"__isSmartRef__":true,"id":6245},"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":6246},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6245":{"obj":{"__isSmartRef__":true,"id":6226},"name":"morphMenuItems"},"6246":{},"6247":{},"6248":{"sourceObj":{"__isSmartRef__":true,"id":5870},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":6226},"targetMethodName":"realignConnection","varMapping":{"__isSmartRef__":true,"id":6249},"dependendConnections":[{"__isSmartRef__":true,"id":6250},{"__isSmartRef__":true,"id":6252},{"__isSmartRef__":true,"id":6254},{"__isSmartRef__":true,"id":6256},{"__isSmartRef__":true,"id":6258},{"__isSmartRef__":true,"id":6260},{"__isSmartRef__":true,"id":6262},{"__isSmartRef__":true,"id":6264}],"oldTransform":{"__isSmartRef__":true,"id":6266},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"6249":{"source":{"__isSmartRef__":true,"id":5870},"target":{"__isSmartRef__":true,"id":6226}},"6250":{"sourceObj":{"__isSmartRef__":true,"id":5870},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":6248},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6251},"dependedBy":{"__isSmartRef__":true,"id":6248},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6251":{"source":{"__isSmartRef__":true,"id":5870},"target":{"__isSmartRef__":true,"id":6248}},"6252":{"sourceObj":{"__isSmartRef__":true,"id":5870},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":6248},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6253},"dependedBy":{"__isSmartRef__":true,"id":6248},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6253":{"source":{"__isSmartRef__":true,"id":5870},"target":{"__isSmartRef__":true,"id":6248}},"6254":{"sourceObj":{"__isSmartRef__":true,"id":5870},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":6248},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6255},"dependedBy":{"__isSmartRef__":true,"id":6248},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6255":{"source":{"__isSmartRef__":true,"id":5870},"target":{"__isSmartRef__":true,"id":6248}},"6256":{"sourceObj":{"__isSmartRef__":true,"id":5870},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":6248},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":6257},"dependedBy":{"__isSmartRef__":true,"id":6248},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6257":{"source":{"__isSmartRef__":true,"id":5870},"target":{"__isSmartRef__":true,"id":6248}},"6258":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":6248},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6259},"dependedBy":{"__isSmartRef__":true,"id":6248},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6259":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":6248}},"6260":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":6248},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6261},"dependedBy":{"__isSmartRef__":true,"id":6248},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6261":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":6248}},"6262":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":6248},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6263},"dependedBy":{"__isSmartRef__":true,"id":6248},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6263":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":6248}},"6264":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":6248},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":6265},"dependedBy":{"__isSmartRef__":true,"id":6248},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6265":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":6248}},"6266":{"d":0.8419431060646692,"a":0.8419431060646692,"f":59.4,"e":73.7,"c":-0.5395663130238733,"b":0.5395663130238733,"matrix_":{"__isSmartRef__":true,"id":6267},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"6267":{"a":0.8419431060646692,"b":0.5395663130238733,"c":-0.5395663130238733,"d":0.8419431060646692,"e":73.7,"f":59.4,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"6268":{"sourceObj":{"__isSmartRef__":true,"id":5870},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":5844},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6269},"dependedBy":{"__isSmartRef__":true,"id":5844},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6269":{"source":{"__isSmartRef__":true,"id":5870},"target":{"__isSmartRef__":true,"id":5844}},"6270":{"sourceObj":{"__isSmartRef__":true,"id":5870},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":5844},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6271},"dependedBy":{"__isSmartRef__":true,"id":5844},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6271":{"source":{"__isSmartRef__":true,"id":5870},"target":{"__isSmartRef__":true,"id":5844}},"6272":{"sourceObj":{"__isSmartRef__":true,"id":5870},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":5844},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6273},"dependedBy":{"__isSmartRef__":true,"id":5844},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6273":{"source":{"__isSmartRef__":true,"id":5870},"target":{"__isSmartRef__":true,"id":5844}},"6274":{"sourceObj":{"__isSmartRef__":true,"id":5870},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":5844},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":6275},"dependedBy":{"__isSmartRef__":true,"id":5844},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6275":{"source":{"__isSmartRef__":true,"id":5870},"target":{"__isSmartRef__":true,"id":5844}},"6276":{"sourceObj":{"__isSmartRef__":true,"id":5870},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":2988},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":6277},"dependendConnections":[{"__isSmartRef__":true,"id":6278},{"__isSmartRef__":true,"id":6280},{"__isSmartRef__":true,"id":6282},{"__isSmartRef__":true,"id":6284},{"__isSmartRef__":true,"id":6286},{"__isSmartRef__":true,"id":6288},{"__isSmartRef__":true,"id":6290},{"__isSmartRef__":true,"id":6292}],"oldTransform":{"__isSmartRef__":true,"id":6294},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"6277":{"source":{"__isSmartRef__":true,"id":5870},"target":{"__isSmartRef__":true,"id":2988}},"6278":{"sourceObj":{"__isSmartRef__":true,"id":5870},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":6276},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6279},"dependedBy":{"__isSmartRef__":true,"id":6276},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6279":{"source":{"__isSmartRef__":true,"id":5870},"target":{"__isSmartRef__":true,"id":6276}},"6280":{"sourceObj":{"__isSmartRef__":true,"id":5870},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":6276},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6281},"dependedBy":{"__isSmartRef__":true,"id":6276},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6281":{"source":{"__isSmartRef__":true,"id":5870},"target":{"__isSmartRef__":true,"id":6276}},"6282":{"sourceObj":{"__isSmartRef__":true,"id":5870},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":6276},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6283},"dependedBy":{"__isSmartRef__":true,"id":6276},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6283":{"source":{"__isSmartRef__":true,"id":5870},"target":{"__isSmartRef__":true,"id":6276}},"6284":{"sourceObj":{"__isSmartRef__":true,"id":5870},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":6276},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":6285},"dependedBy":{"__isSmartRef__":true,"id":6276},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6285":{"source":{"__isSmartRef__":true,"id":5870},"target":{"__isSmartRef__":true,"id":6276}},"6286":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":6276},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6287},"dependedBy":{"__isSmartRef__":true,"id":6276},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6287":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":6276}},"6288":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":6276},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6289},"dependedBy":{"__isSmartRef__":true,"id":6276},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6289":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":6276}},"6290":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":6276},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6291},"dependedBy":{"__isSmartRef__":true,"id":6276},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6291":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":6276}},"6292":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":6276},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":6293},"dependedBy":{"__isSmartRef__":true,"id":6276},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6293":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":6276}},"6294":{"d":0.8419431060646692,"a":0.8419431060646692,"f":59.4,"e":73.7,"c":-0.5395663130238733,"b":0.5395663130238733,"matrix_":{"__isSmartRef__":true,"id":6295},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"6295":{"a":0.8419431060646692,"b":0.5395663130238733,"c":-0.5395663130238733,"d":0.8419431060646692,"e":73.7,"f":59.4,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"6296":{"sourceObj":{"__isSmartRef__":true,"id":5870},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":5900},"targetMethodName":"alignToMagnet","varMapping":{"__isSmartRef__":true,"id":6297},"dependendConnections":[{"__isSmartRef__":true,"id":6298},{"__isSmartRef__":true,"id":6300},{"__isSmartRef__":true,"id":6302},{"__isSmartRef__":true,"id":6304},{"__isSmartRef__":true,"id":6306},{"__isSmartRef__":true,"id":6308},{"__isSmartRef__":true,"id":6310},{"__isSmartRef__":true,"id":6312}],"oldTransform":{"__isSmartRef__":true,"id":6314},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"6297":{"source":{"__isSmartRef__":true,"id":5870},"target":{"__isSmartRef__":true,"id":5900}},"6298":{"sourceObj":{"__isSmartRef__":true,"id":5870},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":6296},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6299},"dependedBy":{"__isSmartRef__":true,"id":6296},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6299":{"source":{"__isSmartRef__":true,"id":5870},"target":{"__isSmartRef__":true,"id":6296}},"6300":{"sourceObj":{"__isSmartRef__":true,"id":5870},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":6296},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6301},"dependedBy":{"__isSmartRef__":true,"id":6296},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6301":{"source":{"__isSmartRef__":true,"id":5870},"target":{"__isSmartRef__":true,"id":6296}},"6302":{"sourceObj":{"__isSmartRef__":true,"id":5870},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":6296},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6303},"dependedBy":{"__isSmartRef__":true,"id":6296},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6303":{"source":{"__isSmartRef__":true,"id":5870},"target":{"__isSmartRef__":true,"id":6296}},"6304":{"sourceObj":{"__isSmartRef__":true,"id":5870},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":6296},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":6305},"dependedBy":{"__isSmartRef__":true,"id":6296},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6305":{"source":{"__isSmartRef__":true,"id":5870},"target":{"__isSmartRef__":true,"id":6296}},"6306":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":6296},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6307},"dependedBy":{"__isSmartRef__":true,"id":6296},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6307":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":6296}},"6308":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":6296},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6309},"dependedBy":{"__isSmartRef__":true,"id":6296},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6309":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":6296}},"6310":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":6296},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6311},"dependedBy":{"__isSmartRef__":true,"id":6296},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6311":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":6296}},"6312":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":6296},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":6313},"dependedBy":{"__isSmartRef__":true,"id":6296},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6313":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":6296}},"6314":{"d":0.8419431060646692,"a":0.8419431060646692,"f":59.4,"e":73.7,"c":-0.5395663130238733,"b":0.5395663130238733,"matrix_":{"__isSmartRef__":true,"id":6315},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"6315":{"a":0.8419431060646692,"b":0.5395663130238733,"c":-0.5395663130238733,"d":0.8419431060646692,"e":73.7,"f":59.4,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"6316":{"sourceObj":{"__isSmartRef__":true,"id":5870},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":3261},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":6317},"dependendConnections":[{"__isSmartRef__":true,"id":6318},{"__isSmartRef__":true,"id":6320},{"__isSmartRef__":true,"id":6322},{"__isSmartRef__":true,"id":6324},{"__isSmartRef__":true,"id":6326},{"__isSmartRef__":true,"id":6328},{"__isSmartRef__":true,"id":6330},{"__isSmartRef__":true,"id":6332}],"oldTransform":{"__isSmartRef__":true,"id":6334},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"6317":{"source":{"__isSmartRef__":true,"id":5870},"target":{"__isSmartRef__":true,"id":3261}},"6318":{"sourceObj":{"__isSmartRef__":true,"id":5870},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":6316},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6319},"dependedBy":{"__isSmartRef__":true,"id":6316},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6319":{"source":{"__isSmartRef__":true,"id":5870},"target":{"__isSmartRef__":true,"id":6316}},"6320":{"sourceObj":{"__isSmartRef__":true,"id":5870},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":6316},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6321},"dependedBy":{"__isSmartRef__":true,"id":6316},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6321":{"source":{"__isSmartRef__":true,"id":5870},"target":{"__isSmartRef__":true,"id":6316}},"6322":{"sourceObj":{"__isSmartRef__":true,"id":5870},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":6316},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6323},"dependedBy":{"__isSmartRef__":true,"id":6316},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6323":{"source":{"__isSmartRef__":true,"id":5870},"target":{"__isSmartRef__":true,"id":6316}},"6324":{"sourceObj":{"__isSmartRef__":true,"id":5870},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":6316},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":6325},"dependedBy":{"__isSmartRef__":true,"id":6316},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6325":{"source":{"__isSmartRef__":true,"id":5870},"target":{"__isSmartRef__":true,"id":6316}},"6326":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":6316},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6327},"dependedBy":{"__isSmartRef__":true,"id":6316},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6327":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":6316}},"6328":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":6316},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6329},"dependedBy":{"__isSmartRef__":true,"id":6316},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6329":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":6316}},"6330":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":6316},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6331},"dependedBy":{"__isSmartRef__":true,"id":6316},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6331":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":6316}},"6332":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":6316},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":6333},"dependedBy":{"__isSmartRef__":true,"id":6316},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6333":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":6316}},"6334":{"d":0.8419431060646692,"a":0.8419431060646692,"f":59.4,"e":73.7,"c":-0.5395663130238733,"b":0.5395663130238733,"matrix_":{"__isSmartRef__":true,"id":6335},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"6335":{"a":0.8419431060646692,"b":0.5395663130238733,"c":-0.5395663130238733,"d":0.8419431060646692,"e":73.7,"f":59.4,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"6336":{"globalShapePath":{"__isSmartRef__":true,"id":6337},"lineIntersect":{"__isSmartRef__":true,"id":6340},"intersectLine":{"__isSmartRef__":true,"id":6344},"intersectLineMorph":{"__isSmartRef__":true,"id":6347}},"6337":{"varMapping":{"__isSmartRef__":true,"id":6338},"source":"function globalShapePath() {\n var b = this.shape.bounds();\n var p1 = this.worldPoint(b.topLeft()),\n p2 = this.worldPoint(b.topRight()),\n p3 = this.worldPoint(b.bottomRight()),\n p4 = this.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":6339},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6338":{"this":{"__isSmartRef__":true,"id":5870}},"6339":{},"6340":{"varMapping":{"__isSmartRef__":true,"id":6341},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":6342},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6341":{"this":{"__isSmartRef__":true,"id":5870}},"6342":{"timestamp":{"__isSmartRef__":true,"id":6343},"user":"jenslincke","tags":[]},"6343":{"isSerializedDate":true,"string":"Thu Dec 13 2012 13:42:55 GMT+0100 (CET)"},"6344":{"varMapping":{"__isSmartRef__":true,"id":6345},"source":"function intersectLine(a1, a2) {\n var points = this.globalShapePath();\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":6346},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6345":{"this":{"__isSmartRef__":true,"id":5870}},"6346":{},"6347":{"varMapping":{"__isSmartRef__":true,"id":6348},"source":"function intersectLineMorph(m) {\n return this.intersectLine(m.controlPoints[0].getGlobalPos(), m.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":6349},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6348":{"this":{"__isSmartRef__":true,"id":5870}},"6349":{},"6350":{"updateLabel":{"__isSmartRef__":true,"id":6351},"renameOwner":{"__isSmartRef__":true,"id":6354}},"6351":{"varMapping":{"__isSmartRef__":true,"id":6352},"source":"function updateLabel() {\n\t// observe name changes in owner\n\tif (this.owner !== this.oldOwner) {\n\t\tif (this.oldOwner)\n\t\t\tdisconnect(this.oldOwner, 'name', this, 'updateLabel')\n\t\tif (this.owner)\n\t\t\tconnect(this.owner, 'name', this, 'updateLabel')\n\t\tthis.oldOwner = this.owner\n\t}\n\tvar name = (this.owner ? this.owner.name : \"no owner\")\n\tif (this.textString != name)\n\tthis.setTextString(name)\n}","funcProperties":{"__isSmartRef__":true,"id":6353},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6352":{"this":{"__isSmartRef__":true,"id":5845}},"6353":{},"6354":{"varMapping":{"__isSmartRef__":true,"id":6355},"source":"function renameOwner(name) {\n\tif (this.owner && this.owner.name != name) {\n\t\talertOK(\"renamed \" + this.owner + \" to \" + name)\n\t\tthis.owner.setName(name);\n\t}\n}","funcProperties":{"__isSmartRef__":true,"id":6356},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6355":{"this":{"__isSmartRef__":true,"id":5845}},"6356":{},"6357":{"source":{"__isSmartRef__":true,"id":5845},"target":{"__isSmartRef__":true,"id":6226}},"6358":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":5844},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6359},"dependedBy":{"__isSmartRef__":true,"id":5844},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6359":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":5844}},"6360":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":5844},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6361},"dependedBy":{"__isSmartRef__":true,"id":5844},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6361":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":5844}},"6362":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":5844},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":6363},"dependedBy":{"__isSmartRef__":true,"id":5844},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6363":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":5844}},"6364":{"d":0.8419431060646688,"a":0.8419431060646688,"f":109.1604139964106,"e":83.14357977177195,"c":-0.539566313023873,"b":0.539566313023873,"matrix_":{"__isSmartRef__":true,"id":6365},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"6365":{"a":0.8419431060646688,"b":0.539566313023873,"c":-0.539566313023873,"d":0.8419431060646688,"e":83.14357977177195,"f":109.1604139964106,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"6366":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":5844}},"6367":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":6368},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6890},"dependedBy":{"__isSmartRef__":true,"id":6368},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6368":{"sourceObj":{"__isSmartRef__":true,"id":6369},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":6750},"targetMethodName":"realignConnection","varMapping":{"__isSmartRef__":true,"id":6881},"dependendConnections":[{"__isSmartRef__":true,"id":6377},{"__isSmartRef__":true,"id":6379},{"__isSmartRef__":true,"id":6381},{"__isSmartRef__":true,"id":6383},{"__isSmartRef__":true,"id":6792},{"__isSmartRef__":true,"id":6794},{"__isSmartRef__":true,"id":6796},{"__isSmartRef__":true,"id":6798},{"__isSmartRef__":true,"id":6367},{"__isSmartRef__":true,"id":6882},{"__isSmartRef__":true,"id":6884},{"__isSmartRef__":true,"id":6886}],"oldTransform":{"__isSmartRef__":true,"id":6888},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"6369":{"submorphs":[],"scripts":[],"id":"43DC7CDB-B654-4CD4-9167-9E89E9CE4639","shape":{"__isSmartRef__":true,"id":6370},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":180.8018403394826,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":19,"name":"NameLabel2","partsBinMetaInfo":{"__isSmartRef__":true,"id":6371},"textChunks":[{"__isSmartRef__":true,"id":6373}],"charsReplaced":"A1","lastFindLoc":2,"prevScroll":[0,0],"attributeConnections":[{"__isSmartRef__":true,"id":6375},{"__isSmartRef__":true,"id":6376},{"__isSmartRef__":true,"id":6368},{"__isSmartRef__":true,"id":6377},{"__isSmartRef__":true,"id":6379},{"__isSmartRef__":true,"id":6381},{"__isSmartRef__":true,"id":6383}],"doNotSerialize":["$$owner","$$savedTextString","$$_Position","$$_Scale","$$_Rotation"],"doNotCopyProperties":["$$owner","$$savedTextString","$$_Position","$$_Scale","$$_Rotation"],"isInputLine":true,"savedTextString":"B","eventHandler":{"__isSmartRef__":true,"id":6385},"derivationIds":[7027,"331C6367-0699-4BD6-9916-ABA82517453B","BEAA7850-FEFB-4AFD-9E06-730FF35D99A4","559B0B8A-5C01-4133-88B2-0D08385E23F6","BE195383-D309-4B6E-A6B0-79A6112B4011","E323F75A-232F-4712-9A03-20C8FD574C9A","E6E38336-AA2D-4F75-80C1-B1617DD8544E","DAFCD826-DF9B-4DEF-B4D7-59AAED8D199D","3999CB16-D9E3-4D28-A617-9B093624E8AC","24C6A462-5AF8-4580-9777-8F5696841AF0","38DF0DD5-01B1-4481-B32C-B1595F8042DF"],"_WhiteSpaceHandling":"pre-wrap","_ClipMode":"visible","moved":true,"isBeingDragged":false,"_WordBreak":"break-all","magnets":[{"__isSmartRef__":true,"id":6386},{"__isSmartRef__":true,"id":6387},{"__isSmartRef__":true,"id":6388},{"__isSmartRef__":true,"id":6389},{"__isSmartRef__":true,"id":6390},{"__isSmartRef__":true,"id":6391},{"__isSmartRef__":true,"id":6392},{"__isSmartRef__":true,"id":6393}],"_PreviousBorderWidth":1,"owner":{"__isSmartRef__":true,"id":6394},"oldOwner":{"__isSmartRef__":true,"id":6394},"_Rotation":0,"_Scale":0.9999999999999997,"__serializedExpressions__":["_Position","textColor","distanceToDragEvent","_TextColor"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":6874},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(34.8,36.8)","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(31.1,-9.9)","_TextColor":"Color.rgb(255,143,0)"},"6370":{"fill":null,"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(42.8,29.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"6371":{"migrationLevel":2,"comment":"Label that shows the name of a morph. Updates automatically.","partName":"NameLabel","lastModifiedDate":{"__isSmartRef__":true,"id":6372},"revisionOnLoad":140039,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"6372":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (CEST)"},"6373":{"style":{"__isSmartRef__":true,"id":6374},"chunkOwner":{"__isSmartRef__":true,"id":6369},"_id":"_809","storedString":"B1","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6374":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6375":{"sourceObj":{"__isSmartRef__":true,"id":6369},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":6369},"targetMethodName":"updateLabel","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6376":{"sourceObj":{"__isSmartRef__":true,"id":6369},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":6369},"targetMethodName":"renameOwner","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6377":{"sourceObj":{"__isSmartRef__":true,"id":6369},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":6368},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6378},"dependedBy":{"__isSmartRef__":true,"id":6368},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6378":{"source":{"__isSmartRef__":true,"id":6369},"target":{"__isSmartRef__":true,"id":6368}},"6379":{"sourceObj":{"__isSmartRef__":true,"id":6369},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":6368},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6380},"dependedBy":{"__isSmartRef__":true,"id":6368},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6380":{"source":{"__isSmartRef__":true,"id":6369},"target":{"__isSmartRef__":true,"id":6368}},"6381":{"sourceObj":{"__isSmartRef__":true,"id":6369},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":6368},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6382},"dependedBy":{"__isSmartRef__":true,"id":6368},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6382":{"source":{"__isSmartRef__":true,"id":6369},"target":{"__isSmartRef__":true,"id":6368}},"6383":{"sourceObj":{"__isSmartRef__":true,"id":6369},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":6368},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":6384},"dependedBy":{"__isSmartRef__":true,"id":6368},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6384":{"source":{"__isSmartRef__":true,"id":6369},"target":{"__isSmartRef__":true,"id":6368}},"6385":{"morph":{"__isSmartRef__":true,"id":6369},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"6386":{"morph":{"__isSmartRef__":true,"id":6369},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(120.0,3464.8)"},"6387":{"morph":{"__isSmartRef__":true,"id":6369},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(138.1,3476.3)"},"6388":{"morph":{"__isSmartRef__":true,"id":6369},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(156.1,3487.9)"},"6389":{"morph":{"__isSmartRef__":true,"id":6369},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(148.3,3500.1)"},"6390":{"morph":{"__isSmartRef__":true,"id":6369},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(140.4,3512.3)"},"6391":{"morph":{"__isSmartRef__":true,"id":6369},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(122.4,3500.7)"},"6392":{"morph":{"__isSmartRef__":true,"id":6369},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(104.4,3489.2)"},"6393":{"morph":{"__isSmartRef__":true,"id":6369},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(112.2,3477.0)"},"6394":{"submorphs":[{"__isSmartRef__":true,"id":6369}],"scripts":[],"id":"3AF058CB-76B8-4608-8392-10822DB4D451","shape":{"__isSmartRef__":true,"id":6395},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"B1","partsBinMetaInfo":{"__isSmartRef__":true,"id":6396},"eventHandler":{"__isSmartRef__":true,"id":6414},"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","BBAFB862-93AE-4F89-BCFF-9F1C67B7FE4C","7EC17E78-593A-4CC8-B7E3-859BCBBFE785","FDB06D4A-9F4E-4B8C-A67C-671A9583EFE8","1C80FDE1-05C0-4148-9AD8-33C88667084C","5059E383-6BE3-4AD3-A9C4-89DA9D8D5E99","5B810AFE-E692-4EB4-A695-ABB4A95CEA39","BFFEF617-9B97-45D4-A541-8E33A6A17485","A10BBA48-4AD1-425A-AC7B-2F5515CE56F5","319DCFA5-FBA0-4E93-825A-584A580A412F","1A7DC4D8-6C49-4243-8B1D-04CED44FD759"],"partTests":{"__isSmartRef__":true,"id":6415},"_ClipMode":"visible","moved":true,"isBeingDragged":false,"magnets":[{"__isSmartRef__":true,"id":6420},{"__isSmartRef__":true,"id":6421},{"__isSmartRef__":true,"id":6422},{"__isSmartRef__":true,"id":6423},{"__isSmartRef__":true,"id":6744},{"__isSmartRef__":true,"id":6745},{"__isSmartRef__":true,"id":6746},{"__isSmartRef__":true,"id":6747}],"attributeConnections":[{"__isSmartRef__":true,"id":6748},{"__isSmartRef__":true,"id":6772},{"__isSmartRef__":true,"id":6774},{"__isSmartRef__":true,"id":6776},{"__isSmartRef__":true,"id":6778},{"__isSmartRef__":true,"id":6780},{"__isSmartRef__":true,"id":6792},{"__isSmartRef__":true,"id":6794},{"__isSmartRef__":true,"id":6796},{"__isSmartRef__":true,"id":6798},{"__isSmartRef__":true,"id":6800},{"__isSmartRef__":true,"id":6802},{"__isSmartRef__":true,"id":6804},{"__isSmartRef__":true,"id":6806},{"__isSmartRef__":true,"id":6808},{"__isSmartRef__":true,"id":6820},{"__isSmartRef__":true,"id":6822},{"__isSmartRef__":true,"id":6824},{"__isSmartRef__":true,"id":6826},{"__isSmartRef__":true,"id":6828},{"__isSmartRef__":true,"id":6840},{"__isSmartRef__":true,"id":6842},{"__isSmartRef__":true,"id":6844},{"__isSmartRef__":true,"id":6846},{"__isSmartRef__":true,"id":6848}],"doNotSerialize":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"doNotCopyProperties":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"isCopyMorphRef":true,"morphRefId":1,"prevScroll":[0,0],"_Scale":0.9999999999999996,"_Rotation":0.5699219218563105,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":6860},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","distanceToDragEvent":"lively.pt(35.0,-16.3)","_Position":"lively.pt(73.7,59.4)"},"6395":{"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(89.0,80.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgba(204,204,204,0.5)","_Padding":"lively.rect(0,0,0,0)"},"6396":{"partsSpaceName":"PartsBin/Basic","comment":"A simple box morph. A really orange one. Its amazing what you can build out of simple boxes.... Who needs stars when you got orange rectangles!","migrationLevel":4,"partName":"Rectangle","changes":[{"__isSmartRef__":true,"id":6397},{"__isSmartRef__":true,"id":6399},{"__isSmartRef__":true,"id":6401},{"__isSmartRef__":true,"id":6403},{"__isSmartRef__":true,"id":6405},{"__isSmartRef__":true,"id":6407},{"__isSmartRef__":true,"id":6409},{"__isSmartRef__":true,"id":6411}],"lastModifiedDate":{"__isSmartRef__":true,"id":6413},"revisionOnLoad":184624,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"6397":{"date":{"__isSmartRef__":true,"id":6398},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"6398":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"6399":{"date":{"__isSmartRef__":true,"id":6400},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"6400":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"6401":{"date":{"__isSmartRef__":true,"id":6402},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"6402":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"6403":{"date":{"__isSmartRef__":true,"id":6404},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"6404":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"6405":{"date":{"__isSmartRef__":true,"id":6406},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"6406":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"6407":{"date":{"__isSmartRef__":true,"id":6408},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"6408":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"6409":{"date":{"__isSmartRef__":true,"id":6410},"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8"},"6410":{"isSerializedDate":true,"string":"Mon Jun 18 2012 19:35:08 GMT+0200 (CEST)"},"6411":{"date":{"__isSmartRef__":true,"id":6412},"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205"},"6412":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:35:51 GMT+0100 (CET)"},"6413":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:33:25 GMT+0100 (CET)"},"6414":{"morph":{"__isSmartRef__":true,"id":6394},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"6415":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":6416}},"6416":{"test01IsMorph":{"__isSmartRef__":true,"id":6417}},"6417":{"varMapping":{"__isSmartRef__":true,"id":6418},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":6419},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6418":{"this":{"__isSmartRef__":true,"id":6415}},"6419":{},"6420":{"morph":{"__isSmartRef__":true,"id":6394},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(110.6,3415.0)"},"6421":{"morph":{"__isSmartRef__":true,"id":6394},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(148.1,3439.0)"},"6422":{"morph":{"__isSmartRef__":true,"id":6394},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(185.5,3463.0)"},"6423":{"morph":{"__isSmartRef__":true,"id":6394},"connectedControlPoints":[{"__isSmartRef__":true,"id":6424}],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(164.0,3496.7)"},"6424":{"morph":{"__isSmartRef__":true,"id":6425},"index":0,"connectedMagnet":{"__isSmartRef__":true,"id":6423},"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"6425":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":6426},"id":"E083C82B-2BC4-42CB-B3A2-773909175FCB","eventHandler":{"__isSmartRef__":true,"id":6429},"__layered_droppingEnabled__":true,"halosEnabled":true,"isBeingDragged":false,"controlPoints":[{"__isSmartRef__":true,"id":6424},{"__isSmartRef__":true,"id":6430}],"showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":6431},"name":"Line4","derivationIds":[731,"5E6BD741-9C99-47B9-95C1-7A028178DB17","A8D5C37A-F23F-47FE-8DE2-211CE4484A4F","F722069B-8602-4E8D-BE3F-92A1E0C0EF28","D5ED19F9-968E-4C7E-9936-69F2735A813F","A9E370BC-F208-425C-BFFC-F8D6BB52E11F","4E431641-D056-46CB-B2A8-6626382EF423"],"_ClipMode":"visible","controlPointsHalos":[],"prevScroll":[0,0],"grabbingEnabled":false,"moved":true,"#startLetters":"controlPoints[0]","fromMorph":{"__isSmartRef__":true,"id":6435},"update":{"__isSmartRef__":true,"id":6645},"isCopyMorphRef":true,"morphRefId":2,"selectedMorph":{"__isSmartRef__":true,"id":6435},"selectedMorphHighlights":[],"_Scale":1,"_Rotation":0,"owner":null,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":6647},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","distanceToDragEvent":"lively.pt(295.7,-20.8)","_Position":"lively.pt(376.1,57.6)"},"6426":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":6427},{"__isSmartRef__":true,"id":6428}],"_ClipMode":"visible","_BorderWidth":3.1119999999999997,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Padding","_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(50.5,3.2)","_Extent":"lively.pt(114.5,3494.5)","_BorderColor":"Color.rgb(161,161,161)"},"6427":{"isAbsolute":true,"x":0,"y":0,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"6428":{"isAbsolute":true,"x":52.46197348862387,"y":5.223542983087555,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"6429":{"morph":{"__isSmartRef__":true,"id":6425},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"6430":{"morph":{"__isSmartRef__":true,"id":6425},"index":1,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"6431":{"requiredModules":[],"migrationLevel":4,"partsSpaceName":"PartsBin/Jens/","comment":"a line","partName":"Connector","lastModifiedDate":{"__isSmartRef__":true,"id":6432},"revisionOnLoad":186528,"changes":[{"__isSmartRef__":true,"id":6433}],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"6432":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:18 GMT+0100 (CET)"},"6433":{"date":{"__isSmartRef__":true,"id":6434},"author":"jenslincke","message":"no comment","id":"28165CED-C8C5-4B8E-9655-645E3F5099BB"},"6434":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:42 GMT+0100 (CET)"},"6435":{"submorphs":[{"__isSmartRef__":true,"id":6436}],"scripts":[],"id":"7D787261-FDA4-4DCD-ACA3-699C8F2DB8DC","shape":{"__isSmartRef__":true,"id":6460},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"A","partsBinMetaInfo":{"__isSmartRef__":true,"id":6461},"eventHandler":{"__isSmartRef__":true,"id":6479},"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","BBAFB862-93AE-4F89-BCFF-9F1C67B7FE4C","7EC17E78-593A-4CC8-B7E3-859BCBBFE785","FDB06D4A-9F4E-4B8C-A67C-671A9583EFE8","1C80FDE1-05C0-4148-9AD8-33C88667084C","5059E383-6BE3-4AD3-A9C4-89DA9D8D5E99","5B810AFE-E692-4EB4-A695-ABB4A95CEA39","BFFEF617-9B97-45D4-A541-8E33A6A17485","A10BBA48-4AD1-425A-AC7B-2F5515CE56F5"],"partTests":{"__isSmartRef__":true,"id":6480},"_ClipMode":"visible","moved":true,"isBeingDragged":false,"magnets":[{"__isSmartRef__":true,"id":6485},{"__isSmartRef__":true,"id":6486},{"__isSmartRef__":true,"id":6487},{"__isSmartRef__":true,"id":6488},{"__isSmartRef__":true,"id":6489},{"__isSmartRef__":true,"id":6490},{"__isSmartRef__":true,"id":6491},{"__isSmartRef__":true,"id":6492}],"attributeConnections":[{"__isSmartRef__":true,"id":6493},{"__isSmartRef__":true,"id":6495},{"__isSmartRef__":true,"id":6497},{"__isSmartRef__":true,"id":6499},{"__isSmartRef__":true,"id":6501},{"__isSmartRef__":true,"id":6503},{"__isSmartRef__":true,"id":6507},{"__isSmartRef__":true,"id":6621},{"__isSmartRef__":true,"id":6623},{"__isSmartRef__":true,"id":6625},{"__isSmartRef__":true,"id":6627}],"doNotSerialize":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"doNotCopyProperties":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"isCopyMorphRef":true,"morphRefId":1,"prevScroll":[0,0],"_Scale":0.9999999999999998,"_Rotation":-0.3632069088060458,"owner":null,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":6631},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","distanceToDragEvent":"lively.pt(89.3,-51.8)","_Position":"lively.pt(691.6,129.6)"},"6436":{"submorphs":[],"scripts":[],"id":"4BDF3799-4F08-4112-BD4C-91BAB858A860","shape":{"__isSmartRef__":true,"id":6437},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":180.8018403394826,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":19,"name":"NameLabel2","partsBinMetaInfo":{"__isSmartRef__":true,"id":6438},"textChunks":[{"__isSmartRef__":true,"id":6440}],"charsReplaced":"C1","lastFindLoc":2,"prevScroll":[0,0],"attributeConnections":[{"__isSmartRef__":true,"id":6442},{"__isSmartRef__":true,"id":6443}],"doNotSerialize":["$$owner","$$savedTextString"],"doNotCopyProperties":["$$owner","$$savedTextString"],"isInputLine":true,"savedTextString":"A","eventHandler":{"__isSmartRef__":true,"id":6444},"derivationIds":[7027,"331C6367-0699-4BD6-9916-ABA82517453B","BEAA7850-FEFB-4AFD-9E06-730FF35D99A4","559B0B8A-5C01-4133-88B2-0D08385E23F6","BE195383-D309-4B6E-A6B0-79A6112B4011","E323F75A-232F-4712-9A03-20C8FD574C9A","E6E38336-AA2D-4F75-80C1-B1617DD8544E","DAFCD826-DF9B-4DEF-B4D7-59AAED8D199D","3999CB16-D9E3-4D28-A617-9B093624E8AC"],"_WhiteSpaceHandling":"pre-wrap","_ClipMode":"visible","moved":true,"isBeingDragged":false,"_WordBreak":"break-all","magnets":[{"__isSmartRef__":true,"id":6445},{"__isSmartRef__":true,"id":6446},{"__isSmartRef__":true,"id":6447},{"__isSmartRef__":true,"id":6448},{"__isSmartRef__":true,"id":6449},{"__isSmartRef__":true,"id":6450},{"__isSmartRef__":true,"id":6451},{"__isSmartRef__":true,"id":6452}],"_PreviousBorderWidth":1,"owner":{"__isSmartRef__":true,"id":6435},"oldOwner":{"__isSmartRef__":true,"id":6435},"priorSelectionRange":[1,1],"_Rotation":0,"_Scale":0.9999999999999997,"__serializedExpressions__":["textColor","distanceToDragEvent","_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":6453},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(31.1,-9.9)","_TextColor":"Color.rgb(255,143,0)","_Position":"lively.pt(34.8,36.8)"},"6437":{"fill":null,"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(42.8,29.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"6438":{"migrationLevel":2,"comment":"Label that shows the name of a morph. Updates automatically.","partName":"NameLabel","lastModifiedDate":{"__isSmartRef__":true,"id":6439},"revisionOnLoad":140039,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"6439":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (CEST)"},"6440":{"style":{"__isSmartRef__":true,"id":6441},"chunkOwner":{"__isSmartRef__":true,"id":6436},"_id":"_22384","storedString":"A","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6441":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6442":{"sourceObj":{"__isSmartRef__":true,"id":6436},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":6436},"targetMethodName":"updateLabel","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6443":{"sourceObj":{"__isSmartRef__":true,"id":6436},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":6436},"targetMethodName":"renameOwner","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6444":{"morph":{"__isSmartRef__":true,"id":6436},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"6445":{"morph":{"__isSmartRef__":true,"id":6436},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(726.1,3497.3)"},"6446":{"morph":{"__isSmartRef__":true,"id":6436},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(746.1,3489.7)"},"6447":{"morph":{"__isSmartRef__":true,"id":6436},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(766.1,3482.1)"},"6448":{"morph":{"__isSmartRef__":true,"id":6436},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(771.3,3495.6)"},"6449":{"morph":{"__isSmartRef__":true,"id":6436},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(776.4,3509.2)"},"6450":{"morph":{"__isSmartRef__":true,"id":6436},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(756.4,3516.8)"},"6451":{"morph":{"__isSmartRef__":true,"id":6436},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(736.4,3524.4)"},"6452":{"morph":{"__isSmartRef__":true,"id":6436},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(731.2,3510.8)"},"6453":{"updateLabel":{"__isSmartRef__":true,"id":6454},"renameOwner":{"__isSmartRef__":true,"id":6457}},"6454":{"varMapping":{"__isSmartRef__":true,"id":6455},"source":"function updateLabel() {\n\t// observe name changes in owner\n\tif (this.owner !== this.oldOwner) {\n\t\tif (this.oldOwner)\n\t\t\tdisconnect(this.oldOwner, 'name', this, 'updateLabel')\n\t\tif (this.owner)\n\t\t\tconnect(this.owner, 'name', this, 'updateLabel')\n\t\tthis.oldOwner = this.owner\n\t}\n\tvar name = (this.owner ? this.owner.name : \"no owner\")\n\tif (this.textString != name)\n\tthis.setTextString(name)\n}","funcProperties":{"__isSmartRef__":true,"id":6456},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6455":{"this":{"__isSmartRef__":true,"id":6436}},"6456":{},"6457":{"varMapping":{"__isSmartRef__":true,"id":6458},"source":"function renameOwner(name) {\n\tif (this.owner && this.owner.name != name) {\n\t\talertOK(\"renamed \" + this.owner + \" to \" + name)\n\t\tthis.owner.setName(name);\n\t}\n}","funcProperties":{"__isSmartRef__":true,"id":6459},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6458":{"this":{"__isSmartRef__":true,"id":6436}},"6459":{},"6460":{"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(116.7,82.3)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgba(204,204,204,0.5)","_Padding":"lively.rect(0,0,0,0)"},"6461":{"partsSpaceName":"PartsBin/Basic","comment":"A simple box morph. A really orange one. Its amazing what you can build out of simple boxes.... Who needs stars when you got orange rectangles!","migrationLevel":4,"partName":"Rectangle","changes":[{"__isSmartRef__":true,"id":6462},{"__isSmartRef__":true,"id":6464},{"__isSmartRef__":true,"id":6466},{"__isSmartRef__":true,"id":6468},{"__isSmartRef__":true,"id":6470},{"__isSmartRef__":true,"id":6472},{"__isSmartRef__":true,"id":6474},{"__isSmartRef__":true,"id":6476}],"lastModifiedDate":{"__isSmartRef__":true,"id":6478},"revisionOnLoad":184624,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"6462":{"date":{"__isSmartRef__":true,"id":6463},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"6463":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"6464":{"date":{"__isSmartRef__":true,"id":6465},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"6465":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"6466":{"date":{"__isSmartRef__":true,"id":6467},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"6467":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"6468":{"date":{"__isSmartRef__":true,"id":6469},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"6469":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"6470":{"date":{"__isSmartRef__":true,"id":6471},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"6471":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"6472":{"date":{"__isSmartRef__":true,"id":6473},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"6473":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"6474":{"date":{"__isSmartRef__":true,"id":6475},"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8"},"6475":{"isSerializedDate":true,"string":"Mon Jun 18 2012 19:35:08 GMT+0200 (CEST)"},"6476":{"date":{"__isSmartRef__":true,"id":6477},"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205"},"6477":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:35:51 GMT+0100 (CET)"},"6478":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:33:25 GMT+0100 (CET)"},"6479":{"morph":{"__isSmartRef__":true,"id":6435},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"6480":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":6481}},"6481":{"test01IsMorph":{"__isSmartRef__":true,"id":6482}},"6482":{"varMapping":{"__isSmartRef__":true,"id":6483},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":6484},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6483":{"this":{"__isSmartRef__":true,"id":6480}},"6484":{},"6485":{"morph":{"__isSmartRef__":true,"id":6435},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(680.5,3475.2)"},"6486":{"morph":{"__isSmartRef__":true,"id":6435},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(735.0,3454.5)"},"6487":{"morph":{"__isSmartRef__":true,"id":6435},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(789.6,3433.8)"},"6488":{"morph":{"__isSmartRef__":true,"id":6435},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(804.2,3472.2)"},"6489":{"morph":{"__isSmartRef__":true,"id":6435},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(818.8,3510.7)"},"6490":{"morph":{"__isSmartRef__":true,"id":6435},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(764.3,3531.4)"},"6491":{"morph":{"__isSmartRef__":true,"id":6435},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(709.7,3552.2)"},"6492":{"morph":{"__isSmartRef__":true,"id":6435},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(695.1,3513.7)"},"6493":{"sourceObj":{"__isSmartRef__":true,"id":6435},"sourceAttrName":"name","targetObj":{"__isSmartRef__":true,"id":6436},"targetMethodName":"updateLabel","varMapping":{"__isSmartRef__":true,"id":6494},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6494":{"source":{"__isSmartRef__":true,"id":6435},"target":{"__isSmartRef__":true,"id":6436}},"6495":{"sourceObj":{"__isSmartRef__":true,"id":6435},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":6425},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":6496},"dependendConnections":[{"__isSmartRef__":true,"id":6497},{"__isSmartRef__":true,"id":6499},{"__isSmartRef__":true,"id":6501},{"__isSmartRef__":true,"id":6503}],"oldTransform":{"__isSmartRef__":true,"id":6505},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"6496":{"source":{"__isSmartRef__":true,"id":6435},"target":{"__isSmartRef__":true,"id":6425}},"6497":{"sourceObj":{"__isSmartRef__":true,"id":6435},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":6495},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6498},"dependedBy":{"__isSmartRef__":true,"id":6495},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6498":{"source":{"__isSmartRef__":true,"id":6435},"target":{"__isSmartRef__":true,"id":6495}},"6499":{"sourceObj":{"__isSmartRef__":true,"id":6435},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":6495},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6500},"dependedBy":{"__isSmartRef__":true,"id":6495},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6500":{"source":{"__isSmartRef__":true,"id":6435},"target":{"__isSmartRef__":true,"id":6495}},"6501":{"sourceObj":{"__isSmartRef__":true,"id":6435},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":6495},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6502},"dependedBy":{"__isSmartRef__":true,"id":6495},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6502":{"source":{"__isSmartRef__":true,"id":6435},"target":{"__isSmartRef__":true,"id":6495}},"6503":{"sourceObj":{"__isSmartRef__":true,"id":6435},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":6495},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":6504},"dependedBy":{"__isSmartRef__":true,"id":6495},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6504":{"source":{"__isSmartRef__":true,"id":6435},"target":{"__isSmartRef__":true,"id":6495}},"6505":{"d":0.9347623017725522,"a":0.9347623017725522,"f":3485.245045045044,"e":728.5390390390387,"c":0.3552737524570028,"b":-0.3552737524570028,"matrix_":{"__isSmartRef__":true,"id":6506},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"6506":{"a":0.9347623017725522,"b":-0.3552737524570028,"c":0.3552737524570028,"d":0.9347623017725522,"e":728.5390390390387,"f":3485.245045045044,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"6507":{"sourceObj":{"__isSmartRef__":true,"id":6435},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":6508},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":6620},"dependendConnections":[{"__isSmartRef__":true,"id":6621},{"__isSmartRef__":true,"id":6623},{"__isSmartRef__":true,"id":6625},{"__isSmartRef__":true,"id":6627}],"oldTransform":{"__isSmartRef__":true,"id":6629},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"6508":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":6509},"id":"4809CC50-2A92-4A4F-9D0D-829B6BA12A0B","eventHandler":{"__isSmartRef__":true,"id":6512},"__layered_droppingEnabled__":true,"halosEnabled":true,"isBeingDragged":false,"controlPoints":[{"__isSmartRef__":true,"id":6513},{"__isSmartRef__":true,"id":6514}],"showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":6515},"name":"Connector1","derivationIds":[731,"5E6BD741-9C99-47B9-95C1-7A028178DB17","A8D5C37A-F23F-47FE-8DE2-211CE4484A4F","F722069B-8602-4E8D-BE3F-92A1E0C0EF28","D5ED19F9-968E-4C7E-9936-69F2735A813F","A9E370BC-F208-425C-BFFC-F8D6BB52E11F","4E431641-D056-46CB-B2A8-6626382EF423"],"_ClipMode":"visible","controlPointsHalos":[],"prevScroll":[0,0],"grabbingEnabled":false,"moved":true,"#startLetters":"controlPoints[0]","fromMorph":{"__isSmartRef__":true,"id":6435},"toMorph":{"__isSmartRef__":true,"id":3202},"update":{"__isSmartRef__":true,"id":6521},"isCopyMorphRef":true,"morphRefId":2,"selectedMorph":{"__isSmartRef__":true,"id":3202},"selectedMorphHighlights":[],"owner":null,"_Rotation":0,"_Scale":1,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":6523},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","distanceToDragEvent":"lively.pt(295.7,-20.8)","_Position":"lively.pt(10527.5,52997.9)"},"6509":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":6510},{"__isSmartRef__":true,"id":6511}],"_ClipMode":"visible","_BorderWidth":3.1119999999999997,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Padding","_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(-75.9,-6.9)","_Extent":"lively.pt(151.7,13.9)","_BorderColor":"Color.rgb(161,161,161)"},"6510":{"isAbsolute":true,"x":74.86198803712648,"y":-4.949983532278566,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"6511":{"isAbsolute":true,"x":-73.86198803712614,"y":5.949983532282204,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"6512":{"morph":{"__isSmartRef__":true,"id":6508},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"6513":{"morph":{"__isSmartRef__":true,"id":6508},"index":0,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"6514":{"morph":{"__isSmartRef__":true,"id":6508},"index":1,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"6515":{"requiredModules":[],"migrationLevel":4,"partsSpaceName":"PartsBin/Jens/","comment":"Yes, I think I got it again: Powerful and nice connectors.\nThis time 100 % Part only!","partName":"Connector","lastModifiedDate":{"__isSmartRef__":true,"id":6516},"revisionOnLoad":186829,"changes":[{"__isSmartRef__":true,"id":6517},{"__isSmartRef__":true,"id":6519}],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"6516":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:04:50 GMT+0100 (CET)"},"6517":{"date":{"__isSmartRef__":true,"id":6518},"author":"jenslincke","message":"no comment","id":"28165CED-C8C5-4B8E-9655-645E3F5099BB"},"6518":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:42 GMT+0100 (CET)"},"6519":{"date":{"__isSmartRef__":true,"id":6520},"author":"jenslincke","message":"no comment","id":"117C964B-9768-48F2-8EC8-D4328478198F"},"6520":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:05:07 GMT+0100 (CET)"},"6521":{"d":1,"a":1,"f":906.1,"e":107.8,"c":0,"b":0,"matrix_":{"__isSmartRef__":true,"id":6522},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"6522":{"a":1,"b":0,"c":0,"d":1,"e":107.8,"f":906.1,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"6523":{"connect":{"__isSmartRef__":true,"id":6524},"updatePosition":{"__isSmartRef__":true,"id":6528},"updateControlPoint":{"__isSmartRef__":true,"id":6532},"disconnectMorph":{"__isSmartRef__":true,"id":6536},"connectMorph":{"__isSmartRef__":true,"id":6540},"onMouseOver":{"__isSmartRef__":true,"id":6544},"onMouseOut":{"__isSmartRef__":true,"id":6548},"makeHandle":{"__isSmartRef__":true,"id":6556},"showFromHandle":{"__isSmartRef__":true,"id":6560},"showToHandle":{"__isSmartRef__":true,"id":6564},"reset":{"__isSmartRef__":true,"id":6568},"onDragInHandle":{"__isSmartRef__":true,"id":6572},"onDragStartInHandle":{"__isSmartRef__":true,"id":6576},"onDragEndInHandle":{"__isSmartRef__":true,"id":6580},"connectFrom":{"__isSmartRef__":true,"id":6584},"connectTo":{"__isSmartRef__":true,"id":6588},"hideToHandle":{"__isSmartRef__":true,"id":6592},"hideFromHandle":{"__isSmartRef__":true,"id":6596},"updateIntersection":{"__isSmartRef__":true,"id":6600},"lineIntersect":{"__isSmartRef__":true,"id":6604},"intersectMorphLinePoints":{"__isSmartRef__":true,"id":6608},"intersectMorph":{"__isSmartRef__":true,"id":6612},"globalShapePathFromMorph":{"__isSmartRef__":true,"id":6616}},"6524":{"varMapping":{"__isSmartRef__":true,"id":6525},"source":"function connect(morphA, morphB) {\n this.connectFrom(morphA)\n this.connectTo(morphB)\n this.updatePosition()\n}","funcProperties":{"__isSmartRef__":true,"id":6526},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6525":{"this":{"__isSmartRef__":true,"id":6508}},"6526":{"timestamp":{"__isSmartRef__":true,"id":6527},"user":"jenslincke","tags":[]},"6527":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:50:49 GMT+0100 (CET)"},"6528":{"varMapping":{"__isSmartRef__":true,"id":6529},"source":"function updatePosition() {\n this.updateControlPoint(this.controlPoints[0], this.fromMorph)\n this.updateControlPoint(this.controlPoints[1], this.toMorph)\n this.updateIntersection(this.fromMorph, this.controlPoints[0])\n this.updateIntersection(this.toMorph, this.controlPoints[1])\n\n this.adjustOrigin(this.bounds().extent().scaleBy(0.5))\n}","funcProperties":{"__isSmartRef__":true,"id":6530},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6529":{"this":{"__isSmartRef__":true,"id":6508}},"6530":{"timestamp":{"__isSmartRef__":true,"id":6531},"user":"jenslincke","tags":[]},"6531":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:06:20 GMT+0100 (CET)"},"6532":{"varMapping":{"__isSmartRef__":true,"id":6533},"source":"function updateControlPoint(cp, morph) {\n if (!cp || !morph) return;\n cp.setGlobalPos(morph.worldPoint(morph.shape.bounds().center()))\n}","funcProperties":{"__isSmartRef__":true,"id":6534},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6533":{"this":{"__isSmartRef__":true,"id":6508}},"6534":{"timestamp":{"__isSmartRef__":true,"id":6535},"user":"jenslincke","tags":[]},"6535":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:45:56 GMT+0100 (CET)"},"6536":{"varMapping":{"__isSmartRef__":true,"id":6537},"source":"function disconnectMorph(morph) {\n if (!morph) return;\n lively.bindings.disconnect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":6538},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6537":{"this":{"__isSmartRef__":true,"id":6508}},"6538":{"timestamp":{"__isSmartRef__":true,"id":6539},"user":"jenslincke","tags":[]},"6539":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:19:18 GMT+0100 (CET)"},"6540":{"varMapping":{"__isSmartRef__":true,"id":6541},"source":"function connectMorph(morph) {\n if (morph)\n lively.bindings.connect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":6542},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6541":{"this":{"__isSmartRef__":true,"id":6508}},"6542":{"timestamp":{"__isSmartRef__":true,"id":6543},"user":"jenslincke","tags":[]},"6543":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:52:12 GMT+0100 (CET)"},"6544":{"varMapping":{"__isSmartRef__":true,"id":6545},"source":"function onMouseOver(evt) {\n var p = evt.mousePoint.scaleBy(this.world().getScale())\n\n var cp1 = this.controlPoints[0].getGlobalPos();\n if (p.dist(cp1) < 20) {\n this.showFromHandle()\n } else {\n this.hideFromHandle()\n }\n var cp2 = this.controlPoints[1].getGlobalPos();\n if (p.dist(cp2) < 20) {\n this.showToHandle()\n } else {\n this.hideToHandle()\n }\n}","funcProperties":{"__isSmartRef__":true,"id":6546},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6545":{"this":{"__isSmartRef__":true,"id":6508}},"6546":{"timestamp":{"__isSmartRef__":true,"id":6547},"user":"jenslincke","tags":[]},"6547":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:23:03 GMT+0100 (CET)"},"6548":{"varMapping":{"__isSmartRef__":true,"id":6549},"source":"function onMouseOut(evt) {\n // this.hideFromHandle()\n // this.hideToHandle()\n}","funcProperties":{"__isSmartRef__":true,"id":6554},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6549":{"this":{"__isSmartRef__":true,"id":6508},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":6550}},"6550":{"$super":{"__isSmartRef__":true,"id":6551}},"6551":{"varMapping":{"__isSmartRef__":true,"id":6552},"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":6553},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6552":{"obj":{"__isSmartRef__":true,"id":6508},"name":"onMouseOut"},"6553":{},"6554":{"timestamp":{"__isSmartRef__":true,"id":6555},"user":"jenslincke","tags":[]},"6555":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:54:53 GMT+0100 (CET)"},"6556":{"varMapping":{"__isSmartRef__":true,"id":6557},"source":"function makeHandle() {\n var m = lively.morphic.Morph.makeRectangle(0,0,10,10);\n m.disableGrabbing()\n m.enableDragging()\n m.connector = this;\n // move real behavior to a place which is easier to develop\n // do not use bind, because we like late binding \n m.addScript(function onDragStart(evt) {\n this.connector.onDragStartInHandle(this, evt)\n })\n m.addScript(function onDrag(evt) {\n this.connector.onDragInHandle(this, evt)\n })\n m.addScript(function onDragEnd(evt) {\n this.connector.onDragEndInHandle(this, evt)\n })\n m.isEpiMorph = true;\n return m\n}","funcProperties":{"__isSmartRef__":true,"id":6558},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6557":{"this":{"__isSmartRef__":true,"id":6508}},"6558":{"timestamp":{"__isSmartRef__":true,"id":6559},"user":"jenslincke","tags":[]},"6559":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:08:29 GMT+0100 (CET)"},"6560":{"varMapping":{"__isSmartRef__":true,"id":6561},"source":"function showFromHandle() {\n if (!this.fromHandle) {\n this.fromHandle = this.makeHandle();\n this.fromHandle.setFill(Color.red)\n this.fromHandle.isFromHandle = true;\n }\n this.fromHandle.openInWorld();\n this.fromHandle.controlPoint = this.controlPoints[0];\n this.fromHandle.setPosition(this.controlPoints[0].getGlobalPos().subPt(pt(5,5)))\n return this.fromHandle\n}","funcProperties":{"__isSmartRef__":true,"id":6562},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6561":{"this":{"__isSmartRef__":true,"id":6508}},"6562":{"timestamp":{"__isSmartRef__":true,"id":6563},"user":"jenslincke","tags":[]},"6563":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:13:03 GMT+0100 (CET)"},"6564":{"varMapping":{"__isSmartRef__":true,"id":6565},"source":"function showToHandle() {\n if (!this.toHandle) {\n this.toHandle = this.makeHandle();\n this.toHandle.setFill(Color.red)\n this.toHandle.isToHandle = true;\n\n }\n this.toHandle.openInWorld();\n this.toHandle.controlPoint = this.controlPoints[1];\n this.toHandle.setPosition(this.controlPoints[1].getGlobalPos().subPt(pt(5,5)))\n return this.toHandle\n}","funcProperties":{"__isSmartRef__":true,"id":6566},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6565":{"this":{"__isSmartRef__":true,"id":6508}},"6566":{"timestamp":{"__isSmartRef__":true,"id":6567},"user":"jenslincke","tags":[]},"6567":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:20:25 GMT+0100 (CET)"},"6568":{"varMapping":{"__isSmartRef__":true,"id":6569},"source":"function reset() {\n if (this.fromHandle) {\n this.fromHandle.remove()\n delete this.fromHandle\n }\n if (this.toHandle) {\n this.toHandle.remove()\n delete this.toHandle\n }\n // this.controlPoints[1].setPos(pt(200,200))\n}","funcProperties":{"__isSmartRef__":true,"id":6570},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6569":{"this":{"__isSmartRef__":true,"id":6508}},"6570":{"timestamp":{"__isSmartRef__":true,"id":6571},"user":"jenslincke","tags":[]},"6571":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:15:00 GMT+0100 (CET)"},"6572":{"varMapping":{"__isSmartRef__":true,"id":6573},"source":"function onDragInHandle(handle, evt) {\n\n var pos = handle.getPositionInWorld();\n var delta = evt.hand.getPosition().subPt(pos);\n handle.moveBy(delta)\n pos = handle.getPositionInWorld();\n if (handle.controlPoint)\n handle.controlPoint.setGlobalPos(pos.addPt(pt(5,5)))\n var morphs = this.owner.morphsContainingPoint(pos)\n morphs = morphs.reject(function(ea) {\n return ea.isWorld || (ea === handle) || (ea === this) || \n (ea === this.owner)\n }, this)\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n this.selectedMorph = morphs.first();\n this.selectedMorphHighlights = show(this.selectedMorph)\n handle.startPos = evt.getPosition();\n}","funcProperties":{"__isSmartRef__":true,"id":6574},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6573":{"this":{"__isSmartRef__":true,"id":6508}},"6574":{"timestamp":{"__isSmartRef__":true,"id":6575},"user":"jenslincke","tags":[]},"6575":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:06:40 GMT+0100 (CET)"},"6576":{"varMapping":{"__isSmartRef__":true,"id":6577},"source":"function onDragStartInHandle(handle, evt) {\n handle.startPos = evt.getPosition()\n}","funcProperties":{"__isSmartRef__":true,"id":6578},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6577":{"this":{"__isSmartRef__":true,"id":6508}},"6578":{"timestamp":{"__isSmartRef__":true,"id":6579},"user":"jenslincke","tags":[]},"6579":{"isSerializedDate":true,"string":"Thu Dec 13 2012 15:51:13 GMT+0100 (CET)"},"6580":{"varMapping":{"__isSmartRef__":true,"id":6581},"source":"function onDragEndInHandle(handle, evt) {\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n \n if (handle.isFromHandle) this.connectFrom(this.selectedMorph)\n if (handle.isToHandle) this.connectTo(this.selectedMorph)\n handle.remove()\n}","funcProperties":{"__isSmartRef__":true,"id":6582},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6581":{"this":{"__isSmartRef__":true,"id":6508}},"6582":{"timestamp":{"__isSmartRef__":true,"id":6583},"user":"jenslincke","tags":[]},"6583":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:44:35 GMT+0100 (CET)"},"6584":{"varMapping":{"__isSmartRef__":true,"id":6585},"source":"function connectFrom(morph) {\n if (morph && morph === this.toMorph) return; // not allowed\n\n this.disconnectMorph(this.fromMorph)\n this.fromMorph = morph;\n this.connectMorph(this.fromMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":6586},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6585":{"this":{"__isSmartRef__":true,"id":6508}},"6586":{"timestamp":{"__isSmartRef__":true,"id":6587},"user":"jenslincke","tags":[]},"6587":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:02:22 GMT+0100 (CET)"},"6588":{"varMapping":{"__isSmartRef__":true,"id":6589},"source":"function connectTo(morph) {\n\n if (morph && morph === this.fromMorph) return; // not allowed\n\n this.disconnectMorph(this.toMorph)\n this.toMorph = morph;\n this.connectMorph(this.toMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":6590},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6589":{"this":{"__isSmartRef__":true,"id":6508}},"6590":{"timestamp":{"__isSmartRef__":true,"id":6591},"user":"jenslincke","tags":[]},"6591":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:02:30 GMT+0100 (CET)"},"6592":{"varMapping":{"__isSmartRef__":true,"id":6593},"source":"function hideToHandle() {\n if (this.toHandle) {\n this.toHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":6594},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6593":{"this":{"__isSmartRef__":true,"id":6508}},"6594":{"timestamp":{"__isSmartRef__":true,"id":6595},"user":"jenslincke","tags":[]},"6595":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:51:59 GMT+0100 (CET)"},"6596":{"varMapping":{"__isSmartRef__":true,"id":6597},"source":"function hideFromHandle() {\n if (this.fromHandle) {\n this.fromHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":6598},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6597":{"this":{"__isSmartRef__":true,"id":6508}},"6598":{"timestamp":{"__isSmartRef__":true,"id":6599},"user":"jenslincke","tags":[]},"6599":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:52:18 GMT+0100 (CET)"},"6600":{"varMapping":{"__isSmartRef__":true,"id":6601},"source":"function updateIntersection(morph, cp) {\n if (!morph) return;\n var intersection = this.intersectMorph(morph)[0];\n if (intersection) {\n cp.setGlobalPos(intersection);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":6602},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6601":{"this":{"__isSmartRef__":true,"id":6508}},"6602":{"timestamp":{"__isSmartRef__":true,"id":6603},"user":"jenslincke","tags":[]},"6603":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:32 GMT+0100 (CET)"},"6604":{"varMapping":{"__isSmartRef__":true,"id":6605},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":6606},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6605":{"this":{"__isSmartRef__":true,"id":6508}},"6606":{"timestamp":{"__isSmartRef__":true,"id":6607},"user":"jenslincke","tags":[]},"6607":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:47:12 GMT+0100 (CET)"},"6608":{"varMapping":{"__isSmartRef__":true,"id":6609},"source":"function intersectMorphLinePoints(morph, a1, a2) {\n var points = this.globalShapePathFromMorph(morph);\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":6610},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6609":{"this":{"__isSmartRef__":true,"id":6508}},"6610":{"timestamp":{"__isSmartRef__":true,"id":6611},"user":"jenslincke","tags":[]},"6611":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:21 GMT+0100 (CET)"},"6612":{"varMapping":{"__isSmartRef__":true,"id":6613},"source":"function intersectMorph(morph) {\n var line = this;\n return this.intersectMorphLinePoints(morph,\n line.controlPoints[0].getGlobalPos(), line.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":6614},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6613":{"this":{"__isSmartRef__":true,"id":6508}},"6614":{"timestamp":{"__isSmartRef__":true,"id":6615},"user":"jenslincke","tags":[]},"6615":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:47 GMT+0100 (CET)"},"6616":{"varMapping":{"__isSmartRef__":true,"id":6617},"source":"function globalShapePathFromMorph(morph) {\n var b = morph.shape.bounds();\n var p1 = morph.worldPoint(b.topLeft()),\n p2 = morph.worldPoint(b.topRight()),\n p3 = morph.worldPoint(b.bottomRight()),\n p4 = morph.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":6618},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6617":{"this":{"__isSmartRef__":true,"id":6508}},"6618":{"timestamp":{"__isSmartRef__":true,"id":6619},"user":"jenslincke","tags":[]},"6619":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:00 GMT+0100 (CET)"},"6620":{"source":{"__isSmartRef__":true,"id":6435},"target":{"__isSmartRef__":true,"id":6508}},"6621":{"sourceObj":{"__isSmartRef__":true,"id":6435},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":6507},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6622},"dependedBy":{"__isSmartRef__":true,"id":6507},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6622":{"source":{"__isSmartRef__":true,"id":6435},"target":{"__isSmartRef__":true,"id":6507}},"6623":{"sourceObj":{"__isSmartRef__":true,"id":6435},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":6507},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6624},"dependedBy":{"__isSmartRef__":true,"id":6507},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6624":{"source":{"__isSmartRef__":true,"id":6435},"target":{"__isSmartRef__":true,"id":6507}},"6625":{"sourceObj":{"__isSmartRef__":true,"id":6435},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":6507},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6626},"dependedBy":{"__isSmartRef__":true,"id":6507},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6626":{"source":{"__isSmartRef__":true,"id":6435},"target":{"__isSmartRef__":true,"id":6507}},"6627":{"sourceObj":{"__isSmartRef__":true,"id":6435},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":6507},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":6628},"dependedBy":{"__isSmartRef__":true,"id":6507},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6628":{"source":{"__isSmartRef__":true,"id":6435},"target":{"__isSmartRef__":true,"id":6507}},"6629":{"d":0.9347623017725522,"a":0.9347623017725522,"f":3485.245045045044,"e":728.5390390390387,"c":0.3552737524570028,"b":-0.3552737524570028,"matrix_":{"__isSmartRef__":true,"id":6630},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"6630":{"a":0.9347623017725522,"b":-0.3552737524570028,"c":0.3552737524570028,"d":0.9347623017725522,"e":728.5390390390387,"f":3485.245045045044,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"6631":{"globalShapePath":{"__isSmartRef__":true,"id":6632},"lineIntersect":{"__isSmartRef__":true,"id":6635},"intersectLine":{"__isSmartRef__":true,"id":6639},"intersectLineMorph":{"__isSmartRef__":true,"id":6642}},"6632":{"varMapping":{"__isSmartRef__":true,"id":6633},"source":"function globalShapePath() {\n var b = this.shape.bounds();\n var p1 = this.worldPoint(b.topLeft()),\n p2 = this.worldPoint(b.topRight()),\n p3 = this.worldPoint(b.bottomRight()),\n p4 = this.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":6634},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6633":{"this":{"__isSmartRef__":true,"id":6435}},"6634":{},"6635":{"varMapping":{"__isSmartRef__":true,"id":6636},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":6637},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6636":{"this":{"__isSmartRef__":true,"id":6435}},"6637":{"timestamp":{"__isSmartRef__":true,"id":6638},"user":"jenslincke","tags":[]},"6638":{"isSerializedDate":true,"string":"Thu Dec 13 2012 13:42:55 GMT+0100 (CET)"},"6639":{"varMapping":{"__isSmartRef__":true,"id":6640},"source":"function intersectLine(a1, a2) {\n var points = this.globalShapePath();\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":6641},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6640":{"this":{"__isSmartRef__":true,"id":6435}},"6641":{},"6642":{"varMapping":{"__isSmartRef__":true,"id":6643},"source":"function intersectLineMorph(m) {\n return this.intersectLine(m.controlPoints[0].getGlobalPos(), m.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":6644},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6643":{"this":{"__isSmartRef__":true,"id":6435}},"6644":{},"6645":{"d":1,"a":1,"f":906.1,"e":107.8,"c":0,"b":0,"matrix_":{"__isSmartRef__":true,"id":6646},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"6646":{"a":1,"b":0,"c":0,"d":1,"e":107.8,"f":906.1,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"6647":{"connect":{"__isSmartRef__":true,"id":6648},"updatePosition":{"__isSmartRef__":true,"id":6652},"updateControlPoint":{"__isSmartRef__":true,"id":6656},"disconnectMorph":{"__isSmartRef__":true,"id":6660},"connectMorph":{"__isSmartRef__":true,"id":6664},"onMouseOver":{"__isSmartRef__":true,"id":6668},"onMouseOut":{"__isSmartRef__":true,"id":6672},"makeHandle":{"__isSmartRef__":true,"id":6680},"showFromHandle":{"__isSmartRef__":true,"id":6684},"showToHandle":{"__isSmartRef__":true,"id":6688},"reset":{"__isSmartRef__":true,"id":6692},"onDragInHandle":{"__isSmartRef__":true,"id":6696},"onDragStartInHandle":{"__isSmartRef__":true,"id":6700},"onDragEndInHandle":{"__isSmartRef__":true,"id":6704},"connectFrom":{"__isSmartRef__":true,"id":6708},"connectTo":{"__isSmartRef__":true,"id":6712},"hideToHandle":{"__isSmartRef__":true,"id":6716},"hideFromHandle":{"__isSmartRef__":true,"id":6720},"updateIntersection":{"__isSmartRef__":true,"id":6724},"lineIntersect":{"__isSmartRef__":true,"id":6728},"intersectMorphLinePoints":{"__isSmartRef__":true,"id":6732},"intersectMorph":{"__isSmartRef__":true,"id":6736},"globalShapePathFromMorph":{"__isSmartRef__":true,"id":6740}},"6648":{"varMapping":{"__isSmartRef__":true,"id":6649},"source":"function connect(morphA, morphB) {\n this.connectFrom(morphA)\n this.connectTo(morphB)\n this.updatePosition()\n}","funcProperties":{"__isSmartRef__":true,"id":6650},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6649":{"this":{"__isSmartRef__":true,"id":6425}},"6650":{"timestamp":{"__isSmartRef__":true,"id":6651},"user":"jenslincke","tags":[]},"6651":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:50:49 GMT+0100 (CET)"},"6652":{"varMapping":{"__isSmartRef__":true,"id":6653},"source":"function updatePosition() {\n this.updateControlPoint(this.controlPoints[0], this.fromMorph)\n this.updateControlPoint(this.controlPoints[1], this.toMorph)\n this.updateIntersection(this.fromMorph, this.controlPoints[0])\n this.updateIntersection(this.toMorph, this.controlPoints[1])\n\n if (this.controlPoints[0].getPos().equalPt(this.controlPoints[1].getPos()))\n this.controlPoints[1].setPos(this.controlPoints[1].getPos().addPt(pt(30,0)))\n\n this.adjustOrigin(this.bounds().extent().scaleBy(0.5))\n \n}","funcProperties":{"__isSmartRef__":true,"id":6654},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6653":{"this":{"__isSmartRef__":true,"id":6425}},"6654":{"timestamp":{"__isSmartRef__":true,"id":6655},"user":"jenslincke","tags":[]},"6655":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:59:26 GMT+0100 (CET)"},"6656":{"varMapping":{"__isSmartRef__":true,"id":6657},"source":"function updateControlPoint(cp, morph) {\n if (!cp || !morph) return;\n cp.setGlobalPos(morph.worldPoint(morph.shape.bounds().center()))\n}","funcProperties":{"__isSmartRef__":true,"id":6658},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6657":{"this":{"__isSmartRef__":true,"id":6425}},"6658":{"timestamp":{"__isSmartRef__":true,"id":6659},"user":"jenslincke","tags":[]},"6659":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:45:56 GMT+0100 (CET)"},"6660":{"varMapping":{"__isSmartRef__":true,"id":6661},"source":"function disconnectMorph(morph) {\n if (!morph) return;\n lively.bindings.disconnect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":6662},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6661":{"this":{"__isSmartRef__":true,"id":6425}},"6662":{"timestamp":{"__isSmartRef__":true,"id":6663},"user":"jenslincke","tags":[]},"6663":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:19:18 GMT+0100 (CET)"},"6664":{"varMapping":{"__isSmartRef__":true,"id":6665},"source":"function connectMorph(morph) {\n if (morph)\n lively.bindings.connect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":6666},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6665":{"this":{"__isSmartRef__":true,"id":6425}},"6666":{"timestamp":{"__isSmartRef__":true,"id":6667},"user":"jenslincke","tags":[]},"6667":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:52:12 GMT+0100 (CET)"},"6668":{"varMapping":{"__isSmartRef__":true,"id":6669},"source":"function onMouseOver(evt) {\n var p = evt.mousePoint.scaleBy(this.world().getScale())\n\n var cp1 = this.controlPoints[0].getGlobalPos();\n if (p.dist(cp1) < 20) {\n this.showFromHandle()\n } else {\n this.hideFromHandle()\n }\n var cp2 = this.controlPoints[1].getGlobalPos();\n if (p.dist(cp2) < 20) {\n this.showToHandle()\n } else {\n this.hideToHandle()\n }\n}","funcProperties":{"__isSmartRef__":true,"id":6670},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6669":{"this":{"__isSmartRef__":true,"id":6425}},"6670":{"timestamp":{"__isSmartRef__":true,"id":6671},"user":"jenslincke","tags":[]},"6671":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:23:03 GMT+0100 (CET)"},"6672":{"varMapping":{"__isSmartRef__":true,"id":6673},"source":"function onMouseOut(evt) {\n // this.hideFromHandle()\n // this.hideToHandle()\n}","funcProperties":{"__isSmartRef__":true,"id":6678},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6673":{"this":{"__isSmartRef__":true,"id":6425},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":6674}},"6674":{"$super":{"__isSmartRef__":true,"id":6675}},"6675":{"varMapping":{"__isSmartRef__":true,"id":6676},"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":6677},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6676":{"obj":{"__isSmartRef__":true,"id":6425},"name":"onMouseOut"},"6677":{},"6678":{"timestamp":{"__isSmartRef__":true,"id":6679},"user":"jenslincke","tags":[]},"6679":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:54:53 GMT+0100 (CET)"},"6680":{"varMapping":{"__isSmartRef__":true,"id":6681},"source":"function makeHandle() {\n var m = lively.morphic.Morph.makeRectangle(0,0,10,10);\n m.disableGrabbing()\n m.enableDragging()\n m.connector = this;\n // move real behavior to a place which is easier to develop\n // do not use bind, because we like late binding \n m.addScript(function onDragStart(evt) {\n this.connector.onDragStartInHandle(this, evt)\n })\n m.addScript(function onDrag(evt) {\n this.connector.onDragInHandle(this, evt)\n })\n m.addScript(function onDragEnd(evt) {\n this.connector.onDragEndInHandle(this, evt)\n })\n m.isEpiMorph = true;\n return m\n}","funcProperties":{"__isSmartRef__":true,"id":6682},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6681":{"this":{"__isSmartRef__":true,"id":6425}},"6682":{"timestamp":{"__isSmartRef__":true,"id":6683},"user":"jenslincke","tags":[]},"6683":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:08:29 GMT+0100 (CET)"},"6684":{"varMapping":{"__isSmartRef__":true,"id":6685},"source":"function showFromHandle() {\n if (!this.fromHandle) {\n this.fromHandle = this.makeHandle();\n this.fromHandle.setFill(Color.red)\n this.fromHandle.isFromHandle = true;\n }\n this.fromHandle.openInWorld();\n this.fromHandle.controlPoint = this.controlPoints[0];\n this.fromHandle.setPosition(this.controlPoints[0].getGlobalPos().subPt(pt(5,5)))\n return this.fromHandle\n}","funcProperties":{"__isSmartRef__":true,"id":6686},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6685":{"this":{"__isSmartRef__":true,"id":6425}},"6686":{"timestamp":{"__isSmartRef__":true,"id":6687},"user":"jenslincke","tags":[]},"6687":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:13:03 GMT+0100 (CET)"},"6688":{"varMapping":{"__isSmartRef__":true,"id":6689},"source":"function showToHandle() {\n if (!this.toHandle) {\n this.toHandle = this.makeHandle();\n this.toHandle.setFill(Color.red)\n this.toHandle.isToHandle = true;\n\n }\n this.toHandle.openInWorld();\n this.toHandle.controlPoint = this.controlPoints[1];\n this.toHandle.setPosition(this.controlPoints[1].getGlobalPos().subPt(pt(5,5)))\n return this.toHandle\n}","funcProperties":{"__isSmartRef__":true,"id":6690},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6689":{"this":{"__isSmartRef__":true,"id":6425}},"6690":{"timestamp":{"__isSmartRef__":true,"id":6691},"user":"jenslincke","tags":[]},"6691":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:20:25 GMT+0100 (CET)"},"6692":{"varMapping":{"__isSmartRef__":true,"id":6693},"source":"function reset() {\n if (this.fromHandle) {\n this.fromHandle.remove()\n delete this.fromHandle\n }\n if (this.toHandle) {\n this.toHandle.remove()\n delete this.toHandle\n }\n // this.controlPoints[1].setPos(pt(200,200))\n}","funcProperties":{"__isSmartRef__":true,"id":6694},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6693":{"this":{"__isSmartRef__":true,"id":6425}},"6694":{"timestamp":{"__isSmartRef__":true,"id":6695},"user":"jenslincke","tags":[]},"6695":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:15:00 GMT+0100 (CET)"},"6696":{"varMapping":{"__isSmartRef__":true,"id":6697},"source":"function onDragInHandle(handle, evt) {\n\n var pos = handle.getPositionInWorld();\n var delta = evt.hand.getPosition().subPt(pos);\n handle.moveBy(delta)\n pos = handle.getPositionInWorld();\n if (handle.controlPoint)\n handle.controlPoint.setGlobalPos(pos.addPt(pt(5,5)))\n var morphs = this.owner.morphsContainingPoint(pos)\n morphs = morphs.reject(function(ea) {\n return ea.isWorld || (ea === handle) || (ea === this) || \n (ea === this.owner)\n }, this)\n this.get('Console').textString = morphs\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n this.selectedMorph = morphs.first();\n this.selectedMorphHighlights = show(this.selectedMorph)\n handle.startPos = evt.getPosition();\n}","funcProperties":{"__isSmartRef__":true,"id":6698},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6697":{"this":{"__isSmartRef__":true,"id":6425}},"6698":{"timestamp":{"__isSmartRef__":true,"id":6699},"user":"jenslincke","tags":[]},"6699":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:09:40 GMT+0100 (CET)"},"6700":{"varMapping":{"__isSmartRef__":true,"id":6701},"source":"function onDragStartInHandle(handle, evt) {\n handle.startPos = evt.getPosition()\n}","funcProperties":{"__isSmartRef__":true,"id":6702},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6701":{"this":{"__isSmartRef__":true,"id":6425}},"6702":{"timestamp":{"__isSmartRef__":true,"id":6703},"user":"jenslincke","tags":[]},"6703":{"isSerializedDate":true,"string":"Thu Dec 13 2012 15:51:13 GMT+0100 (CET)"},"6704":{"varMapping":{"__isSmartRef__":true,"id":6705},"source":"function onDragEndInHandle(handle, evt) {\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n \n if (handle.isFromHandle) this.connectFrom(this.selectedMorph)\n if (handle.isToHandle) this.connectTo(this.selectedMorph)\n handle.remove()\n}","funcProperties":{"__isSmartRef__":true,"id":6706},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6705":{"this":{"__isSmartRef__":true,"id":6425}},"6706":{"timestamp":{"__isSmartRef__":true,"id":6707},"user":"jenslincke","tags":[]},"6707":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:44:35 GMT+0100 (CET)"},"6708":{"varMapping":{"__isSmartRef__":true,"id":6709},"source":"function connectFrom(morph) {\n if (morph === this.toMorph) return; // not allowed\n\n this.disconnectMorph(this.fromMorph)\n this.fromMorph = morph;\n this.connectMorph(this.fromMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":6710},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6709":{"this":{"__isSmartRef__":true,"id":6425}},"6710":{"timestamp":{"__isSmartRef__":true,"id":6711},"user":"jenslincke","tags":[]},"6711":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:57:22 GMT+0100 (CET)"},"6712":{"varMapping":{"__isSmartRef__":true,"id":6713},"source":"function connectTo(morph) {\n\n if (morph === this.fromMorph) return; // not allowed\n\n this.disconnectMorph(this.toMorph)\n this.toMorph = morph;\n this.connectMorph(this.toMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":6714},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6713":{"this":{"__isSmartRef__":true,"id":6425}},"6714":{"timestamp":{"__isSmartRef__":true,"id":6715},"user":"jenslincke","tags":[]},"6715":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:57:14 GMT+0100 (CET)"},"6716":{"varMapping":{"__isSmartRef__":true,"id":6717},"source":"function hideToHandle() {\n if (this.toHandle) {\n this.toHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":6718},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6717":{"this":{"__isSmartRef__":true,"id":6425}},"6718":{"timestamp":{"__isSmartRef__":true,"id":6719},"user":"jenslincke","tags":[]},"6719":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:51:59 GMT+0100 (CET)"},"6720":{"varMapping":{"__isSmartRef__":true,"id":6721},"source":"function hideFromHandle() {\n if (this.fromHandle) {\n this.fromHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":6722},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6721":{"this":{"__isSmartRef__":true,"id":6425}},"6722":{"timestamp":{"__isSmartRef__":true,"id":6723},"user":"jenslincke","tags":[]},"6723":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:52:18 GMT+0100 (CET)"},"6724":{"varMapping":{"__isSmartRef__":true,"id":6725},"source":"function updateIntersection(morph, cp) {\n if (!morph) return;\n var intersection = this.intersectMorph(morph)[0];\n if (intersection) {\n cp.setGlobalPos(intersection);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":6726},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6725":{"this":{"__isSmartRef__":true,"id":6425}},"6726":{"timestamp":{"__isSmartRef__":true,"id":6727},"user":"jenslincke","tags":[]},"6727":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:32 GMT+0100 (CET)"},"6728":{"varMapping":{"__isSmartRef__":true,"id":6729},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":6730},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6729":{"this":{"__isSmartRef__":true,"id":6425}},"6730":{"timestamp":{"__isSmartRef__":true,"id":6731},"user":"jenslincke","tags":[]},"6731":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:47:12 GMT+0100 (CET)"},"6732":{"varMapping":{"__isSmartRef__":true,"id":6733},"source":"function intersectMorphLinePoints(morph, a1, a2) {\n var points = this.globalShapePathFromMorph(morph);\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":6734},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6733":{"this":{"__isSmartRef__":true,"id":6425}},"6734":{"timestamp":{"__isSmartRef__":true,"id":6735},"user":"jenslincke","tags":[]},"6735":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:21 GMT+0100 (CET)"},"6736":{"varMapping":{"__isSmartRef__":true,"id":6737},"source":"function intersectMorph(morph) {\n var line = this;\n return this.intersectMorphLinePoints(morph,\n line.controlPoints[0].getGlobalPos(), line.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":6738},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6737":{"this":{"__isSmartRef__":true,"id":6425}},"6738":{"timestamp":{"__isSmartRef__":true,"id":6739},"user":"jenslincke","tags":[]},"6739":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:47 GMT+0100 (CET)"},"6740":{"varMapping":{"__isSmartRef__":true,"id":6741},"source":"function globalShapePathFromMorph(morph) {\n var b = morph.shape.bounds();\n var p1 = morph.worldPoint(b.topLeft()),\n p2 = morph.worldPoint(b.topRight()),\n p3 = morph.worldPoint(b.bottomRight()),\n p4 = morph.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":6742},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6741":{"this":{"__isSmartRef__":true,"id":6425}},"6742":{"timestamp":{"__isSmartRef__":true,"id":6743},"user":"jenslincke","tags":[]},"6743":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:00 GMT+0100 (CET)"},"6744":{"morph":{"__isSmartRef__":true,"id":6394},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(142.4,3530.4)"},"6745":{"morph":{"__isSmartRef__":true,"id":6394},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(104.9,3506.4)"},"6746":{"morph":{"__isSmartRef__":true,"id":6394},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(67.4,3482.4)"},"6747":{"morph":{"__isSmartRef__":true,"id":6394},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(89.0,3448.7)"},"6748":{"sourceObj":{"__isSmartRef__":true,"id":6394},"sourceAttrName":"name","targetObj":{"__isSmartRef__":true,"id":6369},"targetMethodName":"updateLabel","varMapping":{"__isSmartRef__":true,"id":6749},"visualConnector":{"__isSmartRef__":true,"id":6750},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6749":{"source":{"__isSmartRef__":true,"id":6394},"target":{"__isSmartRef__":true,"id":6369}},"6750":{"submorphs":[{"__isSmartRef__":true,"id":6751}],"scripts":[],"shape":{"__isSmartRef__":true,"id":6758},"eventHandler":{"__isSmartRef__":true,"id":6761},"_ClipMode":"visible","derivationIds":[],"id":"5814672F-102B-41EE-9D91-9FA58B6451FD","__layered_droppingEnabled__":true,"halosEnabled":true,"owner":null,"controlPoints":[{"__isSmartRef__":true,"id":6762},{"__isSmartRef__":true,"id":6763}],"con":{"__isSmartRef__":true,"id":6748},"showsMorphMenu":true,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":6764},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"6751":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":6752},"eventHandler":{"__isSmartRef__":true,"id":6757},"_ClipMode":"visible","derivationIds":[],"id":"01253C2A-18A1-43A8-AA72-260E7FC0929E","__layered_droppingEnabled__":true,"halosEnabled":true,"owner":{"__isSmartRef__":true,"id":6750},"_Rotation":1.3832457846463706,"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","_Position":"lively.pt(259.1,3427.8)"},"6752":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":6753},{"__isSmartRef__":true,"id":6754},{"__isSmartRef__":true,"id":6755},{"__isSmartRef__":true,"id":6756}],"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor","_Fill"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Position":"lively.pt(-12.0,-6.0)","_Extent":"lively.pt(17.0,13.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(0,0,0)"},"6753":{"isAbsolute":true,"x":-11,"y":-5,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"6754":{"isAbsolute":true,"x":-11,"y":7,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"6755":{"isAbsolute":true,"x":5,"y":1,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"6756":{"isAbsolute":true,"x":-11,"y":-5,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"6757":{"morph":{"__isSmartRef__":true,"id":6751},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"6758":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":6759},{"__isSmartRef__":true,"id":6760}],"_BorderWidth":1,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Position":"lively.pt(248.7,3377.0)","_Extent":"lively.pt(10.4,50.8)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"6759":{"isAbsolute":true,"x":249.7,"y":3378,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"6760":{"isAbsolute":true,"x":259.14357977177195,"y":3427.7604139964105,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"6761":{"morph":{"__isSmartRef__":true,"id":6750},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"6762":{"morph":{"__isSmartRef__":true,"id":6750},"index":0,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"6763":{"morph":{"__isSmartRef__":true,"id":6750},"index":1,"marker":{"__isSmartRef__":true,"id":6751},"markerDirection":"prev","__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"6764":{"morphMenuItems":{"__isSmartRef__":true,"id":6765}},"6765":{"varMapping":{"__isSmartRef__":true,"id":6766},"source":"function morphMenuItems() {\n var visualConnector = this, con = this.con, world = $world;\n var items = [\n ['Edit converter', function() {\n var window = lively.bindings.editConnection(con);\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":6771},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6766":{"this":{"__isSmartRef__":true,"id":6750},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":6767}},"6767":{"$super":{"__isSmartRef__":true,"id":6768}},"6768":{"varMapping":{"__isSmartRef__":true,"id":6769},"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":6770},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6769":{"obj":{"__isSmartRef__":true,"id":6750},"name":"morphMenuItems"},"6770":{},"6771":{},"6772":{"sourceObj":{"__isSmartRef__":true,"id":6394},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":6750},"targetMethodName":"realignConnection","varMapping":{"__isSmartRef__":true,"id":6773},"dependendConnections":[{"__isSmartRef__":true,"id":6774},{"__isSmartRef__":true,"id":6776},{"__isSmartRef__":true,"id":6778},{"__isSmartRef__":true,"id":6780},{"__isSmartRef__":true,"id":6782},{"__isSmartRef__":true,"id":6784},{"__isSmartRef__":true,"id":6786},{"__isSmartRef__":true,"id":6788}],"oldTransform":{"__isSmartRef__":true,"id":6790},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"6773":{"source":{"__isSmartRef__":true,"id":6394},"target":{"__isSmartRef__":true,"id":6750}},"6774":{"sourceObj":{"__isSmartRef__":true,"id":6394},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":6772},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6775},"dependedBy":{"__isSmartRef__":true,"id":6772},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6775":{"source":{"__isSmartRef__":true,"id":6394},"target":{"__isSmartRef__":true,"id":6772}},"6776":{"sourceObj":{"__isSmartRef__":true,"id":6394},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":6772},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6777},"dependedBy":{"__isSmartRef__":true,"id":6772},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6777":{"source":{"__isSmartRef__":true,"id":6394},"target":{"__isSmartRef__":true,"id":6772}},"6778":{"sourceObj":{"__isSmartRef__":true,"id":6394},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":6772},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6779},"dependedBy":{"__isSmartRef__":true,"id":6772},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6779":{"source":{"__isSmartRef__":true,"id":6394},"target":{"__isSmartRef__":true,"id":6772}},"6780":{"sourceObj":{"__isSmartRef__":true,"id":6394},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":6772},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":6781},"dependedBy":{"__isSmartRef__":true,"id":6772},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6781":{"source":{"__isSmartRef__":true,"id":6394},"target":{"__isSmartRef__":true,"id":6772}},"6782":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":6772},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6783},"dependedBy":{"__isSmartRef__":true,"id":6772},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6783":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":6772}},"6784":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":6772},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6785},"dependedBy":{"__isSmartRef__":true,"id":6772},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6785":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":6772}},"6786":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":6772},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6787},"dependedBy":{"__isSmartRef__":true,"id":6772},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6787":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":6772}},"6788":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":6772},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":6789},"dependedBy":{"__isSmartRef__":true,"id":6772},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6789":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":6772}},"6790":{"d":0.8419431060646692,"a":0.8419431060646692,"f":59.4,"e":73.7,"c":-0.5395663130238733,"b":0.5395663130238733,"matrix_":{"__isSmartRef__":true,"id":6791},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"6791":{"a":0.8419431060646692,"b":0.5395663130238733,"c":-0.5395663130238733,"d":0.8419431060646692,"e":73.7,"f":59.4,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"6792":{"sourceObj":{"__isSmartRef__":true,"id":6394},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":6368},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6793},"dependedBy":{"__isSmartRef__":true,"id":6368},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6793":{"source":{"__isSmartRef__":true,"id":6394},"target":{"__isSmartRef__":true,"id":6368}},"6794":{"sourceObj":{"__isSmartRef__":true,"id":6394},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":6368},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6795},"dependedBy":{"__isSmartRef__":true,"id":6368},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6795":{"source":{"__isSmartRef__":true,"id":6394},"target":{"__isSmartRef__":true,"id":6368}},"6796":{"sourceObj":{"__isSmartRef__":true,"id":6394},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":6368},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6797},"dependedBy":{"__isSmartRef__":true,"id":6368},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6797":{"source":{"__isSmartRef__":true,"id":6394},"target":{"__isSmartRef__":true,"id":6368}},"6798":{"sourceObj":{"__isSmartRef__":true,"id":6394},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":6368},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":6799},"dependedBy":{"__isSmartRef__":true,"id":6368},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6799":{"source":{"__isSmartRef__":true,"id":6394},"target":{"__isSmartRef__":true,"id":6368}},"6800":{"sourceObj":{"__isSmartRef__":true,"id":6394},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":2988},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":6801},"dependendConnections":[{"__isSmartRef__":true,"id":6802},{"__isSmartRef__":true,"id":6804},{"__isSmartRef__":true,"id":6806},{"__isSmartRef__":true,"id":6808},{"__isSmartRef__":true,"id":6810},{"__isSmartRef__":true,"id":6812},{"__isSmartRef__":true,"id":6814},{"__isSmartRef__":true,"id":6816}],"oldTransform":{"__isSmartRef__":true,"id":6818},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"6801":{"source":{"__isSmartRef__":true,"id":6394},"target":{"__isSmartRef__":true,"id":2988}},"6802":{"sourceObj":{"__isSmartRef__":true,"id":6394},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":6800},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6803},"dependedBy":{"__isSmartRef__":true,"id":6800},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6803":{"source":{"__isSmartRef__":true,"id":6394},"target":{"__isSmartRef__":true,"id":6800}},"6804":{"sourceObj":{"__isSmartRef__":true,"id":6394},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":6800},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6805},"dependedBy":{"__isSmartRef__":true,"id":6800},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6805":{"source":{"__isSmartRef__":true,"id":6394},"target":{"__isSmartRef__":true,"id":6800}},"6806":{"sourceObj":{"__isSmartRef__":true,"id":6394},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":6800},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6807},"dependedBy":{"__isSmartRef__":true,"id":6800},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6807":{"source":{"__isSmartRef__":true,"id":6394},"target":{"__isSmartRef__":true,"id":6800}},"6808":{"sourceObj":{"__isSmartRef__":true,"id":6394},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":6800},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":6809},"dependedBy":{"__isSmartRef__":true,"id":6800},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6809":{"source":{"__isSmartRef__":true,"id":6394},"target":{"__isSmartRef__":true,"id":6800}},"6810":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":6800},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6811},"dependedBy":{"__isSmartRef__":true,"id":6800},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6811":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":6800}},"6812":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":6800},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6813},"dependedBy":{"__isSmartRef__":true,"id":6800},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6813":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":6800}},"6814":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":6800},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6815},"dependedBy":{"__isSmartRef__":true,"id":6800},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6815":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":6800}},"6816":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":6800},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":6817},"dependedBy":{"__isSmartRef__":true,"id":6800},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6817":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":6800}},"6818":{"d":0.8419431060646692,"a":0.8419431060646692,"f":59.4,"e":73.7,"c":-0.5395663130238733,"b":0.5395663130238733,"matrix_":{"__isSmartRef__":true,"id":6819},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"6819":{"a":0.8419431060646692,"b":0.5395663130238733,"c":-0.5395663130238733,"d":0.8419431060646692,"e":73.7,"f":59.4,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"6820":{"sourceObj":{"__isSmartRef__":true,"id":6394},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":6424},"targetMethodName":"alignToMagnet","varMapping":{"__isSmartRef__":true,"id":6821},"dependendConnections":[{"__isSmartRef__":true,"id":6822},{"__isSmartRef__":true,"id":6824},{"__isSmartRef__":true,"id":6826},{"__isSmartRef__":true,"id":6828},{"__isSmartRef__":true,"id":6830},{"__isSmartRef__":true,"id":6832},{"__isSmartRef__":true,"id":6834},{"__isSmartRef__":true,"id":6836}],"oldTransform":{"__isSmartRef__":true,"id":6838},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"6821":{"source":{"__isSmartRef__":true,"id":6394},"target":{"__isSmartRef__":true,"id":6424}},"6822":{"sourceObj":{"__isSmartRef__":true,"id":6394},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":6820},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6823},"dependedBy":{"__isSmartRef__":true,"id":6820},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6823":{"source":{"__isSmartRef__":true,"id":6394},"target":{"__isSmartRef__":true,"id":6820}},"6824":{"sourceObj":{"__isSmartRef__":true,"id":6394},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":6820},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6825},"dependedBy":{"__isSmartRef__":true,"id":6820},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6825":{"source":{"__isSmartRef__":true,"id":6394},"target":{"__isSmartRef__":true,"id":6820}},"6826":{"sourceObj":{"__isSmartRef__":true,"id":6394},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":6820},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6827},"dependedBy":{"__isSmartRef__":true,"id":6820},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6827":{"source":{"__isSmartRef__":true,"id":6394},"target":{"__isSmartRef__":true,"id":6820}},"6828":{"sourceObj":{"__isSmartRef__":true,"id":6394},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":6820},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":6829},"dependedBy":{"__isSmartRef__":true,"id":6820},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6829":{"source":{"__isSmartRef__":true,"id":6394},"target":{"__isSmartRef__":true,"id":6820}},"6830":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":6820},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6831},"dependedBy":{"__isSmartRef__":true,"id":6820},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6831":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":6820}},"6832":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":6820},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6833},"dependedBy":{"__isSmartRef__":true,"id":6820},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6833":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":6820}},"6834":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":6820},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6835},"dependedBy":{"__isSmartRef__":true,"id":6820},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6835":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":6820}},"6836":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":6820},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":6837},"dependedBy":{"__isSmartRef__":true,"id":6820},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6837":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":6820}},"6838":{"d":0.8419431060646692,"a":0.8419431060646692,"f":59.4,"e":73.7,"c":-0.5395663130238733,"b":0.5395663130238733,"matrix_":{"__isSmartRef__":true,"id":6839},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"6839":{"a":0.8419431060646692,"b":0.5395663130238733,"c":-0.5395663130238733,"d":0.8419431060646692,"e":73.7,"f":59.4,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"6840":{"sourceObj":{"__isSmartRef__":true,"id":6394},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":3261},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":6841},"dependendConnections":[{"__isSmartRef__":true,"id":6842},{"__isSmartRef__":true,"id":6844},{"__isSmartRef__":true,"id":6846},{"__isSmartRef__":true,"id":6848},{"__isSmartRef__":true,"id":6850},{"__isSmartRef__":true,"id":6852},{"__isSmartRef__":true,"id":6854},{"__isSmartRef__":true,"id":6856}],"oldTransform":{"__isSmartRef__":true,"id":6858},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"6841":{"source":{"__isSmartRef__":true,"id":6394},"target":{"__isSmartRef__":true,"id":3261}},"6842":{"sourceObj":{"__isSmartRef__":true,"id":6394},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":6840},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6843},"dependedBy":{"__isSmartRef__":true,"id":6840},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6843":{"source":{"__isSmartRef__":true,"id":6394},"target":{"__isSmartRef__":true,"id":6840}},"6844":{"sourceObj":{"__isSmartRef__":true,"id":6394},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":6840},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6845},"dependedBy":{"__isSmartRef__":true,"id":6840},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6845":{"source":{"__isSmartRef__":true,"id":6394},"target":{"__isSmartRef__":true,"id":6840}},"6846":{"sourceObj":{"__isSmartRef__":true,"id":6394},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":6840},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6847},"dependedBy":{"__isSmartRef__":true,"id":6840},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6847":{"source":{"__isSmartRef__":true,"id":6394},"target":{"__isSmartRef__":true,"id":6840}},"6848":{"sourceObj":{"__isSmartRef__":true,"id":6394},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":6840},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":6849},"dependedBy":{"__isSmartRef__":true,"id":6840},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6849":{"source":{"__isSmartRef__":true,"id":6394},"target":{"__isSmartRef__":true,"id":6840}},"6850":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":6840},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6851},"dependedBy":{"__isSmartRef__":true,"id":6840},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6851":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":6840}},"6852":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":6840},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6853},"dependedBy":{"__isSmartRef__":true,"id":6840},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6853":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":6840}},"6854":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":6840},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6855},"dependedBy":{"__isSmartRef__":true,"id":6840},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6855":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":6840}},"6856":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":6840},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":6857},"dependedBy":{"__isSmartRef__":true,"id":6840},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6857":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":6840}},"6858":{"d":0.8419431060646692,"a":0.8419431060646692,"f":59.4,"e":73.7,"c":-0.5395663130238733,"b":0.5395663130238733,"matrix_":{"__isSmartRef__":true,"id":6859},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"6859":{"a":0.8419431060646692,"b":0.5395663130238733,"c":-0.5395663130238733,"d":0.8419431060646692,"e":73.7,"f":59.4,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"6860":{"globalShapePath":{"__isSmartRef__":true,"id":6861},"lineIntersect":{"__isSmartRef__":true,"id":6864},"intersectLine":{"__isSmartRef__":true,"id":6868},"intersectLineMorph":{"__isSmartRef__":true,"id":6871}},"6861":{"varMapping":{"__isSmartRef__":true,"id":6862},"source":"function globalShapePath() {\n var b = this.shape.bounds();\n var p1 = this.worldPoint(b.topLeft()),\n p2 = this.worldPoint(b.topRight()),\n p3 = this.worldPoint(b.bottomRight()),\n p4 = this.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":6863},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6862":{"this":{"__isSmartRef__":true,"id":6394}},"6863":{},"6864":{"varMapping":{"__isSmartRef__":true,"id":6865},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":6866},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6865":{"this":{"__isSmartRef__":true,"id":6394}},"6866":{"timestamp":{"__isSmartRef__":true,"id":6867},"user":"jenslincke","tags":[]},"6867":{"isSerializedDate":true,"string":"Thu Dec 13 2012 13:42:55 GMT+0100 (CET)"},"6868":{"varMapping":{"__isSmartRef__":true,"id":6869},"source":"function intersectLine(a1, a2) {\n var points = this.globalShapePath();\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":6870},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6869":{"this":{"__isSmartRef__":true,"id":6394}},"6870":{},"6871":{"varMapping":{"__isSmartRef__":true,"id":6872},"source":"function intersectLineMorph(m) {\n return this.intersectLine(m.controlPoints[0].getGlobalPos(), m.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":6873},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6872":{"this":{"__isSmartRef__":true,"id":6394}},"6873":{},"6874":{"updateLabel":{"__isSmartRef__":true,"id":6875},"renameOwner":{"__isSmartRef__":true,"id":6878}},"6875":{"varMapping":{"__isSmartRef__":true,"id":6876},"source":"function updateLabel() {\n\t// observe name changes in owner\n\tif (this.owner !== this.oldOwner) {\n\t\tif (this.oldOwner)\n\t\t\tdisconnect(this.oldOwner, 'name', this, 'updateLabel')\n\t\tif (this.owner)\n\t\t\tconnect(this.owner, 'name', this, 'updateLabel')\n\t\tthis.oldOwner = this.owner\n\t}\n\tvar name = (this.owner ? this.owner.name : \"no owner\")\n\tif (this.textString != name)\n\tthis.setTextString(name)\n}","funcProperties":{"__isSmartRef__":true,"id":6877},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6876":{"this":{"__isSmartRef__":true,"id":6369}},"6877":{},"6878":{"varMapping":{"__isSmartRef__":true,"id":6879},"source":"function renameOwner(name) {\n\tif (this.owner && this.owner.name != name) {\n\t\talertOK(\"renamed \" + this.owner + \" to \" + name)\n\t\tthis.owner.setName(name);\n\t}\n}","funcProperties":{"__isSmartRef__":true,"id":6880},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6879":{"this":{"__isSmartRef__":true,"id":6369}},"6880":{},"6881":{"source":{"__isSmartRef__":true,"id":6369},"target":{"__isSmartRef__":true,"id":6750}},"6882":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":6368},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6883},"dependedBy":{"__isSmartRef__":true,"id":6368},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6883":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":6368}},"6884":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":6368},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6885},"dependedBy":{"__isSmartRef__":true,"id":6368},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6885":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":6368}},"6886":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":6368},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":6887},"dependedBy":{"__isSmartRef__":true,"id":6368},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6887":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":6368}},"6888":{"d":0.8419431060646688,"a":0.8419431060646688,"f":109.1604139964106,"e":83.14357977177195,"c":-0.539566313023873,"b":0.539566313023873,"matrix_":{"__isSmartRef__":true,"id":6889},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"6889":{"a":0.8419431060646688,"b":0.539566313023873,"c":-0.539566313023873,"d":0.8419431060646688,"e":83.14357977177195,"f":109.1604139964106,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"6890":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":6368}},"6891":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":6892},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":7374},"dependedBy":{"__isSmartRef__":true,"id":6892},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6892":{"sourceObj":{"__isSmartRef__":true,"id":6893},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":7274},"targetMethodName":"realignConnection","varMapping":{"__isSmartRef__":true,"id":7365},"dependendConnections":[{"__isSmartRef__":true,"id":6901},{"__isSmartRef__":true,"id":6903},{"__isSmartRef__":true,"id":6905},{"__isSmartRef__":true,"id":6907},{"__isSmartRef__":true,"id":7296},{"__isSmartRef__":true,"id":7298},{"__isSmartRef__":true,"id":7300},{"__isSmartRef__":true,"id":7302},{"__isSmartRef__":true,"id":6891},{"__isSmartRef__":true,"id":7366},{"__isSmartRef__":true,"id":7368},{"__isSmartRef__":true,"id":7370}],"oldTransform":{"__isSmartRef__":true,"id":7372},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"6893":{"submorphs":[],"scripts":[],"id":"98F3A317-B173-4A7B-99C2-6EB529DA1469","shape":{"__isSmartRef__":true,"id":6894},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":180.8018403394826,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":19,"name":"NameLabel2","partsBinMetaInfo":{"__isSmartRef__":true,"id":6895},"textChunks":[{"__isSmartRef__":true,"id":6897}],"charsReplaced":"A1","lastFindLoc":2,"prevScroll":[0,0],"attributeConnections":[{"__isSmartRef__":true,"id":6899},{"__isSmartRef__":true,"id":6900},{"__isSmartRef__":true,"id":6892},{"__isSmartRef__":true,"id":6901},{"__isSmartRef__":true,"id":6903},{"__isSmartRef__":true,"id":6905},{"__isSmartRef__":true,"id":6907}],"doNotSerialize":["$$owner","$$savedTextString","$$_Position","$$_Scale","$$_Rotation"],"doNotCopyProperties":["$$owner","$$savedTextString","$$_Position","$$_Scale","$$_Rotation"],"isInputLine":true,"savedTextString":"A","eventHandler":{"__isSmartRef__":true,"id":6909},"derivationIds":[7027,"331C6367-0699-4BD6-9916-ABA82517453B","BEAA7850-FEFB-4AFD-9E06-730FF35D99A4","559B0B8A-5C01-4133-88B2-0D08385E23F6","BE195383-D309-4B6E-A6B0-79A6112B4011","E323F75A-232F-4712-9A03-20C8FD574C9A","E6E38336-AA2D-4F75-80C1-B1617DD8544E","DAFCD826-DF9B-4DEF-B4D7-59AAED8D199D","3999CB16-D9E3-4D28-A617-9B093624E8AC","24C6A462-5AF8-4580-9777-8F5696841AF0","38DF0DD5-01B1-4481-B32C-B1595F8042DF","6D969508-F1F5-4E9D-A211-8F66FCA4DA80"],"_WhiteSpaceHandling":"pre-wrap","_ClipMode":"visible","moved":true,"isBeingDragged":false,"_WordBreak":"break-all","magnets":[{"__isSmartRef__":true,"id":6910},{"__isSmartRef__":true,"id":6911},{"__isSmartRef__":true,"id":6912},{"__isSmartRef__":true,"id":6913},{"__isSmartRef__":true,"id":6914},{"__isSmartRef__":true,"id":6915},{"__isSmartRef__":true,"id":6916},{"__isSmartRef__":true,"id":6917}],"_PreviousBorderWidth":1,"owner":{"__isSmartRef__":true,"id":6918},"oldOwner":{"__isSmartRef__":true,"id":6918},"_Rotation":0,"_Scale":0.9999999999999997,"__serializedExpressions__":["_Position","textColor","distanceToDragEvent","_TextColor"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":7358},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(34.8,36.8)","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(31.1,-9.9)","_TextColor":"Color.rgb(255,143,0)"},"6894":{"fill":null,"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(42.8,29.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"6895":{"migrationLevel":2,"comment":"Label that shows the name of a morph. Updates automatically.","partName":"NameLabel","lastModifiedDate":{"__isSmartRef__":true,"id":6896},"revisionOnLoad":140039,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"6896":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (CEST)"},"6897":{"style":{"__isSmartRef__":true,"id":6898},"chunkOwner":{"__isSmartRef__":true,"id":6893},"_id":"_835","storedString":"A1","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6898":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6899":{"sourceObj":{"__isSmartRef__":true,"id":6893},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":6893},"targetMethodName":"updateLabel","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6900":{"sourceObj":{"__isSmartRef__":true,"id":6893},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":6893},"targetMethodName":"renameOwner","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6901":{"sourceObj":{"__isSmartRef__":true,"id":6893},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":6892},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6902},"dependedBy":{"__isSmartRef__":true,"id":6892},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6902":{"source":{"__isSmartRef__":true,"id":6893},"target":{"__isSmartRef__":true,"id":6892}},"6903":{"sourceObj":{"__isSmartRef__":true,"id":6893},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":6892},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6904},"dependedBy":{"__isSmartRef__":true,"id":6892},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6904":{"source":{"__isSmartRef__":true,"id":6893},"target":{"__isSmartRef__":true,"id":6892}},"6905":{"sourceObj":{"__isSmartRef__":true,"id":6893},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":6892},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":6906},"dependedBy":{"__isSmartRef__":true,"id":6892},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6906":{"source":{"__isSmartRef__":true,"id":6893},"target":{"__isSmartRef__":true,"id":6892}},"6907":{"sourceObj":{"__isSmartRef__":true,"id":6893},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":6892},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":6908},"dependedBy":{"__isSmartRef__":true,"id":6892},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6908":{"source":{"__isSmartRef__":true,"id":6893},"target":{"__isSmartRef__":true,"id":6892}},"6909":{"morph":{"__isSmartRef__":true,"id":6893},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"6910":{"morph":{"__isSmartRef__":true,"id":6893},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(120.0,3464.8)"},"6911":{"morph":{"__isSmartRef__":true,"id":6893},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(138.1,3476.3)"},"6912":{"morph":{"__isSmartRef__":true,"id":6893},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(156.1,3487.9)"},"6913":{"morph":{"__isSmartRef__":true,"id":6893},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(148.3,3500.1)"},"6914":{"morph":{"__isSmartRef__":true,"id":6893},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(140.4,3512.3)"},"6915":{"morph":{"__isSmartRef__":true,"id":6893},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(122.4,3500.7)"},"6916":{"morph":{"__isSmartRef__":true,"id":6893},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(104.4,3489.2)"},"6917":{"morph":{"__isSmartRef__":true,"id":6893},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(112.2,3477.0)"},"6918":{"submorphs":[{"__isSmartRef__":true,"id":6893}],"scripts":[],"id":"68FC4DC9-1657-468D-9BCD-D7610A74CA9B","shape":{"__isSmartRef__":true,"id":6919},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"A1","partsBinMetaInfo":{"__isSmartRef__":true,"id":6920},"eventHandler":{"__isSmartRef__":true,"id":6938},"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","BBAFB862-93AE-4F89-BCFF-9F1C67B7FE4C","7EC17E78-593A-4CC8-B7E3-859BCBBFE785","FDB06D4A-9F4E-4B8C-A67C-671A9583EFE8","1C80FDE1-05C0-4148-9AD8-33C88667084C","5059E383-6BE3-4AD3-A9C4-89DA9D8D5E99","5B810AFE-E692-4EB4-A695-ABB4A95CEA39","BFFEF617-9B97-45D4-A541-8E33A6A17485","A10BBA48-4AD1-425A-AC7B-2F5515CE56F5","319DCFA5-FBA0-4E93-825A-584A580A412F","1A7DC4D8-6C49-4243-8B1D-04CED44FD759","37281932-6BFC-4796-9330-CDFA7FB46F54"],"partTests":{"__isSmartRef__":true,"id":6939},"_ClipMode":"visible","moved":true,"isBeingDragged":false,"magnets":[{"__isSmartRef__":true,"id":6944},{"__isSmartRef__":true,"id":6945},{"__isSmartRef__":true,"id":6946},{"__isSmartRef__":true,"id":6947},{"__isSmartRef__":true,"id":7268},{"__isSmartRef__":true,"id":7269},{"__isSmartRef__":true,"id":7270},{"__isSmartRef__":true,"id":7271}],"attributeConnections":[{"__isSmartRef__":true,"id":7272},{"__isSmartRef__":true,"id":7296},{"__isSmartRef__":true,"id":7298},{"__isSmartRef__":true,"id":7300},{"__isSmartRef__":true,"id":7302},{"__isSmartRef__":true,"id":7304},{"__isSmartRef__":true,"id":7306},{"__isSmartRef__":true,"id":7308},{"__isSmartRef__":true,"id":7310},{"__isSmartRef__":true,"id":7312},{"__isSmartRef__":true,"id":7324},{"__isSmartRef__":true,"id":7326},{"__isSmartRef__":true,"id":7328},{"__isSmartRef__":true,"id":7330},{"__isSmartRef__":true,"id":7332}],"doNotSerialize":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"doNotCopyProperties":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"isCopyMorphRef":true,"morphRefId":1,"prevScroll":[0,0],"_Scale":0.9999999999999996,"_Rotation":0.5699219218563105,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":7344},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","distanceToDragEvent":"lively.pt(35.0,-16.3)","_Position":"lively.pt(725.3,71.4)"},"6919":{"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(89.0,80.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgba(204,204,204,0.5)","_Padding":"lively.rect(0,0,0,0)"},"6920":{"partsSpaceName":"PartsBin/Basic","comment":"A simple box morph. A really orange one. Its amazing what you can build out of simple boxes.... Who needs stars when you got orange rectangles!","migrationLevel":4,"partName":"Rectangle","changes":[{"__isSmartRef__":true,"id":6921},{"__isSmartRef__":true,"id":6923},{"__isSmartRef__":true,"id":6925},{"__isSmartRef__":true,"id":6927},{"__isSmartRef__":true,"id":6929},{"__isSmartRef__":true,"id":6931},{"__isSmartRef__":true,"id":6933},{"__isSmartRef__":true,"id":6935}],"lastModifiedDate":{"__isSmartRef__":true,"id":6937},"revisionOnLoad":184624,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"6921":{"date":{"__isSmartRef__":true,"id":6922},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"6922":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"6923":{"date":{"__isSmartRef__":true,"id":6924},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"6924":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"6925":{"date":{"__isSmartRef__":true,"id":6926},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"6926":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"6927":{"date":{"__isSmartRef__":true,"id":6928},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"6928":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"6929":{"date":{"__isSmartRef__":true,"id":6930},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"6930":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"6931":{"date":{"__isSmartRef__":true,"id":6932},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"6932":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"6933":{"date":{"__isSmartRef__":true,"id":6934},"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8"},"6934":{"isSerializedDate":true,"string":"Mon Jun 18 2012 19:35:08 GMT+0200 (CEST)"},"6935":{"date":{"__isSmartRef__":true,"id":6936},"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205"},"6936":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:35:51 GMT+0100 (CET)"},"6937":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:33:25 GMT+0100 (CET)"},"6938":{"morph":{"__isSmartRef__":true,"id":6918},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"6939":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":6940}},"6940":{"test01IsMorph":{"__isSmartRef__":true,"id":6941}},"6941":{"varMapping":{"__isSmartRef__":true,"id":6942},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":6943},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6942":{"this":{"__isSmartRef__":true,"id":6939}},"6943":{},"6944":{"morph":{"__isSmartRef__":true,"id":6918},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(110.6,3415.0)"},"6945":{"morph":{"__isSmartRef__":true,"id":6918},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(148.1,3439.0)"},"6946":{"morph":{"__isSmartRef__":true,"id":6918},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(185.5,3463.0)"},"6947":{"morph":{"__isSmartRef__":true,"id":6918},"connectedControlPoints":[{"__isSmartRef__":true,"id":6948}],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(164.0,3496.7)"},"6948":{"morph":{"__isSmartRef__":true,"id":6949},"index":0,"connectedMagnet":{"__isSmartRef__":true,"id":6947},"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"6949":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":6950},"id":"E083C82B-2BC4-42CB-B3A2-773909175FCB","eventHandler":{"__isSmartRef__":true,"id":6953},"__layered_droppingEnabled__":true,"halosEnabled":true,"isBeingDragged":false,"controlPoints":[{"__isSmartRef__":true,"id":6948},{"__isSmartRef__":true,"id":6954}],"showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":6955},"name":"Line4","derivationIds":[731,"5E6BD741-9C99-47B9-95C1-7A028178DB17","A8D5C37A-F23F-47FE-8DE2-211CE4484A4F","F722069B-8602-4E8D-BE3F-92A1E0C0EF28","D5ED19F9-968E-4C7E-9936-69F2735A813F","A9E370BC-F208-425C-BFFC-F8D6BB52E11F","4E431641-D056-46CB-B2A8-6626382EF423"],"_ClipMode":"visible","controlPointsHalos":[],"prevScroll":[0,0],"grabbingEnabled":false,"moved":true,"#startLetters":"controlPoints[0]","fromMorph":{"__isSmartRef__":true,"id":6959},"update":{"__isSmartRef__":true,"id":7169},"isCopyMorphRef":true,"morphRefId":2,"selectedMorph":{"__isSmartRef__":true,"id":6959},"selectedMorphHighlights":[],"_Scale":1,"_Rotation":0,"owner":null,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":7171},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","distanceToDragEvent":"lively.pt(295.7,-20.8)","_Position":"lively.pt(376.1,57.6)"},"6950":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":6951},{"__isSmartRef__":true,"id":6952}],"_ClipMode":"visible","_BorderWidth":3.1119999999999997,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Padding","_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(50.5,3.2)","_Extent":"lively.pt(114.5,3494.5)","_BorderColor":"Color.rgb(161,161,161)"},"6951":{"isAbsolute":true,"x":0,"y":0,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"6952":{"isAbsolute":true,"x":52.46197348862387,"y":5.223542983087555,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"6953":{"morph":{"__isSmartRef__":true,"id":6949},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"6954":{"morph":{"__isSmartRef__":true,"id":6949},"index":1,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"6955":{"requiredModules":[],"migrationLevel":4,"partsSpaceName":"PartsBin/Jens/","comment":"a line","partName":"Connector","lastModifiedDate":{"__isSmartRef__":true,"id":6956},"revisionOnLoad":186528,"changes":[{"__isSmartRef__":true,"id":6957}],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"6956":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:18 GMT+0100 (CET)"},"6957":{"date":{"__isSmartRef__":true,"id":6958},"author":"jenslincke","message":"no comment","id":"28165CED-C8C5-4B8E-9655-645E3F5099BB"},"6958":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:42 GMT+0100 (CET)"},"6959":{"submorphs":[{"__isSmartRef__":true,"id":6960}],"scripts":[],"id":"7D787261-FDA4-4DCD-ACA3-699C8F2DB8DC","shape":{"__isSmartRef__":true,"id":6984},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"A","partsBinMetaInfo":{"__isSmartRef__":true,"id":6985},"eventHandler":{"__isSmartRef__":true,"id":7003},"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","BBAFB862-93AE-4F89-BCFF-9F1C67B7FE4C","7EC17E78-593A-4CC8-B7E3-859BCBBFE785","FDB06D4A-9F4E-4B8C-A67C-671A9583EFE8","1C80FDE1-05C0-4148-9AD8-33C88667084C","5059E383-6BE3-4AD3-A9C4-89DA9D8D5E99","5B810AFE-E692-4EB4-A695-ABB4A95CEA39","BFFEF617-9B97-45D4-A541-8E33A6A17485","A10BBA48-4AD1-425A-AC7B-2F5515CE56F5"],"partTests":{"__isSmartRef__":true,"id":7004},"_ClipMode":"visible","moved":true,"isBeingDragged":false,"magnets":[{"__isSmartRef__":true,"id":7009},{"__isSmartRef__":true,"id":7010},{"__isSmartRef__":true,"id":7011},{"__isSmartRef__":true,"id":7012},{"__isSmartRef__":true,"id":7013},{"__isSmartRef__":true,"id":7014},{"__isSmartRef__":true,"id":7015},{"__isSmartRef__":true,"id":7016}],"attributeConnections":[{"__isSmartRef__":true,"id":7017},{"__isSmartRef__":true,"id":7019},{"__isSmartRef__":true,"id":7021},{"__isSmartRef__":true,"id":7023},{"__isSmartRef__":true,"id":7025},{"__isSmartRef__":true,"id":7027},{"__isSmartRef__":true,"id":7031},{"__isSmartRef__":true,"id":7145},{"__isSmartRef__":true,"id":7147},{"__isSmartRef__":true,"id":7149},{"__isSmartRef__":true,"id":7151}],"doNotSerialize":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"doNotCopyProperties":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"isCopyMorphRef":true,"morphRefId":1,"prevScroll":[0,0],"_Scale":0.9999999999999998,"_Rotation":-0.3632069088060458,"owner":null,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":7155},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","distanceToDragEvent":"lively.pt(89.3,-51.8)","_Position":"lively.pt(691.6,129.6)"},"6960":{"submorphs":[],"scripts":[],"id":"4BDF3799-4F08-4112-BD4C-91BAB858A860","shape":{"__isSmartRef__":true,"id":6961},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":180.8018403394826,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":19,"name":"NameLabel2","partsBinMetaInfo":{"__isSmartRef__":true,"id":6962},"textChunks":[{"__isSmartRef__":true,"id":6964}],"charsReplaced":"C1","lastFindLoc":2,"prevScroll":[0,0],"attributeConnections":[{"__isSmartRef__":true,"id":6966},{"__isSmartRef__":true,"id":6967}],"doNotSerialize":["$$owner","$$savedTextString"],"doNotCopyProperties":["$$owner","$$savedTextString"],"isInputLine":true,"savedTextString":"A","eventHandler":{"__isSmartRef__":true,"id":6968},"derivationIds":[7027,"331C6367-0699-4BD6-9916-ABA82517453B","BEAA7850-FEFB-4AFD-9E06-730FF35D99A4","559B0B8A-5C01-4133-88B2-0D08385E23F6","BE195383-D309-4B6E-A6B0-79A6112B4011","E323F75A-232F-4712-9A03-20C8FD574C9A","E6E38336-AA2D-4F75-80C1-B1617DD8544E","DAFCD826-DF9B-4DEF-B4D7-59AAED8D199D","3999CB16-D9E3-4D28-A617-9B093624E8AC"],"_WhiteSpaceHandling":"pre-wrap","_ClipMode":"visible","moved":true,"isBeingDragged":false,"_WordBreak":"break-all","magnets":[{"__isSmartRef__":true,"id":6969},{"__isSmartRef__":true,"id":6970},{"__isSmartRef__":true,"id":6971},{"__isSmartRef__":true,"id":6972},{"__isSmartRef__":true,"id":6973},{"__isSmartRef__":true,"id":6974},{"__isSmartRef__":true,"id":6975},{"__isSmartRef__":true,"id":6976}],"_PreviousBorderWidth":1,"owner":{"__isSmartRef__":true,"id":6959},"oldOwner":{"__isSmartRef__":true,"id":6959},"priorSelectionRange":[1,1],"_Rotation":0,"_Scale":0.9999999999999997,"__serializedExpressions__":["textColor","distanceToDragEvent","_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":6977},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(31.1,-9.9)","_TextColor":"Color.rgb(255,143,0)","_Position":"lively.pt(34.8,36.8)"},"6961":{"fill":null,"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(42.8,29.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"6962":{"migrationLevel":2,"comment":"Label that shows the name of a morph. Updates automatically.","partName":"NameLabel","lastModifiedDate":{"__isSmartRef__":true,"id":6963},"revisionOnLoad":140039,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"6963":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (CEST)"},"6964":{"style":{"__isSmartRef__":true,"id":6965},"chunkOwner":{"__isSmartRef__":true,"id":6960},"_id":"_22384","storedString":"A","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6965":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6966":{"sourceObj":{"__isSmartRef__":true,"id":6960},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":6960},"targetMethodName":"updateLabel","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6967":{"sourceObj":{"__isSmartRef__":true,"id":6960},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":6960},"targetMethodName":"renameOwner","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6968":{"morph":{"__isSmartRef__":true,"id":6960},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"6969":{"morph":{"__isSmartRef__":true,"id":6960},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(726.1,3497.3)"},"6970":{"morph":{"__isSmartRef__":true,"id":6960},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(746.1,3489.7)"},"6971":{"morph":{"__isSmartRef__":true,"id":6960},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(766.1,3482.1)"},"6972":{"morph":{"__isSmartRef__":true,"id":6960},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(771.3,3495.6)"},"6973":{"morph":{"__isSmartRef__":true,"id":6960},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(776.4,3509.2)"},"6974":{"morph":{"__isSmartRef__":true,"id":6960},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(756.4,3516.8)"},"6975":{"morph":{"__isSmartRef__":true,"id":6960},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(736.4,3524.4)"},"6976":{"morph":{"__isSmartRef__":true,"id":6960},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(731.2,3510.8)"},"6977":{"updateLabel":{"__isSmartRef__":true,"id":6978},"renameOwner":{"__isSmartRef__":true,"id":6981}},"6978":{"varMapping":{"__isSmartRef__":true,"id":6979},"source":"function updateLabel() {\n\t// observe name changes in owner\n\tif (this.owner !== this.oldOwner) {\n\t\tif (this.oldOwner)\n\t\t\tdisconnect(this.oldOwner, 'name', this, 'updateLabel')\n\t\tif (this.owner)\n\t\t\tconnect(this.owner, 'name', this, 'updateLabel')\n\t\tthis.oldOwner = this.owner\n\t}\n\tvar name = (this.owner ? this.owner.name : \"no owner\")\n\tif (this.textString != name)\n\tthis.setTextString(name)\n}","funcProperties":{"__isSmartRef__":true,"id":6980},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6979":{"this":{"__isSmartRef__":true,"id":6960}},"6980":{},"6981":{"varMapping":{"__isSmartRef__":true,"id":6982},"source":"function renameOwner(name) {\n\tif (this.owner && this.owner.name != name) {\n\t\talertOK(\"renamed \" + this.owner + \" to \" + name)\n\t\tthis.owner.setName(name);\n\t}\n}","funcProperties":{"__isSmartRef__":true,"id":6983},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6982":{"this":{"__isSmartRef__":true,"id":6960}},"6983":{},"6984":{"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(116.7,82.3)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgba(204,204,204,0.5)","_Padding":"lively.rect(0,0,0,0)"},"6985":{"partsSpaceName":"PartsBin/Basic","comment":"A simple box morph. A really orange one. Its amazing what you can build out of simple boxes.... Who needs stars when you got orange rectangles!","migrationLevel":4,"partName":"Rectangle","changes":[{"__isSmartRef__":true,"id":6986},{"__isSmartRef__":true,"id":6988},{"__isSmartRef__":true,"id":6990},{"__isSmartRef__":true,"id":6992},{"__isSmartRef__":true,"id":6994},{"__isSmartRef__":true,"id":6996},{"__isSmartRef__":true,"id":6998},{"__isSmartRef__":true,"id":7000}],"lastModifiedDate":{"__isSmartRef__":true,"id":7002},"revisionOnLoad":184624,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"6986":{"date":{"__isSmartRef__":true,"id":6987},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"6987":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"6988":{"date":{"__isSmartRef__":true,"id":6989},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"6989":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"6990":{"date":{"__isSmartRef__":true,"id":6991},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"6991":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"6992":{"date":{"__isSmartRef__":true,"id":6993},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"6993":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"6994":{"date":{"__isSmartRef__":true,"id":6995},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"6995":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"6996":{"date":{"__isSmartRef__":true,"id":6997},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"6997":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"6998":{"date":{"__isSmartRef__":true,"id":6999},"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8"},"6999":{"isSerializedDate":true,"string":"Mon Jun 18 2012 19:35:08 GMT+0200 (CEST)"},"7000":{"date":{"__isSmartRef__":true,"id":7001},"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205"},"7001":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:35:51 GMT+0100 (CET)"},"7002":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:33:25 GMT+0100 (CET)"},"7003":{"morph":{"__isSmartRef__":true,"id":6959},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"7004":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":7005}},"7005":{"test01IsMorph":{"__isSmartRef__":true,"id":7006}},"7006":{"varMapping":{"__isSmartRef__":true,"id":7007},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":7008},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7007":{"this":{"__isSmartRef__":true,"id":7004}},"7008":{},"7009":{"morph":{"__isSmartRef__":true,"id":6959},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(680.5,3475.2)"},"7010":{"morph":{"__isSmartRef__":true,"id":6959},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(735.0,3454.5)"},"7011":{"morph":{"__isSmartRef__":true,"id":6959},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(789.6,3433.8)"},"7012":{"morph":{"__isSmartRef__":true,"id":6959},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(804.2,3472.2)"},"7013":{"morph":{"__isSmartRef__":true,"id":6959},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(818.8,3510.7)"},"7014":{"morph":{"__isSmartRef__":true,"id":6959},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(764.3,3531.4)"},"7015":{"morph":{"__isSmartRef__":true,"id":6959},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(709.7,3552.2)"},"7016":{"morph":{"__isSmartRef__":true,"id":6959},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(695.1,3513.7)"},"7017":{"sourceObj":{"__isSmartRef__":true,"id":6959},"sourceAttrName":"name","targetObj":{"__isSmartRef__":true,"id":6960},"targetMethodName":"updateLabel","varMapping":{"__isSmartRef__":true,"id":7018},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7018":{"source":{"__isSmartRef__":true,"id":6959},"target":{"__isSmartRef__":true,"id":6960}},"7019":{"sourceObj":{"__isSmartRef__":true,"id":6959},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":6949},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":7020},"dependendConnections":[{"__isSmartRef__":true,"id":7021},{"__isSmartRef__":true,"id":7023},{"__isSmartRef__":true,"id":7025},{"__isSmartRef__":true,"id":7027}],"oldTransform":{"__isSmartRef__":true,"id":7029},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"7020":{"source":{"__isSmartRef__":true,"id":6959},"target":{"__isSmartRef__":true,"id":6949}},"7021":{"sourceObj":{"__isSmartRef__":true,"id":6959},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":7019},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":7022},"dependedBy":{"__isSmartRef__":true,"id":7019},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7022":{"source":{"__isSmartRef__":true,"id":6959},"target":{"__isSmartRef__":true,"id":7019}},"7023":{"sourceObj":{"__isSmartRef__":true,"id":6959},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":7019},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":7024},"dependedBy":{"__isSmartRef__":true,"id":7019},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7024":{"source":{"__isSmartRef__":true,"id":6959},"target":{"__isSmartRef__":true,"id":7019}},"7025":{"sourceObj":{"__isSmartRef__":true,"id":6959},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":7019},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":7026},"dependedBy":{"__isSmartRef__":true,"id":7019},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7026":{"source":{"__isSmartRef__":true,"id":6959},"target":{"__isSmartRef__":true,"id":7019}},"7027":{"sourceObj":{"__isSmartRef__":true,"id":6959},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":7019},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":7028},"dependedBy":{"__isSmartRef__":true,"id":7019},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7028":{"source":{"__isSmartRef__":true,"id":6959},"target":{"__isSmartRef__":true,"id":7019}},"7029":{"d":0.9347623017725522,"a":0.9347623017725522,"f":3485.245045045044,"e":728.5390390390387,"c":0.3552737524570028,"b":-0.3552737524570028,"matrix_":{"__isSmartRef__":true,"id":7030},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"7030":{"a":0.9347623017725522,"b":-0.3552737524570028,"c":0.3552737524570028,"d":0.9347623017725522,"e":728.5390390390387,"f":3485.245045045044,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"7031":{"sourceObj":{"__isSmartRef__":true,"id":6959},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":7032},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":7144},"dependendConnections":[{"__isSmartRef__":true,"id":7145},{"__isSmartRef__":true,"id":7147},{"__isSmartRef__":true,"id":7149},{"__isSmartRef__":true,"id":7151}],"oldTransform":{"__isSmartRef__":true,"id":7153},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"7032":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":7033},"id":"4809CC50-2A92-4A4F-9D0D-829B6BA12A0B","eventHandler":{"__isSmartRef__":true,"id":7036},"__layered_droppingEnabled__":true,"halosEnabled":true,"isBeingDragged":false,"controlPoints":[{"__isSmartRef__":true,"id":7037},{"__isSmartRef__":true,"id":7038}],"showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":7039},"name":"Connector1","derivationIds":[731,"5E6BD741-9C99-47B9-95C1-7A028178DB17","A8D5C37A-F23F-47FE-8DE2-211CE4484A4F","F722069B-8602-4E8D-BE3F-92A1E0C0EF28","D5ED19F9-968E-4C7E-9936-69F2735A813F","A9E370BC-F208-425C-BFFC-F8D6BB52E11F","4E431641-D056-46CB-B2A8-6626382EF423"],"_ClipMode":"visible","controlPointsHalos":[],"prevScroll":[0,0],"grabbingEnabled":false,"moved":true,"#startLetters":"controlPoints[0]","fromMorph":{"__isSmartRef__":true,"id":6959},"toMorph":{"__isSmartRef__":true,"id":3202},"update":{"__isSmartRef__":true,"id":7045},"isCopyMorphRef":true,"morphRefId":2,"selectedMorph":{"__isSmartRef__":true,"id":3202},"selectedMorphHighlights":[],"owner":null,"_Rotation":0,"_Scale":1,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":7047},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","distanceToDragEvent":"lively.pt(295.7,-20.8)","_Position":"lively.pt(10527.5,52997.9)"},"7033":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":7034},{"__isSmartRef__":true,"id":7035}],"_ClipMode":"visible","_BorderWidth":3.1119999999999997,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Padding","_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(-75.9,-6.9)","_Extent":"lively.pt(151.7,13.9)","_BorderColor":"Color.rgb(161,161,161)"},"7034":{"isAbsolute":true,"x":74.86198803712648,"y":-4.949983532278566,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"7035":{"isAbsolute":true,"x":-73.86198803712614,"y":5.949983532282204,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"7036":{"morph":{"__isSmartRef__":true,"id":7032},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"7037":{"morph":{"__isSmartRef__":true,"id":7032},"index":0,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"7038":{"morph":{"__isSmartRef__":true,"id":7032},"index":1,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"7039":{"requiredModules":[],"migrationLevel":4,"partsSpaceName":"PartsBin/Jens/","comment":"Yes, I think I got it again: Powerful and nice connectors.\nThis time 100 % Part only!","partName":"Connector","lastModifiedDate":{"__isSmartRef__":true,"id":7040},"revisionOnLoad":186829,"changes":[{"__isSmartRef__":true,"id":7041},{"__isSmartRef__":true,"id":7043}],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"7040":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:04:50 GMT+0100 (CET)"},"7041":{"date":{"__isSmartRef__":true,"id":7042},"author":"jenslincke","message":"no comment","id":"28165CED-C8C5-4B8E-9655-645E3F5099BB"},"7042":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:42 GMT+0100 (CET)"},"7043":{"date":{"__isSmartRef__":true,"id":7044},"author":"jenslincke","message":"no comment","id":"117C964B-9768-48F2-8EC8-D4328478198F"},"7044":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:05:07 GMT+0100 (CET)"},"7045":{"d":1,"a":1,"f":906.1,"e":107.8,"c":0,"b":0,"matrix_":{"__isSmartRef__":true,"id":7046},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"7046":{"a":1,"b":0,"c":0,"d":1,"e":107.8,"f":906.1,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"7047":{"connect":{"__isSmartRef__":true,"id":7048},"updatePosition":{"__isSmartRef__":true,"id":7052},"updateControlPoint":{"__isSmartRef__":true,"id":7056},"disconnectMorph":{"__isSmartRef__":true,"id":7060},"connectMorph":{"__isSmartRef__":true,"id":7064},"onMouseOver":{"__isSmartRef__":true,"id":7068},"onMouseOut":{"__isSmartRef__":true,"id":7072},"makeHandle":{"__isSmartRef__":true,"id":7080},"showFromHandle":{"__isSmartRef__":true,"id":7084},"showToHandle":{"__isSmartRef__":true,"id":7088},"reset":{"__isSmartRef__":true,"id":7092},"onDragInHandle":{"__isSmartRef__":true,"id":7096},"onDragStartInHandle":{"__isSmartRef__":true,"id":7100},"onDragEndInHandle":{"__isSmartRef__":true,"id":7104},"connectFrom":{"__isSmartRef__":true,"id":7108},"connectTo":{"__isSmartRef__":true,"id":7112},"hideToHandle":{"__isSmartRef__":true,"id":7116},"hideFromHandle":{"__isSmartRef__":true,"id":7120},"updateIntersection":{"__isSmartRef__":true,"id":7124},"lineIntersect":{"__isSmartRef__":true,"id":7128},"intersectMorphLinePoints":{"__isSmartRef__":true,"id":7132},"intersectMorph":{"__isSmartRef__":true,"id":7136},"globalShapePathFromMorph":{"__isSmartRef__":true,"id":7140}},"7048":{"varMapping":{"__isSmartRef__":true,"id":7049},"source":"function connect(morphA, morphB) {\n this.connectFrom(morphA)\n this.connectTo(morphB)\n this.updatePosition()\n}","funcProperties":{"__isSmartRef__":true,"id":7050},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7049":{"this":{"__isSmartRef__":true,"id":7032}},"7050":{"timestamp":{"__isSmartRef__":true,"id":7051},"user":"jenslincke","tags":[]},"7051":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:50:49 GMT+0100 (CET)"},"7052":{"varMapping":{"__isSmartRef__":true,"id":7053},"source":"function updatePosition() {\n this.updateControlPoint(this.controlPoints[0], this.fromMorph)\n this.updateControlPoint(this.controlPoints[1], this.toMorph)\n this.updateIntersection(this.fromMorph, this.controlPoints[0])\n this.updateIntersection(this.toMorph, this.controlPoints[1])\n\n this.adjustOrigin(this.bounds().extent().scaleBy(0.5))\n}","funcProperties":{"__isSmartRef__":true,"id":7054},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7053":{"this":{"__isSmartRef__":true,"id":7032}},"7054":{"timestamp":{"__isSmartRef__":true,"id":7055},"user":"jenslincke","tags":[]},"7055":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:06:20 GMT+0100 (CET)"},"7056":{"varMapping":{"__isSmartRef__":true,"id":7057},"source":"function updateControlPoint(cp, morph) {\n if (!cp || !morph) return;\n cp.setGlobalPos(morph.worldPoint(morph.shape.bounds().center()))\n}","funcProperties":{"__isSmartRef__":true,"id":7058},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7057":{"this":{"__isSmartRef__":true,"id":7032}},"7058":{"timestamp":{"__isSmartRef__":true,"id":7059},"user":"jenslincke","tags":[]},"7059":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:45:56 GMT+0100 (CET)"},"7060":{"varMapping":{"__isSmartRef__":true,"id":7061},"source":"function disconnectMorph(morph) {\n if (!morph) return;\n lively.bindings.disconnect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":7062},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7061":{"this":{"__isSmartRef__":true,"id":7032}},"7062":{"timestamp":{"__isSmartRef__":true,"id":7063},"user":"jenslincke","tags":[]},"7063":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:19:18 GMT+0100 (CET)"},"7064":{"varMapping":{"__isSmartRef__":true,"id":7065},"source":"function connectMorph(morph) {\n if (morph)\n lively.bindings.connect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":7066},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7065":{"this":{"__isSmartRef__":true,"id":7032}},"7066":{"timestamp":{"__isSmartRef__":true,"id":7067},"user":"jenslincke","tags":[]},"7067":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:52:12 GMT+0100 (CET)"},"7068":{"varMapping":{"__isSmartRef__":true,"id":7069},"source":"function onMouseOver(evt) {\n var p = evt.mousePoint.scaleBy(this.world().getScale())\n\n var cp1 = this.controlPoints[0].getGlobalPos();\n if (p.dist(cp1) < 20) {\n this.showFromHandle()\n } else {\n this.hideFromHandle()\n }\n var cp2 = this.controlPoints[1].getGlobalPos();\n if (p.dist(cp2) < 20) {\n this.showToHandle()\n } else {\n this.hideToHandle()\n }\n}","funcProperties":{"__isSmartRef__":true,"id":7070},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7069":{"this":{"__isSmartRef__":true,"id":7032}},"7070":{"timestamp":{"__isSmartRef__":true,"id":7071},"user":"jenslincke","tags":[]},"7071":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:23:03 GMT+0100 (CET)"},"7072":{"varMapping":{"__isSmartRef__":true,"id":7073},"source":"function onMouseOut(evt) {\n // this.hideFromHandle()\n // this.hideToHandle()\n}","funcProperties":{"__isSmartRef__":true,"id":7078},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7073":{"this":{"__isSmartRef__":true,"id":7032},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":7074}},"7074":{"$super":{"__isSmartRef__":true,"id":7075}},"7075":{"varMapping":{"__isSmartRef__":true,"id":7076},"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":7077},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7076":{"obj":{"__isSmartRef__":true,"id":7032},"name":"onMouseOut"},"7077":{},"7078":{"timestamp":{"__isSmartRef__":true,"id":7079},"user":"jenslincke","tags":[]},"7079":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:54:53 GMT+0100 (CET)"},"7080":{"varMapping":{"__isSmartRef__":true,"id":7081},"source":"function makeHandle() {\n var m = lively.morphic.Morph.makeRectangle(0,0,10,10);\n m.disableGrabbing()\n m.enableDragging()\n m.connector = this;\n // move real behavior to a place which is easier to develop\n // do not use bind, because we like late binding \n m.addScript(function onDragStart(evt) {\n this.connector.onDragStartInHandle(this, evt)\n })\n m.addScript(function onDrag(evt) {\n this.connector.onDragInHandle(this, evt)\n })\n m.addScript(function onDragEnd(evt) {\n this.connector.onDragEndInHandle(this, evt)\n })\n m.isEpiMorph = true;\n return m\n}","funcProperties":{"__isSmartRef__":true,"id":7082},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7081":{"this":{"__isSmartRef__":true,"id":7032}},"7082":{"timestamp":{"__isSmartRef__":true,"id":7083},"user":"jenslincke","tags":[]},"7083":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:08:29 GMT+0100 (CET)"},"7084":{"varMapping":{"__isSmartRef__":true,"id":7085},"source":"function showFromHandle() {\n if (!this.fromHandle) {\n this.fromHandle = this.makeHandle();\n this.fromHandle.setFill(Color.red)\n this.fromHandle.isFromHandle = true;\n }\n this.fromHandle.openInWorld();\n this.fromHandle.controlPoint = this.controlPoints[0];\n this.fromHandle.setPosition(this.controlPoints[0].getGlobalPos().subPt(pt(5,5)))\n return this.fromHandle\n}","funcProperties":{"__isSmartRef__":true,"id":7086},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7085":{"this":{"__isSmartRef__":true,"id":7032}},"7086":{"timestamp":{"__isSmartRef__":true,"id":7087},"user":"jenslincke","tags":[]},"7087":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:13:03 GMT+0100 (CET)"},"7088":{"varMapping":{"__isSmartRef__":true,"id":7089},"source":"function showToHandle() {\n if (!this.toHandle) {\n this.toHandle = this.makeHandle();\n this.toHandle.setFill(Color.red)\n this.toHandle.isToHandle = true;\n\n }\n this.toHandle.openInWorld();\n this.toHandle.controlPoint = this.controlPoints[1];\n this.toHandle.setPosition(this.controlPoints[1].getGlobalPos().subPt(pt(5,5)))\n return this.toHandle\n}","funcProperties":{"__isSmartRef__":true,"id":7090},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7089":{"this":{"__isSmartRef__":true,"id":7032}},"7090":{"timestamp":{"__isSmartRef__":true,"id":7091},"user":"jenslincke","tags":[]},"7091":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:20:25 GMT+0100 (CET)"},"7092":{"varMapping":{"__isSmartRef__":true,"id":7093},"source":"function reset() {\n if (this.fromHandle) {\n this.fromHandle.remove()\n delete this.fromHandle\n }\n if (this.toHandle) {\n this.toHandle.remove()\n delete this.toHandle\n }\n // this.controlPoints[1].setPos(pt(200,200))\n}","funcProperties":{"__isSmartRef__":true,"id":7094},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7093":{"this":{"__isSmartRef__":true,"id":7032}},"7094":{"timestamp":{"__isSmartRef__":true,"id":7095},"user":"jenslincke","tags":[]},"7095":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:15:00 GMT+0100 (CET)"},"7096":{"varMapping":{"__isSmartRef__":true,"id":7097},"source":"function onDragInHandle(handle, evt) {\n\n var pos = handle.getPositionInWorld();\n var delta = evt.hand.getPosition().subPt(pos);\n handle.moveBy(delta)\n pos = handle.getPositionInWorld();\n if (handle.controlPoint)\n handle.controlPoint.setGlobalPos(pos.addPt(pt(5,5)))\n var morphs = this.owner.morphsContainingPoint(pos)\n morphs = morphs.reject(function(ea) {\n return ea.isWorld || (ea === handle) || (ea === this) || \n (ea === this.owner)\n }, this)\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n this.selectedMorph = morphs.first();\n this.selectedMorphHighlights = show(this.selectedMorph)\n handle.startPos = evt.getPosition();\n}","funcProperties":{"__isSmartRef__":true,"id":7098},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7097":{"this":{"__isSmartRef__":true,"id":7032}},"7098":{"timestamp":{"__isSmartRef__":true,"id":7099},"user":"jenslincke","tags":[]},"7099":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:06:40 GMT+0100 (CET)"},"7100":{"varMapping":{"__isSmartRef__":true,"id":7101},"source":"function onDragStartInHandle(handle, evt) {\n handle.startPos = evt.getPosition()\n}","funcProperties":{"__isSmartRef__":true,"id":7102},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7101":{"this":{"__isSmartRef__":true,"id":7032}},"7102":{"timestamp":{"__isSmartRef__":true,"id":7103},"user":"jenslincke","tags":[]},"7103":{"isSerializedDate":true,"string":"Thu Dec 13 2012 15:51:13 GMT+0100 (CET)"},"7104":{"varMapping":{"__isSmartRef__":true,"id":7105},"source":"function onDragEndInHandle(handle, evt) {\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n \n if (handle.isFromHandle) this.connectFrom(this.selectedMorph)\n if (handle.isToHandle) this.connectTo(this.selectedMorph)\n handle.remove()\n}","funcProperties":{"__isSmartRef__":true,"id":7106},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7105":{"this":{"__isSmartRef__":true,"id":7032}},"7106":{"timestamp":{"__isSmartRef__":true,"id":7107},"user":"jenslincke","tags":[]},"7107":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:44:35 GMT+0100 (CET)"},"7108":{"varMapping":{"__isSmartRef__":true,"id":7109},"source":"function connectFrom(morph) {\n if (morph && morph === this.toMorph) return; // not allowed\n\n this.disconnectMorph(this.fromMorph)\n this.fromMorph = morph;\n this.connectMorph(this.fromMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":7110},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7109":{"this":{"__isSmartRef__":true,"id":7032}},"7110":{"timestamp":{"__isSmartRef__":true,"id":7111},"user":"jenslincke","tags":[]},"7111":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:02:22 GMT+0100 (CET)"},"7112":{"varMapping":{"__isSmartRef__":true,"id":7113},"source":"function connectTo(morph) {\n\n if (morph && morph === this.fromMorph) return; // not allowed\n\n this.disconnectMorph(this.toMorph)\n this.toMorph = morph;\n this.connectMorph(this.toMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":7114},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7113":{"this":{"__isSmartRef__":true,"id":7032}},"7114":{"timestamp":{"__isSmartRef__":true,"id":7115},"user":"jenslincke","tags":[]},"7115":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:02:30 GMT+0100 (CET)"},"7116":{"varMapping":{"__isSmartRef__":true,"id":7117},"source":"function hideToHandle() {\n if (this.toHandle) {\n this.toHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":7118},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7117":{"this":{"__isSmartRef__":true,"id":7032}},"7118":{"timestamp":{"__isSmartRef__":true,"id":7119},"user":"jenslincke","tags":[]},"7119":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:51:59 GMT+0100 (CET)"},"7120":{"varMapping":{"__isSmartRef__":true,"id":7121},"source":"function hideFromHandle() {\n if (this.fromHandle) {\n this.fromHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":7122},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7121":{"this":{"__isSmartRef__":true,"id":7032}},"7122":{"timestamp":{"__isSmartRef__":true,"id":7123},"user":"jenslincke","tags":[]},"7123":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:52:18 GMT+0100 (CET)"},"7124":{"varMapping":{"__isSmartRef__":true,"id":7125},"source":"function updateIntersection(morph, cp) {\n if (!morph) return;\n var intersection = this.intersectMorph(morph)[0];\n if (intersection) {\n cp.setGlobalPos(intersection);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":7126},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7125":{"this":{"__isSmartRef__":true,"id":7032}},"7126":{"timestamp":{"__isSmartRef__":true,"id":7127},"user":"jenslincke","tags":[]},"7127":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:32 GMT+0100 (CET)"},"7128":{"varMapping":{"__isSmartRef__":true,"id":7129},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":7130},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7129":{"this":{"__isSmartRef__":true,"id":7032}},"7130":{"timestamp":{"__isSmartRef__":true,"id":7131},"user":"jenslincke","tags":[]},"7131":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:47:12 GMT+0100 (CET)"},"7132":{"varMapping":{"__isSmartRef__":true,"id":7133},"source":"function intersectMorphLinePoints(morph, a1, a2) {\n var points = this.globalShapePathFromMorph(morph);\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":7134},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7133":{"this":{"__isSmartRef__":true,"id":7032}},"7134":{"timestamp":{"__isSmartRef__":true,"id":7135},"user":"jenslincke","tags":[]},"7135":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:21 GMT+0100 (CET)"},"7136":{"varMapping":{"__isSmartRef__":true,"id":7137},"source":"function intersectMorph(morph) {\n var line = this;\n return this.intersectMorphLinePoints(morph,\n line.controlPoints[0].getGlobalPos(), line.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":7138},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7137":{"this":{"__isSmartRef__":true,"id":7032}},"7138":{"timestamp":{"__isSmartRef__":true,"id":7139},"user":"jenslincke","tags":[]},"7139":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:47 GMT+0100 (CET)"},"7140":{"varMapping":{"__isSmartRef__":true,"id":7141},"source":"function globalShapePathFromMorph(morph) {\n var b = morph.shape.bounds();\n var p1 = morph.worldPoint(b.topLeft()),\n p2 = morph.worldPoint(b.topRight()),\n p3 = morph.worldPoint(b.bottomRight()),\n p4 = morph.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":7142},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7141":{"this":{"__isSmartRef__":true,"id":7032}},"7142":{"timestamp":{"__isSmartRef__":true,"id":7143},"user":"jenslincke","tags":[]},"7143":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:00 GMT+0100 (CET)"},"7144":{"source":{"__isSmartRef__":true,"id":6959},"target":{"__isSmartRef__":true,"id":7032}},"7145":{"sourceObj":{"__isSmartRef__":true,"id":6959},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":7031},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":7146},"dependedBy":{"__isSmartRef__":true,"id":7031},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7146":{"source":{"__isSmartRef__":true,"id":6959},"target":{"__isSmartRef__":true,"id":7031}},"7147":{"sourceObj":{"__isSmartRef__":true,"id":6959},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":7031},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":7148},"dependedBy":{"__isSmartRef__":true,"id":7031},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7148":{"source":{"__isSmartRef__":true,"id":6959},"target":{"__isSmartRef__":true,"id":7031}},"7149":{"sourceObj":{"__isSmartRef__":true,"id":6959},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":7031},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":7150},"dependedBy":{"__isSmartRef__":true,"id":7031},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7150":{"source":{"__isSmartRef__":true,"id":6959},"target":{"__isSmartRef__":true,"id":7031}},"7151":{"sourceObj":{"__isSmartRef__":true,"id":6959},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":7031},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":7152},"dependedBy":{"__isSmartRef__":true,"id":7031},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7152":{"source":{"__isSmartRef__":true,"id":6959},"target":{"__isSmartRef__":true,"id":7031}},"7153":{"d":0.9347623017725522,"a":0.9347623017725522,"f":3485.245045045044,"e":728.5390390390387,"c":0.3552737524570028,"b":-0.3552737524570028,"matrix_":{"__isSmartRef__":true,"id":7154},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"7154":{"a":0.9347623017725522,"b":-0.3552737524570028,"c":0.3552737524570028,"d":0.9347623017725522,"e":728.5390390390387,"f":3485.245045045044,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"7155":{"globalShapePath":{"__isSmartRef__":true,"id":7156},"lineIntersect":{"__isSmartRef__":true,"id":7159},"intersectLine":{"__isSmartRef__":true,"id":7163},"intersectLineMorph":{"__isSmartRef__":true,"id":7166}},"7156":{"varMapping":{"__isSmartRef__":true,"id":7157},"source":"function globalShapePath() {\n var b = this.shape.bounds();\n var p1 = this.worldPoint(b.topLeft()),\n p2 = this.worldPoint(b.topRight()),\n p3 = this.worldPoint(b.bottomRight()),\n p4 = this.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":7158},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7157":{"this":{"__isSmartRef__":true,"id":6959}},"7158":{},"7159":{"varMapping":{"__isSmartRef__":true,"id":7160},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":7161},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7160":{"this":{"__isSmartRef__":true,"id":6959}},"7161":{"timestamp":{"__isSmartRef__":true,"id":7162},"user":"jenslincke","tags":[]},"7162":{"isSerializedDate":true,"string":"Thu Dec 13 2012 13:42:55 GMT+0100 (CET)"},"7163":{"varMapping":{"__isSmartRef__":true,"id":7164},"source":"function intersectLine(a1, a2) {\n var points = this.globalShapePath();\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":7165},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7164":{"this":{"__isSmartRef__":true,"id":6959}},"7165":{},"7166":{"varMapping":{"__isSmartRef__":true,"id":7167},"source":"function intersectLineMorph(m) {\n return this.intersectLine(m.controlPoints[0].getGlobalPos(), m.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":7168},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7167":{"this":{"__isSmartRef__":true,"id":6959}},"7168":{},"7169":{"d":1,"a":1,"f":906.1,"e":107.8,"c":0,"b":0,"matrix_":{"__isSmartRef__":true,"id":7170},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"7170":{"a":1,"b":0,"c":0,"d":1,"e":107.8,"f":906.1,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"7171":{"connect":{"__isSmartRef__":true,"id":7172},"updatePosition":{"__isSmartRef__":true,"id":7176},"updateControlPoint":{"__isSmartRef__":true,"id":7180},"disconnectMorph":{"__isSmartRef__":true,"id":7184},"connectMorph":{"__isSmartRef__":true,"id":7188},"onMouseOver":{"__isSmartRef__":true,"id":7192},"onMouseOut":{"__isSmartRef__":true,"id":7196},"makeHandle":{"__isSmartRef__":true,"id":7204},"showFromHandle":{"__isSmartRef__":true,"id":7208},"showToHandle":{"__isSmartRef__":true,"id":7212},"reset":{"__isSmartRef__":true,"id":7216},"onDragInHandle":{"__isSmartRef__":true,"id":7220},"onDragStartInHandle":{"__isSmartRef__":true,"id":7224},"onDragEndInHandle":{"__isSmartRef__":true,"id":7228},"connectFrom":{"__isSmartRef__":true,"id":7232},"connectTo":{"__isSmartRef__":true,"id":7236},"hideToHandle":{"__isSmartRef__":true,"id":7240},"hideFromHandle":{"__isSmartRef__":true,"id":7244},"updateIntersection":{"__isSmartRef__":true,"id":7248},"lineIntersect":{"__isSmartRef__":true,"id":7252},"intersectMorphLinePoints":{"__isSmartRef__":true,"id":7256},"intersectMorph":{"__isSmartRef__":true,"id":7260},"globalShapePathFromMorph":{"__isSmartRef__":true,"id":7264}},"7172":{"varMapping":{"__isSmartRef__":true,"id":7173},"source":"function connect(morphA, morphB) {\n this.connectFrom(morphA)\n this.connectTo(morphB)\n this.updatePosition()\n}","funcProperties":{"__isSmartRef__":true,"id":7174},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7173":{"this":{"__isSmartRef__":true,"id":6949}},"7174":{"timestamp":{"__isSmartRef__":true,"id":7175},"user":"jenslincke","tags":[]},"7175":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:50:49 GMT+0100 (CET)"},"7176":{"varMapping":{"__isSmartRef__":true,"id":7177},"source":"function updatePosition() {\n this.updateControlPoint(this.controlPoints[0], this.fromMorph)\n this.updateControlPoint(this.controlPoints[1], this.toMorph)\n this.updateIntersection(this.fromMorph, this.controlPoints[0])\n this.updateIntersection(this.toMorph, this.controlPoints[1])\n\n if (this.controlPoints[0].getPos().equalPt(this.controlPoints[1].getPos()))\n this.controlPoints[1].setPos(this.controlPoints[1].getPos().addPt(pt(30,0)))\n\n this.adjustOrigin(this.bounds().extent().scaleBy(0.5))\n \n}","funcProperties":{"__isSmartRef__":true,"id":7178},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7177":{"this":{"__isSmartRef__":true,"id":6949}},"7178":{"timestamp":{"__isSmartRef__":true,"id":7179},"user":"jenslincke","tags":[]},"7179":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:59:26 GMT+0100 (CET)"},"7180":{"varMapping":{"__isSmartRef__":true,"id":7181},"source":"function updateControlPoint(cp, morph) {\n if (!cp || !morph) return;\n cp.setGlobalPos(morph.worldPoint(morph.shape.bounds().center()))\n}","funcProperties":{"__isSmartRef__":true,"id":7182},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7181":{"this":{"__isSmartRef__":true,"id":6949}},"7182":{"timestamp":{"__isSmartRef__":true,"id":7183},"user":"jenslincke","tags":[]},"7183":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:45:56 GMT+0100 (CET)"},"7184":{"varMapping":{"__isSmartRef__":true,"id":7185},"source":"function disconnectMorph(morph) {\n if (!morph) return;\n lively.bindings.disconnect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":7186},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7185":{"this":{"__isSmartRef__":true,"id":6949}},"7186":{"timestamp":{"__isSmartRef__":true,"id":7187},"user":"jenslincke","tags":[]},"7187":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:19:18 GMT+0100 (CET)"},"7188":{"varMapping":{"__isSmartRef__":true,"id":7189},"source":"function connectMorph(morph) {\n if (morph)\n lively.bindings.connect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":7190},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7189":{"this":{"__isSmartRef__":true,"id":6949}},"7190":{"timestamp":{"__isSmartRef__":true,"id":7191},"user":"jenslincke","tags":[]},"7191":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:52:12 GMT+0100 (CET)"},"7192":{"varMapping":{"__isSmartRef__":true,"id":7193},"source":"function onMouseOver(evt) {\n var p = evt.mousePoint.scaleBy(this.world().getScale())\n\n var cp1 = this.controlPoints[0].getGlobalPos();\n if (p.dist(cp1) < 20) {\n this.showFromHandle()\n } else {\n this.hideFromHandle()\n }\n var cp2 = this.controlPoints[1].getGlobalPos();\n if (p.dist(cp2) < 20) {\n this.showToHandle()\n } else {\n this.hideToHandle()\n }\n}","funcProperties":{"__isSmartRef__":true,"id":7194},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7193":{"this":{"__isSmartRef__":true,"id":6949}},"7194":{"timestamp":{"__isSmartRef__":true,"id":7195},"user":"jenslincke","tags":[]},"7195":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:23:03 GMT+0100 (CET)"},"7196":{"varMapping":{"__isSmartRef__":true,"id":7197},"source":"function onMouseOut(evt) {\n // this.hideFromHandle()\n // this.hideToHandle()\n}","funcProperties":{"__isSmartRef__":true,"id":7202},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7197":{"this":{"__isSmartRef__":true,"id":6949},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":7198}},"7198":{"$super":{"__isSmartRef__":true,"id":7199}},"7199":{"varMapping":{"__isSmartRef__":true,"id":7200},"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":7201},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7200":{"obj":{"__isSmartRef__":true,"id":6949},"name":"onMouseOut"},"7201":{},"7202":{"timestamp":{"__isSmartRef__":true,"id":7203},"user":"jenslincke","tags":[]},"7203":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:54:53 GMT+0100 (CET)"},"7204":{"varMapping":{"__isSmartRef__":true,"id":7205},"source":"function makeHandle() {\n var m = lively.morphic.Morph.makeRectangle(0,0,10,10);\n m.disableGrabbing()\n m.enableDragging()\n m.connector = this;\n // move real behavior to a place which is easier to develop\n // do not use bind, because we like late binding \n m.addScript(function onDragStart(evt) {\n this.connector.onDragStartInHandle(this, evt)\n })\n m.addScript(function onDrag(evt) {\n this.connector.onDragInHandle(this, evt)\n })\n m.addScript(function onDragEnd(evt) {\n this.connector.onDragEndInHandle(this, evt)\n })\n m.isEpiMorph = true;\n return m\n}","funcProperties":{"__isSmartRef__":true,"id":7206},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7205":{"this":{"__isSmartRef__":true,"id":6949}},"7206":{"timestamp":{"__isSmartRef__":true,"id":7207},"user":"jenslincke","tags":[]},"7207":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:08:29 GMT+0100 (CET)"},"7208":{"varMapping":{"__isSmartRef__":true,"id":7209},"source":"function showFromHandle() {\n if (!this.fromHandle) {\n this.fromHandle = this.makeHandle();\n this.fromHandle.setFill(Color.red)\n this.fromHandle.isFromHandle = true;\n }\n this.fromHandle.openInWorld();\n this.fromHandle.controlPoint = this.controlPoints[0];\n this.fromHandle.setPosition(this.controlPoints[0].getGlobalPos().subPt(pt(5,5)))\n return this.fromHandle\n}","funcProperties":{"__isSmartRef__":true,"id":7210},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7209":{"this":{"__isSmartRef__":true,"id":6949}},"7210":{"timestamp":{"__isSmartRef__":true,"id":7211},"user":"jenslincke","tags":[]},"7211":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:13:03 GMT+0100 (CET)"},"7212":{"varMapping":{"__isSmartRef__":true,"id":7213},"source":"function showToHandle() {\n if (!this.toHandle) {\n this.toHandle = this.makeHandle();\n this.toHandle.setFill(Color.red)\n this.toHandle.isToHandle = true;\n\n }\n this.toHandle.openInWorld();\n this.toHandle.controlPoint = this.controlPoints[1];\n this.toHandle.setPosition(this.controlPoints[1].getGlobalPos().subPt(pt(5,5)))\n return this.toHandle\n}","funcProperties":{"__isSmartRef__":true,"id":7214},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7213":{"this":{"__isSmartRef__":true,"id":6949}},"7214":{"timestamp":{"__isSmartRef__":true,"id":7215},"user":"jenslincke","tags":[]},"7215":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:20:25 GMT+0100 (CET)"},"7216":{"varMapping":{"__isSmartRef__":true,"id":7217},"source":"function reset() {\n if (this.fromHandle) {\n this.fromHandle.remove()\n delete this.fromHandle\n }\n if (this.toHandle) {\n this.toHandle.remove()\n delete this.toHandle\n }\n // this.controlPoints[1].setPos(pt(200,200))\n}","funcProperties":{"__isSmartRef__":true,"id":7218},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7217":{"this":{"__isSmartRef__":true,"id":6949}},"7218":{"timestamp":{"__isSmartRef__":true,"id":7219},"user":"jenslincke","tags":[]},"7219":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:15:00 GMT+0100 (CET)"},"7220":{"varMapping":{"__isSmartRef__":true,"id":7221},"source":"function onDragInHandle(handle, evt) {\n\n var pos = handle.getPositionInWorld();\n var delta = evt.hand.getPosition().subPt(pos);\n handle.moveBy(delta)\n pos = handle.getPositionInWorld();\n if (handle.controlPoint)\n handle.controlPoint.setGlobalPos(pos.addPt(pt(5,5)))\n var morphs = this.owner.morphsContainingPoint(pos)\n morphs = morphs.reject(function(ea) {\n return ea.isWorld || (ea === handle) || (ea === this) || \n (ea === this.owner)\n }, this)\n this.get('Console').textString = morphs\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n this.selectedMorph = morphs.first();\n this.selectedMorphHighlights = show(this.selectedMorph)\n handle.startPos = evt.getPosition();\n}","funcProperties":{"__isSmartRef__":true,"id":7222},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7221":{"this":{"__isSmartRef__":true,"id":6949}},"7222":{"timestamp":{"__isSmartRef__":true,"id":7223},"user":"jenslincke","tags":[]},"7223":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:09:40 GMT+0100 (CET)"},"7224":{"varMapping":{"__isSmartRef__":true,"id":7225},"source":"function onDragStartInHandle(handle, evt) {\n handle.startPos = evt.getPosition()\n}","funcProperties":{"__isSmartRef__":true,"id":7226},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7225":{"this":{"__isSmartRef__":true,"id":6949}},"7226":{"timestamp":{"__isSmartRef__":true,"id":7227},"user":"jenslincke","tags":[]},"7227":{"isSerializedDate":true,"string":"Thu Dec 13 2012 15:51:13 GMT+0100 (CET)"},"7228":{"varMapping":{"__isSmartRef__":true,"id":7229},"source":"function onDragEndInHandle(handle, evt) {\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n \n if (handle.isFromHandle) this.connectFrom(this.selectedMorph)\n if (handle.isToHandle) this.connectTo(this.selectedMorph)\n handle.remove()\n}","funcProperties":{"__isSmartRef__":true,"id":7230},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7229":{"this":{"__isSmartRef__":true,"id":6949}},"7230":{"timestamp":{"__isSmartRef__":true,"id":7231},"user":"jenslincke","tags":[]},"7231":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:44:35 GMT+0100 (CET)"},"7232":{"varMapping":{"__isSmartRef__":true,"id":7233},"source":"function connectFrom(morph) {\n if (morph === this.toMorph) return; // not allowed\n\n this.disconnectMorph(this.fromMorph)\n this.fromMorph = morph;\n this.connectMorph(this.fromMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":7234},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7233":{"this":{"__isSmartRef__":true,"id":6949}},"7234":{"timestamp":{"__isSmartRef__":true,"id":7235},"user":"jenslincke","tags":[]},"7235":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:57:22 GMT+0100 (CET)"},"7236":{"varMapping":{"__isSmartRef__":true,"id":7237},"source":"function connectTo(morph) {\n\n if (morph === this.fromMorph) return; // not allowed\n\n this.disconnectMorph(this.toMorph)\n this.toMorph = morph;\n this.connectMorph(this.toMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":7238},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7237":{"this":{"__isSmartRef__":true,"id":6949}},"7238":{"timestamp":{"__isSmartRef__":true,"id":7239},"user":"jenslincke","tags":[]},"7239":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:57:14 GMT+0100 (CET)"},"7240":{"varMapping":{"__isSmartRef__":true,"id":7241},"source":"function hideToHandle() {\n if (this.toHandle) {\n this.toHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":7242},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7241":{"this":{"__isSmartRef__":true,"id":6949}},"7242":{"timestamp":{"__isSmartRef__":true,"id":7243},"user":"jenslincke","tags":[]},"7243":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:51:59 GMT+0100 (CET)"},"7244":{"varMapping":{"__isSmartRef__":true,"id":7245},"source":"function hideFromHandle() {\n if (this.fromHandle) {\n this.fromHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":7246},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7245":{"this":{"__isSmartRef__":true,"id":6949}},"7246":{"timestamp":{"__isSmartRef__":true,"id":7247},"user":"jenslincke","tags":[]},"7247":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:52:18 GMT+0100 (CET)"},"7248":{"varMapping":{"__isSmartRef__":true,"id":7249},"source":"function updateIntersection(morph, cp) {\n if (!morph) return;\n var intersection = this.intersectMorph(morph)[0];\n if (intersection) {\n cp.setGlobalPos(intersection);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":7250},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7249":{"this":{"__isSmartRef__":true,"id":6949}},"7250":{"timestamp":{"__isSmartRef__":true,"id":7251},"user":"jenslincke","tags":[]},"7251":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:32 GMT+0100 (CET)"},"7252":{"varMapping":{"__isSmartRef__":true,"id":7253},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":7254},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7253":{"this":{"__isSmartRef__":true,"id":6949}},"7254":{"timestamp":{"__isSmartRef__":true,"id":7255},"user":"jenslincke","tags":[]},"7255":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:47:12 GMT+0100 (CET)"},"7256":{"varMapping":{"__isSmartRef__":true,"id":7257},"source":"function intersectMorphLinePoints(morph, a1, a2) {\n var points = this.globalShapePathFromMorph(morph);\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":7258},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7257":{"this":{"__isSmartRef__":true,"id":6949}},"7258":{"timestamp":{"__isSmartRef__":true,"id":7259},"user":"jenslincke","tags":[]},"7259":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:21 GMT+0100 (CET)"},"7260":{"varMapping":{"__isSmartRef__":true,"id":7261},"source":"function intersectMorph(morph) {\n var line = this;\n return this.intersectMorphLinePoints(morph,\n line.controlPoints[0].getGlobalPos(), line.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":7262},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7261":{"this":{"__isSmartRef__":true,"id":6949}},"7262":{"timestamp":{"__isSmartRef__":true,"id":7263},"user":"jenslincke","tags":[]},"7263":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:47 GMT+0100 (CET)"},"7264":{"varMapping":{"__isSmartRef__":true,"id":7265},"source":"function globalShapePathFromMorph(morph) {\n var b = morph.shape.bounds();\n var p1 = morph.worldPoint(b.topLeft()),\n p2 = morph.worldPoint(b.topRight()),\n p3 = morph.worldPoint(b.bottomRight()),\n p4 = morph.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":7266},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7265":{"this":{"__isSmartRef__":true,"id":6949}},"7266":{"timestamp":{"__isSmartRef__":true,"id":7267},"user":"jenslincke","tags":[]},"7267":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:00 GMT+0100 (CET)"},"7268":{"morph":{"__isSmartRef__":true,"id":6918},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(142.4,3530.4)"},"7269":{"morph":{"__isSmartRef__":true,"id":6918},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(104.9,3506.4)"},"7270":{"morph":{"__isSmartRef__":true,"id":6918},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(67.4,3482.4)"},"7271":{"morph":{"__isSmartRef__":true,"id":6918},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(89.0,3448.7)"},"7272":{"sourceObj":{"__isSmartRef__":true,"id":6918},"sourceAttrName":"name","targetObj":{"__isSmartRef__":true,"id":6893},"targetMethodName":"updateLabel","varMapping":{"__isSmartRef__":true,"id":7273},"visualConnector":{"__isSmartRef__":true,"id":7274},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7273":{"source":{"__isSmartRef__":true,"id":6918},"target":{"__isSmartRef__":true,"id":6893}},"7274":{"submorphs":[{"__isSmartRef__":true,"id":7275}],"scripts":[],"shape":{"__isSmartRef__":true,"id":7282},"eventHandler":{"__isSmartRef__":true,"id":7285},"_ClipMode":"visible","derivationIds":[],"id":"5814672F-102B-41EE-9D91-9FA58B6451FD","__layered_droppingEnabled__":true,"halosEnabled":true,"owner":null,"controlPoints":[{"__isSmartRef__":true,"id":7286},{"__isSmartRef__":true,"id":7287}],"con":{"__isSmartRef__":true,"id":7272},"showsMorphMenu":true,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":7288},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"7275":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":7276},"eventHandler":{"__isSmartRef__":true,"id":7281},"_ClipMode":"visible","derivationIds":[],"id":"01253C2A-18A1-43A8-AA72-260E7FC0929E","__layered_droppingEnabled__":true,"halosEnabled":true,"owner":{"__isSmartRef__":true,"id":7274},"_Rotation":1.3832457846463706,"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","_Position":"lively.pt(259.1,3427.8)"},"7276":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":7277},{"__isSmartRef__":true,"id":7278},{"__isSmartRef__":true,"id":7279},{"__isSmartRef__":true,"id":7280}],"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor","_Fill"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Position":"lively.pt(-12.0,-6.0)","_Extent":"lively.pt(17.0,13.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(0,0,0)"},"7277":{"isAbsolute":true,"x":-11,"y":-5,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"7278":{"isAbsolute":true,"x":-11,"y":7,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"7279":{"isAbsolute":true,"x":5,"y":1,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"7280":{"isAbsolute":true,"x":-11,"y":-5,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"7281":{"morph":{"__isSmartRef__":true,"id":7275},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"7282":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":7283},{"__isSmartRef__":true,"id":7284}],"_BorderWidth":1,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Position":"lively.pt(248.7,3377.0)","_Extent":"lively.pt(10.4,50.8)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"7283":{"isAbsolute":true,"x":249.7,"y":3378,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"7284":{"isAbsolute":true,"x":259.14357977177195,"y":3427.7604139964105,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"7285":{"morph":{"__isSmartRef__":true,"id":7274},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"7286":{"morph":{"__isSmartRef__":true,"id":7274},"index":0,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"7287":{"morph":{"__isSmartRef__":true,"id":7274},"index":1,"marker":{"__isSmartRef__":true,"id":7275},"markerDirection":"prev","__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"7288":{"morphMenuItems":{"__isSmartRef__":true,"id":7289}},"7289":{"varMapping":{"__isSmartRef__":true,"id":7290},"source":"function morphMenuItems() {\n var visualConnector = this, con = this.con, world = $world;\n var items = [\n ['Edit converter', function() {\n var window = lively.bindings.editConnection(con);\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":7295},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7290":{"this":{"__isSmartRef__":true,"id":7274},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":7291}},"7291":{"$super":{"__isSmartRef__":true,"id":7292}},"7292":{"varMapping":{"__isSmartRef__":true,"id":7293},"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":7294},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7293":{"obj":{"__isSmartRef__":true,"id":7274},"name":"morphMenuItems"},"7294":{},"7295":{},"7296":{"sourceObj":{"__isSmartRef__":true,"id":6918},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":6892},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":7297},"dependedBy":{"__isSmartRef__":true,"id":6892},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7297":{"source":{"__isSmartRef__":true,"id":6918},"target":{"__isSmartRef__":true,"id":6892}},"7298":{"sourceObj":{"__isSmartRef__":true,"id":6918},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":6892},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":7299},"dependedBy":{"__isSmartRef__":true,"id":6892},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7299":{"source":{"__isSmartRef__":true,"id":6918},"target":{"__isSmartRef__":true,"id":6892}},"7300":{"sourceObj":{"__isSmartRef__":true,"id":6918},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":6892},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":7301},"dependedBy":{"__isSmartRef__":true,"id":6892},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7301":{"source":{"__isSmartRef__":true,"id":6918},"target":{"__isSmartRef__":true,"id":6892}},"7302":{"sourceObj":{"__isSmartRef__":true,"id":6918},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":6892},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":7303},"dependedBy":{"__isSmartRef__":true,"id":6892},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7303":{"source":{"__isSmartRef__":true,"id":6918},"target":{"__isSmartRef__":true,"id":6892}},"7304":{"sourceObj":{"__isSmartRef__":true,"id":6918},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":6948},"targetMethodName":"alignToMagnet","varMapping":{"__isSmartRef__":true,"id":7305},"dependendConnections":[{"__isSmartRef__":true,"id":7306},{"__isSmartRef__":true,"id":7308},{"__isSmartRef__":true,"id":7310},{"__isSmartRef__":true,"id":7312},{"__isSmartRef__":true,"id":7314},{"__isSmartRef__":true,"id":7316},{"__isSmartRef__":true,"id":7318},{"__isSmartRef__":true,"id":7320}],"oldTransform":{"__isSmartRef__":true,"id":7322},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"7305":{"source":{"__isSmartRef__":true,"id":6918},"target":{"__isSmartRef__":true,"id":6948}},"7306":{"sourceObj":{"__isSmartRef__":true,"id":6918},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":7304},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":7307},"dependedBy":{"__isSmartRef__":true,"id":7304},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7307":{"source":{"__isSmartRef__":true,"id":6918},"target":{"__isSmartRef__":true,"id":7304}},"7308":{"sourceObj":{"__isSmartRef__":true,"id":6918},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":7304},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":7309},"dependedBy":{"__isSmartRef__":true,"id":7304},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7309":{"source":{"__isSmartRef__":true,"id":6918},"target":{"__isSmartRef__":true,"id":7304}},"7310":{"sourceObj":{"__isSmartRef__":true,"id":6918},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":7304},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":7311},"dependedBy":{"__isSmartRef__":true,"id":7304},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7311":{"source":{"__isSmartRef__":true,"id":6918},"target":{"__isSmartRef__":true,"id":7304}},"7312":{"sourceObj":{"__isSmartRef__":true,"id":6918},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":7304},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":7313},"dependedBy":{"__isSmartRef__":true,"id":7304},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7313":{"source":{"__isSmartRef__":true,"id":6918},"target":{"__isSmartRef__":true,"id":7304}},"7314":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":7304},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":7315},"dependedBy":{"__isSmartRef__":true,"id":7304},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7315":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":7304}},"7316":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":7304},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":7317},"dependedBy":{"__isSmartRef__":true,"id":7304},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7317":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":7304}},"7318":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":7304},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":7319},"dependedBy":{"__isSmartRef__":true,"id":7304},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7319":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":7304}},"7320":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":7304},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":7321},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","dependedBy":{"__isSmartRef__":true,"id":7304},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7321":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":7304}},"7322":{"d":0.8419431060646692,"a":0.8419431060646692,"f":71.4,"e":725.3,"c":-0.5395663130238733,"b":0.5395663130238733,"matrix_":{"__isSmartRef__":true,"id":7323},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"7323":{"a":0.8419431060646692,"b":0.5395663130238733,"c":-0.5395663130238733,"d":0.8419431060646692,"e":725.3,"f":71.4,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"7324":{"sourceObj":{"__isSmartRef__":true,"id":6918},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":3590},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":7325},"dependendConnections":[{"__isSmartRef__":true,"id":7326},{"__isSmartRef__":true,"id":7328},{"__isSmartRef__":true,"id":7330},{"__isSmartRef__":true,"id":7332},{"__isSmartRef__":true,"id":7334},{"__isSmartRef__":true,"id":7336},{"__isSmartRef__":true,"id":7338},{"__isSmartRef__":true,"id":7340}],"oldTransform":{"__isSmartRef__":true,"id":7342},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"7325":{"source":{"__isSmartRef__":true,"id":6918},"target":{"__isSmartRef__":true,"id":3590}},"7326":{"sourceObj":{"__isSmartRef__":true,"id":6918},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":7324},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":7327},"dependedBy":{"__isSmartRef__":true,"id":7324},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7327":{"source":{"__isSmartRef__":true,"id":6918},"target":{"__isSmartRef__":true,"id":7324}},"7328":{"sourceObj":{"__isSmartRef__":true,"id":6918},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":7324},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":7329},"dependedBy":{"__isSmartRef__":true,"id":7324},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7329":{"source":{"__isSmartRef__":true,"id":6918},"target":{"__isSmartRef__":true,"id":7324}},"7330":{"sourceObj":{"__isSmartRef__":true,"id":6918},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":7324},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":7331},"dependedBy":{"__isSmartRef__":true,"id":7324},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7331":{"source":{"__isSmartRef__":true,"id":6918},"target":{"__isSmartRef__":true,"id":7324}},"7332":{"sourceObj":{"__isSmartRef__":true,"id":6918},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":7324},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":7333},"dependedBy":{"__isSmartRef__":true,"id":7324},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7333":{"source":{"__isSmartRef__":true,"id":6918},"target":{"__isSmartRef__":true,"id":7324}},"7334":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":7324},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":7335},"dependedBy":{"__isSmartRef__":true,"id":7324},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7335":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":7324}},"7336":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":7324},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":7337},"dependedBy":{"__isSmartRef__":true,"id":7324},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7337":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":7324}},"7338":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":7324},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":7339},"dependedBy":{"__isSmartRef__":true,"id":7324},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7339":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":7324}},"7340":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":7324},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":7341},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","dependedBy":{"__isSmartRef__":true,"id":7324},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7341":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":7324}},"7342":{"d":0.8419431060646692,"a":0.8419431060646692,"f":71.4,"e":725.3,"c":-0.5395663130238733,"b":0.5395663130238733,"matrix_":{"__isSmartRef__":true,"id":7343},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"7343":{"a":0.8419431060646692,"b":0.5395663130238733,"c":-0.5395663130238733,"d":0.8419431060646692,"e":725.3,"f":71.4,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"7344":{"globalShapePath":{"__isSmartRef__":true,"id":7345},"lineIntersect":{"__isSmartRef__":true,"id":7348},"intersectLine":{"__isSmartRef__":true,"id":7352},"intersectLineMorph":{"__isSmartRef__":true,"id":7355}},"7345":{"varMapping":{"__isSmartRef__":true,"id":7346},"source":"function globalShapePath() {\n var b = this.shape.bounds();\n var p1 = this.worldPoint(b.topLeft()),\n p2 = this.worldPoint(b.topRight()),\n p3 = this.worldPoint(b.bottomRight()),\n p4 = this.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":7347},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7346":{"this":{"__isSmartRef__":true,"id":6918}},"7347":{},"7348":{"varMapping":{"__isSmartRef__":true,"id":7349},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":7350},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7349":{"this":{"__isSmartRef__":true,"id":6918}},"7350":{"timestamp":{"__isSmartRef__":true,"id":7351},"user":"jenslincke","tags":[]},"7351":{"isSerializedDate":true,"string":"Thu Dec 13 2012 13:42:55 GMT+0100 (CET)"},"7352":{"varMapping":{"__isSmartRef__":true,"id":7353},"source":"function intersectLine(a1, a2) {\n var points = this.globalShapePath();\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":7354},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7353":{"this":{"__isSmartRef__":true,"id":6918}},"7354":{},"7355":{"varMapping":{"__isSmartRef__":true,"id":7356},"source":"function intersectLineMorph(m) {\n return this.intersectLine(m.controlPoints[0].getGlobalPos(), m.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":7357},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7356":{"this":{"__isSmartRef__":true,"id":6918}},"7357":{},"7358":{"updateLabel":{"__isSmartRef__":true,"id":7359},"renameOwner":{"__isSmartRef__":true,"id":7362}},"7359":{"varMapping":{"__isSmartRef__":true,"id":7360},"source":"function updateLabel() {\n\t// observe name changes in owner\n\tif (this.owner !== this.oldOwner) {\n\t\tif (this.oldOwner)\n\t\t\tdisconnect(this.oldOwner, 'name', this, 'updateLabel')\n\t\tif (this.owner)\n\t\t\tconnect(this.owner, 'name', this, 'updateLabel')\n\t\tthis.oldOwner = this.owner\n\t}\n\tvar name = (this.owner ? this.owner.name : \"no owner\")\n\tif (this.textString != name)\n\tthis.setTextString(name)\n}","funcProperties":{"__isSmartRef__":true,"id":7361},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7360":{"this":{"__isSmartRef__":true,"id":6893}},"7361":{},"7362":{"varMapping":{"__isSmartRef__":true,"id":7363},"source":"function renameOwner(name) {\n\tif (this.owner && this.owner.name != name) {\n\t\talertOK(\"renamed \" + this.owner + \" to \" + name)\n\t\tthis.owner.setName(name);\n\t}\n}","funcProperties":{"__isSmartRef__":true,"id":7364},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7363":{"this":{"__isSmartRef__":true,"id":6893}},"7364":{},"7365":{"source":{"__isSmartRef__":true,"id":6893},"target":{"__isSmartRef__":true,"id":7274}},"7366":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":6892},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":7367},"dependedBy":{"__isSmartRef__":true,"id":6892},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7367":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":6892}},"7368":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":6892},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":7369},"dependedBy":{"__isSmartRef__":true,"id":6892},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7369":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":6892}},"7370":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":6892},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":7371},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","dependedBy":{"__isSmartRef__":true,"id":6892},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7371":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":6892}},"7372":{"d":0.8419431060646688,"a":0.8419431060646688,"f":121.16041399641061,"e":734.7435797717719,"c":-0.539566313023873,"b":0.539566313023873,"matrix_":{"__isSmartRef__":true,"id":7373},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"7373":{"a":0.8419431060646688,"b":0.539566313023873,"c":-0.539566313023873,"d":0.8419431060646688,"e":734.7435797717719,"f":121.16041399641061,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"7374":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":6892}},"7375":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":7376},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":7858},"dependedBy":{"__isSmartRef__":true,"id":7376},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7376":{"sourceObj":{"__isSmartRef__":true,"id":7377},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":7758},"targetMethodName":"realignConnection","varMapping":{"__isSmartRef__":true,"id":7849},"dependendConnections":[{"__isSmartRef__":true,"id":7385},{"__isSmartRef__":true,"id":7387},{"__isSmartRef__":true,"id":7389},{"__isSmartRef__":true,"id":7391},{"__isSmartRef__":true,"id":7780},{"__isSmartRef__":true,"id":7782},{"__isSmartRef__":true,"id":7784},{"__isSmartRef__":true,"id":7786},{"__isSmartRef__":true,"id":7375},{"__isSmartRef__":true,"id":7850},{"__isSmartRef__":true,"id":7852},{"__isSmartRef__":true,"id":7854}],"oldTransform":{"__isSmartRef__":true,"id":7856},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"7377":{"submorphs":[],"scripts":[],"id":"D6D62EC8-5490-497A-BFD0-C93F60DB234A","shape":{"__isSmartRef__":true,"id":7378},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":180.8018403394826,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":19,"name":"NameLabel2","partsBinMetaInfo":{"__isSmartRef__":true,"id":7379},"textChunks":[{"__isSmartRef__":true,"id":7381}],"charsReplaced":"A1","lastFindLoc":2,"prevScroll":[0,0],"attributeConnections":[{"__isSmartRef__":true,"id":7383},{"__isSmartRef__":true,"id":7384},{"__isSmartRef__":true,"id":7376},{"__isSmartRef__":true,"id":7385},{"__isSmartRef__":true,"id":7387},{"__isSmartRef__":true,"id":7389},{"__isSmartRef__":true,"id":7391}],"doNotSerialize":["$$owner","$$savedTextString","$$_Position","$$_Scale","$$_Rotation"],"doNotCopyProperties":["$$owner","$$savedTextString","$$_Position","$$_Scale","$$_Rotation"],"isInputLine":true,"savedTextString":"A","eventHandler":{"__isSmartRef__":true,"id":7393},"derivationIds":[7027,"331C6367-0699-4BD6-9916-ABA82517453B","BEAA7850-FEFB-4AFD-9E06-730FF35D99A4","559B0B8A-5C01-4133-88B2-0D08385E23F6","BE195383-D309-4B6E-A6B0-79A6112B4011","E323F75A-232F-4712-9A03-20C8FD574C9A","E6E38336-AA2D-4F75-80C1-B1617DD8544E","DAFCD826-DF9B-4DEF-B4D7-59AAED8D199D","3999CB16-D9E3-4D28-A617-9B093624E8AC","24C6A462-5AF8-4580-9777-8F5696841AF0","38DF0DD5-01B1-4481-B32C-B1595F8042DF","6D969508-F1F5-4E9D-A211-8F66FCA4DA80"],"_WhiteSpaceHandling":"pre-wrap","_ClipMode":"visible","moved":true,"isBeingDragged":false,"_WordBreak":"break-all","magnets":[{"__isSmartRef__":true,"id":7394},{"__isSmartRef__":true,"id":7395},{"__isSmartRef__":true,"id":7396},{"__isSmartRef__":true,"id":7397},{"__isSmartRef__":true,"id":7398},{"__isSmartRef__":true,"id":7399},{"__isSmartRef__":true,"id":7400},{"__isSmartRef__":true,"id":7401}],"_PreviousBorderWidth":1,"owner":{"__isSmartRef__":true,"id":7402},"oldOwner":{"__isSmartRef__":true,"id":7402},"_Rotation":0,"_Scale":0.9999999999999997,"__serializedExpressions__":["_Position","textColor","distanceToDragEvent","_TextColor"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":7842},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(34.8,36.8)","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(31.1,-9.9)","_TextColor":"Color.rgb(255,143,0)"},"7378":{"fill":null,"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(42.8,29.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"7379":{"migrationLevel":2,"comment":"Label that shows the name of a morph. Updates automatically.","partName":"NameLabel","lastModifiedDate":{"__isSmartRef__":true,"id":7380},"revisionOnLoad":140039,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"7380":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (CEST)"},"7381":{"style":{"__isSmartRef__":true,"id":7382},"chunkOwner":{"__isSmartRef__":true,"id":7377},"_id":"_860","storedString":"A1","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7382":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7383":{"sourceObj":{"__isSmartRef__":true,"id":7377},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":7377},"targetMethodName":"updateLabel","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7384":{"sourceObj":{"__isSmartRef__":true,"id":7377},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":7377},"targetMethodName":"renameOwner","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7385":{"sourceObj":{"__isSmartRef__":true,"id":7377},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":7376},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":7386},"dependedBy":{"__isSmartRef__":true,"id":7376},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7386":{"source":{"__isSmartRef__":true,"id":7377},"target":{"__isSmartRef__":true,"id":7376}},"7387":{"sourceObj":{"__isSmartRef__":true,"id":7377},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":7376},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":7388},"dependedBy":{"__isSmartRef__":true,"id":7376},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7388":{"source":{"__isSmartRef__":true,"id":7377},"target":{"__isSmartRef__":true,"id":7376}},"7389":{"sourceObj":{"__isSmartRef__":true,"id":7377},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":7376},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":7390},"dependedBy":{"__isSmartRef__":true,"id":7376},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7390":{"source":{"__isSmartRef__":true,"id":7377},"target":{"__isSmartRef__":true,"id":7376}},"7391":{"sourceObj":{"__isSmartRef__":true,"id":7377},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":7376},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":7392},"dependedBy":{"__isSmartRef__":true,"id":7376},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7392":{"source":{"__isSmartRef__":true,"id":7377},"target":{"__isSmartRef__":true,"id":7376}},"7393":{"morph":{"__isSmartRef__":true,"id":7377},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"7394":{"morph":{"__isSmartRef__":true,"id":7377},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(120.0,3464.8)"},"7395":{"morph":{"__isSmartRef__":true,"id":7377},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(138.1,3476.3)"},"7396":{"morph":{"__isSmartRef__":true,"id":7377},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(156.1,3487.9)"},"7397":{"morph":{"__isSmartRef__":true,"id":7377},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(148.3,3500.1)"},"7398":{"morph":{"__isSmartRef__":true,"id":7377},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(140.4,3512.3)"},"7399":{"morph":{"__isSmartRef__":true,"id":7377},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(122.4,3500.7)"},"7400":{"morph":{"__isSmartRef__":true,"id":7377},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(104.4,3489.2)"},"7401":{"morph":{"__isSmartRef__":true,"id":7377},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(112.2,3477.0)"},"7402":{"submorphs":[{"__isSmartRef__":true,"id":7377}],"scripts":[],"id":"8E339379-CC0E-4F07-BBB1-A6AAB912E594","shape":{"__isSmartRef__":true,"id":7403},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"A1","partsBinMetaInfo":{"__isSmartRef__":true,"id":7404},"eventHandler":{"__isSmartRef__":true,"id":7422},"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","BBAFB862-93AE-4F89-BCFF-9F1C67B7FE4C","7EC17E78-593A-4CC8-B7E3-859BCBBFE785","FDB06D4A-9F4E-4B8C-A67C-671A9583EFE8","1C80FDE1-05C0-4148-9AD8-33C88667084C","5059E383-6BE3-4AD3-A9C4-89DA9D8D5E99","5B810AFE-E692-4EB4-A695-ABB4A95CEA39","BFFEF617-9B97-45D4-A541-8E33A6A17485","A10BBA48-4AD1-425A-AC7B-2F5515CE56F5","319DCFA5-FBA0-4E93-825A-584A580A412F","1A7DC4D8-6C49-4243-8B1D-04CED44FD759","37281932-6BFC-4796-9330-CDFA7FB46F54"],"partTests":{"__isSmartRef__":true,"id":7423},"_ClipMode":"visible","moved":true,"isBeingDragged":false,"magnets":[{"__isSmartRef__":true,"id":7428},{"__isSmartRef__":true,"id":7429},{"__isSmartRef__":true,"id":7430},{"__isSmartRef__":true,"id":7431},{"__isSmartRef__":true,"id":7752},{"__isSmartRef__":true,"id":7753},{"__isSmartRef__":true,"id":7754},{"__isSmartRef__":true,"id":7755}],"attributeConnections":[{"__isSmartRef__":true,"id":7756},{"__isSmartRef__":true,"id":7780},{"__isSmartRef__":true,"id":7782},{"__isSmartRef__":true,"id":7784},{"__isSmartRef__":true,"id":7786},{"__isSmartRef__":true,"id":7788},{"__isSmartRef__":true,"id":7790},{"__isSmartRef__":true,"id":7792},{"__isSmartRef__":true,"id":7794},{"__isSmartRef__":true,"id":7796},{"__isSmartRef__":true,"id":7808},{"__isSmartRef__":true,"id":7810},{"__isSmartRef__":true,"id":7812},{"__isSmartRef__":true,"id":7814},{"__isSmartRef__":true,"id":7816}],"doNotSerialize":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"doNotCopyProperties":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"isCopyMorphRef":true,"morphRefId":1,"prevScroll":[0,0],"_Scale":0.9999999999999996,"_Rotation":0.5699219218563105,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":7828},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","distanceToDragEvent":"lively.pt(35.0,-16.3)","_Position":"lively.pt(725.3,71.4)"},"7403":{"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(89.0,80.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgba(204,204,204,0.5)","_Padding":"lively.rect(0,0,0,0)"},"7404":{"partsSpaceName":"PartsBin/Basic","comment":"A simple box morph. A really orange one. Its amazing what you can build out of simple boxes.... Who needs stars when you got orange rectangles!","migrationLevel":4,"partName":"Rectangle","changes":[{"__isSmartRef__":true,"id":7405},{"__isSmartRef__":true,"id":7407},{"__isSmartRef__":true,"id":7409},{"__isSmartRef__":true,"id":7411},{"__isSmartRef__":true,"id":7413},{"__isSmartRef__":true,"id":7415},{"__isSmartRef__":true,"id":7417},{"__isSmartRef__":true,"id":7419}],"lastModifiedDate":{"__isSmartRef__":true,"id":7421},"revisionOnLoad":184624,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"7405":{"date":{"__isSmartRef__":true,"id":7406},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"7406":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"7407":{"date":{"__isSmartRef__":true,"id":7408},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"7408":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"7409":{"date":{"__isSmartRef__":true,"id":7410},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"7410":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"7411":{"date":{"__isSmartRef__":true,"id":7412},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"7412":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"7413":{"date":{"__isSmartRef__":true,"id":7414},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"7414":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"7415":{"date":{"__isSmartRef__":true,"id":7416},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"7416":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"7417":{"date":{"__isSmartRef__":true,"id":7418},"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8"},"7418":{"isSerializedDate":true,"string":"Mon Jun 18 2012 19:35:08 GMT+0200 (CEST)"},"7419":{"date":{"__isSmartRef__":true,"id":7420},"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205"},"7420":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:35:51 GMT+0100 (CET)"},"7421":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:33:25 GMT+0100 (CET)"},"7422":{"morph":{"__isSmartRef__":true,"id":7402},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"7423":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":7424}},"7424":{"test01IsMorph":{"__isSmartRef__":true,"id":7425}},"7425":{"varMapping":{"__isSmartRef__":true,"id":7426},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":7427},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7426":{"this":{"__isSmartRef__":true,"id":7423}},"7427":{},"7428":{"morph":{"__isSmartRef__":true,"id":7402},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(110.6,3415.0)"},"7429":{"morph":{"__isSmartRef__":true,"id":7402},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(148.1,3439.0)"},"7430":{"morph":{"__isSmartRef__":true,"id":7402},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(185.5,3463.0)"},"7431":{"morph":{"__isSmartRef__":true,"id":7402},"connectedControlPoints":[{"__isSmartRef__":true,"id":7432}],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(164.0,3496.7)"},"7432":{"morph":{"__isSmartRef__":true,"id":7433},"index":0,"connectedMagnet":{"__isSmartRef__":true,"id":7431},"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"7433":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":7434},"id":"E083C82B-2BC4-42CB-B3A2-773909175FCB","eventHandler":{"__isSmartRef__":true,"id":7437},"__layered_droppingEnabled__":true,"halosEnabled":true,"isBeingDragged":false,"controlPoints":[{"__isSmartRef__":true,"id":7432},{"__isSmartRef__":true,"id":7438}],"showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":7439},"name":"Line4","derivationIds":[731,"5E6BD741-9C99-47B9-95C1-7A028178DB17","A8D5C37A-F23F-47FE-8DE2-211CE4484A4F","F722069B-8602-4E8D-BE3F-92A1E0C0EF28","D5ED19F9-968E-4C7E-9936-69F2735A813F","A9E370BC-F208-425C-BFFC-F8D6BB52E11F","4E431641-D056-46CB-B2A8-6626382EF423"],"_ClipMode":"visible","controlPointsHalos":[],"prevScroll":[0,0],"grabbingEnabled":false,"moved":true,"#startLetters":"controlPoints[0]","fromMorph":{"__isSmartRef__":true,"id":7443},"update":{"__isSmartRef__":true,"id":7653},"isCopyMorphRef":true,"morphRefId":2,"selectedMorph":{"__isSmartRef__":true,"id":7443},"selectedMorphHighlights":[],"_Scale":1,"_Rotation":0,"owner":null,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":7655},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","distanceToDragEvent":"lively.pt(295.7,-20.8)","_Position":"lively.pt(376.1,57.6)"},"7434":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":7435},{"__isSmartRef__":true,"id":7436}],"_ClipMode":"visible","_BorderWidth":3.1119999999999997,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Padding","_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(50.5,3.2)","_Extent":"lively.pt(114.5,3494.5)","_BorderColor":"Color.rgb(161,161,161)"},"7435":{"isAbsolute":true,"x":0,"y":0,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"7436":{"isAbsolute":true,"x":52.46197348862387,"y":5.223542983087555,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"7437":{"morph":{"__isSmartRef__":true,"id":7433},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"7438":{"morph":{"__isSmartRef__":true,"id":7433},"index":1,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"7439":{"requiredModules":[],"migrationLevel":4,"partsSpaceName":"PartsBin/Jens/","comment":"a line","partName":"Connector","lastModifiedDate":{"__isSmartRef__":true,"id":7440},"revisionOnLoad":186528,"changes":[{"__isSmartRef__":true,"id":7441}],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"7440":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:18 GMT+0100 (CET)"},"7441":{"date":{"__isSmartRef__":true,"id":7442},"author":"jenslincke","message":"no comment","id":"28165CED-C8C5-4B8E-9655-645E3F5099BB"},"7442":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:42 GMT+0100 (CET)"},"7443":{"submorphs":[{"__isSmartRef__":true,"id":7444}],"scripts":[],"id":"7D787261-FDA4-4DCD-ACA3-699C8F2DB8DC","shape":{"__isSmartRef__":true,"id":7468},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"A","partsBinMetaInfo":{"__isSmartRef__":true,"id":7469},"eventHandler":{"__isSmartRef__":true,"id":7487},"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","BBAFB862-93AE-4F89-BCFF-9F1C67B7FE4C","7EC17E78-593A-4CC8-B7E3-859BCBBFE785","FDB06D4A-9F4E-4B8C-A67C-671A9583EFE8","1C80FDE1-05C0-4148-9AD8-33C88667084C","5059E383-6BE3-4AD3-A9C4-89DA9D8D5E99","5B810AFE-E692-4EB4-A695-ABB4A95CEA39","BFFEF617-9B97-45D4-A541-8E33A6A17485","A10BBA48-4AD1-425A-AC7B-2F5515CE56F5"],"partTests":{"__isSmartRef__":true,"id":7488},"_ClipMode":"visible","moved":true,"isBeingDragged":false,"magnets":[{"__isSmartRef__":true,"id":7493},{"__isSmartRef__":true,"id":7494},{"__isSmartRef__":true,"id":7495},{"__isSmartRef__":true,"id":7496},{"__isSmartRef__":true,"id":7497},{"__isSmartRef__":true,"id":7498},{"__isSmartRef__":true,"id":7499},{"__isSmartRef__":true,"id":7500}],"attributeConnections":[{"__isSmartRef__":true,"id":7501},{"__isSmartRef__":true,"id":7503},{"__isSmartRef__":true,"id":7505},{"__isSmartRef__":true,"id":7507},{"__isSmartRef__":true,"id":7509},{"__isSmartRef__":true,"id":7511},{"__isSmartRef__":true,"id":7515},{"__isSmartRef__":true,"id":7629},{"__isSmartRef__":true,"id":7631},{"__isSmartRef__":true,"id":7633},{"__isSmartRef__":true,"id":7635}],"doNotSerialize":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"doNotCopyProperties":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"isCopyMorphRef":true,"morphRefId":1,"prevScroll":[0,0],"_Scale":0.9999999999999998,"_Rotation":-0.3632069088060458,"owner":null,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":7639},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","distanceToDragEvent":"lively.pt(89.3,-51.8)","_Position":"lively.pt(691.6,129.6)"},"7444":{"submorphs":[],"scripts":[],"id":"4BDF3799-4F08-4112-BD4C-91BAB858A860","shape":{"__isSmartRef__":true,"id":7445},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":180.8018403394826,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":19,"name":"NameLabel2","partsBinMetaInfo":{"__isSmartRef__":true,"id":7446},"textChunks":[{"__isSmartRef__":true,"id":7448}],"charsReplaced":"C1","lastFindLoc":2,"prevScroll":[0,0],"attributeConnections":[{"__isSmartRef__":true,"id":7450},{"__isSmartRef__":true,"id":7451}],"doNotSerialize":["$$owner","$$savedTextString"],"doNotCopyProperties":["$$owner","$$savedTextString"],"isInputLine":true,"savedTextString":"A","eventHandler":{"__isSmartRef__":true,"id":7452},"derivationIds":[7027,"331C6367-0699-4BD6-9916-ABA82517453B","BEAA7850-FEFB-4AFD-9E06-730FF35D99A4","559B0B8A-5C01-4133-88B2-0D08385E23F6","BE195383-D309-4B6E-A6B0-79A6112B4011","E323F75A-232F-4712-9A03-20C8FD574C9A","E6E38336-AA2D-4F75-80C1-B1617DD8544E","DAFCD826-DF9B-4DEF-B4D7-59AAED8D199D","3999CB16-D9E3-4D28-A617-9B093624E8AC"],"_WhiteSpaceHandling":"pre-wrap","_ClipMode":"visible","moved":true,"isBeingDragged":false,"_WordBreak":"break-all","magnets":[{"__isSmartRef__":true,"id":7453},{"__isSmartRef__":true,"id":7454},{"__isSmartRef__":true,"id":7455},{"__isSmartRef__":true,"id":7456},{"__isSmartRef__":true,"id":7457},{"__isSmartRef__":true,"id":7458},{"__isSmartRef__":true,"id":7459},{"__isSmartRef__":true,"id":7460}],"_PreviousBorderWidth":1,"owner":{"__isSmartRef__":true,"id":7443},"oldOwner":{"__isSmartRef__":true,"id":7443},"priorSelectionRange":[1,1],"_Rotation":0,"_Scale":0.9999999999999997,"__serializedExpressions__":["textColor","distanceToDragEvent","_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":7461},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(31.1,-9.9)","_TextColor":"Color.rgb(255,143,0)","_Position":"lively.pt(34.8,36.8)"},"7445":{"fill":null,"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(42.8,29.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"7446":{"migrationLevel":2,"comment":"Label that shows the name of a morph. Updates automatically.","partName":"NameLabel","lastModifiedDate":{"__isSmartRef__":true,"id":7447},"revisionOnLoad":140039,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"7447":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (CEST)"},"7448":{"style":{"__isSmartRef__":true,"id":7449},"chunkOwner":{"__isSmartRef__":true,"id":7444},"_id":"_22384","storedString":"A","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7449":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7450":{"sourceObj":{"__isSmartRef__":true,"id":7444},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":7444},"targetMethodName":"updateLabel","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7451":{"sourceObj":{"__isSmartRef__":true,"id":7444},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":7444},"targetMethodName":"renameOwner","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7452":{"morph":{"__isSmartRef__":true,"id":7444},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"7453":{"morph":{"__isSmartRef__":true,"id":7444},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(726.1,3497.3)"},"7454":{"morph":{"__isSmartRef__":true,"id":7444},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(746.1,3489.7)"},"7455":{"morph":{"__isSmartRef__":true,"id":7444},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(766.1,3482.1)"},"7456":{"morph":{"__isSmartRef__":true,"id":7444},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(771.3,3495.6)"},"7457":{"morph":{"__isSmartRef__":true,"id":7444},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(776.4,3509.2)"},"7458":{"morph":{"__isSmartRef__":true,"id":7444},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(756.4,3516.8)"},"7459":{"morph":{"__isSmartRef__":true,"id":7444},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(736.4,3524.4)"},"7460":{"morph":{"__isSmartRef__":true,"id":7444},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(731.2,3510.8)"},"7461":{"updateLabel":{"__isSmartRef__":true,"id":7462},"renameOwner":{"__isSmartRef__":true,"id":7465}},"7462":{"varMapping":{"__isSmartRef__":true,"id":7463},"source":"function updateLabel() {\n\t// observe name changes in owner\n\tif (this.owner !== this.oldOwner) {\n\t\tif (this.oldOwner)\n\t\t\tdisconnect(this.oldOwner, 'name', this, 'updateLabel')\n\t\tif (this.owner)\n\t\t\tconnect(this.owner, 'name', this, 'updateLabel')\n\t\tthis.oldOwner = this.owner\n\t}\n\tvar name = (this.owner ? this.owner.name : \"no owner\")\n\tif (this.textString != name)\n\tthis.setTextString(name)\n}","funcProperties":{"__isSmartRef__":true,"id":7464},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7463":{"this":{"__isSmartRef__":true,"id":7444}},"7464":{},"7465":{"varMapping":{"__isSmartRef__":true,"id":7466},"source":"function renameOwner(name) {\n\tif (this.owner && this.owner.name != name) {\n\t\talertOK(\"renamed \" + this.owner + \" to \" + name)\n\t\tthis.owner.setName(name);\n\t}\n}","funcProperties":{"__isSmartRef__":true,"id":7467},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7466":{"this":{"__isSmartRef__":true,"id":7444}},"7467":{},"7468":{"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(116.7,82.3)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgba(204,204,204,0.5)","_Padding":"lively.rect(0,0,0,0)"},"7469":{"partsSpaceName":"PartsBin/Basic","comment":"A simple box morph. A really orange one. Its amazing what you can build out of simple boxes.... Who needs stars when you got orange rectangles!","migrationLevel":4,"partName":"Rectangle","changes":[{"__isSmartRef__":true,"id":7470},{"__isSmartRef__":true,"id":7472},{"__isSmartRef__":true,"id":7474},{"__isSmartRef__":true,"id":7476},{"__isSmartRef__":true,"id":7478},{"__isSmartRef__":true,"id":7480},{"__isSmartRef__":true,"id":7482},{"__isSmartRef__":true,"id":7484}],"lastModifiedDate":{"__isSmartRef__":true,"id":7486},"revisionOnLoad":184624,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"7470":{"date":{"__isSmartRef__":true,"id":7471},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"7471":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"7472":{"date":{"__isSmartRef__":true,"id":7473},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"7473":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"7474":{"date":{"__isSmartRef__":true,"id":7475},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"7475":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"7476":{"date":{"__isSmartRef__":true,"id":7477},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"7477":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"7478":{"date":{"__isSmartRef__":true,"id":7479},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"7479":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"7480":{"date":{"__isSmartRef__":true,"id":7481},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"7481":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"7482":{"date":{"__isSmartRef__":true,"id":7483},"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8"},"7483":{"isSerializedDate":true,"string":"Mon Jun 18 2012 19:35:08 GMT+0200 (CEST)"},"7484":{"date":{"__isSmartRef__":true,"id":7485},"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205"},"7485":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:35:51 GMT+0100 (CET)"},"7486":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:33:25 GMT+0100 (CET)"},"7487":{"morph":{"__isSmartRef__":true,"id":7443},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"7488":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":7489}},"7489":{"test01IsMorph":{"__isSmartRef__":true,"id":7490}},"7490":{"varMapping":{"__isSmartRef__":true,"id":7491},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":7492},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7491":{"this":{"__isSmartRef__":true,"id":7488}},"7492":{},"7493":{"morph":{"__isSmartRef__":true,"id":7443},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(680.5,3475.2)"},"7494":{"morph":{"__isSmartRef__":true,"id":7443},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(735.0,3454.5)"},"7495":{"morph":{"__isSmartRef__":true,"id":7443},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(789.6,3433.8)"},"7496":{"morph":{"__isSmartRef__":true,"id":7443},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(804.2,3472.2)"},"7497":{"morph":{"__isSmartRef__":true,"id":7443},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(818.8,3510.7)"},"7498":{"morph":{"__isSmartRef__":true,"id":7443},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(764.3,3531.4)"},"7499":{"morph":{"__isSmartRef__":true,"id":7443},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(709.7,3552.2)"},"7500":{"morph":{"__isSmartRef__":true,"id":7443},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(695.1,3513.7)"},"7501":{"sourceObj":{"__isSmartRef__":true,"id":7443},"sourceAttrName":"name","targetObj":{"__isSmartRef__":true,"id":7444},"targetMethodName":"updateLabel","varMapping":{"__isSmartRef__":true,"id":7502},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7502":{"source":{"__isSmartRef__":true,"id":7443},"target":{"__isSmartRef__":true,"id":7444}},"7503":{"sourceObj":{"__isSmartRef__":true,"id":7443},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":7433},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":7504},"dependendConnections":[{"__isSmartRef__":true,"id":7505},{"__isSmartRef__":true,"id":7507},{"__isSmartRef__":true,"id":7509},{"__isSmartRef__":true,"id":7511}],"oldTransform":{"__isSmartRef__":true,"id":7513},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"7504":{"source":{"__isSmartRef__":true,"id":7443},"target":{"__isSmartRef__":true,"id":7433}},"7505":{"sourceObj":{"__isSmartRef__":true,"id":7443},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":7503},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":7506},"dependedBy":{"__isSmartRef__":true,"id":7503},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7506":{"source":{"__isSmartRef__":true,"id":7443},"target":{"__isSmartRef__":true,"id":7503}},"7507":{"sourceObj":{"__isSmartRef__":true,"id":7443},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":7503},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":7508},"dependedBy":{"__isSmartRef__":true,"id":7503},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7508":{"source":{"__isSmartRef__":true,"id":7443},"target":{"__isSmartRef__":true,"id":7503}},"7509":{"sourceObj":{"__isSmartRef__":true,"id":7443},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":7503},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":7510},"dependedBy":{"__isSmartRef__":true,"id":7503},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7510":{"source":{"__isSmartRef__":true,"id":7443},"target":{"__isSmartRef__":true,"id":7503}},"7511":{"sourceObj":{"__isSmartRef__":true,"id":7443},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":7503},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":7512},"dependedBy":{"__isSmartRef__":true,"id":7503},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7512":{"source":{"__isSmartRef__":true,"id":7443},"target":{"__isSmartRef__":true,"id":7503}},"7513":{"d":0.9347623017725522,"a":0.9347623017725522,"f":3485.245045045044,"e":728.5390390390387,"c":0.3552737524570028,"b":-0.3552737524570028,"matrix_":{"__isSmartRef__":true,"id":7514},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"7514":{"a":0.9347623017725522,"b":-0.3552737524570028,"c":0.3552737524570028,"d":0.9347623017725522,"e":728.5390390390387,"f":3485.245045045044,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"7515":{"sourceObj":{"__isSmartRef__":true,"id":7443},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":7516},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":7628},"dependendConnections":[{"__isSmartRef__":true,"id":7629},{"__isSmartRef__":true,"id":7631},{"__isSmartRef__":true,"id":7633},{"__isSmartRef__":true,"id":7635}],"oldTransform":{"__isSmartRef__":true,"id":7637},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"7516":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":7517},"id":"4809CC50-2A92-4A4F-9D0D-829B6BA12A0B","eventHandler":{"__isSmartRef__":true,"id":7520},"__layered_droppingEnabled__":true,"halosEnabled":true,"isBeingDragged":false,"controlPoints":[{"__isSmartRef__":true,"id":7521},{"__isSmartRef__":true,"id":7522}],"showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":7523},"name":"Connector1","derivationIds":[731,"5E6BD741-9C99-47B9-95C1-7A028178DB17","A8D5C37A-F23F-47FE-8DE2-211CE4484A4F","F722069B-8602-4E8D-BE3F-92A1E0C0EF28","D5ED19F9-968E-4C7E-9936-69F2735A813F","A9E370BC-F208-425C-BFFC-F8D6BB52E11F","4E431641-D056-46CB-B2A8-6626382EF423"],"_ClipMode":"visible","controlPointsHalos":[],"prevScroll":[0,0],"grabbingEnabled":false,"moved":true,"#startLetters":"controlPoints[0]","fromMorph":{"__isSmartRef__":true,"id":7443},"toMorph":{"__isSmartRef__":true,"id":3202},"update":{"__isSmartRef__":true,"id":7529},"isCopyMorphRef":true,"morphRefId":2,"selectedMorph":{"__isSmartRef__":true,"id":3202},"selectedMorphHighlights":[],"owner":null,"_Rotation":0,"_Scale":1,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":7531},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","distanceToDragEvent":"lively.pt(295.7,-20.8)","_Position":"lively.pt(10527.5,52997.9)"},"7517":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":7518},{"__isSmartRef__":true,"id":7519}],"_ClipMode":"visible","_BorderWidth":3.1119999999999997,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Padding","_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(-75.9,-6.9)","_Extent":"lively.pt(151.7,13.9)","_BorderColor":"Color.rgb(161,161,161)"},"7518":{"isAbsolute":true,"x":74.86198803712648,"y":-4.949983532278566,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"7519":{"isAbsolute":true,"x":-73.86198803712614,"y":5.949983532282204,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"7520":{"morph":{"__isSmartRef__":true,"id":7516},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"7521":{"morph":{"__isSmartRef__":true,"id":7516},"index":0,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"7522":{"morph":{"__isSmartRef__":true,"id":7516},"index":1,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"7523":{"requiredModules":[],"migrationLevel":4,"partsSpaceName":"PartsBin/Jens/","comment":"Yes, I think I got it again: Powerful and nice connectors.\nThis time 100 % Part only!","partName":"Connector","lastModifiedDate":{"__isSmartRef__":true,"id":7524},"revisionOnLoad":186829,"changes":[{"__isSmartRef__":true,"id":7525},{"__isSmartRef__":true,"id":7527}],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"7524":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:04:50 GMT+0100 (CET)"},"7525":{"date":{"__isSmartRef__":true,"id":7526},"author":"jenslincke","message":"no comment","id":"28165CED-C8C5-4B8E-9655-645E3F5099BB"},"7526":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:42 GMT+0100 (CET)"},"7527":{"date":{"__isSmartRef__":true,"id":7528},"author":"jenslincke","message":"no comment","id":"117C964B-9768-48F2-8EC8-D4328478198F"},"7528":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:05:07 GMT+0100 (CET)"},"7529":{"d":1,"a":1,"f":906.1,"e":107.8,"c":0,"b":0,"matrix_":{"__isSmartRef__":true,"id":7530},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"7530":{"a":1,"b":0,"c":0,"d":1,"e":107.8,"f":906.1,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"7531":{"connect":{"__isSmartRef__":true,"id":7532},"updatePosition":{"__isSmartRef__":true,"id":7536},"updateControlPoint":{"__isSmartRef__":true,"id":7540},"disconnectMorph":{"__isSmartRef__":true,"id":7544},"connectMorph":{"__isSmartRef__":true,"id":7548},"onMouseOver":{"__isSmartRef__":true,"id":7552},"onMouseOut":{"__isSmartRef__":true,"id":7556},"makeHandle":{"__isSmartRef__":true,"id":7564},"showFromHandle":{"__isSmartRef__":true,"id":7568},"showToHandle":{"__isSmartRef__":true,"id":7572},"reset":{"__isSmartRef__":true,"id":7576},"onDragInHandle":{"__isSmartRef__":true,"id":7580},"onDragStartInHandle":{"__isSmartRef__":true,"id":7584},"onDragEndInHandle":{"__isSmartRef__":true,"id":7588},"connectFrom":{"__isSmartRef__":true,"id":7592},"connectTo":{"__isSmartRef__":true,"id":7596},"hideToHandle":{"__isSmartRef__":true,"id":7600},"hideFromHandle":{"__isSmartRef__":true,"id":7604},"updateIntersection":{"__isSmartRef__":true,"id":7608},"lineIntersect":{"__isSmartRef__":true,"id":7612},"intersectMorphLinePoints":{"__isSmartRef__":true,"id":7616},"intersectMorph":{"__isSmartRef__":true,"id":7620},"globalShapePathFromMorph":{"__isSmartRef__":true,"id":7624}},"7532":{"varMapping":{"__isSmartRef__":true,"id":7533},"source":"function connect(morphA, morphB) {\n this.connectFrom(morphA)\n this.connectTo(morphB)\n this.updatePosition()\n}","funcProperties":{"__isSmartRef__":true,"id":7534},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7533":{"this":{"__isSmartRef__":true,"id":7516}},"7534":{"timestamp":{"__isSmartRef__":true,"id":7535},"user":"jenslincke","tags":[]},"7535":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:50:49 GMT+0100 (CET)"},"7536":{"varMapping":{"__isSmartRef__":true,"id":7537},"source":"function updatePosition() {\n this.updateControlPoint(this.controlPoints[0], this.fromMorph)\n this.updateControlPoint(this.controlPoints[1], this.toMorph)\n this.updateIntersection(this.fromMorph, this.controlPoints[0])\n this.updateIntersection(this.toMorph, this.controlPoints[1])\n\n this.adjustOrigin(this.bounds().extent().scaleBy(0.5))\n}","funcProperties":{"__isSmartRef__":true,"id":7538},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7537":{"this":{"__isSmartRef__":true,"id":7516}},"7538":{"timestamp":{"__isSmartRef__":true,"id":7539},"user":"jenslincke","tags":[]},"7539":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:06:20 GMT+0100 (CET)"},"7540":{"varMapping":{"__isSmartRef__":true,"id":7541},"source":"function updateControlPoint(cp, morph) {\n if (!cp || !morph) return;\n cp.setGlobalPos(morph.worldPoint(morph.shape.bounds().center()))\n}","funcProperties":{"__isSmartRef__":true,"id":7542},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7541":{"this":{"__isSmartRef__":true,"id":7516}},"7542":{"timestamp":{"__isSmartRef__":true,"id":7543},"user":"jenslincke","tags":[]},"7543":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:45:56 GMT+0100 (CET)"},"7544":{"varMapping":{"__isSmartRef__":true,"id":7545},"source":"function disconnectMorph(morph) {\n if (!morph) return;\n lively.bindings.disconnect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":7546},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7545":{"this":{"__isSmartRef__":true,"id":7516}},"7546":{"timestamp":{"__isSmartRef__":true,"id":7547},"user":"jenslincke","tags":[]},"7547":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:19:18 GMT+0100 (CET)"},"7548":{"varMapping":{"__isSmartRef__":true,"id":7549},"source":"function connectMorph(morph) {\n if (morph)\n lively.bindings.connect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":7550},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7549":{"this":{"__isSmartRef__":true,"id":7516}},"7550":{"timestamp":{"__isSmartRef__":true,"id":7551},"user":"jenslincke","tags":[]},"7551":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:52:12 GMT+0100 (CET)"},"7552":{"varMapping":{"__isSmartRef__":true,"id":7553},"source":"function onMouseOver(evt) {\n var p = evt.mousePoint.scaleBy(this.world().getScale())\n\n var cp1 = this.controlPoints[0].getGlobalPos();\n if (p.dist(cp1) < 20) {\n this.showFromHandle()\n } else {\n this.hideFromHandle()\n }\n var cp2 = this.controlPoints[1].getGlobalPos();\n if (p.dist(cp2) < 20) {\n this.showToHandle()\n } else {\n this.hideToHandle()\n }\n}","funcProperties":{"__isSmartRef__":true,"id":7554},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7553":{"this":{"__isSmartRef__":true,"id":7516}},"7554":{"timestamp":{"__isSmartRef__":true,"id":7555},"user":"jenslincke","tags":[]},"7555":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:23:03 GMT+0100 (CET)"},"7556":{"varMapping":{"__isSmartRef__":true,"id":7557},"source":"function onMouseOut(evt) {\n // this.hideFromHandle()\n // this.hideToHandle()\n}","funcProperties":{"__isSmartRef__":true,"id":7562},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7557":{"this":{"__isSmartRef__":true,"id":7516},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":7558}},"7558":{"$super":{"__isSmartRef__":true,"id":7559}},"7559":{"varMapping":{"__isSmartRef__":true,"id":7560},"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":7561},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7560":{"obj":{"__isSmartRef__":true,"id":7516},"name":"onMouseOut"},"7561":{},"7562":{"timestamp":{"__isSmartRef__":true,"id":7563},"user":"jenslincke","tags":[]},"7563":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:54:53 GMT+0100 (CET)"},"7564":{"varMapping":{"__isSmartRef__":true,"id":7565},"source":"function makeHandle() {\n var m = lively.morphic.Morph.makeRectangle(0,0,10,10);\n m.disableGrabbing()\n m.enableDragging()\n m.connector = this;\n // move real behavior to a place which is easier to develop\n // do not use bind, because we like late binding \n m.addScript(function onDragStart(evt) {\n this.connector.onDragStartInHandle(this, evt)\n })\n m.addScript(function onDrag(evt) {\n this.connector.onDragInHandle(this, evt)\n })\n m.addScript(function onDragEnd(evt) {\n this.connector.onDragEndInHandle(this, evt)\n })\n m.isEpiMorph = true;\n return m\n}","funcProperties":{"__isSmartRef__":true,"id":7566},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7565":{"this":{"__isSmartRef__":true,"id":7516}},"7566":{"timestamp":{"__isSmartRef__":true,"id":7567},"user":"jenslincke","tags":[]},"7567":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:08:29 GMT+0100 (CET)"},"7568":{"varMapping":{"__isSmartRef__":true,"id":7569},"source":"function showFromHandle() {\n if (!this.fromHandle) {\n this.fromHandle = this.makeHandle();\n this.fromHandle.setFill(Color.red)\n this.fromHandle.isFromHandle = true;\n }\n this.fromHandle.openInWorld();\n this.fromHandle.controlPoint = this.controlPoints[0];\n this.fromHandle.setPosition(this.controlPoints[0].getGlobalPos().subPt(pt(5,5)))\n return this.fromHandle\n}","funcProperties":{"__isSmartRef__":true,"id":7570},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7569":{"this":{"__isSmartRef__":true,"id":7516}},"7570":{"timestamp":{"__isSmartRef__":true,"id":7571},"user":"jenslincke","tags":[]},"7571":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:13:03 GMT+0100 (CET)"},"7572":{"varMapping":{"__isSmartRef__":true,"id":7573},"source":"function showToHandle() {\n if (!this.toHandle) {\n this.toHandle = this.makeHandle();\n this.toHandle.setFill(Color.red)\n this.toHandle.isToHandle = true;\n\n }\n this.toHandle.openInWorld();\n this.toHandle.controlPoint = this.controlPoints[1];\n this.toHandle.setPosition(this.controlPoints[1].getGlobalPos().subPt(pt(5,5)))\n return this.toHandle\n}","funcProperties":{"__isSmartRef__":true,"id":7574},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7573":{"this":{"__isSmartRef__":true,"id":7516}},"7574":{"timestamp":{"__isSmartRef__":true,"id":7575},"user":"jenslincke","tags":[]},"7575":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:20:25 GMT+0100 (CET)"},"7576":{"varMapping":{"__isSmartRef__":true,"id":7577},"source":"function reset() {\n if (this.fromHandle) {\n this.fromHandle.remove()\n delete this.fromHandle\n }\n if (this.toHandle) {\n this.toHandle.remove()\n delete this.toHandle\n }\n // this.controlPoints[1].setPos(pt(200,200))\n}","funcProperties":{"__isSmartRef__":true,"id":7578},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7577":{"this":{"__isSmartRef__":true,"id":7516}},"7578":{"timestamp":{"__isSmartRef__":true,"id":7579},"user":"jenslincke","tags":[]},"7579":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:15:00 GMT+0100 (CET)"},"7580":{"varMapping":{"__isSmartRef__":true,"id":7581},"source":"function onDragInHandle(handle, evt) {\n\n var pos = handle.getPositionInWorld();\n var delta = evt.hand.getPosition().subPt(pos);\n handle.moveBy(delta)\n pos = handle.getPositionInWorld();\n if (handle.controlPoint)\n handle.controlPoint.setGlobalPos(pos.addPt(pt(5,5)))\n var morphs = this.owner.morphsContainingPoint(pos)\n morphs = morphs.reject(function(ea) {\n return ea.isWorld || (ea === handle) || (ea === this) || \n (ea === this.owner)\n }, this)\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n this.selectedMorph = morphs.first();\n this.selectedMorphHighlights = show(this.selectedMorph)\n handle.startPos = evt.getPosition();\n}","funcProperties":{"__isSmartRef__":true,"id":7582},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7581":{"this":{"__isSmartRef__":true,"id":7516}},"7582":{"timestamp":{"__isSmartRef__":true,"id":7583},"user":"jenslincke","tags":[]},"7583":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:06:40 GMT+0100 (CET)"},"7584":{"varMapping":{"__isSmartRef__":true,"id":7585},"source":"function onDragStartInHandle(handle, evt) {\n handle.startPos = evt.getPosition()\n}","funcProperties":{"__isSmartRef__":true,"id":7586},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7585":{"this":{"__isSmartRef__":true,"id":7516}},"7586":{"timestamp":{"__isSmartRef__":true,"id":7587},"user":"jenslincke","tags":[]},"7587":{"isSerializedDate":true,"string":"Thu Dec 13 2012 15:51:13 GMT+0100 (CET)"},"7588":{"varMapping":{"__isSmartRef__":true,"id":7589},"source":"function onDragEndInHandle(handle, evt) {\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n \n if (handle.isFromHandle) this.connectFrom(this.selectedMorph)\n if (handle.isToHandle) this.connectTo(this.selectedMorph)\n handle.remove()\n}","funcProperties":{"__isSmartRef__":true,"id":7590},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7589":{"this":{"__isSmartRef__":true,"id":7516}},"7590":{"timestamp":{"__isSmartRef__":true,"id":7591},"user":"jenslincke","tags":[]},"7591":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:44:35 GMT+0100 (CET)"},"7592":{"varMapping":{"__isSmartRef__":true,"id":7593},"source":"function connectFrom(morph) {\n if (morph && morph === this.toMorph) return; // not allowed\n\n this.disconnectMorph(this.fromMorph)\n this.fromMorph = morph;\n this.connectMorph(this.fromMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":7594},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7593":{"this":{"__isSmartRef__":true,"id":7516}},"7594":{"timestamp":{"__isSmartRef__":true,"id":7595},"user":"jenslincke","tags":[]},"7595":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:02:22 GMT+0100 (CET)"},"7596":{"varMapping":{"__isSmartRef__":true,"id":7597},"source":"function connectTo(morph) {\n\n if (morph && morph === this.fromMorph) return; // not allowed\n\n this.disconnectMorph(this.toMorph)\n this.toMorph = morph;\n this.connectMorph(this.toMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":7598},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7597":{"this":{"__isSmartRef__":true,"id":7516}},"7598":{"timestamp":{"__isSmartRef__":true,"id":7599},"user":"jenslincke","tags":[]},"7599":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:02:30 GMT+0100 (CET)"},"7600":{"varMapping":{"__isSmartRef__":true,"id":7601},"source":"function hideToHandle() {\n if (this.toHandle) {\n this.toHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":7602},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7601":{"this":{"__isSmartRef__":true,"id":7516}},"7602":{"timestamp":{"__isSmartRef__":true,"id":7603},"user":"jenslincke","tags":[]},"7603":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:51:59 GMT+0100 (CET)"},"7604":{"varMapping":{"__isSmartRef__":true,"id":7605},"source":"function hideFromHandle() {\n if (this.fromHandle) {\n this.fromHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":7606},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7605":{"this":{"__isSmartRef__":true,"id":7516}},"7606":{"timestamp":{"__isSmartRef__":true,"id":7607},"user":"jenslincke","tags":[]},"7607":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:52:18 GMT+0100 (CET)"},"7608":{"varMapping":{"__isSmartRef__":true,"id":7609},"source":"function updateIntersection(morph, cp) {\n if (!morph) return;\n var intersection = this.intersectMorph(morph)[0];\n if (intersection) {\n cp.setGlobalPos(intersection);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":7610},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7609":{"this":{"__isSmartRef__":true,"id":7516}},"7610":{"timestamp":{"__isSmartRef__":true,"id":7611},"user":"jenslincke","tags":[]},"7611":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:32 GMT+0100 (CET)"},"7612":{"varMapping":{"__isSmartRef__":true,"id":7613},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":7614},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7613":{"this":{"__isSmartRef__":true,"id":7516}},"7614":{"timestamp":{"__isSmartRef__":true,"id":7615},"user":"jenslincke","tags":[]},"7615":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:47:12 GMT+0100 (CET)"},"7616":{"varMapping":{"__isSmartRef__":true,"id":7617},"source":"function intersectMorphLinePoints(morph, a1, a2) {\n var points = this.globalShapePathFromMorph(morph);\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":7618},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7617":{"this":{"__isSmartRef__":true,"id":7516}},"7618":{"timestamp":{"__isSmartRef__":true,"id":7619},"user":"jenslincke","tags":[]},"7619":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:21 GMT+0100 (CET)"},"7620":{"varMapping":{"__isSmartRef__":true,"id":7621},"source":"function intersectMorph(morph) {\n var line = this;\n return this.intersectMorphLinePoints(morph,\n line.controlPoints[0].getGlobalPos(), line.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":7622},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7621":{"this":{"__isSmartRef__":true,"id":7516}},"7622":{"timestamp":{"__isSmartRef__":true,"id":7623},"user":"jenslincke","tags":[]},"7623":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:47 GMT+0100 (CET)"},"7624":{"varMapping":{"__isSmartRef__":true,"id":7625},"source":"function globalShapePathFromMorph(morph) {\n var b = morph.shape.bounds();\n var p1 = morph.worldPoint(b.topLeft()),\n p2 = morph.worldPoint(b.topRight()),\n p3 = morph.worldPoint(b.bottomRight()),\n p4 = morph.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":7626},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7625":{"this":{"__isSmartRef__":true,"id":7516}},"7626":{"timestamp":{"__isSmartRef__":true,"id":7627},"user":"jenslincke","tags":[]},"7627":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:00 GMT+0100 (CET)"},"7628":{"source":{"__isSmartRef__":true,"id":7443},"target":{"__isSmartRef__":true,"id":7516}},"7629":{"sourceObj":{"__isSmartRef__":true,"id":7443},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":7515},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":7630},"dependedBy":{"__isSmartRef__":true,"id":7515},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7630":{"source":{"__isSmartRef__":true,"id":7443},"target":{"__isSmartRef__":true,"id":7515}},"7631":{"sourceObj":{"__isSmartRef__":true,"id":7443},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":7515},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":7632},"dependedBy":{"__isSmartRef__":true,"id":7515},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7632":{"source":{"__isSmartRef__":true,"id":7443},"target":{"__isSmartRef__":true,"id":7515}},"7633":{"sourceObj":{"__isSmartRef__":true,"id":7443},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":7515},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":7634},"dependedBy":{"__isSmartRef__":true,"id":7515},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7634":{"source":{"__isSmartRef__":true,"id":7443},"target":{"__isSmartRef__":true,"id":7515}},"7635":{"sourceObj":{"__isSmartRef__":true,"id":7443},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":7515},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":7636},"dependedBy":{"__isSmartRef__":true,"id":7515},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7636":{"source":{"__isSmartRef__":true,"id":7443},"target":{"__isSmartRef__":true,"id":7515}},"7637":{"d":0.9347623017725522,"a":0.9347623017725522,"f":3485.245045045044,"e":728.5390390390387,"c":0.3552737524570028,"b":-0.3552737524570028,"matrix_":{"__isSmartRef__":true,"id":7638},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"7638":{"a":0.9347623017725522,"b":-0.3552737524570028,"c":0.3552737524570028,"d":0.9347623017725522,"e":728.5390390390387,"f":3485.245045045044,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"7639":{"globalShapePath":{"__isSmartRef__":true,"id":7640},"lineIntersect":{"__isSmartRef__":true,"id":7643},"intersectLine":{"__isSmartRef__":true,"id":7647},"intersectLineMorph":{"__isSmartRef__":true,"id":7650}},"7640":{"varMapping":{"__isSmartRef__":true,"id":7641},"source":"function globalShapePath() {\n var b = this.shape.bounds();\n var p1 = this.worldPoint(b.topLeft()),\n p2 = this.worldPoint(b.topRight()),\n p3 = this.worldPoint(b.bottomRight()),\n p4 = this.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":7642},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7641":{"this":{"__isSmartRef__":true,"id":7443}},"7642":{},"7643":{"varMapping":{"__isSmartRef__":true,"id":7644},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":7645},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7644":{"this":{"__isSmartRef__":true,"id":7443}},"7645":{"timestamp":{"__isSmartRef__":true,"id":7646},"user":"jenslincke","tags":[]},"7646":{"isSerializedDate":true,"string":"Thu Dec 13 2012 13:42:55 GMT+0100 (CET)"},"7647":{"varMapping":{"__isSmartRef__":true,"id":7648},"source":"function intersectLine(a1, a2) {\n var points = this.globalShapePath();\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":7649},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7648":{"this":{"__isSmartRef__":true,"id":7443}},"7649":{},"7650":{"varMapping":{"__isSmartRef__":true,"id":7651},"source":"function intersectLineMorph(m) {\n return this.intersectLine(m.controlPoints[0].getGlobalPos(), m.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":7652},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7651":{"this":{"__isSmartRef__":true,"id":7443}},"7652":{},"7653":{"d":1,"a":1,"f":906.1,"e":107.8,"c":0,"b":0,"matrix_":{"__isSmartRef__":true,"id":7654},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"7654":{"a":1,"b":0,"c":0,"d":1,"e":107.8,"f":906.1,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"7655":{"connect":{"__isSmartRef__":true,"id":7656},"updatePosition":{"__isSmartRef__":true,"id":7660},"updateControlPoint":{"__isSmartRef__":true,"id":7664},"disconnectMorph":{"__isSmartRef__":true,"id":7668},"connectMorph":{"__isSmartRef__":true,"id":7672},"onMouseOver":{"__isSmartRef__":true,"id":7676},"onMouseOut":{"__isSmartRef__":true,"id":7680},"makeHandle":{"__isSmartRef__":true,"id":7688},"showFromHandle":{"__isSmartRef__":true,"id":7692},"showToHandle":{"__isSmartRef__":true,"id":7696},"reset":{"__isSmartRef__":true,"id":7700},"onDragInHandle":{"__isSmartRef__":true,"id":7704},"onDragStartInHandle":{"__isSmartRef__":true,"id":7708},"onDragEndInHandle":{"__isSmartRef__":true,"id":7712},"connectFrom":{"__isSmartRef__":true,"id":7716},"connectTo":{"__isSmartRef__":true,"id":7720},"hideToHandle":{"__isSmartRef__":true,"id":7724},"hideFromHandle":{"__isSmartRef__":true,"id":7728},"updateIntersection":{"__isSmartRef__":true,"id":7732},"lineIntersect":{"__isSmartRef__":true,"id":7736},"intersectMorphLinePoints":{"__isSmartRef__":true,"id":7740},"intersectMorph":{"__isSmartRef__":true,"id":7744},"globalShapePathFromMorph":{"__isSmartRef__":true,"id":7748}},"7656":{"varMapping":{"__isSmartRef__":true,"id":7657},"source":"function connect(morphA, morphB) {\n this.connectFrom(morphA)\n this.connectTo(morphB)\n this.updatePosition()\n}","funcProperties":{"__isSmartRef__":true,"id":7658},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7657":{"this":{"__isSmartRef__":true,"id":7433}},"7658":{"timestamp":{"__isSmartRef__":true,"id":7659},"user":"jenslincke","tags":[]},"7659":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:50:49 GMT+0100 (CET)"},"7660":{"varMapping":{"__isSmartRef__":true,"id":7661},"source":"function updatePosition() {\n this.updateControlPoint(this.controlPoints[0], this.fromMorph)\n this.updateControlPoint(this.controlPoints[1], this.toMorph)\n this.updateIntersection(this.fromMorph, this.controlPoints[0])\n this.updateIntersection(this.toMorph, this.controlPoints[1])\n\n if (this.controlPoints[0].getPos().equalPt(this.controlPoints[1].getPos()))\n this.controlPoints[1].setPos(this.controlPoints[1].getPos().addPt(pt(30,0)))\n\n this.adjustOrigin(this.bounds().extent().scaleBy(0.5))\n \n}","funcProperties":{"__isSmartRef__":true,"id":7662},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7661":{"this":{"__isSmartRef__":true,"id":7433}},"7662":{"timestamp":{"__isSmartRef__":true,"id":7663},"user":"jenslincke","tags":[]},"7663":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:59:26 GMT+0100 (CET)"},"7664":{"varMapping":{"__isSmartRef__":true,"id":7665},"source":"function updateControlPoint(cp, morph) {\n if (!cp || !morph) return;\n cp.setGlobalPos(morph.worldPoint(morph.shape.bounds().center()))\n}","funcProperties":{"__isSmartRef__":true,"id":7666},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7665":{"this":{"__isSmartRef__":true,"id":7433}},"7666":{"timestamp":{"__isSmartRef__":true,"id":7667},"user":"jenslincke","tags":[]},"7667":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:45:56 GMT+0100 (CET)"},"7668":{"varMapping":{"__isSmartRef__":true,"id":7669},"source":"function disconnectMorph(morph) {\n if (!morph) return;\n lively.bindings.disconnect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":7670},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7669":{"this":{"__isSmartRef__":true,"id":7433}},"7670":{"timestamp":{"__isSmartRef__":true,"id":7671},"user":"jenslincke","tags":[]},"7671":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:19:18 GMT+0100 (CET)"},"7672":{"varMapping":{"__isSmartRef__":true,"id":7673},"source":"function connectMorph(morph) {\n if (morph)\n lively.bindings.connect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":7674},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7673":{"this":{"__isSmartRef__":true,"id":7433}},"7674":{"timestamp":{"__isSmartRef__":true,"id":7675},"user":"jenslincke","tags":[]},"7675":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:52:12 GMT+0100 (CET)"},"7676":{"varMapping":{"__isSmartRef__":true,"id":7677},"source":"function onMouseOver(evt) {\n var p = evt.mousePoint.scaleBy(this.world().getScale())\n\n var cp1 = this.controlPoints[0].getGlobalPos();\n if (p.dist(cp1) < 20) {\n this.showFromHandle()\n } else {\n this.hideFromHandle()\n }\n var cp2 = this.controlPoints[1].getGlobalPos();\n if (p.dist(cp2) < 20) {\n this.showToHandle()\n } else {\n this.hideToHandle()\n }\n}","funcProperties":{"__isSmartRef__":true,"id":7678},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7677":{"this":{"__isSmartRef__":true,"id":7433}},"7678":{"timestamp":{"__isSmartRef__":true,"id":7679},"user":"jenslincke","tags":[]},"7679":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:23:03 GMT+0100 (CET)"},"7680":{"varMapping":{"__isSmartRef__":true,"id":7681},"source":"function onMouseOut(evt) {\n // this.hideFromHandle()\n // this.hideToHandle()\n}","funcProperties":{"__isSmartRef__":true,"id":7686},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7681":{"this":{"__isSmartRef__":true,"id":7433},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":7682}},"7682":{"$super":{"__isSmartRef__":true,"id":7683}},"7683":{"varMapping":{"__isSmartRef__":true,"id":7684},"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":7685},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7684":{"obj":{"__isSmartRef__":true,"id":7433},"name":"onMouseOut"},"7685":{},"7686":{"timestamp":{"__isSmartRef__":true,"id":7687},"user":"jenslincke","tags":[]},"7687":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:54:53 GMT+0100 (CET)"},"7688":{"varMapping":{"__isSmartRef__":true,"id":7689},"source":"function makeHandle() {\n var m = lively.morphic.Morph.makeRectangle(0,0,10,10);\n m.disableGrabbing()\n m.enableDragging()\n m.connector = this;\n // move real behavior to a place which is easier to develop\n // do not use bind, because we like late binding \n m.addScript(function onDragStart(evt) {\n this.connector.onDragStartInHandle(this, evt)\n })\n m.addScript(function onDrag(evt) {\n this.connector.onDragInHandle(this, evt)\n })\n m.addScript(function onDragEnd(evt) {\n this.connector.onDragEndInHandle(this, evt)\n })\n m.isEpiMorph = true;\n return m\n}","funcProperties":{"__isSmartRef__":true,"id":7690},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7689":{"this":{"__isSmartRef__":true,"id":7433}},"7690":{"timestamp":{"__isSmartRef__":true,"id":7691},"user":"jenslincke","tags":[]},"7691":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:08:29 GMT+0100 (CET)"},"7692":{"varMapping":{"__isSmartRef__":true,"id":7693},"source":"function showFromHandle() {\n if (!this.fromHandle) {\n this.fromHandle = this.makeHandle();\n this.fromHandle.setFill(Color.red)\n this.fromHandle.isFromHandle = true;\n }\n this.fromHandle.openInWorld();\n this.fromHandle.controlPoint = this.controlPoints[0];\n this.fromHandle.setPosition(this.controlPoints[0].getGlobalPos().subPt(pt(5,5)))\n return this.fromHandle\n}","funcProperties":{"__isSmartRef__":true,"id":7694},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7693":{"this":{"__isSmartRef__":true,"id":7433}},"7694":{"timestamp":{"__isSmartRef__":true,"id":7695},"user":"jenslincke","tags":[]},"7695":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:13:03 GMT+0100 (CET)"},"7696":{"varMapping":{"__isSmartRef__":true,"id":7697},"source":"function showToHandle() {\n if (!this.toHandle) {\n this.toHandle = this.makeHandle();\n this.toHandle.setFill(Color.red)\n this.toHandle.isToHandle = true;\n\n }\n this.toHandle.openInWorld();\n this.toHandle.controlPoint = this.controlPoints[1];\n this.toHandle.setPosition(this.controlPoints[1].getGlobalPos().subPt(pt(5,5)))\n return this.toHandle\n}","funcProperties":{"__isSmartRef__":true,"id":7698},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7697":{"this":{"__isSmartRef__":true,"id":7433}},"7698":{"timestamp":{"__isSmartRef__":true,"id":7699},"user":"jenslincke","tags":[]},"7699":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:20:25 GMT+0100 (CET)"},"7700":{"varMapping":{"__isSmartRef__":true,"id":7701},"source":"function reset() {\n if (this.fromHandle) {\n this.fromHandle.remove()\n delete this.fromHandle\n }\n if (this.toHandle) {\n this.toHandle.remove()\n delete this.toHandle\n }\n // this.controlPoints[1].setPos(pt(200,200))\n}","funcProperties":{"__isSmartRef__":true,"id":7702},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7701":{"this":{"__isSmartRef__":true,"id":7433}},"7702":{"timestamp":{"__isSmartRef__":true,"id":7703},"user":"jenslincke","tags":[]},"7703":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:15:00 GMT+0100 (CET)"},"7704":{"varMapping":{"__isSmartRef__":true,"id":7705},"source":"function onDragInHandle(handle, evt) {\n\n var pos = handle.getPositionInWorld();\n var delta = evt.hand.getPosition().subPt(pos);\n handle.moveBy(delta)\n pos = handle.getPositionInWorld();\n if (handle.controlPoint)\n handle.controlPoint.setGlobalPos(pos.addPt(pt(5,5)))\n var morphs = this.owner.morphsContainingPoint(pos)\n morphs = morphs.reject(function(ea) {\n return ea.isWorld || (ea === handle) || (ea === this) || \n (ea === this.owner)\n }, this)\n this.get('Console').textString = morphs\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n this.selectedMorph = morphs.first();\n this.selectedMorphHighlights = show(this.selectedMorph)\n handle.startPos = evt.getPosition();\n}","funcProperties":{"__isSmartRef__":true,"id":7706},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7705":{"this":{"__isSmartRef__":true,"id":7433}},"7706":{"timestamp":{"__isSmartRef__":true,"id":7707},"user":"jenslincke","tags":[]},"7707":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:09:40 GMT+0100 (CET)"},"7708":{"varMapping":{"__isSmartRef__":true,"id":7709},"source":"function onDragStartInHandle(handle, evt) {\n handle.startPos = evt.getPosition()\n}","funcProperties":{"__isSmartRef__":true,"id":7710},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7709":{"this":{"__isSmartRef__":true,"id":7433}},"7710":{"timestamp":{"__isSmartRef__":true,"id":7711},"user":"jenslincke","tags":[]},"7711":{"isSerializedDate":true,"string":"Thu Dec 13 2012 15:51:13 GMT+0100 (CET)"},"7712":{"varMapping":{"__isSmartRef__":true,"id":7713},"source":"function onDragEndInHandle(handle, evt) {\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n \n if (handle.isFromHandle) this.connectFrom(this.selectedMorph)\n if (handle.isToHandle) this.connectTo(this.selectedMorph)\n handle.remove()\n}","funcProperties":{"__isSmartRef__":true,"id":7714},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7713":{"this":{"__isSmartRef__":true,"id":7433}},"7714":{"timestamp":{"__isSmartRef__":true,"id":7715},"user":"jenslincke","tags":[]},"7715":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:44:35 GMT+0100 (CET)"},"7716":{"varMapping":{"__isSmartRef__":true,"id":7717},"source":"function connectFrom(morph) {\n if (morph === this.toMorph) return; // not allowed\n\n this.disconnectMorph(this.fromMorph)\n this.fromMorph = morph;\n this.connectMorph(this.fromMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":7718},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7717":{"this":{"__isSmartRef__":true,"id":7433}},"7718":{"timestamp":{"__isSmartRef__":true,"id":7719},"user":"jenslincke","tags":[]},"7719":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:57:22 GMT+0100 (CET)"},"7720":{"varMapping":{"__isSmartRef__":true,"id":7721},"source":"function connectTo(morph) {\n\n if (morph === this.fromMorph) return; // not allowed\n\n this.disconnectMorph(this.toMorph)\n this.toMorph = morph;\n this.connectMorph(this.toMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":7722},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7721":{"this":{"__isSmartRef__":true,"id":7433}},"7722":{"timestamp":{"__isSmartRef__":true,"id":7723},"user":"jenslincke","tags":[]},"7723":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:57:14 GMT+0100 (CET)"},"7724":{"varMapping":{"__isSmartRef__":true,"id":7725},"source":"function hideToHandle() {\n if (this.toHandle) {\n this.toHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":7726},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7725":{"this":{"__isSmartRef__":true,"id":7433}},"7726":{"timestamp":{"__isSmartRef__":true,"id":7727},"user":"jenslincke","tags":[]},"7727":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:51:59 GMT+0100 (CET)"},"7728":{"varMapping":{"__isSmartRef__":true,"id":7729},"source":"function hideFromHandle() {\n if (this.fromHandle) {\n this.fromHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":7730},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7729":{"this":{"__isSmartRef__":true,"id":7433}},"7730":{"timestamp":{"__isSmartRef__":true,"id":7731},"user":"jenslincke","tags":[]},"7731":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:52:18 GMT+0100 (CET)"},"7732":{"varMapping":{"__isSmartRef__":true,"id":7733},"source":"function updateIntersection(morph, cp) {\n if (!morph) return;\n var intersection = this.intersectMorph(morph)[0];\n if (intersection) {\n cp.setGlobalPos(intersection);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":7734},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7733":{"this":{"__isSmartRef__":true,"id":7433}},"7734":{"timestamp":{"__isSmartRef__":true,"id":7735},"user":"jenslincke","tags":[]},"7735":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:32 GMT+0100 (CET)"},"7736":{"varMapping":{"__isSmartRef__":true,"id":7737},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":7738},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7737":{"this":{"__isSmartRef__":true,"id":7433}},"7738":{"timestamp":{"__isSmartRef__":true,"id":7739},"user":"jenslincke","tags":[]},"7739":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:47:12 GMT+0100 (CET)"},"7740":{"varMapping":{"__isSmartRef__":true,"id":7741},"source":"function intersectMorphLinePoints(morph, a1, a2) {\n var points = this.globalShapePathFromMorph(morph);\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":7742},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7741":{"this":{"__isSmartRef__":true,"id":7433}},"7742":{"timestamp":{"__isSmartRef__":true,"id":7743},"user":"jenslincke","tags":[]},"7743":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:21 GMT+0100 (CET)"},"7744":{"varMapping":{"__isSmartRef__":true,"id":7745},"source":"function intersectMorph(morph) {\n var line = this;\n return this.intersectMorphLinePoints(morph,\n line.controlPoints[0].getGlobalPos(), line.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":7746},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7745":{"this":{"__isSmartRef__":true,"id":7433}},"7746":{"timestamp":{"__isSmartRef__":true,"id":7747},"user":"jenslincke","tags":[]},"7747":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:47 GMT+0100 (CET)"},"7748":{"varMapping":{"__isSmartRef__":true,"id":7749},"source":"function globalShapePathFromMorph(morph) {\n var b = morph.shape.bounds();\n var p1 = morph.worldPoint(b.topLeft()),\n p2 = morph.worldPoint(b.topRight()),\n p3 = morph.worldPoint(b.bottomRight()),\n p4 = morph.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":7750},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7749":{"this":{"__isSmartRef__":true,"id":7433}},"7750":{"timestamp":{"__isSmartRef__":true,"id":7751},"user":"jenslincke","tags":[]},"7751":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:00 GMT+0100 (CET)"},"7752":{"morph":{"__isSmartRef__":true,"id":7402},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(142.4,3530.4)"},"7753":{"morph":{"__isSmartRef__":true,"id":7402},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(104.9,3506.4)"},"7754":{"morph":{"__isSmartRef__":true,"id":7402},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(67.4,3482.4)"},"7755":{"morph":{"__isSmartRef__":true,"id":7402},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(89.0,3448.7)"},"7756":{"sourceObj":{"__isSmartRef__":true,"id":7402},"sourceAttrName":"name","targetObj":{"__isSmartRef__":true,"id":7377},"targetMethodName":"updateLabel","varMapping":{"__isSmartRef__":true,"id":7757},"visualConnector":{"__isSmartRef__":true,"id":7758},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7757":{"source":{"__isSmartRef__":true,"id":7402},"target":{"__isSmartRef__":true,"id":7377}},"7758":{"submorphs":[{"__isSmartRef__":true,"id":7759}],"scripts":[],"shape":{"__isSmartRef__":true,"id":7766},"eventHandler":{"__isSmartRef__":true,"id":7769},"_ClipMode":"visible","derivationIds":[],"id":"5814672F-102B-41EE-9D91-9FA58B6451FD","__layered_droppingEnabled__":true,"halosEnabled":true,"owner":null,"controlPoints":[{"__isSmartRef__":true,"id":7770},{"__isSmartRef__":true,"id":7771}],"con":{"__isSmartRef__":true,"id":7756},"showsMorphMenu":true,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":7772},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"7759":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":7760},"eventHandler":{"__isSmartRef__":true,"id":7765},"_ClipMode":"visible","derivationIds":[],"id":"01253C2A-18A1-43A8-AA72-260E7FC0929E","__layered_droppingEnabled__":true,"halosEnabled":true,"owner":{"__isSmartRef__":true,"id":7758},"_Rotation":1.3832457846463706,"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","_Position":"lively.pt(259.1,3427.8)"},"7760":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":7761},{"__isSmartRef__":true,"id":7762},{"__isSmartRef__":true,"id":7763},{"__isSmartRef__":true,"id":7764}],"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor","_Fill"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Position":"lively.pt(-12.0,-6.0)","_Extent":"lively.pt(17.0,13.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(0,0,0)"},"7761":{"isAbsolute":true,"x":-11,"y":-5,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"7762":{"isAbsolute":true,"x":-11,"y":7,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"7763":{"isAbsolute":true,"x":5,"y":1,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"7764":{"isAbsolute":true,"x":-11,"y":-5,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"7765":{"morph":{"__isSmartRef__":true,"id":7759},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"7766":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":7767},{"__isSmartRef__":true,"id":7768}],"_BorderWidth":1,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Position":"lively.pt(248.7,3377.0)","_Extent":"lively.pt(10.4,50.8)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"7767":{"isAbsolute":true,"x":249.7,"y":3378,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"7768":{"isAbsolute":true,"x":259.14357977177195,"y":3427.7604139964105,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"7769":{"morph":{"__isSmartRef__":true,"id":7758},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"7770":{"morph":{"__isSmartRef__":true,"id":7758},"index":0,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"7771":{"morph":{"__isSmartRef__":true,"id":7758},"index":1,"marker":{"__isSmartRef__":true,"id":7759},"markerDirection":"prev","__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"7772":{"morphMenuItems":{"__isSmartRef__":true,"id":7773}},"7773":{"varMapping":{"__isSmartRef__":true,"id":7774},"source":"function morphMenuItems() {\n var visualConnector = this, con = this.con, world = $world;\n var items = [\n ['Edit converter', function() {\n var window = lively.bindings.editConnection(con);\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":7779},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7774":{"this":{"__isSmartRef__":true,"id":7758},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":7775}},"7775":{"$super":{"__isSmartRef__":true,"id":7776}},"7776":{"varMapping":{"__isSmartRef__":true,"id":7777},"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":7778},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7777":{"obj":{"__isSmartRef__":true,"id":7758},"name":"morphMenuItems"},"7778":{},"7779":{},"7780":{"sourceObj":{"__isSmartRef__":true,"id":7402},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":7376},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":7781},"dependedBy":{"__isSmartRef__":true,"id":7376},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7781":{"source":{"__isSmartRef__":true,"id":7402},"target":{"__isSmartRef__":true,"id":7376}},"7782":{"sourceObj":{"__isSmartRef__":true,"id":7402},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":7376},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":7783},"dependedBy":{"__isSmartRef__":true,"id":7376},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7783":{"source":{"__isSmartRef__":true,"id":7402},"target":{"__isSmartRef__":true,"id":7376}},"7784":{"sourceObj":{"__isSmartRef__":true,"id":7402},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":7376},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":7785},"dependedBy":{"__isSmartRef__":true,"id":7376},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7785":{"source":{"__isSmartRef__":true,"id":7402},"target":{"__isSmartRef__":true,"id":7376}},"7786":{"sourceObj":{"__isSmartRef__":true,"id":7402},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":7376},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":7787},"dependedBy":{"__isSmartRef__":true,"id":7376},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7787":{"source":{"__isSmartRef__":true,"id":7402},"target":{"__isSmartRef__":true,"id":7376}},"7788":{"sourceObj":{"__isSmartRef__":true,"id":7402},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":7432},"targetMethodName":"alignToMagnet","varMapping":{"__isSmartRef__":true,"id":7789},"dependendConnections":[{"__isSmartRef__":true,"id":7790},{"__isSmartRef__":true,"id":7792},{"__isSmartRef__":true,"id":7794},{"__isSmartRef__":true,"id":7796},{"__isSmartRef__":true,"id":7798},{"__isSmartRef__":true,"id":7800},{"__isSmartRef__":true,"id":7802},{"__isSmartRef__":true,"id":7804}],"oldTransform":{"__isSmartRef__":true,"id":7806},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"7789":{"source":{"__isSmartRef__":true,"id":7402},"target":{"__isSmartRef__":true,"id":7432}},"7790":{"sourceObj":{"__isSmartRef__":true,"id":7402},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":7788},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":7791},"dependedBy":{"__isSmartRef__":true,"id":7788},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7791":{"source":{"__isSmartRef__":true,"id":7402},"target":{"__isSmartRef__":true,"id":7788}},"7792":{"sourceObj":{"__isSmartRef__":true,"id":7402},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":7788},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":7793},"dependedBy":{"__isSmartRef__":true,"id":7788},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7793":{"source":{"__isSmartRef__":true,"id":7402},"target":{"__isSmartRef__":true,"id":7788}},"7794":{"sourceObj":{"__isSmartRef__":true,"id":7402},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":7788},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":7795},"dependedBy":{"__isSmartRef__":true,"id":7788},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7795":{"source":{"__isSmartRef__":true,"id":7402},"target":{"__isSmartRef__":true,"id":7788}},"7796":{"sourceObj":{"__isSmartRef__":true,"id":7402},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":7788},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":7797},"dependedBy":{"__isSmartRef__":true,"id":7788},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7797":{"source":{"__isSmartRef__":true,"id":7402},"target":{"__isSmartRef__":true,"id":7788}},"7798":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":7788},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":7799},"dependedBy":{"__isSmartRef__":true,"id":7788},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7799":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":7788}},"7800":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":7788},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":7801},"dependedBy":{"__isSmartRef__":true,"id":7788},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7801":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":7788}},"7802":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":7788},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":7803},"dependedBy":{"__isSmartRef__":true,"id":7788},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7803":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":7788}},"7804":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":7788},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":7805},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","dependedBy":{"__isSmartRef__":true,"id":7788},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7805":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":7788}},"7806":{"d":0.8419431060646692,"a":0.8419431060646692,"f":71.4,"e":725.3,"c":-0.5395663130238733,"b":0.5395663130238733,"matrix_":{"__isSmartRef__":true,"id":7807},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"7807":{"a":0.8419431060646692,"b":0.5395663130238733,"c":-0.5395663130238733,"d":0.8419431060646692,"e":725.3,"f":71.4,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"7808":{"sourceObj":{"__isSmartRef__":true,"id":7402},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":3590},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":7809},"dependendConnections":[{"__isSmartRef__":true,"id":7810},{"__isSmartRef__":true,"id":7812},{"__isSmartRef__":true,"id":7814},{"__isSmartRef__":true,"id":7816},{"__isSmartRef__":true,"id":7818},{"__isSmartRef__":true,"id":7820},{"__isSmartRef__":true,"id":7822},{"__isSmartRef__":true,"id":7824}],"oldTransform":{"__isSmartRef__":true,"id":7826},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"7809":{"source":{"__isSmartRef__":true,"id":7402},"target":{"__isSmartRef__":true,"id":3590}},"7810":{"sourceObj":{"__isSmartRef__":true,"id":7402},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":7808},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":7811},"dependedBy":{"__isSmartRef__":true,"id":7808},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7811":{"source":{"__isSmartRef__":true,"id":7402},"target":{"__isSmartRef__":true,"id":7808}},"7812":{"sourceObj":{"__isSmartRef__":true,"id":7402},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":7808},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":7813},"dependedBy":{"__isSmartRef__":true,"id":7808},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7813":{"source":{"__isSmartRef__":true,"id":7402},"target":{"__isSmartRef__":true,"id":7808}},"7814":{"sourceObj":{"__isSmartRef__":true,"id":7402},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":7808},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":7815},"dependedBy":{"__isSmartRef__":true,"id":7808},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7815":{"source":{"__isSmartRef__":true,"id":7402},"target":{"__isSmartRef__":true,"id":7808}},"7816":{"sourceObj":{"__isSmartRef__":true,"id":7402},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":7808},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":7817},"dependedBy":{"__isSmartRef__":true,"id":7808},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7817":{"source":{"__isSmartRef__":true,"id":7402},"target":{"__isSmartRef__":true,"id":7808}},"7818":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":7808},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":7819},"dependedBy":{"__isSmartRef__":true,"id":7808},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7819":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":7808}},"7820":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":7808},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":7821},"dependedBy":{"__isSmartRef__":true,"id":7808},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7821":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":7808}},"7822":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":7808},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":7823},"dependedBy":{"__isSmartRef__":true,"id":7808},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7823":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":7808}},"7824":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":7808},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":7825},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","dependedBy":{"__isSmartRef__":true,"id":7808},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7825":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":7808}},"7826":{"d":0.8419431060646692,"a":0.8419431060646692,"f":71.4,"e":725.3,"c":-0.5395663130238733,"b":0.5395663130238733,"matrix_":{"__isSmartRef__":true,"id":7827},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"7827":{"a":0.8419431060646692,"b":0.5395663130238733,"c":-0.5395663130238733,"d":0.8419431060646692,"e":725.3,"f":71.4,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"7828":{"globalShapePath":{"__isSmartRef__":true,"id":7829},"lineIntersect":{"__isSmartRef__":true,"id":7832},"intersectLine":{"__isSmartRef__":true,"id":7836},"intersectLineMorph":{"__isSmartRef__":true,"id":7839}},"7829":{"varMapping":{"__isSmartRef__":true,"id":7830},"source":"function globalShapePath() {\n var b = this.shape.bounds();\n var p1 = this.worldPoint(b.topLeft()),\n p2 = this.worldPoint(b.topRight()),\n p3 = this.worldPoint(b.bottomRight()),\n p4 = this.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":7831},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7830":{"this":{"__isSmartRef__":true,"id":7402}},"7831":{},"7832":{"varMapping":{"__isSmartRef__":true,"id":7833},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":7834},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7833":{"this":{"__isSmartRef__":true,"id":7402}},"7834":{"timestamp":{"__isSmartRef__":true,"id":7835},"user":"jenslincke","tags":[]},"7835":{"isSerializedDate":true,"string":"Thu Dec 13 2012 13:42:55 GMT+0100 (CET)"},"7836":{"varMapping":{"__isSmartRef__":true,"id":7837},"source":"function intersectLine(a1, a2) {\n var points = this.globalShapePath();\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":7838},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7837":{"this":{"__isSmartRef__":true,"id":7402}},"7838":{},"7839":{"varMapping":{"__isSmartRef__":true,"id":7840},"source":"function intersectLineMorph(m) {\n return this.intersectLine(m.controlPoints[0].getGlobalPos(), m.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":7841},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7840":{"this":{"__isSmartRef__":true,"id":7402}},"7841":{},"7842":{"updateLabel":{"__isSmartRef__":true,"id":7843},"renameOwner":{"__isSmartRef__":true,"id":7846}},"7843":{"varMapping":{"__isSmartRef__":true,"id":7844},"source":"function updateLabel() {\n\t// observe name changes in owner\n\tif (this.owner !== this.oldOwner) {\n\t\tif (this.oldOwner)\n\t\t\tdisconnect(this.oldOwner, 'name', this, 'updateLabel')\n\t\tif (this.owner)\n\t\t\tconnect(this.owner, 'name', this, 'updateLabel')\n\t\tthis.oldOwner = this.owner\n\t}\n\tvar name = (this.owner ? this.owner.name : \"no owner\")\n\tif (this.textString != name)\n\tthis.setTextString(name)\n}","funcProperties":{"__isSmartRef__":true,"id":7845},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7844":{"this":{"__isSmartRef__":true,"id":7377}},"7845":{},"7846":{"varMapping":{"__isSmartRef__":true,"id":7847},"source":"function renameOwner(name) {\n\tif (this.owner && this.owner.name != name) {\n\t\talertOK(\"renamed \" + this.owner + \" to \" + name)\n\t\tthis.owner.setName(name);\n\t}\n}","funcProperties":{"__isSmartRef__":true,"id":7848},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7847":{"this":{"__isSmartRef__":true,"id":7377}},"7848":{},"7849":{"source":{"__isSmartRef__":true,"id":7377},"target":{"__isSmartRef__":true,"id":7758}},"7850":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":7376},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":7851},"dependedBy":{"__isSmartRef__":true,"id":7376},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7851":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":7376}},"7852":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":7376},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":7853},"dependedBy":{"__isSmartRef__":true,"id":7376},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7853":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":7376}},"7854":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":7376},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":7855},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","dependedBy":{"__isSmartRef__":true,"id":7376},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7855":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":7376}},"7856":{"d":0.8419431060646688,"a":0.8419431060646688,"f":121.16041399641061,"e":734.7435797717719,"c":-0.539566313023873,"b":0.539566313023873,"matrix_":{"__isSmartRef__":true,"id":7857},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"7857":{"a":0.8419431060646688,"b":0.539566313023873,"c":-0.539566313023873,"d":0.8419431060646688,"e":734.7435797717719,"f":121.16041399641061,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"7858":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":7376}},"7859":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":7860},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":8342},"dependedBy":{"__isSmartRef__":true,"id":7860},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7860":{"sourceObj":{"__isSmartRef__":true,"id":7861},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":8242},"targetMethodName":"realignConnection","varMapping":{"__isSmartRef__":true,"id":8333},"dependendConnections":[{"__isSmartRef__":true,"id":7869},{"__isSmartRef__":true,"id":7871},{"__isSmartRef__":true,"id":7873},{"__isSmartRef__":true,"id":7875},{"__isSmartRef__":true,"id":8264},{"__isSmartRef__":true,"id":8266},{"__isSmartRef__":true,"id":8268},{"__isSmartRef__":true,"id":8270},{"__isSmartRef__":true,"id":7859},{"__isSmartRef__":true,"id":8334},{"__isSmartRef__":true,"id":8336},{"__isSmartRef__":true,"id":8338}],"oldTransform":{"__isSmartRef__":true,"id":8340},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"7861":{"submorphs":[],"scripts":[],"id":"C03742CA-3A4C-4ED1-8DB5-B0655E142396","shape":{"__isSmartRef__":true,"id":7862},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":180.8018403394826,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":19,"name":"NameLabel2","partsBinMetaInfo":{"__isSmartRef__":true,"id":7863},"textChunks":[{"__isSmartRef__":true,"id":7865}],"charsReplaced":"A1","lastFindLoc":2,"prevScroll":[0,0],"attributeConnections":[{"__isSmartRef__":true,"id":7867},{"__isSmartRef__":true,"id":7868},{"__isSmartRef__":true,"id":7860},{"__isSmartRef__":true,"id":7869},{"__isSmartRef__":true,"id":7871},{"__isSmartRef__":true,"id":7873},{"__isSmartRef__":true,"id":7875}],"doNotSerialize":["$$owner","$$savedTextString","$$_Position","$$_Scale","$$_Rotation"],"doNotCopyProperties":["$$owner","$$savedTextString","$$_Position","$$_Scale","$$_Rotation"],"isInputLine":true,"savedTextString":"A","eventHandler":{"__isSmartRef__":true,"id":7877},"derivationIds":[7027,"331C6367-0699-4BD6-9916-ABA82517453B","BEAA7850-FEFB-4AFD-9E06-730FF35D99A4","559B0B8A-5C01-4133-88B2-0D08385E23F6","BE195383-D309-4B6E-A6B0-79A6112B4011","E323F75A-232F-4712-9A03-20C8FD574C9A","E6E38336-AA2D-4F75-80C1-B1617DD8544E","DAFCD826-DF9B-4DEF-B4D7-59AAED8D199D","3999CB16-D9E3-4D28-A617-9B093624E8AC","24C6A462-5AF8-4580-9777-8F5696841AF0","38DF0DD5-01B1-4481-B32C-B1595F8042DF","6D969508-F1F5-4E9D-A211-8F66FCA4DA80"],"_WhiteSpaceHandling":"pre-wrap","_ClipMode":"visible","moved":true,"isBeingDragged":false,"_WordBreak":"break-all","magnets":[{"__isSmartRef__":true,"id":7878},{"__isSmartRef__":true,"id":7879},{"__isSmartRef__":true,"id":7880},{"__isSmartRef__":true,"id":7881},{"__isSmartRef__":true,"id":7882},{"__isSmartRef__":true,"id":7883},{"__isSmartRef__":true,"id":7884},{"__isSmartRef__":true,"id":7885}],"_PreviousBorderWidth":1,"owner":{"__isSmartRef__":true,"id":7886},"oldOwner":{"__isSmartRef__":true,"id":7886},"_Rotation":0,"_Scale":0.9999999999999997,"__serializedExpressions__":["_Position","textColor","distanceToDragEvent","_TextColor"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":8326},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(34.8,36.8)","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(31.1,-9.9)","_TextColor":"Color.rgb(255,143,0)"},"7862":{"fill":null,"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(42.8,29.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"7863":{"migrationLevel":2,"comment":"Label that shows the name of a morph. Updates automatically.","partName":"NameLabel","lastModifiedDate":{"__isSmartRef__":true,"id":7864},"revisionOnLoad":140039,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"7864":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (CEST)"},"7865":{"style":{"__isSmartRef__":true,"id":7866},"chunkOwner":{"__isSmartRef__":true,"id":7861},"_id":"_867","storedString":"A1","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7866":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7867":{"sourceObj":{"__isSmartRef__":true,"id":7861},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":7861},"targetMethodName":"updateLabel","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7868":{"sourceObj":{"__isSmartRef__":true,"id":7861},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":7861},"targetMethodName":"renameOwner","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7869":{"sourceObj":{"__isSmartRef__":true,"id":7861},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":7860},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":7870},"dependedBy":{"__isSmartRef__":true,"id":7860},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7870":{"source":{"__isSmartRef__":true,"id":7861},"target":{"__isSmartRef__":true,"id":7860}},"7871":{"sourceObj":{"__isSmartRef__":true,"id":7861},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":7860},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":7872},"dependedBy":{"__isSmartRef__":true,"id":7860},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7872":{"source":{"__isSmartRef__":true,"id":7861},"target":{"__isSmartRef__":true,"id":7860}},"7873":{"sourceObj":{"__isSmartRef__":true,"id":7861},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":7860},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":7874},"dependedBy":{"__isSmartRef__":true,"id":7860},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7874":{"source":{"__isSmartRef__":true,"id":7861},"target":{"__isSmartRef__":true,"id":7860}},"7875":{"sourceObj":{"__isSmartRef__":true,"id":7861},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":7860},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":7876},"dependedBy":{"__isSmartRef__":true,"id":7860},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7876":{"source":{"__isSmartRef__":true,"id":7861},"target":{"__isSmartRef__":true,"id":7860}},"7877":{"morph":{"__isSmartRef__":true,"id":7861},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"7878":{"morph":{"__isSmartRef__":true,"id":7861},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(120.0,3464.8)"},"7879":{"morph":{"__isSmartRef__":true,"id":7861},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(138.1,3476.3)"},"7880":{"morph":{"__isSmartRef__":true,"id":7861},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(156.1,3487.9)"},"7881":{"morph":{"__isSmartRef__":true,"id":7861},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(148.3,3500.1)"},"7882":{"morph":{"__isSmartRef__":true,"id":7861},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(140.4,3512.3)"},"7883":{"morph":{"__isSmartRef__":true,"id":7861},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(122.4,3500.7)"},"7884":{"morph":{"__isSmartRef__":true,"id":7861},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(104.4,3489.2)"},"7885":{"morph":{"__isSmartRef__":true,"id":7861},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(112.2,3477.0)"},"7886":{"submorphs":[{"__isSmartRef__":true,"id":7861}],"scripts":[],"id":"43F1EDFC-D017-4972-A243-D97F0DBCBB3B","shape":{"__isSmartRef__":true,"id":7887},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"A1","partsBinMetaInfo":{"__isSmartRef__":true,"id":7888},"eventHandler":{"__isSmartRef__":true,"id":7906},"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","BBAFB862-93AE-4F89-BCFF-9F1C67B7FE4C","7EC17E78-593A-4CC8-B7E3-859BCBBFE785","FDB06D4A-9F4E-4B8C-A67C-671A9583EFE8","1C80FDE1-05C0-4148-9AD8-33C88667084C","5059E383-6BE3-4AD3-A9C4-89DA9D8D5E99","5B810AFE-E692-4EB4-A695-ABB4A95CEA39","BFFEF617-9B97-45D4-A541-8E33A6A17485","A10BBA48-4AD1-425A-AC7B-2F5515CE56F5","319DCFA5-FBA0-4E93-825A-584A580A412F","1A7DC4D8-6C49-4243-8B1D-04CED44FD759","37281932-6BFC-4796-9330-CDFA7FB46F54"],"partTests":{"__isSmartRef__":true,"id":7907},"_ClipMode":"visible","moved":true,"isBeingDragged":false,"magnets":[{"__isSmartRef__":true,"id":7912},{"__isSmartRef__":true,"id":7913},{"__isSmartRef__":true,"id":7914},{"__isSmartRef__":true,"id":7915},{"__isSmartRef__":true,"id":8236},{"__isSmartRef__":true,"id":8237},{"__isSmartRef__":true,"id":8238},{"__isSmartRef__":true,"id":8239}],"attributeConnections":[{"__isSmartRef__":true,"id":8240},{"__isSmartRef__":true,"id":8264},{"__isSmartRef__":true,"id":8266},{"__isSmartRef__":true,"id":8268},{"__isSmartRef__":true,"id":8270},{"__isSmartRef__":true,"id":8272},{"__isSmartRef__":true,"id":8274},{"__isSmartRef__":true,"id":8276},{"__isSmartRef__":true,"id":8278},{"__isSmartRef__":true,"id":8280},{"__isSmartRef__":true,"id":8292},{"__isSmartRef__":true,"id":8294},{"__isSmartRef__":true,"id":8296},{"__isSmartRef__":true,"id":8298},{"__isSmartRef__":true,"id":8300}],"doNotSerialize":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"doNotCopyProperties":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"isCopyMorphRef":true,"morphRefId":1,"prevScroll":[0,0],"_Scale":0.9999999999999996,"_Rotation":0.5699219218563105,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":8312},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","distanceToDragEvent":"lively.pt(35.0,-16.3)","_Position":"lively.pt(725.3,71.4)"},"7887":{"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(89.0,80.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgba(204,204,204,0.5)","_Padding":"lively.rect(0,0,0,0)"},"7888":{"partsSpaceName":"PartsBin/Basic","comment":"A simple box morph. A really orange one. Its amazing what you can build out of simple boxes.... Who needs stars when you got orange rectangles!","migrationLevel":4,"partName":"Rectangle","changes":[{"__isSmartRef__":true,"id":7889},{"__isSmartRef__":true,"id":7891},{"__isSmartRef__":true,"id":7893},{"__isSmartRef__":true,"id":7895},{"__isSmartRef__":true,"id":7897},{"__isSmartRef__":true,"id":7899},{"__isSmartRef__":true,"id":7901},{"__isSmartRef__":true,"id":7903}],"lastModifiedDate":{"__isSmartRef__":true,"id":7905},"revisionOnLoad":184624,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"7889":{"date":{"__isSmartRef__":true,"id":7890},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"7890":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"7891":{"date":{"__isSmartRef__":true,"id":7892},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"7892":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"7893":{"date":{"__isSmartRef__":true,"id":7894},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"7894":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"7895":{"date":{"__isSmartRef__":true,"id":7896},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"7896":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"7897":{"date":{"__isSmartRef__":true,"id":7898},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"7898":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"7899":{"date":{"__isSmartRef__":true,"id":7900},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"7900":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"7901":{"date":{"__isSmartRef__":true,"id":7902},"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8"},"7902":{"isSerializedDate":true,"string":"Mon Jun 18 2012 19:35:08 GMT+0200 (CEST)"},"7903":{"date":{"__isSmartRef__":true,"id":7904},"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205"},"7904":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:35:51 GMT+0100 (CET)"},"7905":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:33:25 GMT+0100 (CET)"},"7906":{"morph":{"__isSmartRef__":true,"id":7886},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"7907":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":7908}},"7908":{"test01IsMorph":{"__isSmartRef__":true,"id":7909}},"7909":{"varMapping":{"__isSmartRef__":true,"id":7910},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":7911},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7910":{"this":{"__isSmartRef__":true,"id":7907}},"7911":{},"7912":{"morph":{"__isSmartRef__":true,"id":7886},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(110.6,3415.0)"},"7913":{"morph":{"__isSmartRef__":true,"id":7886},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(148.1,3439.0)"},"7914":{"morph":{"__isSmartRef__":true,"id":7886},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(185.5,3463.0)"},"7915":{"morph":{"__isSmartRef__":true,"id":7886},"connectedControlPoints":[{"__isSmartRef__":true,"id":7916}],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(164.0,3496.7)"},"7916":{"morph":{"__isSmartRef__":true,"id":7917},"index":0,"connectedMagnet":{"__isSmartRef__":true,"id":7915},"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"7917":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":7918},"id":"E083C82B-2BC4-42CB-B3A2-773909175FCB","eventHandler":{"__isSmartRef__":true,"id":7921},"__layered_droppingEnabled__":true,"halosEnabled":true,"isBeingDragged":false,"controlPoints":[{"__isSmartRef__":true,"id":7916},{"__isSmartRef__":true,"id":7922}],"showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":7923},"name":"Line4","derivationIds":[731,"5E6BD741-9C99-47B9-95C1-7A028178DB17","A8D5C37A-F23F-47FE-8DE2-211CE4484A4F","F722069B-8602-4E8D-BE3F-92A1E0C0EF28","D5ED19F9-968E-4C7E-9936-69F2735A813F","A9E370BC-F208-425C-BFFC-F8D6BB52E11F","4E431641-D056-46CB-B2A8-6626382EF423"],"_ClipMode":"visible","controlPointsHalos":[],"prevScroll":[0,0],"grabbingEnabled":false,"moved":true,"#startLetters":"controlPoints[0]","fromMorph":{"__isSmartRef__":true,"id":7927},"update":{"__isSmartRef__":true,"id":8137},"isCopyMorphRef":true,"morphRefId":2,"selectedMorph":{"__isSmartRef__":true,"id":7927},"selectedMorphHighlights":[],"_Scale":1,"_Rotation":0,"owner":null,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":8139},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","distanceToDragEvent":"lively.pt(295.7,-20.8)","_Position":"lively.pt(376.1,57.6)"},"7918":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":7919},{"__isSmartRef__":true,"id":7920}],"_ClipMode":"visible","_BorderWidth":3.1119999999999997,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Padding","_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(50.5,3.2)","_Extent":"lively.pt(114.5,3494.5)","_BorderColor":"Color.rgb(161,161,161)"},"7919":{"isAbsolute":true,"x":0,"y":0,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"7920":{"isAbsolute":true,"x":52.46197348862387,"y":5.223542983087555,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"7921":{"morph":{"__isSmartRef__":true,"id":7917},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"7922":{"morph":{"__isSmartRef__":true,"id":7917},"index":1,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"7923":{"requiredModules":[],"migrationLevel":4,"partsSpaceName":"PartsBin/Jens/","comment":"a line","partName":"Connector","lastModifiedDate":{"__isSmartRef__":true,"id":7924},"revisionOnLoad":186528,"changes":[{"__isSmartRef__":true,"id":7925}],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"7924":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:18 GMT+0100 (CET)"},"7925":{"date":{"__isSmartRef__":true,"id":7926},"author":"jenslincke","message":"no comment","id":"28165CED-C8C5-4B8E-9655-645E3F5099BB"},"7926":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:42 GMT+0100 (CET)"},"7927":{"submorphs":[{"__isSmartRef__":true,"id":7928}],"scripts":[],"id":"7D787261-FDA4-4DCD-ACA3-699C8F2DB8DC","shape":{"__isSmartRef__":true,"id":7952},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"A","partsBinMetaInfo":{"__isSmartRef__":true,"id":7953},"eventHandler":{"__isSmartRef__":true,"id":7971},"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","BBAFB862-93AE-4F89-BCFF-9F1C67B7FE4C","7EC17E78-593A-4CC8-B7E3-859BCBBFE785","FDB06D4A-9F4E-4B8C-A67C-671A9583EFE8","1C80FDE1-05C0-4148-9AD8-33C88667084C","5059E383-6BE3-4AD3-A9C4-89DA9D8D5E99","5B810AFE-E692-4EB4-A695-ABB4A95CEA39","BFFEF617-9B97-45D4-A541-8E33A6A17485","A10BBA48-4AD1-425A-AC7B-2F5515CE56F5"],"partTests":{"__isSmartRef__":true,"id":7972},"_ClipMode":"visible","moved":true,"isBeingDragged":false,"magnets":[{"__isSmartRef__":true,"id":7977},{"__isSmartRef__":true,"id":7978},{"__isSmartRef__":true,"id":7979},{"__isSmartRef__":true,"id":7980},{"__isSmartRef__":true,"id":7981},{"__isSmartRef__":true,"id":7982},{"__isSmartRef__":true,"id":7983},{"__isSmartRef__":true,"id":7984}],"attributeConnections":[{"__isSmartRef__":true,"id":7985},{"__isSmartRef__":true,"id":7987},{"__isSmartRef__":true,"id":7989},{"__isSmartRef__":true,"id":7991},{"__isSmartRef__":true,"id":7993},{"__isSmartRef__":true,"id":7995},{"__isSmartRef__":true,"id":7999},{"__isSmartRef__":true,"id":8113},{"__isSmartRef__":true,"id":8115},{"__isSmartRef__":true,"id":8117},{"__isSmartRef__":true,"id":8119}],"doNotSerialize":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"doNotCopyProperties":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"isCopyMorphRef":true,"morphRefId":1,"prevScroll":[0,0],"_Scale":0.9999999999999998,"_Rotation":-0.3632069088060458,"owner":null,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":8123},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","distanceToDragEvent":"lively.pt(89.3,-51.8)","_Position":"lively.pt(691.6,129.6)"},"7928":{"submorphs":[],"scripts":[],"id":"4BDF3799-4F08-4112-BD4C-91BAB858A860","shape":{"__isSmartRef__":true,"id":7929},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":180.8018403394826,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":19,"name":"NameLabel2","partsBinMetaInfo":{"__isSmartRef__":true,"id":7930},"textChunks":[{"__isSmartRef__":true,"id":7932}],"charsReplaced":"C1","lastFindLoc":2,"prevScroll":[0,0],"attributeConnections":[{"__isSmartRef__":true,"id":7934},{"__isSmartRef__":true,"id":7935}],"doNotSerialize":["$$owner","$$savedTextString"],"doNotCopyProperties":["$$owner","$$savedTextString"],"isInputLine":true,"savedTextString":"A","eventHandler":{"__isSmartRef__":true,"id":7936},"derivationIds":[7027,"331C6367-0699-4BD6-9916-ABA82517453B","BEAA7850-FEFB-4AFD-9E06-730FF35D99A4","559B0B8A-5C01-4133-88B2-0D08385E23F6","BE195383-D309-4B6E-A6B0-79A6112B4011","E323F75A-232F-4712-9A03-20C8FD574C9A","E6E38336-AA2D-4F75-80C1-B1617DD8544E","DAFCD826-DF9B-4DEF-B4D7-59AAED8D199D","3999CB16-D9E3-4D28-A617-9B093624E8AC"],"_WhiteSpaceHandling":"pre-wrap","_ClipMode":"visible","moved":true,"isBeingDragged":false,"_WordBreak":"break-all","magnets":[{"__isSmartRef__":true,"id":7937},{"__isSmartRef__":true,"id":7938},{"__isSmartRef__":true,"id":7939},{"__isSmartRef__":true,"id":7940},{"__isSmartRef__":true,"id":7941},{"__isSmartRef__":true,"id":7942},{"__isSmartRef__":true,"id":7943},{"__isSmartRef__":true,"id":7944}],"_PreviousBorderWidth":1,"owner":{"__isSmartRef__":true,"id":7927},"oldOwner":{"__isSmartRef__":true,"id":7927},"priorSelectionRange":[1,1],"_Rotation":0,"_Scale":0.9999999999999997,"__serializedExpressions__":["textColor","distanceToDragEvent","_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":7945},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(31.1,-9.9)","_TextColor":"Color.rgb(255,143,0)","_Position":"lively.pt(34.8,36.8)"},"7929":{"fill":null,"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(42.8,29.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"7930":{"migrationLevel":2,"comment":"Label that shows the name of a morph. Updates automatically.","partName":"NameLabel","lastModifiedDate":{"__isSmartRef__":true,"id":7931},"revisionOnLoad":140039,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"7931":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (CEST)"},"7932":{"style":{"__isSmartRef__":true,"id":7933},"chunkOwner":{"__isSmartRef__":true,"id":7928},"_id":"_22384","storedString":"A","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7933":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7934":{"sourceObj":{"__isSmartRef__":true,"id":7928},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":7928},"targetMethodName":"updateLabel","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7935":{"sourceObj":{"__isSmartRef__":true,"id":7928},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":7928},"targetMethodName":"renameOwner","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7936":{"morph":{"__isSmartRef__":true,"id":7928},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"7937":{"morph":{"__isSmartRef__":true,"id":7928},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(726.1,3497.3)"},"7938":{"morph":{"__isSmartRef__":true,"id":7928},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(746.1,3489.7)"},"7939":{"morph":{"__isSmartRef__":true,"id":7928},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(766.1,3482.1)"},"7940":{"morph":{"__isSmartRef__":true,"id":7928},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(771.3,3495.6)"},"7941":{"morph":{"__isSmartRef__":true,"id":7928},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(776.4,3509.2)"},"7942":{"morph":{"__isSmartRef__":true,"id":7928},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(756.4,3516.8)"},"7943":{"morph":{"__isSmartRef__":true,"id":7928},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(736.4,3524.4)"},"7944":{"morph":{"__isSmartRef__":true,"id":7928},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(731.2,3510.8)"},"7945":{"updateLabel":{"__isSmartRef__":true,"id":7946},"renameOwner":{"__isSmartRef__":true,"id":7949}},"7946":{"varMapping":{"__isSmartRef__":true,"id":7947},"source":"function updateLabel() {\n\t// observe name changes in owner\n\tif (this.owner !== this.oldOwner) {\n\t\tif (this.oldOwner)\n\t\t\tdisconnect(this.oldOwner, 'name', this, 'updateLabel')\n\t\tif (this.owner)\n\t\t\tconnect(this.owner, 'name', this, 'updateLabel')\n\t\tthis.oldOwner = this.owner\n\t}\n\tvar name = (this.owner ? this.owner.name : \"no owner\")\n\tif (this.textString != name)\n\tthis.setTextString(name)\n}","funcProperties":{"__isSmartRef__":true,"id":7948},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7947":{"this":{"__isSmartRef__":true,"id":7928}},"7948":{},"7949":{"varMapping":{"__isSmartRef__":true,"id":7950},"source":"function renameOwner(name) {\n\tif (this.owner && this.owner.name != name) {\n\t\talertOK(\"renamed \" + this.owner + \" to \" + name)\n\t\tthis.owner.setName(name);\n\t}\n}","funcProperties":{"__isSmartRef__":true,"id":7951},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7950":{"this":{"__isSmartRef__":true,"id":7928}},"7951":{},"7952":{"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(116.7,82.3)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgba(204,204,204,0.5)","_Padding":"lively.rect(0,0,0,0)"},"7953":{"partsSpaceName":"PartsBin/Basic","comment":"A simple box morph. A really orange one. Its amazing what you can build out of simple boxes.... Who needs stars when you got orange rectangles!","migrationLevel":4,"partName":"Rectangle","changes":[{"__isSmartRef__":true,"id":7954},{"__isSmartRef__":true,"id":7956},{"__isSmartRef__":true,"id":7958},{"__isSmartRef__":true,"id":7960},{"__isSmartRef__":true,"id":7962},{"__isSmartRef__":true,"id":7964},{"__isSmartRef__":true,"id":7966},{"__isSmartRef__":true,"id":7968}],"lastModifiedDate":{"__isSmartRef__":true,"id":7970},"revisionOnLoad":184624,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"7954":{"date":{"__isSmartRef__":true,"id":7955},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"7955":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"7956":{"date":{"__isSmartRef__":true,"id":7957},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"7957":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"7958":{"date":{"__isSmartRef__":true,"id":7959},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"7959":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"7960":{"date":{"__isSmartRef__":true,"id":7961},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"7961":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"7962":{"date":{"__isSmartRef__":true,"id":7963},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"7963":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"7964":{"date":{"__isSmartRef__":true,"id":7965},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"7965":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"7966":{"date":{"__isSmartRef__":true,"id":7967},"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8"},"7967":{"isSerializedDate":true,"string":"Mon Jun 18 2012 19:35:08 GMT+0200 (CEST)"},"7968":{"date":{"__isSmartRef__":true,"id":7969},"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205"},"7969":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:35:51 GMT+0100 (CET)"},"7970":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:33:25 GMT+0100 (CET)"},"7971":{"morph":{"__isSmartRef__":true,"id":7927},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"7972":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":7973}},"7973":{"test01IsMorph":{"__isSmartRef__":true,"id":7974}},"7974":{"varMapping":{"__isSmartRef__":true,"id":7975},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":7976},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7975":{"this":{"__isSmartRef__":true,"id":7972}},"7976":{},"7977":{"morph":{"__isSmartRef__":true,"id":7927},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(680.5,3475.2)"},"7978":{"morph":{"__isSmartRef__":true,"id":7927},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(735.0,3454.5)"},"7979":{"morph":{"__isSmartRef__":true,"id":7927},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(789.6,3433.8)"},"7980":{"morph":{"__isSmartRef__":true,"id":7927},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(804.2,3472.2)"},"7981":{"morph":{"__isSmartRef__":true,"id":7927},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(818.8,3510.7)"},"7982":{"morph":{"__isSmartRef__":true,"id":7927},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(764.3,3531.4)"},"7983":{"morph":{"__isSmartRef__":true,"id":7927},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(709.7,3552.2)"},"7984":{"morph":{"__isSmartRef__":true,"id":7927},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(695.1,3513.7)"},"7985":{"sourceObj":{"__isSmartRef__":true,"id":7927},"sourceAttrName":"name","targetObj":{"__isSmartRef__":true,"id":7928},"targetMethodName":"updateLabel","varMapping":{"__isSmartRef__":true,"id":7986},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7986":{"source":{"__isSmartRef__":true,"id":7927},"target":{"__isSmartRef__":true,"id":7928}},"7987":{"sourceObj":{"__isSmartRef__":true,"id":7927},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":7917},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":7988},"dependendConnections":[{"__isSmartRef__":true,"id":7989},{"__isSmartRef__":true,"id":7991},{"__isSmartRef__":true,"id":7993},{"__isSmartRef__":true,"id":7995}],"oldTransform":{"__isSmartRef__":true,"id":7997},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"7988":{"source":{"__isSmartRef__":true,"id":7927},"target":{"__isSmartRef__":true,"id":7917}},"7989":{"sourceObj":{"__isSmartRef__":true,"id":7927},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":7987},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":7990},"dependedBy":{"__isSmartRef__":true,"id":7987},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7990":{"source":{"__isSmartRef__":true,"id":7927},"target":{"__isSmartRef__":true,"id":7987}},"7991":{"sourceObj":{"__isSmartRef__":true,"id":7927},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":7987},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":7992},"dependedBy":{"__isSmartRef__":true,"id":7987},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7992":{"source":{"__isSmartRef__":true,"id":7927},"target":{"__isSmartRef__":true,"id":7987}},"7993":{"sourceObj":{"__isSmartRef__":true,"id":7927},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":7987},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":7994},"dependedBy":{"__isSmartRef__":true,"id":7987},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7994":{"source":{"__isSmartRef__":true,"id":7927},"target":{"__isSmartRef__":true,"id":7987}},"7995":{"sourceObj":{"__isSmartRef__":true,"id":7927},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":7987},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":7996},"dependedBy":{"__isSmartRef__":true,"id":7987},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7996":{"source":{"__isSmartRef__":true,"id":7927},"target":{"__isSmartRef__":true,"id":7987}},"7997":{"d":0.9347623017725522,"a":0.9347623017725522,"f":3485.245045045044,"e":728.5390390390387,"c":0.3552737524570028,"b":-0.3552737524570028,"matrix_":{"__isSmartRef__":true,"id":7998},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"7998":{"a":0.9347623017725522,"b":-0.3552737524570028,"c":0.3552737524570028,"d":0.9347623017725522,"e":728.5390390390387,"f":3485.245045045044,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"7999":{"sourceObj":{"__isSmartRef__":true,"id":7927},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":8000},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":8112},"dependendConnections":[{"__isSmartRef__":true,"id":8113},{"__isSmartRef__":true,"id":8115},{"__isSmartRef__":true,"id":8117},{"__isSmartRef__":true,"id":8119}],"oldTransform":{"__isSmartRef__":true,"id":8121},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"8000":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":8001},"id":"4809CC50-2A92-4A4F-9D0D-829B6BA12A0B","eventHandler":{"__isSmartRef__":true,"id":8004},"__layered_droppingEnabled__":true,"halosEnabled":true,"isBeingDragged":false,"controlPoints":[{"__isSmartRef__":true,"id":8005},{"__isSmartRef__":true,"id":8006}],"showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":8007},"name":"Connector1","derivationIds":[731,"5E6BD741-9C99-47B9-95C1-7A028178DB17","A8D5C37A-F23F-47FE-8DE2-211CE4484A4F","F722069B-8602-4E8D-BE3F-92A1E0C0EF28","D5ED19F9-968E-4C7E-9936-69F2735A813F","A9E370BC-F208-425C-BFFC-F8D6BB52E11F","4E431641-D056-46CB-B2A8-6626382EF423"],"_ClipMode":"visible","controlPointsHalos":[],"prevScroll":[0,0],"grabbingEnabled":false,"moved":true,"#startLetters":"controlPoints[0]","fromMorph":{"__isSmartRef__":true,"id":7927},"toMorph":{"__isSmartRef__":true,"id":3202},"update":{"__isSmartRef__":true,"id":8013},"isCopyMorphRef":true,"morphRefId":2,"selectedMorph":{"__isSmartRef__":true,"id":3202},"selectedMorphHighlights":[],"owner":null,"_Rotation":0,"_Scale":1,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":8015},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","distanceToDragEvent":"lively.pt(295.7,-20.8)","_Position":"lively.pt(10527.5,52997.9)"},"8001":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":8002},{"__isSmartRef__":true,"id":8003}],"_ClipMode":"visible","_BorderWidth":3.1119999999999997,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Padding","_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(-75.9,-6.9)","_Extent":"lively.pt(151.7,13.9)","_BorderColor":"Color.rgb(161,161,161)"},"8002":{"isAbsolute":true,"x":74.86198803712648,"y":-4.949983532278566,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"8003":{"isAbsolute":true,"x":-73.86198803712614,"y":5.949983532282204,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"8004":{"morph":{"__isSmartRef__":true,"id":8000},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8005":{"morph":{"__isSmartRef__":true,"id":8000},"index":0,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"8006":{"morph":{"__isSmartRef__":true,"id":8000},"index":1,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"8007":{"requiredModules":[],"migrationLevel":4,"partsSpaceName":"PartsBin/Jens/","comment":"Yes, I think I got it again: Powerful and nice connectors.\nThis time 100 % Part only!","partName":"Connector","lastModifiedDate":{"__isSmartRef__":true,"id":8008},"revisionOnLoad":186829,"changes":[{"__isSmartRef__":true,"id":8009},{"__isSmartRef__":true,"id":8011}],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"8008":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:04:50 GMT+0100 (CET)"},"8009":{"date":{"__isSmartRef__":true,"id":8010},"author":"jenslincke","message":"no comment","id":"28165CED-C8C5-4B8E-9655-645E3F5099BB"},"8010":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:42 GMT+0100 (CET)"},"8011":{"date":{"__isSmartRef__":true,"id":8012},"author":"jenslincke","message":"no comment","id":"117C964B-9768-48F2-8EC8-D4328478198F"},"8012":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:05:07 GMT+0100 (CET)"},"8013":{"d":1,"a":1,"f":906.1,"e":107.8,"c":0,"b":0,"matrix_":{"__isSmartRef__":true,"id":8014},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"8014":{"a":1,"b":0,"c":0,"d":1,"e":107.8,"f":906.1,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"8015":{"connect":{"__isSmartRef__":true,"id":8016},"updatePosition":{"__isSmartRef__":true,"id":8020},"updateControlPoint":{"__isSmartRef__":true,"id":8024},"disconnectMorph":{"__isSmartRef__":true,"id":8028},"connectMorph":{"__isSmartRef__":true,"id":8032},"onMouseOver":{"__isSmartRef__":true,"id":8036},"onMouseOut":{"__isSmartRef__":true,"id":8040},"makeHandle":{"__isSmartRef__":true,"id":8048},"showFromHandle":{"__isSmartRef__":true,"id":8052},"showToHandle":{"__isSmartRef__":true,"id":8056},"reset":{"__isSmartRef__":true,"id":8060},"onDragInHandle":{"__isSmartRef__":true,"id":8064},"onDragStartInHandle":{"__isSmartRef__":true,"id":8068},"onDragEndInHandle":{"__isSmartRef__":true,"id":8072},"connectFrom":{"__isSmartRef__":true,"id":8076},"connectTo":{"__isSmartRef__":true,"id":8080},"hideToHandle":{"__isSmartRef__":true,"id":8084},"hideFromHandle":{"__isSmartRef__":true,"id":8088},"updateIntersection":{"__isSmartRef__":true,"id":8092},"lineIntersect":{"__isSmartRef__":true,"id":8096},"intersectMorphLinePoints":{"__isSmartRef__":true,"id":8100},"intersectMorph":{"__isSmartRef__":true,"id":8104},"globalShapePathFromMorph":{"__isSmartRef__":true,"id":8108}},"8016":{"varMapping":{"__isSmartRef__":true,"id":8017},"source":"function connect(morphA, morphB) {\n this.connectFrom(morphA)\n this.connectTo(morphB)\n this.updatePosition()\n}","funcProperties":{"__isSmartRef__":true,"id":8018},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8017":{"this":{"__isSmartRef__":true,"id":8000}},"8018":{"timestamp":{"__isSmartRef__":true,"id":8019},"user":"jenslincke","tags":[]},"8019":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:50:49 GMT+0100 (CET)"},"8020":{"varMapping":{"__isSmartRef__":true,"id":8021},"source":"function updatePosition() {\n this.updateControlPoint(this.controlPoints[0], this.fromMorph)\n this.updateControlPoint(this.controlPoints[1], this.toMorph)\n this.updateIntersection(this.fromMorph, this.controlPoints[0])\n this.updateIntersection(this.toMorph, this.controlPoints[1])\n\n this.adjustOrigin(this.bounds().extent().scaleBy(0.5))\n}","funcProperties":{"__isSmartRef__":true,"id":8022},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8021":{"this":{"__isSmartRef__":true,"id":8000}},"8022":{"timestamp":{"__isSmartRef__":true,"id":8023},"user":"jenslincke","tags":[]},"8023":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:06:20 GMT+0100 (CET)"},"8024":{"varMapping":{"__isSmartRef__":true,"id":8025},"source":"function updateControlPoint(cp, morph) {\n if (!cp || !morph) return;\n cp.setGlobalPos(morph.worldPoint(morph.shape.bounds().center()))\n}","funcProperties":{"__isSmartRef__":true,"id":8026},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8025":{"this":{"__isSmartRef__":true,"id":8000}},"8026":{"timestamp":{"__isSmartRef__":true,"id":8027},"user":"jenslincke","tags":[]},"8027":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:45:56 GMT+0100 (CET)"},"8028":{"varMapping":{"__isSmartRef__":true,"id":8029},"source":"function disconnectMorph(morph) {\n if (!morph) return;\n lively.bindings.disconnect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":8030},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8029":{"this":{"__isSmartRef__":true,"id":8000}},"8030":{"timestamp":{"__isSmartRef__":true,"id":8031},"user":"jenslincke","tags":[]},"8031":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:19:18 GMT+0100 (CET)"},"8032":{"varMapping":{"__isSmartRef__":true,"id":8033},"source":"function connectMorph(morph) {\n if (morph)\n lively.bindings.connect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":8034},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8033":{"this":{"__isSmartRef__":true,"id":8000}},"8034":{"timestamp":{"__isSmartRef__":true,"id":8035},"user":"jenslincke","tags":[]},"8035":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:52:12 GMT+0100 (CET)"},"8036":{"varMapping":{"__isSmartRef__":true,"id":8037},"source":"function onMouseOver(evt) {\n var p = evt.mousePoint.scaleBy(this.world().getScale())\n\n var cp1 = this.controlPoints[0].getGlobalPos();\n if (p.dist(cp1) < 20) {\n this.showFromHandle()\n } else {\n this.hideFromHandle()\n }\n var cp2 = this.controlPoints[1].getGlobalPos();\n if (p.dist(cp2) < 20) {\n this.showToHandle()\n } else {\n this.hideToHandle()\n }\n}","funcProperties":{"__isSmartRef__":true,"id":8038},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8037":{"this":{"__isSmartRef__":true,"id":8000}},"8038":{"timestamp":{"__isSmartRef__":true,"id":8039},"user":"jenslincke","tags":[]},"8039":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:23:03 GMT+0100 (CET)"},"8040":{"varMapping":{"__isSmartRef__":true,"id":8041},"source":"function onMouseOut(evt) {\n // this.hideFromHandle()\n // this.hideToHandle()\n}","funcProperties":{"__isSmartRef__":true,"id":8046},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8041":{"this":{"__isSmartRef__":true,"id":8000},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":8042}},"8042":{"$super":{"__isSmartRef__":true,"id":8043}},"8043":{"varMapping":{"__isSmartRef__":true,"id":8044},"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":8045},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8044":{"obj":{"__isSmartRef__":true,"id":8000},"name":"onMouseOut"},"8045":{},"8046":{"timestamp":{"__isSmartRef__":true,"id":8047},"user":"jenslincke","tags":[]},"8047":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:54:53 GMT+0100 (CET)"},"8048":{"varMapping":{"__isSmartRef__":true,"id":8049},"source":"function makeHandle() {\n var m = lively.morphic.Morph.makeRectangle(0,0,10,10);\n m.disableGrabbing()\n m.enableDragging()\n m.connector = this;\n // move real behavior to a place which is easier to develop\n // do not use bind, because we like late binding \n m.addScript(function onDragStart(evt) {\n this.connector.onDragStartInHandle(this, evt)\n })\n m.addScript(function onDrag(evt) {\n this.connector.onDragInHandle(this, evt)\n })\n m.addScript(function onDragEnd(evt) {\n this.connector.onDragEndInHandle(this, evt)\n })\n m.isEpiMorph = true;\n return m\n}","funcProperties":{"__isSmartRef__":true,"id":8050},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8049":{"this":{"__isSmartRef__":true,"id":8000}},"8050":{"timestamp":{"__isSmartRef__":true,"id":8051},"user":"jenslincke","tags":[]},"8051":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:08:29 GMT+0100 (CET)"},"8052":{"varMapping":{"__isSmartRef__":true,"id":8053},"source":"function showFromHandle() {\n if (!this.fromHandle) {\n this.fromHandle = this.makeHandle();\n this.fromHandle.setFill(Color.red)\n this.fromHandle.isFromHandle = true;\n }\n this.fromHandle.openInWorld();\n this.fromHandle.controlPoint = this.controlPoints[0];\n this.fromHandle.setPosition(this.controlPoints[0].getGlobalPos().subPt(pt(5,5)))\n return this.fromHandle\n}","funcProperties":{"__isSmartRef__":true,"id":8054},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8053":{"this":{"__isSmartRef__":true,"id":8000}},"8054":{"timestamp":{"__isSmartRef__":true,"id":8055},"user":"jenslincke","tags":[]},"8055":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:13:03 GMT+0100 (CET)"},"8056":{"varMapping":{"__isSmartRef__":true,"id":8057},"source":"function showToHandle() {\n if (!this.toHandle) {\n this.toHandle = this.makeHandle();\n this.toHandle.setFill(Color.red)\n this.toHandle.isToHandle = true;\n\n }\n this.toHandle.openInWorld();\n this.toHandle.controlPoint = this.controlPoints[1];\n this.toHandle.setPosition(this.controlPoints[1].getGlobalPos().subPt(pt(5,5)))\n return this.toHandle\n}","funcProperties":{"__isSmartRef__":true,"id":8058},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8057":{"this":{"__isSmartRef__":true,"id":8000}},"8058":{"timestamp":{"__isSmartRef__":true,"id":8059},"user":"jenslincke","tags":[]},"8059":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:20:25 GMT+0100 (CET)"},"8060":{"varMapping":{"__isSmartRef__":true,"id":8061},"source":"function reset() {\n if (this.fromHandle) {\n this.fromHandle.remove()\n delete this.fromHandle\n }\n if (this.toHandle) {\n this.toHandle.remove()\n delete this.toHandle\n }\n // this.controlPoints[1].setPos(pt(200,200))\n}","funcProperties":{"__isSmartRef__":true,"id":8062},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8061":{"this":{"__isSmartRef__":true,"id":8000}},"8062":{"timestamp":{"__isSmartRef__":true,"id":8063},"user":"jenslincke","tags":[]},"8063":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:15:00 GMT+0100 (CET)"},"8064":{"varMapping":{"__isSmartRef__":true,"id":8065},"source":"function onDragInHandle(handle, evt) {\n\n var pos = handle.getPositionInWorld();\n var delta = evt.hand.getPosition().subPt(pos);\n handle.moveBy(delta)\n pos = handle.getPositionInWorld();\n if (handle.controlPoint)\n handle.controlPoint.setGlobalPos(pos.addPt(pt(5,5)))\n var morphs = this.owner.morphsContainingPoint(pos)\n morphs = morphs.reject(function(ea) {\n return ea.isWorld || (ea === handle) || (ea === this) || \n (ea === this.owner)\n }, this)\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n this.selectedMorph = morphs.first();\n this.selectedMorphHighlights = show(this.selectedMorph)\n handle.startPos = evt.getPosition();\n}","funcProperties":{"__isSmartRef__":true,"id":8066},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8065":{"this":{"__isSmartRef__":true,"id":8000}},"8066":{"timestamp":{"__isSmartRef__":true,"id":8067},"user":"jenslincke","tags":[]},"8067":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:06:40 GMT+0100 (CET)"},"8068":{"varMapping":{"__isSmartRef__":true,"id":8069},"source":"function onDragStartInHandle(handle, evt) {\n handle.startPos = evt.getPosition()\n}","funcProperties":{"__isSmartRef__":true,"id":8070},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8069":{"this":{"__isSmartRef__":true,"id":8000}},"8070":{"timestamp":{"__isSmartRef__":true,"id":8071},"user":"jenslincke","tags":[]},"8071":{"isSerializedDate":true,"string":"Thu Dec 13 2012 15:51:13 GMT+0100 (CET)"},"8072":{"varMapping":{"__isSmartRef__":true,"id":8073},"source":"function onDragEndInHandle(handle, evt) {\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n \n if (handle.isFromHandle) this.connectFrom(this.selectedMorph)\n if (handle.isToHandle) this.connectTo(this.selectedMorph)\n handle.remove()\n}","funcProperties":{"__isSmartRef__":true,"id":8074},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8073":{"this":{"__isSmartRef__":true,"id":8000}},"8074":{"timestamp":{"__isSmartRef__":true,"id":8075},"user":"jenslincke","tags":[]},"8075":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:44:35 GMT+0100 (CET)"},"8076":{"varMapping":{"__isSmartRef__":true,"id":8077},"source":"function connectFrom(morph) {\n if (morph && morph === this.toMorph) return; // not allowed\n\n this.disconnectMorph(this.fromMorph)\n this.fromMorph = morph;\n this.connectMorph(this.fromMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":8078},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8077":{"this":{"__isSmartRef__":true,"id":8000}},"8078":{"timestamp":{"__isSmartRef__":true,"id":8079},"user":"jenslincke","tags":[]},"8079":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:02:22 GMT+0100 (CET)"},"8080":{"varMapping":{"__isSmartRef__":true,"id":8081},"source":"function connectTo(morph) {\n\n if (morph && morph === this.fromMorph) return; // not allowed\n\n this.disconnectMorph(this.toMorph)\n this.toMorph = morph;\n this.connectMorph(this.toMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":8082},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8081":{"this":{"__isSmartRef__":true,"id":8000}},"8082":{"timestamp":{"__isSmartRef__":true,"id":8083},"user":"jenslincke","tags":[]},"8083":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:02:30 GMT+0100 (CET)"},"8084":{"varMapping":{"__isSmartRef__":true,"id":8085},"source":"function hideToHandle() {\n if (this.toHandle) {\n this.toHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":8086},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8085":{"this":{"__isSmartRef__":true,"id":8000}},"8086":{"timestamp":{"__isSmartRef__":true,"id":8087},"user":"jenslincke","tags":[]},"8087":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:51:59 GMT+0100 (CET)"},"8088":{"varMapping":{"__isSmartRef__":true,"id":8089},"source":"function hideFromHandle() {\n if (this.fromHandle) {\n this.fromHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":8090},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8089":{"this":{"__isSmartRef__":true,"id":8000}},"8090":{"timestamp":{"__isSmartRef__":true,"id":8091},"user":"jenslincke","tags":[]},"8091":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:52:18 GMT+0100 (CET)"},"8092":{"varMapping":{"__isSmartRef__":true,"id":8093},"source":"function updateIntersection(morph, cp) {\n if (!morph) return;\n var intersection = this.intersectMorph(morph)[0];\n if (intersection) {\n cp.setGlobalPos(intersection);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":8094},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8093":{"this":{"__isSmartRef__":true,"id":8000}},"8094":{"timestamp":{"__isSmartRef__":true,"id":8095},"user":"jenslincke","tags":[]},"8095":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:32 GMT+0100 (CET)"},"8096":{"varMapping":{"__isSmartRef__":true,"id":8097},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":8098},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8097":{"this":{"__isSmartRef__":true,"id":8000}},"8098":{"timestamp":{"__isSmartRef__":true,"id":8099},"user":"jenslincke","tags":[]},"8099":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:47:12 GMT+0100 (CET)"},"8100":{"varMapping":{"__isSmartRef__":true,"id":8101},"source":"function intersectMorphLinePoints(morph, a1, a2) {\n var points = this.globalShapePathFromMorph(morph);\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":8102},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8101":{"this":{"__isSmartRef__":true,"id":8000}},"8102":{"timestamp":{"__isSmartRef__":true,"id":8103},"user":"jenslincke","tags":[]},"8103":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:21 GMT+0100 (CET)"},"8104":{"varMapping":{"__isSmartRef__":true,"id":8105},"source":"function intersectMorph(morph) {\n var line = this;\n return this.intersectMorphLinePoints(morph,\n line.controlPoints[0].getGlobalPos(), line.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":8106},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8105":{"this":{"__isSmartRef__":true,"id":8000}},"8106":{"timestamp":{"__isSmartRef__":true,"id":8107},"user":"jenslincke","tags":[]},"8107":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:47 GMT+0100 (CET)"},"8108":{"varMapping":{"__isSmartRef__":true,"id":8109},"source":"function globalShapePathFromMorph(morph) {\n var b = morph.shape.bounds();\n var p1 = morph.worldPoint(b.topLeft()),\n p2 = morph.worldPoint(b.topRight()),\n p3 = morph.worldPoint(b.bottomRight()),\n p4 = morph.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":8110},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8109":{"this":{"__isSmartRef__":true,"id":8000}},"8110":{"timestamp":{"__isSmartRef__":true,"id":8111},"user":"jenslincke","tags":[]},"8111":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:00 GMT+0100 (CET)"},"8112":{"source":{"__isSmartRef__":true,"id":7927},"target":{"__isSmartRef__":true,"id":8000}},"8113":{"sourceObj":{"__isSmartRef__":true,"id":7927},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":7999},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":8114},"dependedBy":{"__isSmartRef__":true,"id":7999},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8114":{"source":{"__isSmartRef__":true,"id":7927},"target":{"__isSmartRef__":true,"id":7999}},"8115":{"sourceObj":{"__isSmartRef__":true,"id":7927},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":7999},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":8116},"dependedBy":{"__isSmartRef__":true,"id":7999},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8116":{"source":{"__isSmartRef__":true,"id":7927},"target":{"__isSmartRef__":true,"id":7999}},"8117":{"sourceObj":{"__isSmartRef__":true,"id":7927},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":7999},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":8118},"dependedBy":{"__isSmartRef__":true,"id":7999},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8118":{"source":{"__isSmartRef__":true,"id":7927},"target":{"__isSmartRef__":true,"id":7999}},"8119":{"sourceObj":{"__isSmartRef__":true,"id":7927},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":7999},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":8120},"dependedBy":{"__isSmartRef__":true,"id":7999},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8120":{"source":{"__isSmartRef__":true,"id":7927},"target":{"__isSmartRef__":true,"id":7999}},"8121":{"d":0.9347623017725522,"a":0.9347623017725522,"f":3485.245045045044,"e":728.5390390390387,"c":0.3552737524570028,"b":-0.3552737524570028,"matrix_":{"__isSmartRef__":true,"id":8122},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"8122":{"a":0.9347623017725522,"b":-0.3552737524570028,"c":0.3552737524570028,"d":0.9347623017725522,"e":728.5390390390387,"f":3485.245045045044,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"8123":{"globalShapePath":{"__isSmartRef__":true,"id":8124},"lineIntersect":{"__isSmartRef__":true,"id":8127},"intersectLine":{"__isSmartRef__":true,"id":8131},"intersectLineMorph":{"__isSmartRef__":true,"id":8134}},"8124":{"varMapping":{"__isSmartRef__":true,"id":8125},"source":"function globalShapePath() {\n var b = this.shape.bounds();\n var p1 = this.worldPoint(b.topLeft()),\n p2 = this.worldPoint(b.topRight()),\n p3 = this.worldPoint(b.bottomRight()),\n p4 = this.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":8126},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8125":{"this":{"__isSmartRef__":true,"id":7927}},"8126":{},"8127":{"varMapping":{"__isSmartRef__":true,"id":8128},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":8129},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8128":{"this":{"__isSmartRef__":true,"id":7927}},"8129":{"timestamp":{"__isSmartRef__":true,"id":8130},"user":"jenslincke","tags":[]},"8130":{"isSerializedDate":true,"string":"Thu Dec 13 2012 13:42:55 GMT+0100 (CET)"},"8131":{"varMapping":{"__isSmartRef__":true,"id":8132},"source":"function intersectLine(a1, a2) {\n var points = this.globalShapePath();\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":8133},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8132":{"this":{"__isSmartRef__":true,"id":7927}},"8133":{},"8134":{"varMapping":{"__isSmartRef__":true,"id":8135},"source":"function intersectLineMorph(m) {\n return this.intersectLine(m.controlPoints[0].getGlobalPos(), m.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":8136},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8135":{"this":{"__isSmartRef__":true,"id":7927}},"8136":{},"8137":{"d":1,"a":1,"f":906.1,"e":107.8,"c":0,"b":0,"matrix_":{"__isSmartRef__":true,"id":8138},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"8138":{"a":1,"b":0,"c":0,"d":1,"e":107.8,"f":906.1,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"8139":{"connect":{"__isSmartRef__":true,"id":8140},"updatePosition":{"__isSmartRef__":true,"id":8144},"updateControlPoint":{"__isSmartRef__":true,"id":8148},"disconnectMorph":{"__isSmartRef__":true,"id":8152},"connectMorph":{"__isSmartRef__":true,"id":8156},"onMouseOver":{"__isSmartRef__":true,"id":8160},"onMouseOut":{"__isSmartRef__":true,"id":8164},"makeHandle":{"__isSmartRef__":true,"id":8172},"showFromHandle":{"__isSmartRef__":true,"id":8176},"showToHandle":{"__isSmartRef__":true,"id":8180},"reset":{"__isSmartRef__":true,"id":8184},"onDragInHandle":{"__isSmartRef__":true,"id":8188},"onDragStartInHandle":{"__isSmartRef__":true,"id":8192},"onDragEndInHandle":{"__isSmartRef__":true,"id":8196},"connectFrom":{"__isSmartRef__":true,"id":8200},"connectTo":{"__isSmartRef__":true,"id":8204},"hideToHandle":{"__isSmartRef__":true,"id":8208},"hideFromHandle":{"__isSmartRef__":true,"id":8212},"updateIntersection":{"__isSmartRef__":true,"id":8216},"lineIntersect":{"__isSmartRef__":true,"id":8220},"intersectMorphLinePoints":{"__isSmartRef__":true,"id":8224},"intersectMorph":{"__isSmartRef__":true,"id":8228},"globalShapePathFromMorph":{"__isSmartRef__":true,"id":8232}},"8140":{"varMapping":{"__isSmartRef__":true,"id":8141},"source":"function connect(morphA, morphB) {\n this.connectFrom(morphA)\n this.connectTo(morphB)\n this.updatePosition()\n}","funcProperties":{"__isSmartRef__":true,"id":8142},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8141":{"this":{"__isSmartRef__":true,"id":7917}},"8142":{"timestamp":{"__isSmartRef__":true,"id":8143},"user":"jenslincke","tags":[]},"8143":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:50:49 GMT+0100 (CET)"},"8144":{"varMapping":{"__isSmartRef__":true,"id":8145},"source":"function updatePosition() {\n this.updateControlPoint(this.controlPoints[0], this.fromMorph)\n this.updateControlPoint(this.controlPoints[1], this.toMorph)\n this.updateIntersection(this.fromMorph, this.controlPoints[0])\n this.updateIntersection(this.toMorph, this.controlPoints[1])\n\n if (this.controlPoints[0].getPos().equalPt(this.controlPoints[1].getPos()))\n this.controlPoints[1].setPos(this.controlPoints[1].getPos().addPt(pt(30,0)))\n\n this.adjustOrigin(this.bounds().extent().scaleBy(0.5))\n \n}","funcProperties":{"__isSmartRef__":true,"id":8146},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8145":{"this":{"__isSmartRef__":true,"id":7917}},"8146":{"timestamp":{"__isSmartRef__":true,"id":8147},"user":"jenslincke","tags":[]},"8147":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:59:26 GMT+0100 (CET)"},"8148":{"varMapping":{"__isSmartRef__":true,"id":8149},"source":"function updateControlPoint(cp, morph) {\n if (!cp || !morph) return;\n cp.setGlobalPos(morph.worldPoint(morph.shape.bounds().center()))\n}","funcProperties":{"__isSmartRef__":true,"id":8150},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8149":{"this":{"__isSmartRef__":true,"id":7917}},"8150":{"timestamp":{"__isSmartRef__":true,"id":8151},"user":"jenslincke","tags":[]},"8151":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:45:56 GMT+0100 (CET)"},"8152":{"varMapping":{"__isSmartRef__":true,"id":8153},"source":"function disconnectMorph(morph) {\n if (!morph) return;\n lively.bindings.disconnect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":8154},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8153":{"this":{"__isSmartRef__":true,"id":7917}},"8154":{"timestamp":{"__isSmartRef__":true,"id":8155},"user":"jenslincke","tags":[]},"8155":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:19:18 GMT+0100 (CET)"},"8156":{"varMapping":{"__isSmartRef__":true,"id":8157},"source":"function connectMorph(morph) {\n if (morph)\n lively.bindings.connect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":8158},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8157":{"this":{"__isSmartRef__":true,"id":7917}},"8158":{"timestamp":{"__isSmartRef__":true,"id":8159},"user":"jenslincke","tags":[]},"8159":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:52:12 GMT+0100 (CET)"},"8160":{"varMapping":{"__isSmartRef__":true,"id":8161},"source":"function onMouseOver(evt) {\n var p = evt.mousePoint.scaleBy(this.world().getScale())\n\n var cp1 = this.controlPoints[0].getGlobalPos();\n if (p.dist(cp1) < 20) {\n this.showFromHandle()\n } else {\n this.hideFromHandle()\n }\n var cp2 = this.controlPoints[1].getGlobalPos();\n if (p.dist(cp2) < 20) {\n this.showToHandle()\n } else {\n this.hideToHandle()\n }\n}","funcProperties":{"__isSmartRef__":true,"id":8162},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8161":{"this":{"__isSmartRef__":true,"id":7917}},"8162":{"timestamp":{"__isSmartRef__":true,"id":8163},"user":"jenslincke","tags":[]},"8163":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:23:03 GMT+0100 (CET)"},"8164":{"varMapping":{"__isSmartRef__":true,"id":8165},"source":"function onMouseOut(evt) {\n // this.hideFromHandle()\n // this.hideToHandle()\n}","funcProperties":{"__isSmartRef__":true,"id":8170},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8165":{"this":{"__isSmartRef__":true,"id":7917},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":8166}},"8166":{"$super":{"__isSmartRef__":true,"id":8167}},"8167":{"varMapping":{"__isSmartRef__":true,"id":8168},"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":8169},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8168":{"obj":{"__isSmartRef__":true,"id":7917},"name":"onMouseOut"},"8169":{},"8170":{"timestamp":{"__isSmartRef__":true,"id":8171},"user":"jenslincke","tags":[]},"8171":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:54:53 GMT+0100 (CET)"},"8172":{"varMapping":{"__isSmartRef__":true,"id":8173},"source":"function makeHandle() {\n var m = lively.morphic.Morph.makeRectangle(0,0,10,10);\n m.disableGrabbing()\n m.enableDragging()\n m.connector = this;\n // move real behavior to a place which is easier to develop\n // do not use bind, because we like late binding \n m.addScript(function onDragStart(evt) {\n this.connector.onDragStartInHandle(this, evt)\n })\n m.addScript(function onDrag(evt) {\n this.connector.onDragInHandle(this, evt)\n })\n m.addScript(function onDragEnd(evt) {\n this.connector.onDragEndInHandle(this, evt)\n })\n m.isEpiMorph = true;\n return m\n}","funcProperties":{"__isSmartRef__":true,"id":8174},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8173":{"this":{"__isSmartRef__":true,"id":7917}},"8174":{"timestamp":{"__isSmartRef__":true,"id":8175},"user":"jenslincke","tags":[]},"8175":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:08:29 GMT+0100 (CET)"},"8176":{"varMapping":{"__isSmartRef__":true,"id":8177},"source":"function showFromHandle() {\n if (!this.fromHandle) {\n this.fromHandle = this.makeHandle();\n this.fromHandle.setFill(Color.red)\n this.fromHandle.isFromHandle = true;\n }\n this.fromHandle.openInWorld();\n this.fromHandle.controlPoint = this.controlPoints[0];\n this.fromHandle.setPosition(this.controlPoints[0].getGlobalPos().subPt(pt(5,5)))\n return this.fromHandle\n}","funcProperties":{"__isSmartRef__":true,"id":8178},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8177":{"this":{"__isSmartRef__":true,"id":7917}},"8178":{"timestamp":{"__isSmartRef__":true,"id":8179},"user":"jenslincke","tags":[]},"8179":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:13:03 GMT+0100 (CET)"},"8180":{"varMapping":{"__isSmartRef__":true,"id":8181},"source":"function showToHandle() {\n if (!this.toHandle) {\n this.toHandle = this.makeHandle();\n this.toHandle.setFill(Color.red)\n this.toHandle.isToHandle = true;\n\n }\n this.toHandle.openInWorld();\n this.toHandle.controlPoint = this.controlPoints[1];\n this.toHandle.setPosition(this.controlPoints[1].getGlobalPos().subPt(pt(5,5)))\n return this.toHandle\n}","funcProperties":{"__isSmartRef__":true,"id":8182},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8181":{"this":{"__isSmartRef__":true,"id":7917}},"8182":{"timestamp":{"__isSmartRef__":true,"id":8183},"user":"jenslincke","tags":[]},"8183":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:20:25 GMT+0100 (CET)"},"8184":{"varMapping":{"__isSmartRef__":true,"id":8185},"source":"function reset() {\n if (this.fromHandle) {\n this.fromHandle.remove()\n delete this.fromHandle\n }\n if (this.toHandle) {\n this.toHandle.remove()\n delete this.toHandle\n }\n // this.controlPoints[1].setPos(pt(200,200))\n}","funcProperties":{"__isSmartRef__":true,"id":8186},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8185":{"this":{"__isSmartRef__":true,"id":7917}},"8186":{"timestamp":{"__isSmartRef__":true,"id":8187},"user":"jenslincke","tags":[]},"8187":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:15:00 GMT+0100 (CET)"},"8188":{"varMapping":{"__isSmartRef__":true,"id":8189},"source":"function onDragInHandle(handle, evt) {\n\n var pos = handle.getPositionInWorld();\n var delta = evt.hand.getPosition().subPt(pos);\n handle.moveBy(delta)\n pos = handle.getPositionInWorld();\n if (handle.controlPoint)\n handle.controlPoint.setGlobalPos(pos.addPt(pt(5,5)))\n var morphs = this.owner.morphsContainingPoint(pos)\n morphs = morphs.reject(function(ea) {\n return ea.isWorld || (ea === handle) || (ea === this) || \n (ea === this.owner)\n }, this)\n this.get('Console').textString = morphs\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n this.selectedMorph = morphs.first();\n this.selectedMorphHighlights = show(this.selectedMorph)\n handle.startPos = evt.getPosition();\n}","funcProperties":{"__isSmartRef__":true,"id":8190},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8189":{"this":{"__isSmartRef__":true,"id":7917}},"8190":{"timestamp":{"__isSmartRef__":true,"id":8191},"user":"jenslincke","tags":[]},"8191":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:09:40 GMT+0100 (CET)"},"8192":{"varMapping":{"__isSmartRef__":true,"id":8193},"source":"function onDragStartInHandle(handle, evt) {\n handle.startPos = evt.getPosition()\n}","funcProperties":{"__isSmartRef__":true,"id":8194},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8193":{"this":{"__isSmartRef__":true,"id":7917}},"8194":{"timestamp":{"__isSmartRef__":true,"id":8195},"user":"jenslincke","tags":[]},"8195":{"isSerializedDate":true,"string":"Thu Dec 13 2012 15:51:13 GMT+0100 (CET)"},"8196":{"varMapping":{"__isSmartRef__":true,"id":8197},"source":"function onDragEndInHandle(handle, evt) {\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n \n if (handle.isFromHandle) this.connectFrom(this.selectedMorph)\n if (handle.isToHandle) this.connectTo(this.selectedMorph)\n handle.remove()\n}","funcProperties":{"__isSmartRef__":true,"id":8198},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8197":{"this":{"__isSmartRef__":true,"id":7917}},"8198":{"timestamp":{"__isSmartRef__":true,"id":8199},"user":"jenslincke","tags":[]},"8199":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:44:35 GMT+0100 (CET)"},"8200":{"varMapping":{"__isSmartRef__":true,"id":8201},"source":"function connectFrom(morph) {\n if (morph === this.toMorph) return; // not allowed\n\n this.disconnectMorph(this.fromMorph)\n this.fromMorph = morph;\n this.connectMorph(this.fromMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":8202},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8201":{"this":{"__isSmartRef__":true,"id":7917}},"8202":{"timestamp":{"__isSmartRef__":true,"id":8203},"user":"jenslincke","tags":[]},"8203":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:57:22 GMT+0100 (CET)"},"8204":{"varMapping":{"__isSmartRef__":true,"id":8205},"source":"function connectTo(morph) {\n\n if (morph === this.fromMorph) return; // not allowed\n\n this.disconnectMorph(this.toMorph)\n this.toMorph = morph;\n this.connectMorph(this.toMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":8206},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8205":{"this":{"__isSmartRef__":true,"id":7917}},"8206":{"timestamp":{"__isSmartRef__":true,"id":8207},"user":"jenslincke","tags":[]},"8207":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:57:14 GMT+0100 (CET)"},"8208":{"varMapping":{"__isSmartRef__":true,"id":8209},"source":"function hideToHandle() {\n if (this.toHandle) {\n this.toHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":8210},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8209":{"this":{"__isSmartRef__":true,"id":7917}},"8210":{"timestamp":{"__isSmartRef__":true,"id":8211},"user":"jenslincke","tags":[]},"8211":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:51:59 GMT+0100 (CET)"},"8212":{"varMapping":{"__isSmartRef__":true,"id":8213},"source":"function hideFromHandle() {\n if (this.fromHandle) {\n this.fromHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":8214},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8213":{"this":{"__isSmartRef__":true,"id":7917}},"8214":{"timestamp":{"__isSmartRef__":true,"id":8215},"user":"jenslincke","tags":[]},"8215":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:52:18 GMT+0100 (CET)"},"8216":{"varMapping":{"__isSmartRef__":true,"id":8217},"source":"function updateIntersection(morph, cp) {\n if (!morph) return;\n var intersection = this.intersectMorph(morph)[0];\n if (intersection) {\n cp.setGlobalPos(intersection);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":8218},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8217":{"this":{"__isSmartRef__":true,"id":7917}},"8218":{"timestamp":{"__isSmartRef__":true,"id":8219},"user":"jenslincke","tags":[]},"8219":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:32 GMT+0100 (CET)"},"8220":{"varMapping":{"__isSmartRef__":true,"id":8221},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":8222},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8221":{"this":{"__isSmartRef__":true,"id":7917}},"8222":{"timestamp":{"__isSmartRef__":true,"id":8223},"user":"jenslincke","tags":[]},"8223":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:47:12 GMT+0100 (CET)"},"8224":{"varMapping":{"__isSmartRef__":true,"id":8225},"source":"function intersectMorphLinePoints(morph, a1, a2) {\n var points = this.globalShapePathFromMorph(morph);\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":8226},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8225":{"this":{"__isSmartRef__":true,"id":7917}},"8226":{"timestamp":{"__isSmartRef__":true,"id":8227},"user":"jenslincke","tags":[]},"8227":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:21 GMT+0100 (CET)"},"8228":{"varMapping":{"__isSmartRef__":true,"id":8229},"source":"function intersectMorph(morph) {\n var line = this;\n return this.intersectMorphLinePoints(morph,\n line.controlPoints[0].getGlobalPos(), line.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":8230},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8229":{"this":{"__isSmartRef__":true,"id":7917}},"8230":{"timestamp":{"__isSmartRef__":true,"id":8231},"user":"jenslincke","tags":[]},"8231":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:47 GMT+0100 (CET)"},"8232":{"varMapping":{"__isSmartRef__":true,"id":8233},"source":"function globalShapePathFromMorph(morph) {\n var b = morph.shape.bounds();\n var p1 = morph.worldPoint(b.topLeft()),\n p2 = morph.worldPoint(b.topRight()),\n p3 = morph.worldPoint(b.bottomRight()),\n p4 = morph.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":8234},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8233":{"this":{"__isSmartRef__":true,"id":7917}},"8234":{"timestamp":{"__isSmartRef__":true,"id":8235},"user":"jenslincke","tags":[]},"8235":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:00 GMT+0100 (CET)"},"8236":{"morph":{"__isSmartRef__":true,"id":7886},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(142.4,3530.4)"},"8237":{"morph":{"__isSmartRef__":true,"id":7886},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(104.9,3506.4)"},"8238":{"morph":{"__isSmartRef__":true,"id":7886},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(67.4,3482.4)"},"8239":{"morph":{"__isSmartRef__":true,"id":7886},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(89.0,3448.7)"},"8240":{"sourceObj":{"__isSmartRef__":true,"id":7886},"sourceAttrName":"name","targetObj":{"__isSmartRef__":true,"id":7861},"targetMethodName":"updateLabel","varMapping":{"__isSmartRef__":true,"id":8241},"visualConnector":{"__isSmartRef__":true,"id":8242},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8241":{"source":{"__isSmartRef__":true,"id":7886},"target":{"__isSmartRef__":true,"id":7861}},"8242":{"submorphs":[{"__isSmartRef__":true,"id":8243}],"scripts":[],"shape":{"__isSmartRef__":true,"id":8250},"eventHandler":{"__isSmartRef__":true,"id":8253},"_ClipMode":"visible","derivationIds":[],"id":"5814672F-102B-41EE-9D91-9FA58B6451FD","__layered_droppingEnabled__":true,"halosEnabled":true,"owner":null,"controlPoints":[{"__isSmartRef__":true,"id":8254},{"__isSmartRef__":true,"id":8255}],"con":{"__isSmartRef__":true,"id":8240},"showsMorphMenu":true,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":8256},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"8243":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":8244},"eventHandler":{"__isSmartRef__":true,"id":8249},"_ClipMode":"visible","derivationIds":[],"id":"01253C2A-18A1-43A8-AA72-260E7FC0929E","__layered_droppingEnabled__":true,"halosEnabled":true,"owner":{"__isSmartRef__":true,"id":8242},"_Rotation":1.3832457846463706,"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","_Position":"lively.pt(259.1,3427.8)"},"8244":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":8245},{"__isSmartRef__":true,"id":8246},{"__isSmartRef__":true,"id":8247},{"__isSmartRef__":true,"id":8248}],"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor","_Fill"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Position":"lively.pt(-12.0,-6.0)","_Extent":"lively.pt(17.0,13.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(0,0,0)"},"8245":{"isAbsolute":true,"x":-11,"y":-5,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"8246":{"isAbsolute":true,"x":-11,"y":7,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"8247":{"isAbsolute":true,"x":5,"y":1,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"8248":{"isAbsolute":true,"x":-11,"y":-5,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"8249":{"morph":{"__isSmartRef__":true,"id":8243},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8250":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":8251},{"__isSmartRef__":true,"id":8252}],"_BorderWidth":1,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Position":"lively.pt(248.7,3377.0)","_Extent":"lively.pt(10.4,50.8)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"8251":{"isAbsolute":true,"x":249.7,"y":3378,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"8252":{"isAbsolute":true,"x":259.14357977177195,"y":3427.7604139964105,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"8253":{"morph":{"__isSmartRef__":true,"id":8242},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8254":{"morph":{"__isSmartRef__":true,"id":8242},"index":0,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"8255":{"morph":{"__isSmartRef__":true,"id":8242},"index":1,"marker":{"__isSmartRef__":true,"id":8243},"markerDirection":"prev","__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"8256":{"morphMenuItems":{"__isSmartRef__":true,"id":8257}},"8257":{"varMapping":{"__isSmartRef__":true,"id":8258},"source":"function morphMenuItems() {\n var visualConnector = this, con = this.con, world = $world;\n var items = [\n ['Edit converter', function() {\n var window = lively.bindings.editConnection(con);\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":8263},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8258":{"this":{"__isSmartRef__":true,"id":8242},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":8259}},"8259":{"$super":{"__isSmartRef__":true,"id":8260}},"8260":{"varMapping":{"__isSmartRef__":true,"id":8261},"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":8262},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8261":{"obj":{"__isSmartRef__":true,"id":8242},"name":"morphMenuItems"},"8262":{},"8263":{},"8264":{"sourceObj":{"__isSmartRef__":true,"id":7886},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":7860},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":8265},"dependedBy":{"__isSmartRef__":true,"id":7860},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8265":{"source":{"__isSmartRef__":true,"id":7886},"target":{"__isSmartRef__":true,"id":7860}},"8266":{"sourceObj":{"__isSmartRef__":true,"id":7886},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":7860},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":8267},"dependedBy":{"__isSmartRef__":true,"id":7860},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8267":{"source":{"__isSmartRef__":true,"id":7886},"target":{"__isSmartRef__":true,"id":7860}},"8268":{"sourceObj":{"__isSmartRef__":true,"id":7886},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":7860},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":8269},"dependedBy":{"__isSmartRef__":true,"id":7860},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8269":{"source":{"__isSmartRef__":true,"id":7886},"target":{"__isSmartRef__":true,"id":7860}},"8270":{"sourceObj":{"__isSmartRef__":true,"id":7886},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":7860},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":8271},"dependedBy":{"__isSmartRef__":true,"id":7860},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8271":{"source":{"__isSmartRef__":true,"id":7886},"target":{"__isSmartRef__":true,"id":7860}},"8272":{"sourceObj":{"__isSmartRef__":true,"id":7886},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":7916},"targetMethodName":"alignToMagnet","varMapping":{"__isSmartRef__":true,"id":8273},"dependendConnections":[{"__isSmartRef__":true,"id":8274},{"__isSmartRef__":true,"id":8276},{"__isSmartRef__":true,"id":8278},{"__isSmartRef__":true,"id":8280},{"__isSmartRef__":true,"id":8282},{"__isSmartRef__":true,"id":8284},{"__isSmartRef__":true,"id":8286},{"__isSmartRef__":true,"id":8288}],"oldTransform":{"__isSmartRef__":true,"id":8290},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"8273":{"source":{"__isSmartRef__":true,"id":7886},"target":{"__isSmartRef__":true,"id":7916}},"8274":{"sourceObj":{"__isSmartRef__":true,"id":7886},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":8272},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":8275},"dependedBy":{"__isSmartRef__":true,"id":8272},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8275":{"source":{"__isSmartRef__":true,"id":7886},"target":{"__isSmartRef__":true,"id":8272}},"8276":{"sourceObj":{"__isSmartRef__":true,"id":7886},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":8272},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":8277},"dependedBy":{"__isSmartRef__":true,"id":8272},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8277":{"source":{"__isSmartRef__":true,"id":7886},"target":{"__isSmartRef__":true,"id":8272}},"8278":{"sourceObj":{"__isSmartRef__":true,"id":7886},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":8272},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":8279},"dependedBy":{"__isSmartRef__":true,"id":8272},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8279":{"source":{"__isSmartRef__":true,"id":7886},"target":{"__isSmartRef__":true,"id":8272}},"8280":{"sourceObj":{"__isSmartRef__":true,"id":7886},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":8272},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":8281},"dependedBy":{"__isSmartRef__":true,"id":8272},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8281":{"source":{"__isSmartRef__":true,"id":7886},"target":{"__isSmartRef__":true,"id":8272}},"8282":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":8272},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":8283},"dependedBy":{"__isSmartRef__":true,"id":8272},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8283":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":8272}},"8284":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":8272},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":8285},"dependedBy":{"__isSmartRef__":true,"id":8272},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8285":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":8272}},"8286":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":8272},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":8287},"dependedBy":{"__isSmartRef__":true,"id":8272},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8287":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":8272}},"8288":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":8272},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":8289},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","dependedBy":{"__isSmartRef__":true,"id":8272},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8289":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":8272}},"8290":{"d":0.8419431060646692,"a":0.8419431060646692,"f":71.4,"e":725.3,"c":-0.5395663130238733,"b":0.5395663130238733,"matrix_":{"__isSmartRef__":true,"id":8291},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"8291":{"a":0.8419431060646692,"b":0.5395663130238733,"c":-0.5395663130238733,"d":0.8419431060646692,"e":725.3,"f":71.4,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"8292":{"sourceObj":{"__isSmartRef__":true,"id":7886},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":3590},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":8293},"dependendConnections":[{"__isSmartRef__":true,"id":8294},{"__isSmartRef__":true,"id":8296},{"__isSmartRef__":true,"id":8298},{"__isSmartRef__":true,"id":8300},{"__isSmartRef__":true,"id":8302},{"__isSmartRef__":true,"id":8304},{"__isSmartRef__":true,"id":8306},{"__isSmartRef__":true,"id":8308}],"oldTransform":{"__isSmartRef__":true,"id":8310},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"8293":{"source":{"__isSmartRef__":true,"id":7886},"target":{"__isSmartRef__":true,"id":3590}},"8294":{"sourceObj":{"__isSmartRef__":true,"id":7886},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":8292},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":8295},"dependedBy":{"__isSmartRef__":true,"id":8292},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8295":{"source":{"__isSmartRef__":true,"id":7886},"target":{"__isSmartRef__":true,"id":8292}},"8296":{"sourceObj":{"__isSmartRef__":true,"id":7886},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":8292},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":8297},"dependedBy":{"__isSmartRef__":true,"id":8292},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8297":{"source":{"__isSmartRef__":true,"id":7886},"target":{"__isSmartRef__":true,"id":8292}},"8298":{"sourceObj":{"__isSmartRef__":true,"id":7886},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":8292},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":8299},"dependedBy":{"__isSmartRef__":true,"id":8292},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8299":{"source":{"__isSmartRef__":true,"id":7886},"target":{"__isSmartRef__":true,"id":8292}},"8300":{"sourceObj":{"__isSmartRef__":true,"id":7886},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":8292},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":8301},"dependedBy":{"__isSmartRef__":true,"id":8292},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8301":{"source":{"__isSmartRef__":true,"id":7886},"target":{"__isSmartRef__":true,"id":8292}},"8302":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":8292},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":8303},"dependedBy":{"__isSmartRef__":true,"id":8292},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8303":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":8292}},"8304":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":8292},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":8305},"dependedBy":{"__isSmartRef__":true,"id":8292},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8305":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":8292}},"8306":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":8292},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":8307},"dependedBy":{"__isSmartRef__":true,"id":8292},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8307":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":8292}},"8308":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":8292},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":8309},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","dependedBy":{"__isSmartRef__":true,"id":8292},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8309":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":8292}},"8310":{"d":0.8419431060646692,"a":0.8419431060646692,"f":71.4,"e":725.3,"c":-0.5395663130238733,"b":0.5395663130238733,"matrix_":{"__isSmartRef__":true,"id":8311},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"8311":{"a":0.8419431060646692,"b":0.5395663130238733,"c":-0.5395663130238733,"d":0.8419431060646692,"e":725.3,"f":71.4,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"8312":{"globalShapePath":{"__isSmartRef__":true,"id":8313},"lineIntersect":{"__isSmartRef__":true,"id":8316},"intersectLine":{"__isSmartRef__":true,"id":8320},"intersectLineMorph":{"__isSmartRef__":true,"id":8323}},"8313":{"varMapping":{"__isSmartRef__":true,"id":8314},"source":"function globalShapePath() {\n var b = this.shape.bounds();\n var p1 = this.worldPoint(b.topLeft()),\n p2 = this.worldPoint(b.topRight()),\n p3 = this.worldPoint(b.bottomRight()),\n p4 = this.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":8315},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8314":{"this":{"__isSmartRef__":true,"id":7886}},"8315":{},"8316":{"varMapping":{"__isSmartRef__":true,"id":8317},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":8318},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8317":{"this":{"__isSmartRef__":true,"id":7886}},"8318":{"timestamp":{"__isSmartRef__":true,"id":8319},"user":"jenslincke","tags":[]},"8319":{"isSerializedDate":true,"string":"Thu Dec 13 2012 13:42:55 GMT+0100 (CET)"},"8320":{"varMapping":{"__isSmartRef__":true,"id":8321},"source":"function intersectLine(a1, a2) {\n var points = this.globalShapePath();\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":8322},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8321":{"this":{"__isSmartRef__":true,"id":7886}},"8322":{},"8323":{"varMapping":{"__isSmartRef__":true,"id":8324},"source":"function intersectLineMorph(m) {\n return this.intersectLine(m.controlPoints[0].getGlobalPos(), m.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":8325},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8324":{"this":{"__isSmartRef__":true,"id":7886}},"8325":{},"8326":{"updateLabel":{"__isSmartRef__":true,"id":8327},"renameOwner":{"__isSmartRef__":true,"id":8330}},"8327":{"varMapping":{"__isSmartRef__":true,"id":8328},"source":"function updateLabel() {\n\t// observe name changes in owner\n\tif (this.owner !== this.oldOwner) {\n\t\tif (this.oldOwner)\n\t\t\tdisconnect(this.oldOwner, 'name', this, 'updateLabel')\n\t\tif (this.owner)\n\t\t\tconnect(this.owner, 'name', this, 'updateLabel')\n\t\tthis.oldOwner = this.owner\n\t}\n\tvar name = (this.owner ? this.owner.name : \"no owner\")\n\tif (this.textString != name)\n\tthis.setTextString(name)\n}","funcProperties":{"__isSmartRef__":true,"id":8329},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8328":{"this":{"__isSmartRef__":true,"id":7861}},"8329":{},"8330":{"varMapping":{"__isSmartRef__":true,"id":8331},"source":"function renameOwner(name) {\n\tif (this.owner && this.owner.name != name) {\n\t\talertOK(\"renamed \" + this.owner + \" to \" + name)\n\t\tthis.owner.setName(name);\n\t}\n}","funcProperties":{"__isSmartRef__":true,"id":8332},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8331":{"this":{"__isSmartRef__":true,"id":7861}},"8332":{},"8333":{"source":{"__isSmartRef__":true,"id":7861},"target":{"__isSmartRef__":true,"id":8242}},"8334":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":7860},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":8335},"dependedBy":{"__isSmartRef__":true,"id":7860},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8335":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":7860}},"8336":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":7860},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":8337},"dependedBy":{"__isSmartRef__":true,"id":7860},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8337":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":7860}},"8338":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":7860},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":8339},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","dependedBy":{"__isSmartRef__":true,"id":7860},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8339":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":7860}},"8340":{"d":0.8419431060646688,"a":0.8419431060646688,"f":121.16041399641061,"e":734.7435797717719,"c":-0.539566313023873,"b":0.539566313023873,"matrix_":{"__isSmartRef__":true,"id":8341},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"8341":{"a":0.8419431060646688,"b":0.539566313023873,"c":-0.539566313023873,"d":0.8419431060646688,"e":734.7435797717719,"f":121.16041399641061,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"8342":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":7860}},"8343":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":8344},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":8826},"dependedBy":{"__isSmartRef__":true,"id":8344},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8344":{"sourceObj":{"__isSmartRef__":true,"id":8345},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":8726},"targetMethodName":"realignConnection","varMapping":{"__isSmartRef__":true,"id":8817},"dependendConnections":[{"__isSmartRef__":true,"id":8353},{"__isSmartRef__":true,"id":8355},{"__isSmartRef__":true,"id":8357},{"__isSmartRef__":true,"id":8359},{"__isSmartRef__":true,"id":8748},{"__isSmartRef__":true,"id":8750},{"__isSmartRef__":true,"id":8752},{"__isSmartRef__":true,"id":8754},{"__isSmartRef__":true,"id":8343},{"__isSmartRef__":true,"id":8818},{"__isSmartRef__":true,"id":8820},{"__isSmartRef__":true,"id":8822}],"oldTransform":{"__isSmartRef__":true,"id":8824},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"8345":{"submorphs":[],"scripts":[],"id":"D0449015-23F6-45D2-B482-BC5AA515A29D","shape":{"__isSmartRef__":true,"id":8346},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":180.8018403394826,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":19,"name":"NameLabel2","partsBinMetaInfo":{"__isSmartRef__":true,"id":8347},"textChunks":[{"__isSmartRef__":true,"id":8349}],"charsReplaced":"A1","lastFindLoc":2,"prevScroll":[0,0],"attributeConnections":[{"__isSmartRef__":true,"id":8351},{"__isSmartRef__":true,"id":8352},{"__isSmartRef__":true,"id":8344},{"__isSmartRef__":true,"id":8353},{"__isSmartRef__":true,"id":8355},{"__isSmartRef__":true,"id":8357},{"__isSmartRef__":true,"id":8359}],"doNotSerialize":["$$owner","$$savedTextString","$$_Position","$$_Scale","$$_Rotation"],"doNotCopyProperties":["$$owner","$$savedTextString","$$_Position","$$_Scale","$$_Rotation"],"isInputLine":true,"savedTextString":"A","eventHandler":{"__isSmartRef__":true,"id":8361},"derivationIds":[7027,"331C6367-0699-4BD6-9916-ABA82517453B","BEAA7850-FEFB-4AFD-9E06-730FF35D99A4","559B0B8A-5C01-4133-88B2-0D08385E23F6","BE195383-D309-4B6E-A6B0-79A6112B4011","E323F75A-232F-4712-9A03-20C8FD574C9A","E6E38336-AA2D-4F75-80C1-B1617DD8544E","DAFCD826-DF9B-4DEF-B4D7-59AAED8D199D","3999CB16-D9E3-4D28-A617-9B093624E8AC","24C6A462-5AF8-4580-9777-8F5696841AF0","38DF0DD5-01B1-4481-B32C-B1595F8042DF","6D969508-F1F5-4E9D-A211-8F66FCA4DA80"],"_WhiteSpaceHandling":"pre-wrap","_ClipMode":"visible","moved":true,"isBeingDragged":false,"_WordBreak":"break-all","magnets":[{"__isSmartRef__":true,"id":8362},{"__isSmartRef__":true,"id":8363},{"__isSmartRef__":true,"id":8364},{"__isSmartRef__":true,"id":8365},{"__isSmartRef__":true,"id":8366},{"__isSmartRef__":true,"id":8367},{"__isSmartRef__":true,"id":8368},{"__isSmartRef__":true,"id":8369}],"_PreviousBorderWidth":1,"owner":{"__isSmartRef__":true,"id":8370},"oldOwner":{"__isSmartRef__":true,"id":8370},"_Rotation":0,"_Scale":0.9999999999999997,"__serializedExpressions__":["_Position","textColor","distanceToDragEvent","_TextColor"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":8810},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(34.8,36.8)","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(31.1,-9.9)","_TextColor":"Color.rgb(255,143,0)"},"8346":{"fill":null,"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(42.8,29.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"8347":{"migrationLevel":2,"comment":"Label that shows the name of a morph. Updates automatically.","partName":"NameLabel","lastModifiedDate":{"__isSmartRef__":true,"id":8348},"revisionOnLoad":140039,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"8348":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (CEST)"},"8349":{"style":{"__isSmartRef__":true,"id":8350},"chunkOwner":{"__isSmartRef__":true,"id":8345},"_id":"_915","storedString":"A1","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8350":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8351":{"sourceObj":{"__isSmartRef__":true,"id":8345},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":8345},"targetMethodName":"updateLabel","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8352":{"sourceObj":{"__isSmartRef__":true,"id":8345},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":8345},"targetMethodName":"renameOwner","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8353":{"sourceObj":{"__isSmartRef__":true,"id":8345},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":8344},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":8354},"dependedBy":{"__isSmartRef__":true,"id":8344},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8354":{"source":{"__isSmartRef__":true,"id":8345},"target":{"__isSmartRef__":true,"id":8344}},"8355":{"sourceObj":{"__isSmartRef__":true,"id":8345},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":8344},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":8356},"dependedBy":{"__isSmartRef__":true,"id":8344},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8356":{"source":{"__isSmartRef__":true,"id":8345},"target":{"__isSmartRef__":true,"id":8344}},"8357":{"sourceObj":{"__isSmartRef__":true,"id":8345},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":8344},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":8358},"dependedBy":{"__isSmartRef__":true,"id":8344},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8358":{"source":{"__isSmartRef__":true,"id":8345},"target":{"__isSmartRef__":true,"id":8344}},"8359":{"sourceObj":{"__isSmartRef__":true,"id":8345},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":8344},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":8360},"dependedBy":{"__isSmartRef__":true,"id":8344},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8360":{"source":{"__isSmartRef__":true,"id":8345},"target":{"__isSmartRef__":true,"id":8344}},"8361":{"morph":{"__isSmartRef__":true,"id":8345},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8362":{"morph":{"__isSmartRef__":true,"id":8345},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(120.0,3464.8)"},"8363":{"morph":{"__isSmartRef__":true,"id":8345},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(138.1,3476.3)"},"8364":{"morph":{"__isSmartRef__":true,"id":8345},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(156.1,3487.9)"},"8365":{"morph":{"__isSmartRef__":true,"id":8345},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(148.3,3500.1)"},"8366":{"morph":{"__isSmartRef__":true,"id":8345},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(140.4,3512.3)"},"8367":{"morph":{"__isSmartRef__":true,"id":8345},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(122.4,3500.7)"},"8368":{"morph":{"__isSmartRef__":true,"id":8345},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(104.4,3489.2)"},"8369":{"morph":{"__isSmartRef__":true,"id":8345},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(112.2,3477.0)"},"8370":{"submorphs":[{"__isSmartRef__":true,"id":8345}],"scripts":[],"id":"20874E90-6293-46BD-B183-7F8EE961ED48","shape":{"__isSmartRef__":true,"id":8371},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"A1","partsBinMetaInfo":{"__isSmartRef__":true,"id":8372},"eventHandler":{"__isSmartRef__":true,"id":8390},"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","BBAFB862-93AE-4F89-BCFF-9F1C67B7FE4C","7EC17E78-593A-4CC8-B7E3-859BCBBFE785","FDB06D4A-9F4E-4B8C-A67C-671A9583EFE8","1C80FDE1-05C0-4148-9AD8-33C88667084C","5059E383-6BE3-4AD3-A9C4-89DA9D8D5E99","5B810AFE-E692-4EB4-A695-ABB4A95CEA39","BFFEF617-9B97-45D4-A541-8E33A6A17485","A10BBA48-4AD1-425A-AC7B-2F5515CE56F5","319DCFA5-FBA0-4E93-825A-584A580A412F","1A7DC4D8-6C49-4243-8B1D-04CED44FD759","37281932-6BFC-4796-9330-CDFA7FB46F54"],"partTests":{"__isSmartRef__":true,"id":8391},"_ClipMode":"visible","moved":true,"isBeingDragged":false,"magnets":[{"__isSmartRef__":true,"id":8396},{"__isSmartRef__":true,"id":8397},{"__isSmartRef__":true,"id":8398},{"__isSmartRef__":true,"id":8399},{"__isSmartRef__":true,"id":8720},{"__isSmartRef__":true,"id":8721},{"__isSmartRef__":true,"id":8722},{"__isSmartRef__":true,"id":8723}],"attributeConnections":[{"__isSmartRef__":true,"id":8724},{"__isSmartRef__":true,"id":8748},{"__isSmartRef__":true,"id":8750},{"__isSmartRef__":true,"id":8752},{"__isSmartRef__":true,"id":8754},{"__isSmartRef__":true,"id":8756},{"__isSmartRef__":true,"id":8758},{"__isSmartRef__":true,"id":8760},{"__isSmartRef__":true,"id":8762},{"__isSmartRef__":true,"id":8764},{"__isSmartRef__":true,"id":8776},{"__isSmartRef__":true,"id":8778},{"__isSmartRef__":true,"id":8780},{"__isSmartRef__":true,"id":8782},{"__isSmartRef__":true,"id":8784}],"doNotSerialize":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"doNotCopyProperties":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"isCopyMorphRef":true,"morphRefId":1,"prevScroll":[0,0],"_Scale":0.9999999999999996,"_Rotation":0.5699219218563105,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":8796},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","distanceToDragEvent":"lively.pt(35.0,-16.3)","_Position":"lively.pt(725.3,71.4)"},"8371":{"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(89.0,80.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgba(204,204,204,0.5)","_Padding":"lively.rect(0,0,0,0)"},"8372":{"partsSpaceName":"PartsBin/Basic","comment":"A simple box morph. A really orange one. Its amazing what you can build out of simple boxes.... Who needs stars when you got orange rectangles!","migrationLevel":4,"partName":"Rectangle","changes":[{"__isSmartRef__":true,"id":8373},{"__isSmartRef__":true,"id":8375},{"__isSmartRef__":true,"id":8377},{"__isSmartRef__":true,"id":8379},{"__isSmartRef__":true,"id":8381},{"__isSmartRef__":true,"id":8383},{"__isSmartRef__":true,"id":8385},{"__isSmartRef__":true,"id":8387}],"lastModifiedDate":{"__isSmartRef__":true,"id":8389},"revisionOnLoad":184624,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"8373":{"date":{"__isSmartRef__":true,"id":8374},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"8374":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"8375":{"date":{"__isSmartRef__":true,"id":8376},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"8376":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"8377":{"date":{"__isSmartRef__":true,"id":8378},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"8378":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"8379":{"date":{"__isSmartRef__":true,"id":8380},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"8380":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"8381":{"date":{"__isSmartRef__":true,"id":8382},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"8382":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"8383":{"date":{"__isSmartRef__":true,"id":8384},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"8384":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"8385":{"date":{"__isSmartRef__":true,"id":8386},"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8"},"8386":{"isSerializedDate":true,"string":"Mon Jun 18 2012 19:35:08 GMT+0200 (CEST)"},"8387":{"date":{"__isSmartRef__":true,"id":8388},"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205"},"8388":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:35:51 GMT+0100 (CET)"},"8389":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:33:25 GMT+0100 (CET)"},"8390":{"morph":{"__isSmartRef__":true,"id":8370},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8391":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":8392}},"8392":{"test01IsMorph":{"__isSmartRef__":true,"id":8393}},"8393":{"varMapping":{"__isSmartRef__":true,"id":8394},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":8395},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8394":{"this":{"__isSmartRef__":true,"id":8391}},"8395":{},"8396":{"morph":{"__isSmartRef__":true,"id":8370},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(110.6,3415.0)"},"8397":{"morph":{"__isSmartRef__":true,"id":8370},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(148.1,3439.0)"},"8398":{"morph":{"__isSmartRef__":true,"id":8370},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(185.5,3463.0)"},"8399":{"morph":{"__isSmartRef__":true,"id":8370},"connectedControlPoints":[{"__isSmartRef__":true,"id":8400}],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(164.0,3496.7)"},"8400":{"morph":{"__isSmartRef__":true,"id":8401},"index":0,"connectedMagnet":{"__isSmartRef__":true,"id":8399},"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"8401":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":8402},"id":"E083C82B-2BC4-42CB-B3A2-773909175FCB","eventHandler":{"__isSmartRef__":true,"id":8405},"__layered_droppingEnabled__":true,"halosEnabled":true,"isBeingDragged":false,"controlPoints":[{"__isSmartRef__":true,"id":8400},{"__isSmartRef__":true,"id":8406}],"showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":8407},"name":"Line4","derivationIds":[731,"5E6BD741-9C99-47B9-95C1-7A028178DB17","A8D5C37A-F23F-47FE-8DE2-211CE4484A4F","F722069B-8602-4E8D-BE3F-92A1E0C0EF28","D5ED19F9-968E-4C7E-9936-69F2735A813F","A9E370BC-F208-425C-BFFC-F8D6BB52E11F","4E431641-D056-46CB-B2A8-6626382EF423"],"_ClipMode":"visible","controlPointsHalos":[],"prevScroll":[0,0],"grabbingEnabled":false,"moved":true,"#startLetters":"controlPoints[0]","fromMorph":{"__isSmartRef__":true,"id":8411},"update":{"__isSmartRef__":true,"id":8621},"isCopyMorphRef":true,"morphRefId":2,"selectedMorph":{"__isSmartRef__":true,"id":8411},"selectedMorphHighlights":[],"_Scale":1,"_Rotation":0,"owner":null,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":8623},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","distanceToDragEvent":"lively.pt(295.7,-20.8)","_Position":"lively.pt(376.1,57.6)"},"8402":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":8403},{"__isSmartRef__":true,"id":8404}],"_ClipMode":"visible","_BorderWidth":3.1119999999999997,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Padding","_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(50.5,3.2)","_Extent":"lively.pt(114.5,3494.5)","_BorderColor":"Color.rgb(161,161,161)"},"8403":{"isAbsolute":true,"x":0,"y":0,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"8404":{"isAbsolute":true,"x":52.46197348862387,"y":5.223542983087555,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"8405":{"morph":{"__isSmartRef__":true,"id":8401},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8406":{"morph":{"__isSmartRef__":true,"id":8401},"index":1,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"8407":{"requiredModules":[],"migrationLevel":4,"partsSpaceName":"PartsBin/Jens/","comment":"a line","partName":"Connector","lastModifiedDate":{"__isSmartRef__":true,"id":8408},"revisionOnLoad":186528,"changes":[{"__isSmartRef__":true,"id":8409}],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"8408":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:18 GMT+0100 (CET)"},"8409":{"date":{"__isSmartRef__":true,"id":8410},"author":"jenslincke","message":"no comment","id":"28165CED-C8C5-4B8E-9655-645E3F5099BB"},"8410":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:42 GMT+0100 (CET)"},"8411":{"submorphs":[{"__isSmartRef__":true,"id":8412}],"scripts":[],"id":"7D787261-FDA4-4DCD-ACA3-699C8F2DB8DC","shape":{"__isSmartRef__":true,"id":8436},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"A","partsBinMetaInfo":{"__isSmartRef__":true,"id":8437},"eventHandler":{"__isSmartRef__":true,"id":8455},"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","BBAFB862-93AE-4F89-BCFF-9F1C67B7FE4C","7EC17E78-593A-4CC8-B7E3-859BCBBFE785","FDB06D4A-9F4E-4B8C-A67C-671A9583EFE8","1C80FDE1-05C0-4148-9AD8-33C88667084C","5059E383-6BE3-4AD3-A9C4-89DA9D8D5E99","5B810AFE-E692-4EB4-A695-ABB4A95CEA39","BFFEF617-9B97-45D4-A541-8E33A6A17485","A10BBA48-4AD1-425A-AC7B-2F5515CE56F5"],"partTests":{"__isSmartRef__":true,"id":8456},"_ClipMode":"visible","moved":true,"isBeingDragged":false,"magnets":[{"__isSmartRef__":true,"id":8461},{"__isSmartRef__":true,"id":8462},{"__isSmartRef__":true,"id":8463},{"__isSmartRef__":true,"id":8464},{"__isSmartRef__":true,"id":8465},{"__isSmartRef__":true,"id":8466},{"__isSmartRef__":true,"id":8467},{"__isSmartRef__":true,"id":8468}],"attributeConnections":[{"__isSmartRef__":true,"id":8469},{"__isSmartRef__":true,"id":8471},{"__isSmartRef__":true,"id":8473},{"__isSmartRef__":true,"id":8475},{"__isSmartRef__":true,"id":8477},{"__isSmartRef__":true,"id":8479},{"__isSmartRef__":true,"id":8483},{"__isSmartRef__":true,"id":8597},{"__isSmartRef__":true,"id":8599},{"__isSmartRef__":true,"id":8601},{"__isSmartRef__":true,"id":8603}],"doNotSerialize":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"doNotCopyProperties":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"isCopyMorphRef":true,"morphRefId":1,"prevScroll":[0,0],"_Scale":0.9999999999999998,"_Rotation":-0.3632069088060458,"owner":null,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":8607},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","distanceToDragEvent":"lively.pt(89.3,-51.8)","_Position":"lively.pt(691.6,129.6)"},"8412":{"submorphs":[],"scripts":[],"id":"4BDF3799-4F08-4112-BD4C-91BAB858A860","shape":{"__isSmartRef__":true,"id":8413},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":180.8018403394826,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":19,"name":"NameLabel2","partsBinMetaInfo":{"__isSmartRef__":true,"id":8414},"textChunks":[{"__isSmartRef__":true,"id":8416}],"charsReplaced":"C1","lastFindLoc":2,"prevScroll":[0,0],"attributeConnections":[{"__isSmartRef__":true,"id":8418},{"__isSmartRef__":true,"id":8419}],"doNotSerialize":["$$owner","$$savedTextString"],"doNotCopyProperties":["$$owner","$$savedTextString"],"isInputLine":true,"savedTextString":"A","eventHandler":{"__isSmartRef__":true,"id":8420},"derivationIds":[7027,"331C6367-0699-4BD6-9916-ABA82517453B","BEAA7850-FEFB-4AFD-9E06-730FF35D99A4","559B0B8A-5C01-4133-88B2-0D08385E23F6","BE195383-D309-4B6E-A6B0-79A6112B4011","E323F75A-232F-4712-9A03-20C8FD574C9A","E6E38336-AA2D-4F75-80C1-B1617DD8544E","DAFCD826-DF9B-4DEF-B4D7-59AAED8D199D","3999CB16-D9E3-4D28-A617-9B093624E8AC"],"_WhiteSpaceHandling":"pre-wrap","_ClipMode":"visible","moved":true,"isBeingDragged":false,"_WordBreak":"break-all","magnets":[{"__isSmartRef__":true,"id":8421},{"__isSmartRef__":true,"id":8422},{"__isSmartRef__":true,"id":8423},{"__isSmartRef__":true,"id":8424},{"__isSmartRef__":true,"id":8425},{"__isSmartRef__":true,"id":8426},{"__isSmartRef__":true,"id":8427},{"__isSmartRef__":true,"id":8428}],"_PreviousBorderWidth":1,"owner":{"__isSmartRef__":true,"id":8411},"oldOwner":{"__isSmartRef__":true,"id":8411},"priorSelectionRange":[1,1],"_Rotation":0,"_Scale":0.9999999999999997,"__serializedExpressions__":["textColor","distanceToDragEvent","_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":8429},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(31.1,-9.9)","_TextColor":"Color.rgb(255,143,0)","_Position":"lively.pt(34.8,36.8)"},"8413":{"fill":null,"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(42.8,29.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"8414":{"migrationLevel":2,"comment":"Label that shows the name of a morph. Updates automatically.","partName":"NameLabel","lastModifiedDate":{"__isSmartRef__":true,"id":8415},"revisionOnLoad":140039,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"8415":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (CEST)"},"8416":{"style":{"__isSmartRef__":true,"id":8417},"chunkOwner":{"__isSmartRef__":true,"id":8412},"_id":"_22384","storedString":"A","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8417":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8418":{"sourceObj":{"__isSmartRef__":true,"id":8412},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":8412},"targetMethodName":"updateLabel","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8419":{"sourceObj":{"__isSmartRef__":true,"id":8412},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":8412},"targetMethodName":"renameOwner","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8420":{"morph":{"__isSmartRef__":true,"id":8412},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8421":{"morph":{"__isSmartRef__":true,"id":8412},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(726.1,3497.3)"},"8422":{"morph":{"__isSmartRef__":true,"id":8412},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(746.1,3489.7)"},"8423":{"morph":{"__isSmartRef__":true,"id":8412},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(766.1,3482.1)"},"8424":{"morph":{"__isSmartRef__":true,"id":8412},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(771.3,3495.6)"},"8425":{"morph":{"__isSmartRef__":true,"id":8412},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(776.4,3509.2)"},"8426":{"morph":{"__isSmartRef__":true,"id":8412},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(756.4,3516.8)"},"8427":{"morph":{"__isSmartRef__":true,"id":8412},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(736.4,3524.4)"},"8428":{"morph":{"__isSmartRef__":true,"id":8412},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(731.2,3510.8)"},"8429":{"updateLabel":{"__isSmartRef__":true,"id":8430},"renameOwner":{"__isSmartRef__":true,"id":8433}},"8430":{"varMapping":{"__isSmartRef__":true,"id":8431},"source":"function updateLabel() {\n\t// observe name changes in owner\n\tif (this.owner !== this.oldOwner) {\n\t\tif (this.oldOwner)\n\t\t\tdisconnect(this.oldOwner, 'name', this, 'updateLabel')\n\t\tif (this.owner)\n\t\t\tconnect(this.owner, 'name', this, 'updateLabel')\n\t\tthis.oldOwner = this.owner\n\t}\n\tvar name = (this.owner ? this.owner.name : \"no owner\")\n\tif (this.textString != name)\n\tthis.setTextString(name)\n}","funcProperties":{"__isSmartRef__":true,"id":8432},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8431":{"this":{"__isSmartRef__":true,"id":8412}},"8432":{},"8433":{"varMapping":{"__isSmartRef__":true,"id":8434},"source":"function renameOwner(name) {\n\tif (this.owner && this.owner.name != name) {\n\t\talertOK(\"renamed \" + this.owner + \" to \" + name)\n\t\tthis.owner.setName(name);\n\t}\n}","funcProperties":{"__isSmartRef__":true,"id":8435},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8434":{"this":{"__isSmartRef__":true,"id":8412}},"8435":{},"8436":{"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(116.7,82.3)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgba(204,204,204,0.5)","_Padding":"lively.rect(0,0,0,0)"},"8437":{"partsSpaceName":"PartsBin/Basic","comment":"A simple box morph. A really orange one. Its amazing what you can build out of simple boxes.... Who needs stars when you got orange rectangles!","migrationLevel":4,"partName":"Rectangle","changes":[{"__isSmartRef__":true,"id":8438},{"__isSmartRef__":true,"id":8440},{"__isSmartRef__":true,"id":8442},{"__isSmartRef__":true,"id":8444},{"__isSmartRef__":true,"id":8446},{"__isSmartRef__":true,"id":8448},{"__isSmartRef__":true,"id":8450},{"__isSmartRef__":true,"id":8452}],"lastModifiedDate":{"__isSmartRef__":true,"id":8454},"revisionOnLoad":184624,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"8438":{"date":{"__isSmartRef__":true,"id":8439},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"8439":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"8440":{"date":{"__isSmartRef__":true,"id":8441},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"8441":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"8442":{"date":{"__isSmartRef__":true,"id":8443},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"8443":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"8444":{"date":{"__isSmartRef__":true,"id":8445},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"8445":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"8446":{"date":{"__isSmartRef__":true,"id":8447},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"8447":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"8448":{"date":{"__isSmartRef__":true,"id":8449},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"8449":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"8450":{"date":{"__isSmartRef__":true,"id":8451},"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8"},"8451":{"isSerializedDate":true,"string":"Mon Jun 18 2012 19:35:08 GMT+0200 (CEST)"},"8452":{"date":{"__isSmartRef__":true,"id":8453},"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205"},"8453":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:35:51 GMT+0100 (CET)"},"8454":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:33:25 GMT+0100 (CET)"},"8455":{"morph":{"__isSmartRef__":true,"id":8411},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8456":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":8457}},"8457":{"test01IsMorph":{"__isSmartRef__":true,"id":8458}},"8458":{"varMapping":{"__isSmartRef__":true,"id":8459},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":8460},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8459":{"this":{"__isSmartRef__":true,"id":8456}},"8460":{},"8461":{"morph":{"__isSmartRef__":true,"id":8411},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(680.5,3475.2)"},"8462":{"morph":{"__isSmartRef__":true,"id":8411},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(735.0,3454.5)"},"8463":{"morph":{"__isSmartRef__":true,"id":8411},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(789.6,3433.8)"},"8464":{"morph":{"__isSmartRef__":true,"id":8411},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(804.2,3472.2)"},"8465":{"morph":{"__isSmartRef__":true,"id":8411},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(818.8,3510.7)"},"8466":{"morph":{"__isSmartRef__":true,"id":8411},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(764.3,3531.4)"},"8467":{"morph":{"__isSmartRef__":true,"id":8411},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(709.7,3552.2)"},"8468":{"morph":{"__isSmartRef__":true,"id":8411},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(695.1,3513.7)"},"8469":{"sourceObj":{"__isSmartRef__":true,"id":8411},"sourceAttrName":"name","targetObj":{"__isSmartRef__":true,"id":8412},"targetMethodName":"updateLabel","varMapping":{"__isSmartRef__":true,"id":8470},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8470":{"source":{"__isSmartRef__":true,"id":8411},"target":{"__isSmartRef__":true,"id":8412}},"8471":{"sourceObj":{"__isSmartRef__":true,"id":8411},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":8401},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":8472},"dependendConnections":[{"__isSmartRef__":true,"id":8473},{"__isSmartRef__":true,"id":8475},{"__isSmartRef__":true,"id":8477},{"__isSmartRef__":true,"id":8479}],"oldTransform":{"__isSmartRef__":true,"id":8481},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"8472":{"source":{"__isSmartRef__":true,"id":8411},"target":{"__isSmartRef__":true,"id":8401}},"8473":{"sourceObj":{"__isSmartRef__":true,"id":8411},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":8471},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":8474},"dependedBy":{"__isSmartRef__":true,"id":8471},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8474":{"source":{"__isSmartRef__":true,"id":8411},"target":{"__isSmartRef__":true,"id":8471}},"8475":{"sourceObj":{"__isSmartRef__":true,"id":8411},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":8471},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":8476},"dependedBy":{"__isSmartRef__":true,"id":8471},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8476":{"source":{"__isSmartRef__":true,"id":8411},"target":{"__isSmartRef__":true,"id":8471}},"8477":{"sourceObj":{"__isSmartRef__":true,"id":8411},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":8471},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":8478},"dependedBy":{"__isSmartRef__":true,"id":8471},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8478":{"source":{"__isSmartRef__":true,"id":8411},"target":{"__isSmartRef__":true,"id":8471}},"8479":{"sourceObj":{"__isSmartRef__":true,"id":8411},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":8471},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":8480},"dependedBy":{"__isSmartRef__":true,"id":8471},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8480":{"source":{"__isSmartRef__":true,"id":8411},"target":{"__isSmartRef__":true,"id":8471}},"8481":{"d":0.9347623017725522,"a":0.9347623017725522,"f":3485.245045045044,"e":728.5390390390387,"c":0.3552737524570028,"b":-0.3552737524570028,"matrix_":{"__isSmartRef__":true,"id":8482},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"8482":{"a":0.9347623017725522,"b":-0.3552737524570028,"c":0.3552737524570028,"d":0.9347623017725522,"e":728.5390390390387,"f":3485.245045045044,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"8483":{"sourceObj":{"__isSmartRef__":true,"id":8411},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":8484},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":8596},"dependendConnections":[{"__isSmartRef__":true,"id":8597},{"__isSmartRef__":true,"id":8599},{"__isSmartRef__":true,"id":8601},{"__isSmartRef__":true,"id":8603}],"oldTransform":{"__isSmartRef__":true,"id":8605},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"8484":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":8485},"id":"4809CC50-2A92-4A4F-9D0D-829B6BA12A0B","eventHandler":{"__isSmartRef__":true,"id":8488},"__layered_droppingEnabled__":true,"halosEnabled":true,"isBeingDragged":false,"controlPoints":[{"__isSmartRef__":true,"id":8489},{"__isSmartRef__":true,"id":8490}],"showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":8491},"name":"Connector1","derivationIds":[731,"5E6BD741-9C99-47B9-95C1-7A028178DB17","A8D5C37A-F23F-47FE-8DE2-211CE4484A4F","F722069B-8602-4E8D-BE3F-92A1E0C0EF28","D5ED19F9-968E-4C7E-9936-69F2735A813F","A9E370BC-F208-425C-BFFC-F8D6BB52E11F","4E431641-D056-46CB-B2A8-6626382EF423"],"_ClipMode":"visible","controlPointsHalos":[],"prevScroll":[0,0],"grabbingEnabled":false,"moved":true,"#startLetters":"controlPoints[0]","fromMorph":{"__isSmartRef__":true,"id":8411},"toMorph":{"__isSmartRef__":true,"id":3202},"update":{"__isSmartRef__":true,"id":8497},"isCopyMorphRef":true,"morphRefId":2,"selectedMorph":{"__isSmartRef__":true,"id":3202},"selectedMorphHighlights":[],"owner":null,"_Rotation":0,"_Scale":1,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":8499},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","distanceToDragEvent":"lively.pt(295.7,-20.8)","_Position":"lively.pt(10527.5,52997.9)"},"8485":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":8486},{"__isSmartRef__":true,"id":8487}],"_ClipMode":"visible","_BorderWidth":3.1119999999999997,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Padding","_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(-75.9,-6.9)","_Extent":"lively.pt(151.7,13.9)","_BorderColor":"Color.rgb(161,161,161)"},"8486":{"isAbsolute":true,"x":74.86198803712648,"y":-4.949983532278566,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"8487":{"isAbsolute":true,"x":-73.86198803712614,"y":5.949983532282204,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"8488":{"morph":{"__isSmartRef__":true,"id":8484},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8489":{"morph":{"__isSmartRef__":true,"id":8484},"index":0,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"8490":{"morph":{"__isSmartRef__":true,"id":8484},"index":1,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"8491":{"requiredModules":[],"migrationLevel":4,"partsSpaceName":"PartsBin/Jens/","comment":"Yes, I think I got it again: Powerful and nice connectors.\nThis time 100 % Part only!","partName":"Connector","lastModifiedDate":{"__isSmartRef__":true,"id":8492},"revisionOnLoad":186829,"changes":[{"__isSmartRef__":true,"id":8493},{"__isSmartRef__":true,"id":8495}],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"8492":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:04:50 GMT+0100 (CET)"},"8493":{"date":{"__isSmartRef__":true,"id":8494},"author":"jenslincke","message":"no comment","id":"28165CED-C8C5-4B8E-9655-645E3F5099BB"},"8494":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:42 GMT+0100 (CET)"},"8495":{"date":{"__isSmartRef__":true,"id":8496},"author":"jenslincke","message":"no comment","id":"117C964B-9768-48F2-8EC8-D4328478198F"},"8496":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:05:07 GMT+0100 (CET)"},"8497":{"d":1,"a":1,"f":906.1,"e":107.8,"c":0,"b":0,"matrix_":{"__isSmartRef__":true,"id":8498},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"8498":{"a":1,"b":0,"c":0,"d":1,"e":107.8,"f":906.1,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"8499":{"connect":{"__isSmartRef__":true,"id":8500},"updatePosition":{"__isSmartRef__":true,"id":8504},"updateControlPoint":{"__isSmartRef__":true,"id":8508},"disconnectMorph":{"__isSmartRef__":true,"id":8512},"connectMorph":{"__isSmartRef__":true,"id":8516},"onMouseOver":{"__isSmartRef__":true,"id":8520},"onMouseOut":{"__isSmartRef__":true,"id":8524},"makeHandle":{"__isSmartRef__":true,"id":8532},"showFromHandle":{"__isSmartRef__":true,"id":8536},"showToHandle":{"__isSmartRef__":true,"id":8540},"reset":{"__isSmartRef__":true,"id":8544},"onDragInHandle":{"__isSmartRef__":true,"id":8548},"onDragStartInHandle":{"__isSmartRef__":true,"id":8552},"onDragEndInHandle":{"__isSmartRef__":true,"id":8556},"connectFrom":{"__isSmartRef__":true,"id":8560},"connectTo":{"__isSmartRef__":true,"id":8564},"hideToHandle":{"__isSmartRef__":true,"id":8568},"hideFromHandle":{"__isSmartRef__":true,"id":8572},"updateIntersection":{"__isSmartRef__":true,"id":8576},"lineIntersect":{"__isSmartRef__":true,"id":8580},"intersectMorphLinePoints":{"__isSmartRef__":true,"id":8584},"intersectMorph":{"__isSmartRef__":true,"id":8588},"globalShapePathFromMorph":{"__isSmartRef__":true,"id":8592}},"8500":{"varMapping":{"__isSmartRef__":true,"id":8501},"source":"function connect(morphA, morphB) {\n this.connectFrom(morphA)\n this.connectTo(morphB)\n this.updatePosition()\n}","funcProperties":{"__isSmartRef__":true,"id":8502},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8501":{"this":{"__isSmartRef__":true,"id":8484}},"8502":{"timestamp":{"__isSmartRef__":true,"id":8503},"user":"jenslincke","tags":[]},"8503":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:50:49 GMT+0100 (CET)"},"8504":{"varMapping":{"__isSmartRef__":true,"id":8505},"source":"function updatePosition() {\n this.updateControlPoint(this.controlPoints[0], this.fromMorph)\n this.updateControlPoint(this.controlPoints[1], this.toMorph)\n this.updateIntersection(this.fromMorph, this.controlPoints[0])\n this.updateIntersection(this.toMorph, this.controlPoints[1])\n\n this.adjustOrigin(this.bounds().extent().scaleBy(0.5))\n}","funcProperties":{"__isSmartRef__":true,"id":8506},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8505":{"this":{"__isSmartRef__":true,"id":8484}},"8506":{"timestamp":{"__isSmartRef__":true,"id":8507},"user":"jenslincke","tags":[]},"8507":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:06:20 GMT+0100 (CET)"},"8508":{"varMapping":{"__isSmartRef__":true,"id":8509},"source":"function updateControlPoint(cp, morph) {\n if (!cp || !morph) return;\n cp.setGlobalPos(morph.worldPoint(morph.shape.bounds().center()))\n}","funcProperties":{"__isSmartRef__":true,"id":8510},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8509":{"this":{"__isSmartRef__":true,"id":8484}},"8510":{"timestamp":{"__isSmartRef__":true,"id":8511},"user":"jenslincke","tags":[]},"8511":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:45:56 GMT+0100 (CET)"},"8512":{"varMapping":{"__isSmartRef__":true,"id":8513},"source":"function disconnectMorph(morph) {\n if (!morph) return;\n lively.bindings.disconnect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":8514},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8513":{"this":{"__isSmartRef__":true,"id":8484}},"8514":{"timestamp":{"__isSmartRef__":true,"id":8515},"user":"jenslincke","tags":[]},"8515":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:19:18 GMT+0100 (CET)"},"8516":{"varMapping":{"__isSmartRef__":true,"id":8517},"source":"function connectMorph(morph) {\n if (morph)\n lively.bindings.connect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":8518},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8517":{"this":{"__isSmartRef__":true,"id":8484}},"8518":{"timestamp":{"__isSmartRef__":true,"id":8519},"user":"jenslincke","tags":[]},"8519":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:52:12 GMT+0100 (CET)"},"8520":{"varMapping":{"__isSmartRef__":true,"id":8521},"source":"function onMouseOver(evt) {\n var p = evt.mousePoint.scaleBy(this.world().getScale())\n\n var cp1 = this.controlPoints[0].getGlobalPos();\n if (p.dist(cp1) < 20) {\n this.showFromHandle()\n } else {\n this.hideFromHandle()\n }\n var cp2 = this.controlPoints[1].getGlobalPos();\n if (p.dist(cp2) < 20) {\n this.showToHandle()\n } else {\n this.hideToHandle()\n }\n}","funcProperties":{"__isSmartRef__":true,"id":8522},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8521":{"this":{"__isSmartRef__":true,"id":8484}},"8522":{"timestamp":{"__isSmartRef__":true,"id":8523},"user":"jenslincke","tags":[]},"8523":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:23:03 GMT+0100 (CET)"},"8524":{"varMapping":{"__isSmartRef__":true,"id":8525},"source":"function onMouseOut(evt) {\n // this.hideFromHandle()\n // this.hideToHandle()\n}","funcProperties":{"__isSmartRef__":true,"id":8530},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8525":{"this":{"__isSmartRef__":true,"id":8484},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":8526}},"8526":{"$super":{"__isSmartRef__":true,"id":8527}},"8527":{"varMapping":{"__isSmartRef__":true,"id":8528},"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":8529},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8528":{"obj":{"__isSmartRef__":true,"id":8484},"name":"onMouseOut"},"8529":{},"8530":{"timestamp":{"__isSmartRef__":true,"id":8531},"user":"jenslincke","tags":[]},"8531":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:54:53 GMT+0100 (CET)"},"8532":{"varMapping":{"__isSmartRef__":true,"id":8533},"source":"function makeHandle() {\n var m = lively.morphic.Morph.makeRectangle(0,0,10,10);\n m.disableGrabbing()\n m.enableDragging()\n m.connector = this;\n // move real behavior to a place which is easier to develop\n // do not use bind, because we like late binding \n m.addScript(function onDragStart(evt) {\n this.connector.onDragStartInHandle(this, evt)\n })\n m.addScript(function onDrag(evt) {\n this.connector.onDragInHandle(this, evt)\n })\n m.addScript(function onDragEnd(evt) {\n this.connector.onDragEndInHandle(this, evt)\n })\n m.isEpiMorph = true;\n return m\n}","funcProperties":{"__isSmartRef__":true,"id":8534},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8533":{"this":{"__isSmartRef__":true,"id":8484}},"8534":{"timestamp":{"__isSmartRef__":true,"id":8535},"user":"jenslincke","tags":[]},"8535":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:08:29 GMT+0100 (CET)"},"8536":{"varMapping":{"__isSmartRef__":true,"id":8537},"source":"function showFromHandle() {\n if (!this.fromHandle) {\n this.fromHandle = this.makeHandle();\n this.fromHandle.setFill(Color.red)\n this.fromHandle.isFromHandle = true;\n }\n this.fromHandle.openInWorld();\n this.fromHandle.controlPoint = this.controlPoints[0];\n this.fromHandle.setPosition(this.controlPoints[0].getGlobalPos().subPt(pt(5,5)))\n return this.fromHandle\n}","funcProperties":{"__isSmartRef__":true,"id":8538},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8537":{"this":{"__isSmartRef__":true,"id":8484}},"8538":{"timestamp":{"__isSmartRef__":true,"id":8539},"user":"jenslincke","tags":[]},"8539":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:13:03 GMT+0100 (CET)"},"8540":{"varMapping":{"__isSmartRef__":true,"id":8541},"source":"function showToHandle() {\n if (!this.toHandle) {\n this.toHandle = this.makeHandle();\n this.toHandle.setFill(Color.red)\n this.toHandle.isToHandle = true;\n\n }\n this.toHandle.openInWorld();\n this.toHandle.controlPoint = this.controlPoints[1];\n this.toHandle.setPosition(this.controlPoints[1].getGlobalPos().subPt(pt(5,5)))\n return this.toHandle\n}","funcProperties":{"__isSmartRef__":true,"id":8542},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8541":{"this":{"__isSmartRef__":true,"id":8484}},"8542":{"timestamp":{"__isSmartRef__":true,"id":8543},"user":"jenslincke","tags":[]},"8543":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:20:25 GMT+0100 (CET)"},"8544":{"varMapping":{"__isSmartRef__":true,"id":8545},"source":"function reset() {\n if (this.fromHandle) {\n this.fromHandle.remove()\n delete this.fromHandle\n }\n if (this.toHandle) {\n this.toHandle.remove()\n delete this.toHandle\n }\n // this.controlPoints[1].setPos(pt(200,200))\n}","funcProperties":{"__isSmartRef__":true,"id":8546},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8545":{"this":{"__isSmartRef__":true,"id":8484}},"8546":{"timestamp":{"__isSmartRef__":true,"id":8547},"user":"jenslincke","tags":[]},"8547":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:15:00 GMT+0100 (CET)"},"8548":{"varMapping":{"__isSmartRef__":true,"id":8549},"source":"function onDragInHandle(handle, evt) {\n\n var pos = handle.getPositionInWorld();\n var delta = evt.hand.getPosition().subPt(pos);\n handle.moveBy(delta)\n pos = handle.getPositionInWorld();\n if (handle.controlPoint)\n handle.controlPoint.setGlobalPos(pos.addPt(pt(5,5)))\n var morphs = this.owner.morphsContainingPoint(pos)\n morphs = morphs.reject(function(ea) {\n return ea.isWorld || (ea === handle) || (ea === this) || \n (ea === this.owner)\n }, this)\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n this.selectedMorph = morphs.first();\n this.selectedMorphHighlights = show(this.selectedMorph)\n handle.startPos = evt.getPosition();\n}","funcProperties":{"__isSmartRef__":true,"id":8550},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8549":{"this":{"__isSmartRef__":true,"id":8484}},"8550":{"timestamp":{"__isSmartRef__":true,"id":8551},"user":"jenslincke","tags":[]},"8551":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:06:40 GMT+0100 (CET)"},"8552":{"varMapping":{"__isSmartRef__":true,"id":8553},"source":"function onDragStartInHandle(handle, evt) {\n handle.startPos = evt.getPosition()\n}","funcProperties":{"__isSmartRef__":true,"id":8554},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8553":{"this":{"__isSmartRef__":true,"id":8484}},"8554":{"timestamp":{"__isSmartRef__":true,"id":8555},"user":"jenslincke","tags":[]},"8555":{"isSerializedDate":true,"string":"Thu Dec 13 2012 15:51:13 GMT+0100 (CET)"},"8556":{"varMapping":{"__isSmartRef__":true,"id":8557},"source":"function onDragEndInHandle(handle, evt) {\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n \n if (handle.isFromHandle) this.connectFrom(this.selectedMorph)\n if (handle.isToHandle) this.connectTo(this.selectedMorph)\n handle.remove()\n}","funcProperties":{"__isSmartRef__":true,"id":8558},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8557":{"this":{"__isSmartRef__":true,"id":8484}},"8558":{"timestamp":{"__isSmartRef__":true,"id":8559},"user":"jenslincke","tags":[]},"8559":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:44:35 GMT+0100 (CET)"},"8560":{"varMapping":{"__isSmartRef__":true,"id":8561},"source":"function connectFrom(morph) {\n if (morph && morph === this.toMorph) return; // not allowed\n\n this.disconnectMorph(this.fromMorph)\n this.fromMorph = morph;\n this.connectMorph(this.fromMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":8562},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8561":{"this":{"__isSmartRef__":true,"id":8484}},"8562":{"timestamp":{"__isSmartRef__":true,"id":8563},"user":"jenslincke","tags":[]},"8563":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:02:22 GMT+0100 (CET)"},"8564":{"varMapping":{"__isSmartRef__":true,"id":8565},"source":"function connectTo(morph) {\n\n if (morph && morph === this.fromMorph) return; // not allowed\n\n this.disconnectMorph(this.toMorph)\n this.toMorph = morph;\n this.connectMorph(this.toMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":8566},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8565":{"this":{"__isSmartRef__":true,"id":8484}},"8566":{"timestamp":{"__isSmartRef__":true,"id":8567},"user":"jenslincke","tags":[]},"8567":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:02:30 GMT+0100 (CET)"},"8568":{"varMapping":{"__isSmartRef__":true,"id":8569},"source":"function hideToHandle() {\n if (this.toHandle) {\n this.toHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":8570},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8569":{"this":{"__isSmartRef__":true,"id":8484}},"8570":{"timestamp":{"__isSmartRef__":true,"id":8571},"user":"jenslincke","tags":[]},"8571":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:51:59 GMT+0100 (CET)"},"8572":{"varMapping":{"__isSmartRef__":true,"id":8573},"source":"function hideFromHandle() {\n if (this.fromHandle) {\n this.fromHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":8574},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8573":{"this":{"__isSmartRef__":true,"id":8484}},"8574":{"timestamp":{"__isSmartRef__":true,"id":8575},"user":"jenslincke","tags":[]},"8575":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:52:18 GMT+0100 (CET)"},"8576":{"varMapping":{"__isSmartRef__":true,"id":8577},"source":"function updateIntersection(morph, cp) {\n if (!morph) return;\n var intersection = this.intersectMorph(morph)[0];\n if (intersection) {\n cp.setGlobalPos(intersection);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":8578},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8577":{"this":{"__isSmartRef__":true,"id":8484}},"8578":{"timestamp":{"__isSmartRef__":true,"id":8579},"user":"jenslincke","tags":[]},"8579":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:32 GMT+0100 (CET)"},"8580":{"varMapping":{"__isSmartRef__":true,"id":8581},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":8582},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8581":{"this":{"__isSmartRef__":true,"id":8484}},"8582":{"timestamp":{"__isSmartRef__":true,"id":8583},"user":"jenslincke","tags":[]},"8583":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:47:12 GMT+0100 (CET)"},"8584":{"varMapping":{"__isSmartRef__":true,"id":8585},"source":"function intersectMorphLinePoints(morph, a1, a2) {\n var points = this.globalShapePathFromMorph(morph);\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":8586},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8585":{"this":{"__isSmartRef__":true,"id":8484}},"8586":{"timestamp":{"__isSmartRef__":true,"id":8587},"user":"jenslincke","tags":[]},"8587":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:21 GMT+0100 (CET)"},"8588":{"varMapping":{"__isSmartRef__":true,"id":8589},"source":"function intersectMorph(morph) {\n var line = this;\n return this.intersectMorphLinePoints(morph,\n line.controlPoints[0].getGlobalPos(), line.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":8590},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8589":{"this":{"__isSmartRef__":true,"id":8484}},"8590":{"timestamp":{"__isSmartRef__":true,"id":8591},"user":"jenslincke","tags":[]},"8591":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:47 GMT+0100 (CET)"},"8592":{"varMapping":{"__isSmartRef__":true,"id":8593},"source":"function globalShapePathFromMorph(morph) {\n var b = morph.shape.bounds();\n var p1 = morph.worldPoint(b.topLeft()),\n p2 = morph.worldPoint(b.topRight()),\n p3 = morph.worldPoint(b.bottomRight()),\n p4 = morph.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":8594},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8593":{"this":{"__isSmartRef__":true,"id":8484}},"8594":{"timestamp":{"__isSmartRef__":true,"id":8595},"user":"jenslincke","tags":[]},"8595":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:00 GMT+0100 (CET)"},"8596":{"source":{"__isSmartRef__":true,"id":8411},"target":{"__isSmartRef__":true,"id":8484}},"8597":{"sourceObj":{"__isSmartRef__":true,"id":8411},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":8483},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":8598},"dependedBy":{"__isSmartRef__":true,"id":8483},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8598":{"source":{"__isSmartRef__":true,"id":8411},"target":{"__isSmartRef__":true,"id":8483}},"8599":{"sourceObj":{"__isSmartRef__":true,"id":8411},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":8483},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":8600},"dependedBy":{"__isSmartRef__":true,"id":8483},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8600":{"source":{"__isSmartRef__":true,"id":8411},"target":{"__isSmartRef__":true,"id":8483}},"8601":{"sourceObj":{"__isSmartRef__":true,"id":8411},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":8483},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":8602},"dependedBy":{"__isSmartRef__":true,"id":8483},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8602":{"source":{"__isSmartRef__":true,"id":8411},"target":{"__isSmartRef__":true,"id":8483}},"8603":{"sourceObj":{"__isSmartRef__":true,"id":8411},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":8483},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":8604},"dependedBy":{"__isSmartRef__":true,"id":8483},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8604":{"source":{"__isSmartRef__":true,"id":8411},"target":{"__isSmartRef__":true,"id":8483}},"8605":{"d":0.9347623017725522,"a":0.9347623017725522,"f":3485.245045045044,"e":728.5390390390387,"c":0.3552737524570028,"b":-0.3552737524570028,"matrix_":{"__isSmartRef__":true,"id":8606},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"8606":{"a":0.9347623017725522,"b":-0.3552737524570028,"c":0.3552737524570028,"d":0.9347623017725522,"e":728.5390390390387,"f":3485.245045045044,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"8607":{"globalShapePath":{"__isSmartRef__":true,"id":8608},"lineIntersect":{"__isSmartRef__":true,"id":8611},"intersectLine":{"__isSmartRef__":true,"id":8615},"intersectLineMorph":{"__isSmartRef__":true,"id":8618}},"8608":{"varMapping":{"__isSmartRef__":true,"id":8609},"source":"function globalShapePath() {\n var b = this.shape.bounds();\n var p1 = this.worldPoint(b.topLeft()),\n p2 = this.worldPoint(b.topRight()),\n p3 = this.worldPoint(b.bottomRight()),\n p4 = this.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":8610},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8609":{"this":{"__isSmartRef__":true,"id":8411}},"8610":{},"8611":{"varMapping":{"__isSmartRef__":true,"id":8612},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":8613},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8612":{"this":{"__isSmartRef__":true,"id":8411}},"8613":{"timestamp":{"__isSmartRef__":true,"id":8614},"user":"jenslincke","tags":[]},"8614":{"isSerializedDate":true,"string":"Thu Dec 13 2012 13:42:55 GMT+0100 (CET)"},"8615":{"varMapping":{"__isSmartRef__":true,"id":8616},"source":"function intersectLine(a1, a2) {\n var points = this.globalShapePath();\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":8617},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8616":{"this":{"__isSmartRef__":true,"id":8411}},"8617":{},"8618":{"varMapping":{"__isSmartRef__":true,"id":8619},"source":"function intersectLineMorph(m) {\n return this.intersectLine(m.controlPoints[0].getGlobalPos(), m.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":8620},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8619":{"this":{"__isSmartRef__":true,"id":8411}},"8620":{},"8621":{"d":1,"a":1,"f":906.1,"e":107.8,"c":0,"b":0,"matrix_":{"__isSmartRef__":true,"id":8622},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"8622":{"a":1,"b":0,"c":0,"d":1,"e":107.8,"f":906.1,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"8623":{"connect":{"__isSmartRef__":true,"id":8624},"updatePosition":{"__isSmartRef__":true,"id":8628},"updateControlPoint":{"__isSmartRef__":true,"id":8632},"disconnectMorph":{"__isSmartRef__":true,"id":8636},"connectMorph":{"__isSmartRef__":true,"id":8640},"onMouseOver":{"__isSmartRef__":true,"id":8644},"onMouseOut":{"__isSmartRef__":true,"id":8648},"makeHandle":{"__isSmartRef__":true,"id":8656},"showFromHandle":{"__isSmartRef__":true,"id":8660},"showToHandle":{"__isSmartRef__":true,"id":8664},"reset":{"__isSmartRef__":true,"id":8668},"onDragInHandle":{"__isSmartRef__":true,"id":8672},"onDragStartInHandle":{"__isSmartRef__":true,"id":8676},"onDragEndInHandle":{"__isSmartRef__":true,"id":8680},"connectFrom":{"__isSmartRef__":true,"id":8684},"connectTo":{"__isSmartRef__":true,"id":8688},"hideToHandle":{"__isSmartRef__":true,"id":8692},"hideFromHandle":{"__isSmartRef__":true,"id":8696},"updateIntersection":{"__isSmartRef__":true,"id":8700},"lineIntersect":{"__isSmartRef__":true,"id":8704},"intersectMorphLinePoints":{"__isSmartRef__":true,"id":8708},"intersectMorph":{"__isSmartRef__":true,"id":8712},"globalShapePathFromMorph":{"__isSmartRef__":true,"id":8716}},"8624":{"varMapping":{"__isSmartRef__":true,"id":8625},"source":"function connect(morphA, morphB) {\n this.connectFrom(morphA)\n this.connectTo(morphB)\n this.updatePosition()\n}","funcProperties":{"__isSmartRef__":true,"id":8626},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8625":{"this":{"__isSmartRef__":true,"id":8401}},"8626":{"timestamp":{"__isSmartRef__":true,"id":8627},"user":"jenslincke","tags":[]},"8627":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:50:49 GMT+0100 (CET)"},"8628":{"varMapping":{"__isSmartRef__":true,"id":8629},"source":"function updatePosition() {\n this.updateControlPoint(this.controlPoints[0], this.fromMorph)\n this.updateControlPoint(this.controlPoints[1], this.toMorph)\n this.updateIntersection(this.fromMorph, this.controlPoints[0])\n this.updateIntersection(this.toMorph, this.controlPoints[1])\n\n if (this.controlPoints[0].getPos().equalPt(this.controlPoints[1].getPos()))\n this.controlPoints[1].setPos(this.controlPoints[1].getPos().addPt(pt(30,0)))\n\n this.adjustOrigin(this.bounds().extent().scaleBy(0.5))\n \n}","funcProperties":{"__isSmartRef__":true,"id":8630},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8629":{"this":{"__isSmartRef__":true,"id":8401}},"8630":{"timestamp":{"__isSmartRef__":true,"id":8631},"user":"jenslincke","tags":[]},"8631":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:59:26 GMT+0100 (CET)"},"8632":{"varMapping":{"__isSmartRef__":true,"id":8633},"source":"function updateControlPoint(cp, morph) {\n if (!cp || !morph) return;\n cp.setGlobalPos(morph.worldPoint(morph.shape.bounds().center()))\n}","funcProperties":{"__isSmartRef__":true,"id":8634},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8633":{"this":{"__isSmartRef__":true,"id":8401}},"8634":{"timestamp":{"__isSmartRef__":true,"id":8635},"user":"jenslincke","tags":[]},"8635":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:45:56 GMT+0100 (CET)"},"8636":{"varMapping":{"__isSmartRef__":true,"id":8637},"source":"function disconnectMorph(morph) {\n if (!morph) return;\n lively.bindings.disconnect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":8638},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8637":{"this":{"__isSmartRef__":true,"id":8401}},"8638":{"timestamp":{"__isSmartRef__":true,"id":8639},"user":"jenslincke","tags":[]},"8639":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:19:18 GMT+0100 (CET)"},"8640":{"varMapping":{"__isSmartRef__":true,"id":8641},"source":"function connectMorph(morph) {\n if (morph)\n lively.bindings.connect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":8642},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8641":{"this":{"__isSmartRef__":true,"id":8401}},"8642":{"timestamp":{"__isSmartRef__":true,"id":8643},"user":"jenslincke","tags":[]},"8643":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:52:12 GMT+0100 (CET)"},"8644":{"varMapping":{"__isSmartRef__":true,"id":8645},"source":"function onMouseOver(evt) {\n var p = evt.mousePoint.scaleBy(this.world().getScale())\n\n var cp1 = this.controlPoints[0].getGlobalPos();\n if (p.dist(cp1) < 20) {\n this.showFromHandle()\n } else {\n this.hideFromHandle()\n }\n var cp2 = this.controlPoints[1].getGlobalPos();\n if (p.dist(cp2) < 20) {\n this.showToHandle()\n } else {\n this.hideToHandle()\n }\n}","funcProperties":{"__isSmartRef__":true,"id":8646},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8645":{"this":{"__isSmartRef__":true,"id":8401}},"8646":{"timestamp":{"__isSmartRef__":true,"id":8647},"user":"jenslincke","tags":[]},"8647":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:23:03 GMT+0100 (CET)"},"8648":{"varMapping":{"__isSmartRef__":true,"id":8649},"source":"function onMouseOut(evt) {\n // this.hideFromHandle()\n // this.hideToHandle()\n}","funcProperties":{"__isSmartRef__":true,"id":8654},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8649":{"this":{"__isSmartRef__":true,"id":8401},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":8650}},"8650":{"$super":{"__isSmartRef__":true,"id":8651}},"8651":{"varMapping":{"__isSmartRef__":true,"id":8652},"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":8653},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8652":{"obj":{"__isSmartRef__":true,"id":8401},"name":"onMouseOut"},"8653":{},"8654":{"timestamp":{"__isSmartRef__":true,"id":8655},"user":"jenslincke","tags":[]},"8655":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:54:53 GMT+0100 (CET)"},"8656":{"varMapping":{"__isSmartRef__":true,"id":8657},"source":"function makeHandle() {\n var m = lively.morphic.Morph.makeRectangle(0,0,10,10);\n m.disableGrabbing()\n m.enableDragging()\n m.connector = this;\n // move real behavior to a place which is easier to develop\n // do not use bind, because we like late binding \n m.addScript(function onDragStart(evt) {\n this.connector.onDragStartInHandle(this, evt)\n })\n m.addScript(function onDrag(evt) {\n this.connector.onDragInHandle(this, evt)\n })\n m.addScript(function onDragEnd(evt) {\n this.connector.onDragEndInHandle(this, evt)\n })\n m.isEpiMorph = true;\n return m\n}","funcProperties":{"__isSmartRef__":true,"id":8658},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8657":{"this":{"__isSmartRef__":true,"id":8401}},"8658":{"timestamp":{"__isSmartRef__":true,"id":8659},"user":"jenslincke","tags":[]},"8659":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:08:29 GMT+0100 (CET)"},"8660":{"varMapping":{"__isSmartRef__":true,"id":8661},"source":"function showFromHandle() {\n if (!this.fromHandle) {\n this.fromHandle = this.makeHandle();\n this.fromHandle.setFill(Color.red)\n this.fromHandle.isFromHandle = true;\n }\n this.fromHandle.openInWorld();\n this.fromHandle.controlPoint = this.controlPoints[0];\n this.fromHandle.setPosition(this.controlPoints[0].getGlobalPos().subPt(pt(5,5)))\n return this.fromHandle\n}","funcProperties":{"__isSmartRef__":true,"id":8662},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8661":{"this":{"__isSmartRef__":true,"id":8401}},"8662":{"timestamp":{"__isSmartRef__":true,"id":8663},"user":"jenslincke","tags":[]},"8663":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:13:03 GMT+0100 (CET)"},"8664":{"varMapping":{"__isSmartRef__":true,"id":8665},"source":"function showToHandle() {\n if (!this.toHandle) {\n this.toHandle = this.makeHandle();\n this.toHandle.setFill(Color.red)\n this.toHandle.isToHandle = true;\n\n }\n this.toHandle.openInWorld();\n this.toHandle.controlPoint = this.controlPoints[1];\n this.toHandle.setPosition(this.controlPoints[1].getGlobalPos().subPt(pt(5,5)))\n return this.toHandle\n}","funcProperties":{"__isSmartRef__":true,"id":8666},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8665":{"this":{"__isSmartRef__":true,"id":8401}},"8666":{"timestamp":{"__isSmartRef__":true,"id":8667},"user":"jenslincke","tags":[]},"8667":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:20:25 GMT+0100 (CET)"},"8668":{"varMapping":{"__isSmartRef__":true,"id":8669},"source":"function reset() {\n if (this.fromHandle) {\n this.fromHandle.remove()\n delete this.fromHandle\n }\n if (this.toHandle) {\n this.toHandle.remove()\n delete this.toHandle\n }\n // this.controlPoints[1].setPos(pt(200,200))\n}","funcProperties":{"__isSmartRef__":true,"id":8670},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8669":{"this":{"__isSmartRef__":true,"id":8401}},"8670":{"timestamp":{"__isSmartRef__":true,"id":8671},"user":"jenslincke","tags":[]},"8671":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:15:00 GMT+0100 (CET)"},"8672":{"varMapping":{"__isSmartRef__":true,"id":8673},"source":"function onDragInHandle(handle, evt) {\n\n var pos = handle.getPositionInWorld();\n var delta = evt.hand.getPosition().subPt(pos);\n handle.moveBy(delta)\n pos = handle.getPositionInWorld();\n if (handle.controlPoint)\n handle.controlPoint.setGlobalPos(pos.addPt(pt(5,5)))\n var morphs = this.owner.morphsContainingPoint(pos)\n morphs = morphs.reject(function(ea) {\n return ea.isWorld || (ea === handle) || (ea === this) || \n (ea === this.owner)\n }, this)\n this.get('Console').textString = morphs\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n this.selectedMorph = morphs.first();\n this.selectedMorphHighlights = show(this.selectedMorph)\n handle.startPos = evt.getPosition();\n}","funcProperties":{"__isSmartRef__":true,"id":8674},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8673":{"this":{"__isSmartRef__":true,"id":8401}},"8674":{"timestamp":{"__isSmartRef__":true,"id":8675},"user":"jenslincke","tags":[]},"8675":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:09:40 GMT+0100 (CET)"},"8676":{"varMapping":{"__isSmartRef__":true,"id":8677},"source":"function onDragStartInHandle(handle, evt) {\n handle.startPos = evt.getPosition()\n}","funcProperties":{"__isSmartRef__":true,"id":8678},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8677":{"this":{"__isSmartRef__":true,"id":8401}},"8678":{"timestamp":{"__isSmartRef__":true,"id":8679},"user":"jenslincke","tags":[]},"8679":{"isSerializedDate":true,"string":"Thu Dec 13 2012 15:51:13 GMT+0100 (CET)"},"8680":{"varMapping":{"__isSmartRef__":true,"id":8681},"source":"function onDragEndInHandle(handle, evt) {\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n \n if (handle.isFromHandle) this.connectFrom(this.selectedMorph)\n if (handle.isToHandle) this.connectTo(this.selectedMorph)\n handle.remove()\n}","funcProperties":{"__isSmartRef__":true,"id":8682},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8681":{"this":{"__isSmartRef__":true,"id":8401}},"8682":{"timestamp":{"__isSmartRef__":true,"id":8683},"user":"jenslincke","tags":[]},"8683":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:44:35 GMT+0100 (CET)"},"8684":{"varMapping":{"__isSmartRef__":true,"id":8685},"source":"function connectFrom(morph) {\n if (morph === this.toMorph) return; // not allowed\n\n this.disconnectMorph(this.fromMorph)\n this.fromMorph = morph;\n this.connectMorph(this.fromMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":8686},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8685":{"this":{"__isSmartRef__":true,"id":8401}},"8686":{"timestamp":{"__isSmartRef__":true,"id":8687},"user":"jenslincke","tags":[]},"8687":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:57:22 GMT+0100 (CET)"},"8688":{"varMapping":{"__isSmartRef__":true,"id":8689},"source":"function connectTo(morph) {\n\n if (morph === this.fromMorph) return; // not allowed\n\n this.disconnectMorph(this.toMorph)\n this.toMorph = morph;\n this.connectMorph(this.toMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":8690},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8689":{"this":{"__isSmartRef__":true,"id":8401}},"8690":{"timestamp":{"__isSmartRef__":true,"id":8691},"user":"jenslincke","tags":[]},"8691":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:57:14 GMT+0100 (CET)"},"8692":{"varMapping":{"__isSmartRef__":true,"id":8693},"source":"function hideToHandle() {\n if (this.toHandle) {\n this.toHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":8694},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8693":{"this":{"__isSmartRef__":true,"id":8401}},"8694":{"timestamp":{"__isSmartRef__":true,"id":8695},"user":"jenslincke","tags":[]},"8695":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:51:59 GMT+0100 (CET)"},"8696":{"varMapping":{"__isSmartRef__":true,"id":8697},"source":"function hideFromHandle() {\n if (this.fromHandle) {\n this.fromHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":8698},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8697":{"this":{"__isSmartRef__":true,"id":8401}},"8698":{"timestamp":{"__isSmartRef__":true,"id":8699},"user":"jenslincke","tags":[]},"8699":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:52:18 GMT+0100 (CET)"},"8700":{"varMapping":{"__isSmartRef__":true,"id":8701},"source":"function updateIntersection(morph, cp) {\n if (!morph) return;\n var intersection = this.intersectMorph(morph)[0];\n if (intersection) {\n cp.setGlobalPos(intersection);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":8702},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8701":{"this":{"__isSmartRef__":true,"id":8401}},"8702":{"timestamp":{"__isSmartRef__":true,"id":8703},"user":"jenslincke","tags":[]},"8703":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:32 GMT+0100 (CET)"},"8704":{"varMapping":{"__isSmartRef__":true,"id":8705},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":8706},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8705":{"this":{"__isSmartRef__":true,"id":8401}},"8706":{"timestamp":{"__isSmartRef__":true,"id":8707},"user":"jenslincke","tags":[]},"8707":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:47:12 GMT+0100 (CET)"},"8708":{"varMapping":{"__isSmartRef__":true,"id":8709},"source":"function intersectMorphLinePoints(morph, a1, a2) {\n var points = this.globalShapePathFromMorph(morph);\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":8710},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8709":{"this":{"__isSmartRef__":true,"id":8401}},"8710":{"timestamp":{"__isSmartRef__":true,"id":8711},"user":"jenslincke","tags":[]},"8711":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:21 GMT+0100 (CET)"},"8712":{"varMapping":{"__isSmartRef__":true,"id":8713},"source":"function intersectMorph(morph) {\n var line = this;\n return this.intersectMorphLinePoints(morph,\n line.controlPoints[0].getGlobalPos(), line.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":8714},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8713":{"this":{"__isSmartRef__":true,"id":8401}},"8714":{"timestamp":{"__isSmartRef__":true,"id":8715},"user":"jenslincke","tags":[]},"8715":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:47 GMT+0100 (CET)"},"8716":{"varMapping":{"__isSmartRef__":true,"id":8717},"source":"function globalShapePathFromMorph(morph) {\n var b = morph.shape.bounds();\n var p1 = morph.worldPoint(b.topLeft()),\n p2 = morph.worldPoint(b.topRight()),\n p3 = morph.worldPoint(b.bottomRight()),\n p4 = morph.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":8718},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8717":{"this":{"__isSmartRef__":true,"id":8401}},"8718":{"timestamp":{"__isSmartRef__":true,"id":8719},"user":"jenslincke","tags":[]},"8719":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:00 GMT+0100 (CET)"},"8720":{"morph":{"__isSmartRef__":true,"id":8370},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(142.4,3530.4)"},"8721":{"morph":{"__isSmartRef__":true,"id":8370},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(104.9,3506.4)"},"8722":{"morph":{"__isSmartRef__":true,"id":8370},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(67.4,3482.4)"},"8723":{"morph":{"__isSmartRef__":true,"id":8370},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(89.0,3448.7)"},"8724":{"sourceObj":{"__isSmartRef__":true,"id":8370},"sourceAttrName":"name","targetObj":{"__isSmartRef__":true,"id":8345},"targetMethodName":"updateLabel","varMapping":{"__isSmartRef__":true,"id":8725},"visualConnector":{"__isSmartRef__":true,"id":8726},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8725":{"source":{"__isSmartRef__":true,"id":8370},"target":{"__isSmartRef__":true,"id":8345}},"8726":{"submorphs":[{"__isSmartRef__":true,"id":8727}],"scripts":[],"shape":{"__isSmartRef__":true,"id":8734},"eventHandler":{"__isSmartRef__":true,"id":8737},"_ClipMode":"visible","derivationIds":[],"id":"5814672F-102B-41EE-9D91-9FA58B6451FD","__layered_droppingEnabled__":true,"halosEnabled":true,"owner":null,"controlPoints":[{"__isSmartRef__":true,"id":8738},{"__isSmartRef__":true,"id":8739}],"con":{"__isSmartRef__":true,"id":8724},"showsMorphMenu":true,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":8740},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"8727":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":8728},"eventHandler":{"__isSmartRef__":true,"id":8733},"_ClipMode":"visible","derivationIds":[],"id":"01253C2A-18A1-43A8-AA72-260E7FC0929E","__layered_droppingEnabled__":true,"halosEnabled":true,"owner":{"__isSmartRef__":true,"id":8726},"_Rotation":1.3832457846463706,"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","_Position":"lively.pt(259.1,3427.8)"},"8728":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":8729},{"__isSmartRef__":true,"id":8730},{"__isSmartRef__":true,"id":8731},{"__isSmartRef__":true,"id":8732}],"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor","_Fill"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Position":"lively.pt(-12.0,-6.0)","_Extent":"lively.pt(17.0,13.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(0,0,0)"},"8729":{"isAbsolute":true,"x":-11,"y":-5,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"8730":{"isAbsolute":true,"x":-11,"y":7,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"8731":{"isAbsolute":true,"x":5,"y":1,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"8732":{"isAbsolute":true,"x":-11,"y":-5,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"8733":{"morph":{"__isSmartRef__":true,"id":8727},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8734":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":8735},{"__isSmartRef__":true,"id":8736}],"_BorderWidth":1,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Position":"lively.pt(248.7,3377.0)","_Extent":"lively.pt(10.4,50.8)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"8735":{"isAbsolute":true,"x":249.7,"y":3378,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"8736":{"isAbsolute":true,"x":259.14357977177195,"y":3427.7604139964105,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"8737":{"morph":{"__isSmartRef__":true,"id":8726},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8738":{"morph":{"__isSmartRef__":true,"id":8726},"index":0,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"8739":{"morph":{"__isSmartRef__":true,"id":8726},"index":1,"marker":{"__isSmartRef__":true,"id":8727},"markerDirection":"prev","__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"8740":{"morphMenuItems":{"__isSmartRef__":true,"id":8741}},"8741":{"varMapping":{"__isSmartRef__":true,"id":8742},"source":"function morphMenuItems() {\n var visualConnector = this, con = this.con, world = $world;\n var items = [\n ['Edit converter', function() {\n var window = lively.bindings.editConnection(con);\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":8747},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8742":{"this":{"__isSmartRef__":true,"id":8726},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":8743}},"8743":{"$super":{"__isSmartRef__":true,"id":8744}},"8744":{"varMapping":{"__isSmartRef__":true,"id":8745},"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":8746},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8745":{"obj":{"__isSmartRef__":true,"id":8726},"name":"morphMenuItems"},"8746":{},"8747":{},"8748":{"sourceObj":{"__isSmartRef__":true,"id":8370},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":8344},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":8749},"dependedBy":{"__isSmartRef__":true,"id":8344},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8749":{"source":{"__isSmartRef__":true,"id":8370},"target":{"__isSmartRef__":true,"id":8344}},"8750":{"sourceObj":{"__isSmartRef__":true,"id":8370},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":8344},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":8751},"dependedBy":{"__isSmartRef__":true,"id":8344},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8751":{"source":{"__isSmartRef__":true,"id":8370},"target":{"__isSmartRef__":true,"id":8344}},"8752":{"sourceObj":{"__isSmartRef__":true,"id":8370},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":8344},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":8753},"dependedBy":{"__isSmartRef__":true,"id":8344},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8753":{"source":{"__isSmartRef__":true,"id":8370},"target":{"__isSmartRef__":true,"id":8344}},"8754":{"sourceObj":{"__isSmartRef__":true,"id":8370},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":8344},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":8755},"dependedBy":{"__isSmartRef__":true,"id":8344},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8755":{"source":{"__isSmartRef__":true,"id":8370},"target":{"__isSmartRef__":true,"id":8344}},"8756":{"sourceObj":{"__isSmartRef__":true,"id":8370},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":8400},"targetMethodName":"alignToMagnet","varMapping":{"__isSmartRef__":true,"id":8757},"dependendConnections":[{"__isSmartRef__":true,"id":8758},{"__isSmartRef__":true,"id":8760},{"__isSmartRef__":true,"id":8762},{"__isSmartRef__":true,"id":8764},{"__isSmartRef__":true,"id":8766},{"__isSmartRef__":true,"id":8768},{"__isSmartRef__":true,"id":8770},{"__isSmartRef__":true,"id":8772}],"oldTransform":{"__isSmartRef__":true,"id":8774},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"8757":{"source":{"__isSmartRef__":true,"id":8370},"target":{"__isSmartRef__":true,"id":8400}},"8758":{"sourceObj":{"__isSmartRef__":true,"id":8370},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":8756},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":8759},"dependedBy":{"__isSmartRef__":true,"id":8756},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8759":{"source":{"__isSmartRef__":true,"id":8370},"target":{"__isSmartRef__":true,"id":8756}},"8760":{"sourceObj":{"__isSmartRef__":true,"id":8370},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":8756},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":8761},"dependedBy":{"__isSmartRef__":true,"id":8756},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8761":{"source":{"__isSmartRef__":true,"id":8370},"target":{"__isSmartRef__":true,"id":8756}},"8762":{"sourceObj":{"__isSmartRef__":true,"id":8370},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":8756},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":8763},"dependedBy":{"__isSmartRef__":true,"id":8756},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8763":{"source":{"__isSmartRef__":true,"id":8370},"target":{"__isSmartRef__":true,"id":8756}},"8764":{"sourceObj":{"__isSmartRef__":true,"id":8370},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":8756},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":8765},"dependedBy":{"__isSmartRef__":true,"id":8756},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8765":{"source":{"__isSmartRef__":true,"id":8370},"target":{"__isSmartRef__":true,"id":8756}},"8766":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":8756},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":8767},"dependedBy":{"__isSmartRef__":true,"id":8756},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8767":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":8756}},"8768":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":8756},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":8769},"dependedBy":{"__isSmartRef__":true,"id":8756},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8769":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":8756}},"8770":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":8756},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":8771},"dependedBy":{"__isSmartRef__":true,"id":8756},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8771":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":8756}},"8772":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":8756},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":8773},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","dependedBy":{"__isSmartRef__":true,"id":8756},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8773":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":8756}},"8774":{"d":0.8419431060646692,"a":0.8419431060646692,"f":71.4,"e":725.3,"c":-0.5395663130238733,"b":0.5395663130238733,"matrix_":{"__isSmartRef__":true,"id":8775},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"8775":{"a":0.8419431060646692,"b":0.5395663130238733,"c":-0.5395663130238733,"d":0.8419431060646692,"e":725.3,"f":71.4,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"8776":{"sourceObj":{"__isSmartRef__":true,"id":8370},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":3590},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":8777},"dependendConnections":[{"__isSmartRef__":true,"id":8778},{"__isSmartRef__":true,"id":8780},{"__isSmartRef__":true,"id":8782},{"__isSmartRef__":true,"id":8784},{"__isSmartRef__":true,"id":8786},{"__isSmartRef__":true,"id":8788},{"__isSmartRef__":true,"id":8790},{"__isSmartRef__":true,"id":8792}],"oldTransform":{"__isSmartRef__":true,"id":8794},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"8777":{"source":{"__isSmartRef__":true,"id":8370},"target":{"__isSmartRef__":true,"id":3590}},"8778":{"sourceObj":{"__isSmartRef__":true,"id":8370},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":8776},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":8779},"dependedBy":{"__isSmartRef__":true,"id":8776},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8779":{"source":{"__isSmartRef__":true,"id":8370},"target":{"__isSmartRef__":true,"id":8776}},"8780":{"sourceObj":{"__isSmartRef__":true,"id":8370},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":8776},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":8781},"dependedBy":{"__isSmartRef__":true,"id":8776},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8781":{"source":{"__isSmartRef__":true,"id":8370},"target":{"__isSmartRef__":true,"id":8776}},"8782":{"sourceObj":{"__isSmartRef__":true,"id":8370},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":8776},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":8783},"dependedBy":{"__isSmartRef__":true,"id":8776},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8783":{"source":{"__isSmartRef__":true,"id":8370},"target":{"__isSmartRef__":true,"id":8776}},"8784":{"sourceObj":{"__isSmartRef__":true,"id":8370},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":8776},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":8785},"dependedBy":{"__isSmartRef__":true,"id":8776},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8785":{"source":{"__isSmartRef__":true,"id":8370},"target":{"__isSmartRef__":true,"id":8776}},"8786":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":8776},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":8787},"dependedBy":{"__isSmartRef__":true,"id":8776},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8787":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":8776}},"8788":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":8776},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":8789},"dependedBy":{"__isSmartRef__":true,"id":8776},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8789":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":8776}},"8790":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":8776},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":8791},"dependedBy":{"__isSmartRef__":true,"id":8776},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8791":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":8776}},"8792":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":8776},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":8793},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","dependedBy":{"__isSmartRef__":true,"id":8776},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8793":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":8776}},"8794":{"d":0.8419431060646692,"a":0.8419431060646692,"f":71.4,"e":725.3,"c":-0.5395663130238733,"b":0.5395663130238733,"matrix_":{"__isSmartRef__":true,"id":8795},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"8795":{"a":0.8419431060646692,"b":0.5395663130238733,"c":-0.5395663130238733,"d":0.8419431060646692,"e":725.3,"f":71.4,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"8796":{"globalShapePath":{"__isSmartRef__":true,"id":8797},"lineIntersect":{"__isSmartRef__":true,"id":8800},"intersectLine":{"__isSmartRef__":true,"id":8804},"intersectLineMorph":{"__isSmartRef__":true,"id":8807}},"8797":{"varMapping":{"__isSmartRef__":true,"id":8798},"source":"function globalShapePath() {\n var b = this.shape.bounds();\n var p1 = this.worldPoint(b.topLeft()),\n p2 = this.worldPoint(b.topRight()),\n p3 = this.worldPoint(b.bottomRight()),\n p4 = this.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":8799},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8798":{"this":{"__isSmartRef__":true,"id":8370}},"8799":{},"8800":{"varMapping":{"__isSmartRef__":true,"id":8801},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":8802},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8801":{"this":{"__isSmartRef__":true,"id":8370}},"8802":{"timestamp":{"__isSmartRef__":true,"id":8803},"user":"jenslincke","tags":[]},"8803":{"isSerializedDate":true,"string":"Thu Dec 13 2012 13:42:55 GMT+0100 (CET)"},"8804":{"varMapping":{"__isSmartRef__":true,"id":8805},"source":"function intersectLine(a1, a2) {\n var points = this.globalShapePath();\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":8806},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8805":{"this":{"__isSmartRef__":true,"id":8370}},"8806":{},"8807":{"varMapping":{"__isSmartRef__":true,"id":8808},"source":"function intersectLineMorph(m) {\n return this.intersectLine(m.controlPoints[0].getGlobalPos(), m.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":8809},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8808":{"this":{"__isSmartRef__":true,"id":8370}},"8809":{},"8810":{"updateLabel":{"__isSmartRef__":true,"id":8811},"renameOwner":{"__isSmartRef__":true,"id":8814}},"8811":{"varMapping":{"__isSmartRef__":true,"id":8812},"source":"function updateLabel() {\n\t// observe name changes in owner\n\tif (this.owner !== this.oldOwner) {\n\t\tif (this.oldOwner)\n\t\t\tdisconnect(this.oldOwner, 'name', this, 'updateLabel')\n\t\tif (this.owner)\n\t\t\tconnect(this.owner, 'name', this, 'updateLabel')\n\t\tthis.oldOwner = this.owner\n\t}\n\tvar name = (this.owner ? this.owner.name : \"no owner\")\n\tif (this.textString != name)\n\tthis.setTextString(name)\n}","funcProperties":{"__isSmartRef__":true,"id":8813},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8812":{"this":{"__isSmartRef__":true,"id":8345}},"8813":{},"8814":{"varMapping":{"__isSmartRef__":true,"id":8815},"source":"function renameOwner(name) {\n\tif (this.owner && this.owner.name != name) {\n\t\talertOK(\"renamed \" + this.owner + \" to \" + name)\n\t\tthis.owner.setName(name);\n\t}\n}","funcProperties":{"__isSmartRef__":true,"id":8816},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8815":{"this":{"__isSmartRef__":true,"id":8345}},"8816":{},"8817":{"source":{"__isSmartRef__":true,"id":8345},"target":{"__isSmartRef__":true,"id":8726}},"8818":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":8344},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":8819},"dependedBy":{"__isSmartRef__":true,"id":8344},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8819":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":8344}},"8820":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":8344},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":8821},"dependedBy":{"__isSmartRef__":true,"id":8344},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8821":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":8344}},"8822":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":8344},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":8823},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","dependedBy":{"__isSmartRef__":true,"id":8344},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8823":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":8344}},"8824":{"d":0.8419431060646688,"a":0.8419431060646688,"f":121.16041399641061,"e":734.7435797717719,"c":-0.539566313023873,"b":0.539566313023873,"matrix_":{"__isSmartRef__":true,"id":8825},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"8825":{"a":0.8419431060646688,"b":0.539566313023873,"c":-0.539566313023873,"d":0.8419431060646688,"e":734.7435797717719,"f":121.16041399641061,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"8826":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":8344}},"8827":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":8828},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9350},"dependedBy":{"__isSmartRef__":true,"id":8828},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8828":{"sourceObj":{"__isSmartRef__":true,"id":8829},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":9210},"targetMethodName":"realignConnection","varMapping":{"__isSmartRef__":true,"id":9341},"dependendConnections":[{"__isSmartRef__":true,"id":8837},{"__isSmartRef__":true,"id":8839},{"__isSmartRef__":true,"id":8841},{"__isSmartRef__":true,"id":8843},{"__isSmartRef__":true,"id":9252},{"__isSmartRef__":true,"id":9254},{"__isSmartRef__":true,"id":9256},{"__isSmartRef__":true,"id":9258},{"__isSmartRef__":true,"id":8827},{"__isSmartRef__":true,"id":9342},{"__isSmartRef__":true,"id":9344},{"__isSmartRef__":true,"id":9346}],"oldTransform":{"__isSmartRef__":true,"id":9348},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"8829":{"submorphs":[],"scripts":[],"id":"62365A7B-FB59-41E2-824C-7D51125872F5","shape":{"__isSmartRef__":true,"id":8830},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":180.8018403394826,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":19,"name":"NameLabel2","partsBinMetaInfo":{"__isSmartRef__":true,"id":8831},"textChunks":[{"__isSmartRef__":true,"id":8833}],"charsReplaced":"A1","lastFindLoc":2,"prevScroll":[0,0],"attributeConnections":[{"__isSmartRef__":true,"id":8835},{"__isSmartRef__":true,"id":8836},{"__isSmartRef__":true,"id":8828},{"__isSmartRef__":true,"id":8837},{"__isSmartRef__":true,"id":8839},{"__isSmartRef__":true,"id":8841},{"__isSmartRef__":true,"id":8843}],"doNotSerialize":["$$owner","$$savedTextString","$$_Position","$$_Scale","$$_Rotation"],"doNotCopyProperties":["$$owner","$$savedTextString","$$_Position","$$_Scale","$$_Rotation"],"isInputLine":true,"savedTextString":"B","eventHandler":{"__isSmartRef__":true,"id":8845},"derivationIds":[7027,"331C6367-0699-4BD6-9916-ABA82517453B","BEAA7850-FEFB-4AFD-9E06-730FF35D99A4","559B0B8A-5C01-4133-88B2-0D08385E23F6","BE195383-D309-4B6E-A6B0-79A6112B4011","E323F75A-232F-4712-9A03-20C8FD574C9A","E6E38336-AA2D-4F75-80C1-B1617DD8544E","DAFCD826-DF9B-4DEF-B4D7-59AAED8D199D","3999CB16-D9E3-4D28-A617-9B093624E8AC","24C6A462-5AF8-4580-9777-8F5696841AF0","38DF0DD5-01B1-4481-B32C-B1595F8042DF"],"_WhiteSpaceHandling":"pre-wrap","_ClipMode":"visible","moved":true,"isBeingDragged":false,"_WordBreak":"break-all","magnets":[{"__isSmartRef__":true,"id":8846},{"__isSmartRef__":true,"id":8847},{"__isSmartRef__":true,"id":8848},{"__isSmartRef__":true,"id":8849},{"__isSmartRef__":true,"id":8850},{"__isSmartRef__":true,"id":8851},{"__isSmartRef__":true,"id":8852},{"__isSmartRef__":true,"id":8853}],"_PreviousBorderWidth":1,"owner":{"__isSmartRef__":true,"id":8854},"oldOwner":{"__isSmartRef__":true,"id":8854},"_Rotation":0,"_Scale":0.9999999999999997,"__serializedExpressions__":["_Position","textColor","distanceToDragEvent","_TextColor"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":9334},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(34.8,36.8)","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(31.1,-9.9)","_TextColor":"Color.rgb(255,143,0)"},"8830":{"fill":null,"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(42.8,29.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"8831":{"migrationLevel":2,"comment":"Label that shows the name of a morph. Updates automatically.","partName":"NameLabel","lastModifiedDate":{"__isSmartRef__":true,"id":8832},"revisionOnLoad":140039,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"8832":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (CEST)"},"8833":{"style":{"__isSmartRef__":true,"id":8834},"chunkOwner":{"__isSmartRef__":true,"id":8829},"_id":"_918","storedString":"B1","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8834":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8835":{"sourceObj":{"__isSmartRef__":true,"id":8829},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":8829},"targetMethodName":"updateLabel","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8836":{"sourceObj":{"__isSmartRef__":true,"id":8829},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":8829},"targetMethodName":"renameOwner","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8837":{"sourceObj":{"__isSmartRef__":true,"id":8829},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":8828},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":8838},"dependedBy":{"__isSmartRef__":true,"id":8828},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8838":{"source":{"__isSmartRef__":true,"id":8829},"target":{"__isSmartRef__":true,"id":8828}},"8839":{"sourceObj":{"__isSmartRef__":true,"id":8829},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":8828},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":8840},"dependedBy":{"__isSmartRef__":true,"id":8828},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8840":{"source":{"__isSmartRef__":true,"id":8829},"target":{"__isSmartRef__":true,"id":8828}},"8841":{"sourceObj":{"__isSmartRef__":true,"id":8829},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":8828},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":8842},"dependedBy":{"__isSmartRef__":true,"id":8828},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8842":{"source":{"__isSmartRef__":true,"id":8829},"target":{"__isSmartRef__":true,"id":8828}},"8843":{"sourceObj":{"__isSmartRef__":true,"id":8829},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":8828},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":8844},"dependedBy":{"__isSmartRef__":true,"id":8828},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8844":{"source":{"__isSmartRef__":true,"id":8829},"target":{"__isSmartRef__":true,"id":8828}},"8845":{"morph":{"__isSmartRef__":true,"id":8829},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8846":{"morph":{"__isSmartRef__":true,"id":8829},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(120.0,3464.8)"},"8847":{"morph":{"__isSmartRef__":true,"id":8829},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(138.1,3476.3)"},"8848":{"morph":{"__isSmartRef__":true,"id":8829},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(156.1,3487.9)"},"8849":{"morph":{"__isSmartRef__":true,"id":8829},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(148.3,3500.1)"},"8850":{"morph":{"__isSmartRef__":true,"id":8829},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(140.4,3512.3)"},"8851":{"morph":{"__isSmartRef__":true,"id":8829},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(122.4,3500.7)"},"8852":{"morph":{"__isSmartRef__":true,"id":8829},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(104.4,3489.2)"},"8853":{"morph":{"__isSmartRef__":true,"id":8829},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(112.2,3477.0)"},"8854":{"submorphs":[{"__isSmartRef__":true,"id":8829}],"scripts":[],"id":"DD4BB32D-D71D-464E-BC5D-F62AC78729A6","shape":{"__isSmartRef__":true,"id":8855},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"B1","partsBinMetaInfo":{"__isSmartRef__":true,"id":8856},"eventHandler":{"__isSmartRef__":true,"id":8874},"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","BBAFB862-93AE-4F89-BCFF-9F1C67B7FE4C","7EC17E78-593A-4CC8-B7E3-859BCBBFE785","FDB06D4A-9F4E-4B8C-A67C-671A9583EFE8","1C80FDE1-05C0-4148-9AD8-33C88667084C","5059E383-6BE3-4AD3-A9C4-89DA9D8D5E99","5B810AFE-E692-4EB4-A695-ABB4A95CEA39","BFFEF617-9B97-45D4-A541-8E33A6A17485","A10BBA48-4AD1-425A-AC7B-2F5515CE56F5","319DCFA5-FBA0-4E93-825A-584A580A412F","1A7DC4D8-6C49-4243-8B1D-04CED44FD759"],"partTests":{"__isSmartRef__":true,"id":8875},"_ClipMode":"visible","moved":true,"isBeingDragged":false,"magnets":[{"__isSmartRef__":true,"id":8880},{"__isSmartRef__":true,"id":8881},{"__isSmartRef__":true,"id":8882},{"__isSmartRef__":true,"id":8883},{"__isSmartRef__":true,"id":9204},{"__isSmartRef__":true,"id":9205},{"__isSmartRef__":true,"id":9206},{"__isSmartRef__":true,"id":9207}],"attributeConnections":[{"__isSmartRef__":true,"id":9208},{"__isSmartRef__":true,"id":9232},{"__isSmartRef__":true,"id":9234},{"__isSmartRef__":true,"id":9236},{"__isSmartRef__":true,"id":9238},{"__isSmartRef__":true,"id":9240},{"__isSmartRef__":true,"id":9252},{"__isSmartRef__":true,"id":9254},{"__isSmartRef__":true,"id":9256},{"__isSmartRef__":true,"id":9258},{"__isSmartRef__":true,"id":9260},{"__isSmartRef__":true,"id":9262},{"__isSmartRef__":true,"id":9264},{"__isSmartRef__":true,"id":9266},{"__isSmartRef__":true,"id":9268},{"__isSmartRef__":true,"id":9280},{"__isSmartRef__":true,"id":9282},{"__isSmartRef__":true,"id":9284},{"__isSmartRef__":true,"id":9286},{"__isSmartRef__":true,"id":9288},{"__isSmartRef__":true,"id":9300},{"__isSmartRef__":true,"id":9302},{"__isSmartRef__":true,"id":9304},{"__isSmartRef__":true,"id":9306},{"__isSmartRef__":true,"id":9308}],"doNotSerialize":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"doNotCopyProperties":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"isCopyMorphRef":true,"morphRefId":1,"prevScroll":[0,0],"_Scale":0.9999999999999996,"_Rotation":0.5699219218563105,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":9320},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","distanceToDragEvent":"lively.pt(35.0,-16.3)","_Position":"lively.pt(73.7,59.4)"},"8855":{"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(89.0,80.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgba(204,204,204,0.5)","_Padding":"lively.rect(0,0,0,0)"},"8856":{"partsSpaceName":"PartsBin/Basic","comment":"A simple box morph. A really orange one. Its amazing what you can build out of simple boxes.... Who needs stars when you got orange rectangles!","migrationLevel":4,"partName":"Rectangle","changes":[{"__isSmartRef__":true,"id":8857},{"__isSmartRef__":true,"id":8859},{"__isSmartRef__":true,"id":8861},{"__isSmartRef__":true,"id":8863},{"__isSmartRef__":true,"id":8865},{"__isSmartRef__":true,"id":8867},{"__isSmartRef__":true,"id":8869},{"__isSmartRef__":true,"id":8871}],"lastModifiedDate":{"__isSmartRef__":true,"id":8873},"revisionOnLoad":184624,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"8857":{"date":{"__isSmartRef__":true,"id":8858},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"8858":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"8859":{"date":{"__isSmartRef__":true,"id":8860},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"8860":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"8861":{"date":{"__isSmartRef__":true,"id":8862},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"8862":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"8863":{"date":{"__isSmartRef__":true,"id":8864},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"8864":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"8865":{"date":{"__isSmartRef__":true,"id":8866},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"8866":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"8867":{"date":{"__isSmartRef__":true,"id":8868},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"8868":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"8869":{"date":{"__isSmartRef__":true,"id":8870},"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8"},"8870":{"isSerializedDate":true,"string":"Mon Jun 18 2012 19:35:08 GMT+0200 (CEST)"},"8871":{"date":{"__isSmartRef__":true,"id":8872},"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205"},"8872":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:35:51 GMT+0100 (CET)"},"8873":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:33:25 GMT+0100 (CET)"},"8874":{"morph":{"__isSmartRef__":true,"id":8854},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8875":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":8876}},"8876":{"test01IsMorph":{"__isSmartRef__":true,"id":8877}},"8877":{"varMapping":{"__isSmartRef__":true,"id":8878},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":8879},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8878":{"this":{"__isSmartRef__":true,"id":8875}},"8879":{},"8880":{"morph":{"__isSmartRef__":true,"id":8854},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(110.6,3415.0)"},"8881":{"morph":{"__isSmartRef__":true,"id":8854},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(148.1,3439.0)"},"8882":{"morph":{"__isSmartRef__":true,"id":8854},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(185.5,3463.0)"},"8883":{"morph":{"__isSmartRef__":true,"id":8854},"connectedControlPoints":[{"__isSmartRef__":true,"id":8884}],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(164.0,3496.7)"},"8884":{"morph":{"__isSmartRef__":true,"id":8885},"index":0,"connectedMagnet":{"__isSmartRef__":true,"id":8883},"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"8885":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":8886},"id":"E083C82B-2BC4-42CB-B3A2-773909175FCB","eventHandler":{"__isSmartRef__":true,"id":8889},"__layered_droppingEnabled__":true,"halosEnabled":true,"isBeingDragged":false,"controlPoints":[{"__isSmartRef__":true,"id":8884},{"__isSmartRef__":true,"id":8890}],"showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":8891},"name":"Line4","derivationIds":[731,"5E6BD741-9C99-47B9-95C1-7A028178DB17","A8D5C37A-F23F-47FE-8DE2-211CE4484A4F","F722069B-8602-4E8D-BE3F-92A1E0C0EF28","D5ED19F9-968E-4C7E-9936-69F2735A813F","A9E370BC-F208-425C-BFFC-F8D6BB52E11F","4E431641-D056-46CB-B2A8-6626382EF423"],"_ClipMode":"visible","controlPointsHalos":[],"prevScroll":[0,0],"grabbingEnabled":false,"moved":true,"#startLetters":"controlPoints[0]","fromMorph":{"__isSmartRef__":true,"id":8895},"update":{"__isSmartRef__":true,"id":9105},"isCopyMorphRef":true,"morphRefId":2,"selectedMorph":{"__isSmartRef__":true,"id":8895},"selectedMorphHighlights":[],"_Scale":1,"_Rotation":0,"owner":null,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":9107},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","distanceToDragEvent":"lively.pt(295.7,-20.8)","_Position":"lively.pt(376.1,57.6)"},"8886":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":8887},{"__isSmartRef__":true,"id":8888}],"_ClipMode":"visible","_BorderWidth":3.1119999999999997,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Padding","_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(50.5,3.2)","_Extent":"lively.pt(114.5,3494.5)","_BorderColor":"Color.rgb(161,161,161)"},"8887":{"isAbsolute":true,"x":0,"y":0,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"8888":{"isAbsolute":true,"x":52.46197348862387,"y":5.223542983087555,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"8889":{"morph":{"__isSmartRef__":true,"id":8885},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8890":{"morph":{"__isSmartRef__":true,"id":8885},"index":1,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"8891":{"requiredModules":[],"migrationLevel":4,"partsSpaceName":"PartsBin/Jens/","comment":"a line","partName":"Connector","lastModifiedDate":{"__isSmartRef__":true,"id":8892},"revisionOnLoad":186528,"changes":[{"__isSmartRef__":true,"id":8893}],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"8892":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:18 GMT+0100 (CET)"},"8893":{"date":{"__isSmartRef__":true,"id":8894},"author":"jenslincke","message":"no comment","id":"28165CED-C8C5-4B8E-9655-645E3F5099BB"},"8894":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:42 GMT+0100 (CET)"},"8895":{"submorphs":[{"__isSmartRef__":true,"id":8896}],"scripts":[],"id":"7D787261-FDA4-4DCD-ACA3-699C8F2DB8DC","shape":{"__isSmartRef__":true,"id":8920},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"A","partsBinMetaInfo":{"__isSmartRef__":true,"id":8921},"eventHandler":{"__isSmartRef__":true,"id":8939},"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","BBAFB862-93AE-4F89-BCFF-9F1C67B7FE4C","7EC17E78-593A-4CC8-B7E3-859BCBBFE785","FDB06D4A-9F4E-4B8C-A67C-671A9583EFE8","1C80FDE1-05C0-4148-9AD8-33C88667084C","5059E383-6BE3-4AD3-A9C4-89DA9D8D5E99","5B810AFE-E692-4EB4-A695-ABB4A95CEA39","BFFEF617-9B97-45D4-A541-8E33A6A17485","A10BBA48-4AD1-425A-AC7B-2F5515CE56F5"],"partTests":{"__isSmartRef__":true,"id":8940},"_ClipMode":"visible","moved":true,"isBeingDragged":false,"magnets":[{"__isSmartRef__":true,"id":8945},{"__isSmartRef__":true,"id":8946},{"__isSmartRef__":true,"id":8947},{"__isSmartRef__":true,"id":8948},{"__isSmartRef__":true,"id":8949},{"__isSmartRef__":true,"id":8950},{"__isSmartRef__":true,"id":8951},{"__isSmartRef__":true,"id":8952}],"attributeConnections":[{"__isSmartRef__":true,"id":8953},{"__isSmartRef__":true,"id":8955},{"__isSmartRef__":true,"id":8957},{"__isSmartRef__":true,"id":8959},{"__isSmartRef__":true,"id":8961},{"__isSmartRef__":true,"id":8963},{"__isSmartRef__":true,"id":8967},{"__isSmartRef__":true,"id":9081},{"__isSmartRef__":true,"id":9083},{"__isSmartRef__":true,"id":9085},{"__isSmartRef__":true,"id":9087}],"doNotSerialize":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"doNotCopyProperties":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"isCopyMorphRef":true,"morphRefId":1,"prevScroll":[0,0],"_Scale":0.9999999999999998,"_Rotation":-0.3632069088060458,"owner":null,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":9091},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","distanceToDragEvent":"lively.pt(89.3,-51.8)","_Position":"lively.pt(691.6,129.6)"},"8896":{"submorphs":[],"scripts":[],"id":"4BDF3799-4F08-4112-BD4C-91BAB858A860","shape":{"__isSmartRef__":true,"id":8897},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":180.8018403394826,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":19,"name":"NameLabel2","partsBinMetaInfo":{"__isSmartRef__":true,"id":8898},"textChunks":[{"__isSmartRef__":true,"id":8900}],"charsReplaced":"C1","lastFindLoc":2,"prevScroll":[0,0],"attributeConnections":[{"__isSmartRef__":true,"id":8902},{"__isSmartRef__":true,"id":8903}],"doNotSerialize":["$$owner","$$savedTextString"],"doNotCopyProperties":["$$owner","$$savedTextString"],"isInputLine":true,"savedTextString":"A","eventHandler":{"__isSmartRef__":true,"id":8904},"derivationIds":[7027,"331C6367-0699-4BD6-9916-ABA82517453B","BEAA7850-FEFB-4AFD-9E06-730FF35D99A4","559B0B8A-5C01-4133-88B2-0D08385E23F6","BE195383-D309-4B6E-A6B0-79A6112B4011","E323F75A-232F-4712-9A03-20C8FD574C9A","E6E38336-AA2D-4F75-80C1-B1617DD8544E","DAFCD826-DF9B-4DEF-B4D7-59AAED8D199D","3999CB16-D9E3-4D28-A617-9B093624E8AC"],"_WhiteSpaceHandling":"pre-wrap","_ClipMode":"visible","moved":true,"isBeingDragged":false,"_WordBreak":"break-all","magnets":[{"__isSmartRef__":true,"id":8905},{"__isSmartRef__":true,"id":8906},{"__isSmartRef__":true,"id":8907},{"__isSmartRef__":true,"id":8908},{"__isSmartRef__":true,"id":8909},{"__isSmartRef__":true,"id":8910},{"__isSmartRef__":true,"id":8911},{"__isSmartRef__":true,"id":8912}],"_PreviousBorderWidth":1,"owner":{"__isSmartRef__":true,"id":8895},"oldOwner":{"__isSmartRef__":true,"id":8895},"priorSelectionRange":[1,1],"_Rotation":0,"_Scale":0.9999999999999997,"__serializedExpressions__":["textColor","distanceToDragEvent","_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":8913},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(31.1,-9.9)","_TextColor":"Color.rgb(255,143,0)","_Position":"lively.pt(34.8,36.8)"},"8897":{"fill":null,"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(42.8,29.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"8898":{"migrationLevel":2,"comment":"Label that shows the name of a morph. Updates automatically.","partName":"NameLabel","lastModifiedDate":{"__isSmartRef__":true,"id":8899},"revisionOnLoad":140039,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"8899":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (CEST)"},"8900":{"style":{"__isSmartRef__":true,"id":8901},"chunkOwner":{"__isSmartRef__":true,"id":8896},"_id":"_22384","storedString":"A","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8901":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8902":{"sourceObj":{"__isSmartRef__":true,"id":8896},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":8896},"targetMethodName":"updateLabel","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8903":{"sourceObj":{"__isSmartRef__":true,"id":8896},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":8896},"targetMethodName":"renameOwner","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8904":{"morph":{"__isSmartRef__":true,"id":8896},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8905":{"morph":{"__isSmartRef__":true,"id":8896},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(726.1,3497.3)"},"8906":{"morph":{"__isSmartRef__":true,"id":8896},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(746.1,3489.7)"},"8907":{"morph":{"__isSmartRef__":true,"id":8896},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(766.1,3482.1)"},"8908":{"morph":{"__isSmartRef__":true,"id":8896},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(771.3,3495.6)"},"8909":{"morph":{"__isSmartRef__":true,"id":8896},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(776.4,3509.2)"},"8910":{"morph":{"__isSmartRef__":true,"id":8896},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(756.4,3516.8)"},"8911":{"morph":{"__isSmartRef__":true,"id":8896},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(736.4,3524.4)"},"8912":{"morph":{"__isSmartRef__":true,"id":8896},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(731.2,3510.8)"},"8913":{"updateLabel":{"__isSmartRef__":true,"id":8914},"renameOwner":{"__isSmartRef__":true,"id":8917}},"8914":{"varMapping":{"__isSmartRef__":true,"id":8915},"source":"function updateLabel() {\n\t// observe name changes in owner\n\tif (this.owner !== this.oldOwner) {\n\t\tif (this.oldOwner)\n\t\t\tdisconnect(this.oldOwner, 'name', this, 'updateLabel')\n\t\tif (this.owner)\n\t\t\tconnect(this.owner, 'name', this, 'updateLabel')\n\t\tthis.oldOwner = this.owner\n\t}\n\tvar name = (this.owner ? this.owner.name : \"no owner\")\n\tif (this.textString != name)\n\tthis.setTextString(name)\n}","funcProperties":{"__isSmartRef__":true,"id":8916},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8915":{"this":{"__isSmartRef__":true,"id":8896}},"8916":{},"8917":{"varMapping":{"__isSmartRef__":true,"id":8918},"source":"function renameOwner(name) {\n\tif (this.owner && this.owner.name != name) {\n\t\talertOK(\"renamed \" + this.owner + \" to \" + name)\n\t\tthis.owner.setName(name);\n\t}\n}","funcProperties":{"__isSmartRef__":true,"id":8919},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8918":{"this":{"__isSmartRef__":true,"id":8896}},"8919":{},"8920":{"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(116.7,82.3)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgba(204,204,204,0.5)","_Padding":"lively.rect(0,0,0,0)"},"8921":{"partsSpaceName":"PartsBin/Basic","comment":"A simple box morph. A really orange one. Its amazing what you can build out of simple boxes.... Who needs stars when you got orange rectangles!","migrationLevel":4,"partName":"Rectangle","changes":[{"__isSmartRef__":true,"id":8922},{"__isSmartRef__":true,"id":8924},{"__isSmartRef__":true,"id":8926},{"__isSmartRef__":true,"id":8928},{"__isSmartRef__":true,"id":8930},{"__isSmartRef__":true,"id":8932},{"__isSmartRef__":true,"id":8934},{"__isSmartRef__":true,"id":8936}],"lastModifiedDate":{"__isSmartRef__":true,"id":8938},"revisionOnLoad":184624,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"8922":{"date":{"__isSmartRef__":true,"id":8923},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"8923":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"8924":{"date":{"__isSmartRef__":true,"id":8925},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"8925":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"8926":{"date":{"__isSmartRef__":true,"id":8927},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"8927":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"8928":{"date":{"__isSmartRef__":true,"id":8929},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"8929":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"8930":{"date":{"__isSmartRef__":true,"id":8931},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"8931":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"8932":{"date":{"__isSmartRef__":true,"id":8933},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"8933":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"8934":{"date":{"__isSmartRef__":true,"id":8935},"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8"},"8935":{"isSerializedDate":true,"string":"Mon Jun 18 2012 19:35:08 GMT+0200 (CEST)"},"8936":{"date":{"__isSmartRef__":true,"id":8937},"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205"},"8937":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:35:51 GMT+0100 (CET)"},"8938":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:33:25 GMT+0100 (CET)"},"8939":{"morph":{"__isSmartRef__":true,"id":8895},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8940":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":8941}},"8941":{"test01IsMorph":{"__isSmartRef__":true,"id":8942}},"8942":{"varMapping":{"__isSmartRef__":true,"id":8943},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":8944},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8943":{"this":{"__isSmartRef__":true,"id":8940}},"8944":{},"8945":{"morph":{"__isSmartRef__":true,"id":8895},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(680.5,3475.2)"},"8946":{"morph":{"__isSmartRef__":true,"id":8895},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(735.0,3454.5)"},"8947":{"morph":{"__isSmartRef__":true,"id":8895},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(789.6,3433.8)"},"8948":{"morph":{"__isSmartRef__":true,"id":8895},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(804.2,3472.2)"},"8949":{"morph":{"__isSmartRef__":true,"id":8895},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(818.8,3510.7)"},"8950":{"morph":{"__isSmartRef__":true,"id":8895},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(764.3,3531.4)"},"8951":{"morph":{"__isSmartRef__":true,"id":8895},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(709.7,3552.2)"},"8952":{"morph":{"__isSmartRef__":true,"id":8895},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(695.1,3513.7)"},"8953":{"sourceObj":{"__isSmartRef__":true,"id":8895},"sourceAttrName":"name","targetObj":{"__isSmartRef__":true,"id":8896},"targetMethodName":"updateLabel","varMapping":{"__isSmartRef__":true,"id":8954},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8954":{"source":{"__isSmartRef__":true,"id":8895},"target":{"__isSmartRef__":true,"id":8896}},"8955":{"sourceObj":{"__isSmartRef__":true,"id":8895},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":8885},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":8956},"dependendConnections":[{"__isSmartRef__":true,"id":8957},{"__isSmartRef__":true,"id":8959},{"__isSmartRef__":true,"id":8961},{"__isSmartRef__":true,"id":8963}],"oldTransform":{"__isSmartRef__":true,"id":8965},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"8956":{"source":{"__isSmartRef__":true,"id":8895},"target":{"__isSmartRef__":true,"id":8885}},"8957":{"sourceObj":{"__isSmartRef__":true,"id":8895},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":8955},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":8958},"dependedBy":{"__isSmartRef__":true,"id":8955},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8958":{"source":{"__isSmartRef__":true,"id":8895},"target":{"__isSmartRef__":true,"id":8955}},"8959":{"sourceObj":{"__isSmartRef__":true,"id":8895},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":8955},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":8960},"dependedBy":{"__isSmartRef__":true,"id":8955},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8960":{"source":{"__isSmartRef__":true,"id":8895},"target":{"__isSmartRef__":true,"id":8955}},"8961":{"sourceObj":{"__isSmartRef__":true,"id":8895},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":8955},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":8962},"dependedBy":{"__isSmartRef__":true,"id":8955},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8962":{"source":{"__isSmartRef__":true,"id":8895},"target":{"__isSmartRef__":true,"id":8955}},"8963":{"sourceObj":{"__isSmartRef__":true,"id":8895},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":8955},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":8964},"dependedBy":{"__isSmartRef__":true,"id":8955},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8964":{"source":{"__isSmartRef__":true,"id":8895},"target":{"__isSmartRef__":true,"id":8955}},"8965":{"d":0.9347623017725522,"a":0.9347623017725522,"f":3485.245045045044,"e":728.5390390390387,"c":0.3552737524570028,"b":-0.3552737524570028,"matrix_":{"__isSmartRef__":true,"id":8966},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"8966":{"a":0.9347623017725522,"b":-0.3552737524570028,"c":0.3552737524570028,"d":0.9347623017725522,"e":728.5390390390387,"f":3485.245045045044,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"8967":{"sourceObj":{"__isSmartRef__":true,"id":8895},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":8968},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":9080},"dependendConnections":[{"__isSmartRef__":true,"id":9081},{"__isSmartRef__":true,"id":9083},{"__isSmartRef__":true,"id":9085},{"__isSmartRef__":true,"id":9087}],"oldTransform":{"__isSmartRef__":true,"id":9089},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"8968":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":8969},"id":"4809CC50-2A92-4A4F-9D0D-829B6BA12A0B","eventHandler":{"__isSmartRef__":true,"id":8972},"__layered_droppingEnabled__":true,"halosEnabled":true,"isBeingDragged":false,"controlPoints":[{"__isSmartRef__":true,"id":8973},{"__isSmartRef__":true,"id":8974}],"showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":8975},"name":"Connector1","derivationIds":[731,"5E6BD741-9C99-47B9-95C1-7A028178DB17","A8D5C37A-F23F-47FE-8DE2-211CE4484A4F","F722069B-8602-4E8D-BE3F-92A1E0C0EF28","D5ED19F9-968E-4C7E-9936-69F2735A813F","A9E370BC-F208-425C-BFFC-F8D6BB52E11F","4E431641-D056-46CB-B2A8-6626382EF423"],"_ClipMode":"visible","controlPointsHalos":[],"prevScroll":[0,0],"grabbingEnabled":false,"moved":true,"#startLetters":"controlPoints[0]","fromMorph":{"__isSmartRef__":true,"id":8895},"toMorph":{"__isSmartRef__":true,"id":3202},"update":{"__isSmartRef__":true,"id":8981},"isCopyMorphRef":true,"morphRefId":2,"selectedMorph":{"__isSmartRef__":true,"id":3202},"selectedMorphHighlights":[],"owner":null,"_Rotation":0,"_Scale":1,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":8983},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","distanceToDragEvent":"lively.pt(295.7,-20.8)","_Position":"lively.pt(10527.5,52997.9)"},"8969":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":8970},{"__isSmartRef__":true,"id":8971}],"_ClipMode":"visible","_BorderWidth":3.1119999999999997,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Padding","_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(-75.9,-6.9)","_Extent":"lively.pt(151.7,13.9)","_BorderColor":"Color.rgb(161,161,161)"},"8970":{"isAbsolute":true,"x":74.86198803712648,"y":-4.949983532278566,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"8971":{"isAbsolute":true,"x":-73.86198803712614,"y":5.949983532282204,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"8972":{"morph":{"__isSmartRef__":true,"id":8968},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8973":{"morph":{"__isSmartRef__":true,"id":8968},"index":0,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"8974":{"morph":{"__isSmartRef__":true,"id":8968},"index":1,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"8975":{"requiredModules":[],"migrationLevel":4,"partsSpaceName":"PartsBin/Jens/","comment":"Yes, I think I got it again: Powerful and nice connectors.\nThis time 100 % Part only!","partName":"Connector","lastModifiedDate":{"__isSmartRef__":true,"id":8976},"revisionOnLoad":186829,"changes":[{"__isSmartRef__":true,"id":8977},{"__isSmartRef__":true,"id":8979}],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"8976":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:04:50 GMT+0100 (CET)"},"8977":{"date":{"__isSmartRef__":true,"id":8978},"author":"jenslincke","message":"no comment","id":"28165CED-C8C5-4B8E-9655-645E3F5099BB"},"8978":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:42 GMT+0100 (CET)"},"8979":{"date":{"__isSmartRef__":true,"id":8980},"author":"jenslincke","message":"no comment","id":"117C964B-9768-48F2-8EC8-D4328478198F"},"8980":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:05:07 GMT+0100 (CET)"},"8981":{"d":1,"a":1,"f":906.1,"e":107.8,"c":0,"b":0,"matrix_":{"__isSmartRef__":true,"id":8982},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"8982":{"a":1,"b":0,"c":0,"d":1,"e":107.8,"f":906.1,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"8983":{"connect":{"__isSmartRef__":true,"id":8984},"updatePosition":{"__isSmartRef__":true,"id":8988},"updateControlPoint":{"__isSmartRef__":true,"id":8992},"disconnectMorph":{"__isSmartRef__":true,"id":8996},"connectMorph":{"__isSmartRef__":true,"id":9000},"onMouseOver":{"__isSmartRef__":true,"id":9004},"onMouseOut":{"__isSmartRef__":true,"id":9008},"makeHandle":{"__isSmartRef__":true,"id":9016},"showFromHandle":{"__isSmartRef__":true,"id":9020},"showToHandle":{"__isSmartRef__":true,"id":9024},"reset":{"__isSmartRef__":true,"id":9028},"onDragInHandle":{"__isSmartRef__":true,"id":9032},"onDragStartInHandle":{"__isSmartRef__":true,"id":9036},"onDragEndInHandle":{"__isSmartRef__":true,"id":9040},"connectFrom":{"__isSmartRef__":true,"id":9044},"connectTo":{"__isSmartRef__":true,"id":9048},"hideToHandle":{"__isSmartRef__":true,"id":9052},"hideFromHandle":{"__isSmartRef__":true,"id":9056},"updateIntersection":{"__isSmartRef__":true,"id":9060},"lineIntersect":{"__isSmartRef__":true,"id":9064},"intersectMorphLinePoints":{"__isSmartRef__":true,"id":9068},"intersectMorph":{"__isSmartRef__":true,"id":9072},"globalShapePathFromMorph":{"__isSmartRef__":true,"id":9076}},"8984":{"varMapping":{"__isSmartRef__":true,"id":8985},"source":"function connect(morphA, morphB) {\n this.connectFrom(morphA)\n this.connectTo(morphB)\n this.updatePosition()\n}","funcProperties":{"__isSmartRef__":true,"id":8986},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8985":{"this":{"__isSmartRef__":true,"id":8968}},"8986":{"timestamp":{"__isSmartRef__":true,"id":8987},"user":"jenslincke","tags":[]},"8987":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:50:49 GMT+0100 (CET)"},"8988":{"varMapping":{"__isSmartRef__":true,"id":8989},"source":"function updatePosition() {\n this.updateControlPoint(this.controlPoints[0], this.fromMorph)\n this.updateControlPoint(this.controlPoints[1], this.toMorph)\n this.updateIntersection(this.fromMorph, this.controlPoints[0])\n this.updateIntersection(this.toMorph, this.controlPoints[1])\n\n this.adjustOrigin(this.bounds().extent().scaleBy(0.5))\n}","funcProperties":{"__isSmartRef__":true,"id":8990},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8989":{"this":{"__isSmartRef__":true,"id":8968}},"8990":{"timestamp":{"__isSmartRef__":true,"id":8991},"user":"jenslincke","tags":[]},"8991":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:06:20 GMT+0100 (CET)"},"8992":{"varMapping":{"__isSmartRef__":true,"id":8993},"source":"function updateControlPoint(cp, morph) {\n if (!cp || !morph) return;\n cp.setGlobalPos(morph.worldPoint(morph.shape.bounds().center()))\n}","funcProperties":{"__isSmartRef__":true,"id":8994},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8993":{"this":{"__isSmartRef__":true,"id":8968}},"8994":{"timestamp":{"__isSmartRef__":true,"id":8995},"user":"jenslincke","tags":[]},"8995":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:45:56 GMT+0100 (CET)"},"8996":{"varMapping":{"__isSmartRef__":true,"id":8997},"source":"function disconnectMorph(morph) {\n if (!morph) return;\n lively.bindings.disconnect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":8998},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8997":{"this":{"__isSmartRef__":true,"id":8968}},"8998":{"timestamp":{"__isSmartRef__":true,"id":8999},"user":"jenslincke","tags":[]},"8999":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:19:18 GMT+0100 (CET)"},"9000":{"varMapping":{"__isSmartRef__":true,"id":9001},"source":"function connectMorph(morph) {\n if (morph)\n lively.bindings.connect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":9002},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9001":{"this":{"__isSmartRef__":true,"id":8968}},"9002":{"timestamp":{"__isSmartRef__":true,"id":9003},"user":"jenslincke","tags":[]},"9003":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:52:12 GMT+0100 (CET)"},"9004":{"varMapping":{"__isSmartRef__":true,"id":9005},"source":"function onMouseOver(evt) {\n var p = evt.mousePoint.scaleBy(this.world().getScale())\n\n var cp1 = this.controlPoints[0].getGlobalPos();\n if (p.dist(cp1) < 20) {\n this.showFromHandle()\n } else {\n this.hideFromHandle()\n }\n var cp2 = this.controlPoints[1].getGlobalPos();\n if (p.dist(cp2) < 20) {\n this.showToHandle()\n } else {\n this.hideToHandle()\n }\n}","funcProperties":{"__isSmartRef__":true,"id":9006},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9005":{"this":{"__isSmartRef__":true,"id":8968}},"9006":{"timestamp":{"__isSmartRef__":true,"id":9007},"user":"jenslincke","tags":[]},"9007":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:23:03 GMT+0100 (CET)"},"9008":{"varMapping":{"__isSmartRef__":true,"id":9009},"source":"function onMouseOut(evt) {\n // this.hideFromHandle()\n // this.hideToHandle()\n}","funcProperties":{"__isSmartRef__":true,"id":9014},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9009":{"this":{"__isSmartRef__":true,"id":8968},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":9010}},"9010":{"$super":{"__isSmartRef__":true,"id":9011}},"9011":{"varMapping":{"__isSmartRef__":true,"id":9012},"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":9013},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9012":{"obj":{"__isSmartRef__":true,"id":8968},"name":"onMouseOut"},"9013":{},"9014":{"timestamp":{"__isSmartRef__":true,"id":9015},"user":"jenslincke","tags":[]},"9015":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:54:53 GMT+0100 (CET)"},"9016":{"varMapping":{"__isSmartRef__":true,"id":9017},"source":"function makeHandle() {\n var m = lively.morphic.Morph.makeRectangle(0,0,10,10);\n m.disableGrabbing()\n m.enableDragging()\n m.connector = this;\n // move real behavior to a place which is easier to develop\n // do not use bind, because we like late binding \n m.addScript(function onDragStart(evt) {\n this.connector.onDragStartInHandle(this, evt)\n })\n m.addScript(function onDrag(evt) {\n this.connector.onDragInHandle(this, evt)\n })\n m.addScript(function onDragEnd(evt) {\n this.connector.onDragEndInHandle(this, evt)\n })\n m.isEpiMorph = true;\n return m\n}","funcProperties":{"__isSmartRef__":true,"id":9018},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9017":{"this":{"__isSmartRef__":true,"id":8968}},"9018":{"timestamp":{"__isSmartRef__":true,"id":9019},"user":"jenslincke","tags":[]},"9019":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:08:29 GMT+0100 (CET)"},"9020":{"varMapping":{"__isSmartRef__":true,"id":9021},"source":"function showFromHandle() {\n if (!this.fromHandle) {\n this.fromHandle = this.makeHandle();\n this.fromHandle.setFill(Color.red)\n this.fromHandle.isFromHandle = true;\n }\n this.fromHandle.openInWorld();\n this.fromHandle.controlPoint = this.controlPoints[0];\n this.fromHandle.setPosition(this.controlPoints[0].getGlobalPos().subPt(pt(5,5)))\n return this.fromHandle\n}","funcProperties":{"__isSmartRef__":true,"id":9022},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9021":{"this":{"__isSmartRef__":true,"id":8968}},"9022":{"timestamp":{"__isSmartRef__":true,"id":9023},"user":"jenslincke","tags":[]},"9023":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:13:03 GMT+0100 (CET)"},"9024":{"varMapping":{"__isSmartRef__":true,"id":9025},"source":"function showToHandle() {\n if (!this.toHandle) {\n this.toHandle = this.makeHandle();\n this.toHandle.setFill(Color.red)\n this.toHandle.isToHandle = true;\n\n }\n this.toHandle.openInWorld();\n this.toHandle.controlPoint = this.controlPoints[1];\n this.toHandle.setPosition(this.controlPoints[1].getGlobalPos().subPt(pt(5,5)))\n return this.toHandle\n}","funcProperties":{"__isSmartRef__":true,"id":9026},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9025":{"this":{"__isSmartRef__":true,"id":8968}},"9026":{"timestamp":{"__isSmartRef__":true,"id":9027},"user":"jenslincke","tags":[]},"9027":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:20:25 GMT+0100 (CET)"},"9028":{"varMapping":{"__isSmartRef__":true,"id":9029},"source":"function reset() {\n if (this.fromHandle) {\n this.fromHandle.remove()\n delete this.fromHandle\n }\n if (this.toHandle) {\n this.toHandle.remove()\n delete this.toHandle\n }\n // this.controlPoints[1].setPos(pt(200,200))\n}","funcProperties":{"__isSmartRef__":true,"id":9030},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9029":{"this":{"__isSmartRef__":true,"id":8968}},"9030":{"timestamp":{"__isSmartRef__":true,"id":9031},"user":"jenslincke","tags":[]},"9031":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:15:00 GMT+0100 (CET)"},"9032":{"varMapping":{"__isSmartRef__":true,"id":9033},"source":"function onDragInHandle(handle, evt) {\n\n var pos = handle.getPositionInWorld();\n var delta = evt.hand.getPosition().subPt(pos);\n handle.moveBy(delta)\n pos = handle.getPositionInWorld();\n if (handle.controlPoint)\n handle.controlPoint.setGlobalPos(pos.addPt(pt(5,5)))\n var morphs = this.owner.morphsContainingPoint(pos)\n morphs = morphs.reject(function(ea) {\n return ea.isWorld || (ea === handle) || (ea === this) || \n (ea === this.owner)\n }, this)\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n this.selectedMorph = morphs.first();\n this.selectedMorphHighlights = show(this.selectedMorph)\n handle.startPos = evt.getPosition();\n}","funcProperties":{"__isSmartRef__":true,"id":9034},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9033":{"this":{"__isSmartRef__":true,"id":8968}},"9034":{"timestamp":{"__isSmartRef__":true,"id":9035},"user":"jenslincke","tags":[]},"9035":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:06:40 GMT+0100 (CET)"},"9036":{"varMapping":{"__isSmartRef__":true,"id":9037},"source":"function onDragStartInHandle(handle, evt) {\n handle.startPos = evt.getPosition()\n}","funcProperties":{"__isSmartRef__":true,"id":9038},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9037":{"this":{"__isSmartRef__":true,"id":8968}},"9038":{"timestamp":{"__isSmartRef__":true,"id":9039},"user":"jenslincke","tags":[]},"9039":{"isSerializedDate":true,"string":"Thu Dec 13 2012 15:51:13 GMT+0100 (CET)"},"9040":{"varMapping":{"__isSmartRef__":true,"id":9041},"source":"function onDragEndInHandle(handle, evt) {\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n \n if (handle.isFromHandle) this.connectFrom(this.selectedMorph)\n if (handle.isToHandle) this.connectTo(this.selectedMorph)\n handle.remove()\n}","funcProperties":{"__isSmartRef__":true,"id":9042},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9041":{"this":{"__isSmartRef__":true,"id":8968}},"9042":{"timestamp":{"__isSmartRef__":true,"id":9043},"user":"jenslincke","tags":[]},"9043":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:44:35 GMT+0100 (CET)"},"9044":{"varMapping":{"__isSmartRef__":true,"id":9045},"source":"function connectFrom(morph) {\n if (morph && morph === this.toMorph) return; // not allowed\n\n this.disconnectMorph(this.fromMorph)\n this.fromMorph = morph;\n this.connectMorph(this.fromMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":9046},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9045":{"this":{"__isSmartRef__":true,"id":8968}},"9046":{"timestamp":{"__isSmartRef__":true,"id":9047},"user":"jenslincke","tags":[]},"9047":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:02:22 GMT+0100 (CET)"},"9048":{"varMapping":{"__isSmartRef__":true,"id":9049},"source":"function connectTo(morph) {\n\n if (morph && morph === this.fromMorph) return; // not allowed\n\n this.disconnectMorph(this.toMorph)\n this.toMorph = morph;\n this.connectMorph(this.toMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":9050},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9049":{"this":{"__isSmartRef__":true,"id":8968}},"9050":{"timestamp":{"__isSmartRef__":true,"id":9051},"user":"jenslincke","tags":[]},"9051":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:02:30 GMT+0100 (CET)"},"9052":{"varMapping":{"__isSmartRef__":true,"id":9053},"source":"function hideToHandle() {\n if (this.toHandle) {\n this.toHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":9054},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9053":{"this":{"__isSmartRef__":true,"id":8968}},"9054":{"timestamp":{"__isSmartRef__":true,"id":9055},"user":"jenslincke","tags":[]},"9055":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:51:59 GMT+0100 (CET)"},"9056":{"varMapping":{"__isSmartRef__":true,"id":9057},"source":"function hideFromHandle() {\n if (this.fromHandle) {\n this.fromHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":9058},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9057":{"this":{"__isSmartRef__":true,"id":8968}},"9058":{"timestamp":{"__isSmartRef__":true,"id":9059},"user":"jenslincke","tags":[]},"9059":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:52:18 GMT+0100 (CET)"},"9060":{"varMapping":{"__isSmartRef__":true,"id":9061},"source":"function updateIntersection(morph, cp) {\n if (!morph) return;\n var intersection = this.intersectMorph(morph)[0];\n if (intersection) {\n cp.setGlobalPos(intersection);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":9062},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9061":{"this":{"__isSmartRef__":true,"id":8968}},"9062":{"timestamp":{"__isSmartRef__":true,"id":9063},"user":"jenslincke","tags":[]},"9063":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:32 GMT+0100 (CET)"},"9064":{"varMapping":{"__isSmartRef__":true,"id":9065},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":9066},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9065":{"this":{"__isSmartRef__":true,"id":8968}},"9066":{"timestamp":{"__isSmartRef__":true,"id":9067},"user":"jenslincke","tags":[]},"9067":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:47:12 GMT+0100 (CET)"},"9068":{"varMapping":{"__isSmartRef__":true,"id":9069},"source":"function intersectMorphLinePoints(morph, a1, a2) {\n var points = this.globalShapePathFromMorph(morph);\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":9070},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9069":{"this":{"__isSmartRef__":true,"id":8968}},"9070":{"timestamp":{"__isSmartRef__":true,"id":9071},"user":"jenslincke","tags":[]},"9071":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:21 GMT+0100 (CET)"},"9072":{"varMapping":{"__isSmartRef__":true,"id":9073},"source":"function intersectMorph(morph) {\n var line = this;\n return this.intersectMorphLinePoints(morph,\n line.controlPoints[0].getGlobalPos(), line.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":9074},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9073":{"this":{"__isSmartRef__":true,"id":8968}},"9074":{"timestamp":{"__isSmartRef__":true,"id":9075},"user":"jenslincke","tags":[]},"9075":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:47 GMT+0100 (CET)"},"9076":{"varMapping":{"__isSmartRef__":true,"id":9077},"source":"function globalShapePathFromMorph(morph) {\n var b = morph.shape.bounds();\n var p1 = morph.worldPoint(b.topLeft()),\n p2 = morph.worldPoint(b.topRight()),\n p3 = morph.worldPoint(b.bottomRight()),\n p4 = morph.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":9078},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9077":{"this":{"__isSmartRef__":true,"id":8968}},"9078":{"timestamp":{"__isSmartRef__":true,"id":9079},"user":"jenslincke","tags":[]},"9079":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:00 GMT+0100 (CET)"},"9080":{"source":{"__isSmartRef__":true,"id":8895},"target":{"__isSmartRef__":true,"id":8968}},"9081":{"sourceObj":{"__isSmartRef__":true,"id":8895},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":8967},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9082},"dependedBy":{"__isSmartRef__":true,"id":8967},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9082":{"source":{"__isSmartRef__":true,"id":8895},"target":{"__isSmartRef__":true,"id":8967}},"9083":{"sourceObj":{"__isSmartRef__":true,"id":8895},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":8967},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9084},"dependedBy":{"__isSmartRef__":true,"id":8967},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9084":{"source":{"__isSmartRef__":true,"id":8895},"target":{"__isSmartRef__":true,"id":8967}},"9085":{"sourceObj":{"__isSmartRef__":true,"id":8895},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":8967},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9086},"dependedBy":{"__isSmartRef__":true,"id":8967},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9086":{"source":{"__isSmartRef__":true,"id":8895},"target":{"__isSmartRef__":true,"id":8967}},"9087":{"sourceObj":{"__isSmartRef__":true,"id":8895},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":8967},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":9088},"dependedBy":{"__isSmartRef__":true,"id":8967},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9088":{"source":{"__isSmartRef__":true,"id":8895},"target":{"__isSmartRef__":true,"id":8967}},"9089":{"d":0.9347623017725522,"a":0.9347623017725522,"f":3485.245045045044,"e":728.5390390390387,"c":0.3552737524570028,"b":-0.3552737524570028,"matrix_":{"__isSmartRef__":true,"id":9090},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"9090":{"a":0.9347623017725522,"b":-0.3552737524570028,"c":0.3552737524570028,"d":0.9347623017725522,"e":728.5390390390387,"f":3485.245045045044,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"9091":{"globalShapePath":{"__isSmartRef__":true,"id":9092},"lineIntersect":{"__isSmartRef__":true,"id":9095},"intersectLine":{"__isSmartRef__":true,"id":9099},"intersectLineMorph":{"__isSmartRef__":true,"id":9102}},"9092":{"varMapping":{"__isSmartRef__":true,"id":9093},"source":"function globalShapePath() {\n var b = this.shape.bounds();\n var p1 = this.worldPoint(b.topLeft()),\n p2 = this.worldPoint(b.topRight()),\n p3 = this.worldPoint(b.bottomRight()),\n p4 = this.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":9094},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9093":{"this":{"__isSmartRef__":true,"id":8895}},"9094":{},"9095":{"varMapping":{"__isSmartRef__":true,"id":9096},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":9097},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9096":{"this":{"__isSmartRef__":true,"id":8895}},"9097":{"timestamp":{"__isSmartRef__":true,"id":9098},"user":"jenslincke","tags":[]},"9098":{"isSerializedDate":true,"string":"Thu Dec 13 2012 13:42:55 GMT+0100 (CET)"},"9099":{"varMapping":{"__isSmartRef__":true,"id":9100},"source":"function intersectLine(a1, a2) {\n var points = this.globalShapePath();\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":9101},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9100":{"this":{"__isSmartRef__":true,"id":8895}},"9101":{},"9102":{"varMapping":{"__isSmartRef__":true,"id":9103},"source":"function intersectLineMorph(m) {\n return this.intersectLine(m.controlPoints[0].getGlobalPos(), m.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":9104},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9103":{"this":{"__isSmartRef__":true,"id":8895}},"9104":{},"9105":{"d":1,"a":1,"f":906.1,"e":107.8,"c":0,"b":0,"matrix_":{"__isSmartRef__":true,"id":9106},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"9106":{"a":1,"b":0,"c":0,"d":1,"e":107.8,"f":906.1,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"9107":{"connect":{"__isSmartRef__":true,"id":9108},"updatePosition":{"__isSmartRef__":true,"id":9112},"updateControlPoint":{"__isSmartRef__":true,"id":9116},"disconnectMorph":{"__isSmartRef__":true,"id":9120},"connectMorph":{"__isSmartRef__":true,"id":9124},"onMouseOver":{"__isSmartRef__":true,"id":9128},"onMouseOut":{"__isSmartRef__":true,"id":9132},"makeHandle":{"__isSmartRef__":true,"id":9140},"showFromHandle":{"__isSmartRef__":true,"id":9144},"showToHandle":{"__isSmartRef__":true,"id":9148},"reset":{"__isSmartRef__":true,"id":9152},"onDragInHandle":{"__isSmartRef__":true,"id":9156},"onDragStartInHandle":{"__isSmartRef__":true,"id":9160},"onDragEndInHandle":{"__isSmartRef__":true,"id":9164},"connectFrom":{"__isSmartRef__":true,"id":9168},"connectTo":{"__isSmartRef__":true,"id":9172},"hideToHandle":{"__isSmartRef__":true,"id":9176},"hideFromHandle":{"__isSmartRef__":true,"id":9180},"updateIntersection":{"__isSmartRef__":true,"id":9184},"lineIntersect":{"__isSmartRef__":true,"id":9188},"intersectMorphLinePoints":{"__isSmartRef__":true,"id":9192},"intersectMorph":{"__isSmartRef__":true,"id":9196},"globalShapePathFromMorph":{"__isSmartRef__":true,"id":9200}},"9108":{"varMapping":{"__isSmartRef__":true,"id":9109},"source":"function connect(morphA, morphB) {\n this.connectFrom(morphA)\n this.connectTo(morphB)\n this.updatePosition()\n}","funcProperties":{"__isSmartRef__":true,"id":9110},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9109":{"this":{"__isSmartRef__":true,"id":8885}},"9110":{"timestamp":{"__isSmartRef__":true,"id":9111},"user":"jenslincke","tags":[]},"9111":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:50:49 GMT+0100 (CET)"},"9112":{"varMapping":{"__isSmartRef__":true,"id":9113},"source":"function updatePosition() {\n this.updateControlPoint(this.controlPoints[0], this.fromMorph)\n this.updateControlPoint(this.controlPoints[1], this.toMorph)\n this.updateIntersection(this.fromMorph, this.controlPoints[0])\n this.updateIntersection(this.toMorph, this.controlPoints[1])\n\n if (this.controlPoints[0].getPos().equalPt(this.controlPoints[1].getPos()))\n this.controlPoints[1].setPos(this.controlPoints[1].getPos().addPt(pt(30,0)))\n\n this.adjustOrigin(this.bounds().extent().scaleBy(0.5))\n \n}","funcProperties":{"__isSmartRef__":true,"id":9114},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9113":{"this":{"__isSmartRef__":true,"id":8885}},"9114":{"timestamp":{"__isSmartRef__":true,"id":9115},"user":"jenslincke","tags":[]},"9115":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:59:26 GMT+0100 (CET)"},"9116":{"varMapping":{"__isSmartRef__":true,"id":9117},"source":"function updateControlPoint(cp, morph) {\n if (!cp || !morph) return;\n cp.setGlobalPos(morph.worldPoint(morph.shape.bounds().center()))\n}","funcProperties":{"__isSmartRef__":true,"id":9118},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9117":{"this":{"__isSmartRef__":true,"id":8885}},"9118":{"timestamp":{"__isSmartRef__":true,"id":9119},"user":"jenslincke","tags":[]},"9119":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:45:56 GMT+0100 (CET)"},"9120":{"varMapping":{"__isSmartRef__":true,"id":9121},"source":"function disconnectMorph(morph) {\n if (!morph) return;\n lively.bindings.disconnect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":9122},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9121":{"this":{"__isSmartRef__":true,"id":8885}},"9122":{"timestamp":{"__isSmartRef__":true,"id":9123},"user":"jenslincke","tags":[]},"9123":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:19:18 GMT+0100 (CET)"},"9124":{"varMapping":{"__isSmartRef__":true,"id":9125},"source":"function connectMorph(morph) {\n if (morph)\n lively.bindings.connect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":9126},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9125":{"this":{"__isSmartRef__":true,"id":8885}},"9126":{"timestamp":{"__isSmartRef__":true,"id":9127},"user":"jenslincke","tags":[]},"9127":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:52:12 GMT+0100 (CET)"},"9128":{"varMapping":{"__isSmartRef__":true,"id":9129},"source":"function onMouseOver(evt) {\n var p = evt.mousePoint.scaleBy(this.world().getScale())\n\n var cp1 = this.controlPoints[0].getGlobalPos();\n if (p.dist(cp1) < 20) {\n this.showFromHandle()\n } else {\n this.hideFromHandle()\n }\n var cp2 = this.controlPoints[1].getGlobalPos();\n if (p.dist(cp2) < 20) {\n this.showToHandle()\n } else {\n this.hideToHandle()\n }\n}","funcProperties":{"__isSmartRef__":true,"id":9130},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9129":{"this":{"__isSmartRef__":true,"id":8885}},"9130":{"timestamp":{"__isSmartRef__":true,"id":9131},"user":"jenslincke","tags":[]},"9131":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:23:03 GMT+0100 (CET)"},"9132":{"varMapping":{"__isSmartRef__":true,"id":9133},"source":"function onMouseOut(evt) {\n // this.hideFromHandle()\n // this.hideToHandle()\n}","funcProperties":{"__isSmartRef__":true,"id":9138},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9133":{"this":{"__isSmartRef__":true,"id":8885},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":9134}},"9134":{"$super":{"__isSmartRef__":true,"id":9135}},"9135":{"varMapping":{"__isSmartRef__":true,"id":9136},"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":9137},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9136":{"obj":{"__isSmartRef__":true,"id":8885},"name":"onMouseOut"},"9137":{},"9138":{"timestamp":{"__isSmartRef__":true,"id":9139},"user":"jenslincke","tags":[]},"9139":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:54:53 GMT+0100 (CET)"},"9140":{"varMapping":{"__isSmartRef__":true,"id":9141},"source":"function makeHandle() {\n var m = lively.morphic.Morph.makeRectangle(0,0,10,10);\n m.disableGrabbing()\n m.enableDragging()\n m.connector = this;\n // move real behavior to a place which is easier to develop\n // do not use bind, because we like late binding \n m.addScript(function onDragStart(evt) {\n this.connector.onDragStartInHandle(this, evt)\n })\n m.addScript(function onDrag(evt) {\n this.connector.onDragInHandle(this, evt)\n })\n m.addScript(function onDragEnd(evt) {\n this.connector.onDragEndInHandle(this, evt)\n })\n m.isEpiMorph = true;\n return m\n}","funcProperties":{"__isSmartRef__":true,"id":9142},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9141":{"this":{"__isSmartRef__":true,"id":8885}},"9142":{"timestamp":{"__isSmartRef__":true,"id":9143},"user":"jenslincke","tags":[]},"9143":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:08:29 GMT+0100 (CET)"},"9144":{"varMapping":{"__isSmartRef__":true,"id":9145},"source":"function showFromHandle() {\n if (!this.fromHandle) {\n this.fromHandle = this.makeHandle();\n this.fromHandle.setFill(Color.red)\n this.fromHandle.isFromHandle = true;\n }\n this.fromHandle.openInWorld();\n this.fromHandle.controlPoint = this.controlPoints[0];\n this.fromHandle.setPosition(this.controlPoints[0].getGlobalPos().subPt(pt(5,5)))\n return this.fromHandle\n}","funcProperties":{"__isSmartRef__":true,"id":9146},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9145":{"this":{"__isSmartRef__":true,"id":8885}},"9146":{"timestamp":{"__isSmartRef__":true,"id":9147},"user":"jenslincke","tags":[]},"9147":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:13:03 GMT+0100 (CET)"},"9148":{"varMapping":{"__isSmartRef__":true,"id":9149},"source":"function showToHandle() {\n if (!this.toHandle) {\n this.toHandle = this.makeHandle();\n this.toHandle.setFill(Color.red)\n this.toHandle.isToHandle = true;\n\n }\n this.toHandle.openInWorld();\n this.toHandle.controlPoint = this.controlPoints[1];\n this.toHandle.setPosition(this.controlPoints[1].getGlobalPos().subPt(pt(5,5)))\n return this.toHandle\n}","funcProperties":{"__isSmartRef__":true,"id":9150},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9149":{"this":{"__isSmartRef__":true,"id":8885}},"9150":{"timestamp":{"__isSmartRef__":true,"id":9151},"user":"jenslincke","tags":[]},"9151":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:20:25 GMT+0100 (CET)"},"9152":{"varMapping":{"__isSmartRef__":true,"id":9153},"source":"function reset() {\n if (this.fromHandle) {\n this.fromHandle.remove()\n delete this.fromHandle\n }\n if (this.toHandle) {\n this.toHandle.remove()\n delete this.toHandle\n }\n // this.controlPoints[1].setPos(pt(200,200))\n}","funcProperties":{"__isSmartRef__":true,"id":9154},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9153":{"this":{"__isSmartRef__":true,"id":8885}},"9154":{"timestamp":{"__isSmartRef__":true,"id":9155},"user":"jenslincke","tags":[]},"9155":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:15:00 GMT+0100 (CET)"},"9156":{"varMapping":{"__isSmartRef__":true,"id":9157},"source":"function onDragInHandle(handle, evt) {\n\n var pos = handle.getPositionInWorld();\n var delta = evt.hand.getPosition().subPt(pos);\n handle.moveBy(delta)\n pos = handle.getPositionInWorld();\n if (handle.controlPoint)\n handle.controlPoint.setGlobalPos(pos.addPt(pt(5,5)))\n var morphs = this.owner.morphsContainingPoint(pos)\n morphs = morphs.reject(function(ea) {\n return ea.isWorld || (ea === handle) || (ea === this) || \n (ea === this.owner)\n }, this)\n this.get('Console').textString = morphs\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n this.selectedMorph = morphs.first();\n this.selectedMorphHighlights = show(this.selectedMorph)\n handle.startPos = evt.getPosition();\n}","funcProperties":{"__isSmartRef__":true,"id":9158},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9157":{"this":{"__isSmartRef__":true,"id":8885}},"9158":{"timestamp":{"__isSmartRef__":true,"id":9159},"user":"jenslincke","tags":[]},"9159":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:09:40 GMT+0100 (CET)"},"9160":{"varMapping":{"__isSmartRef__":true,"id":9161},"source":"function onDragStartInHandle(handle, evt) {\n handle.startPos = evt.getPosition()\n}","funcProperties":{"__isSmartRef__":true,"id":9162},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9161":{"this":{"__isSmartRef__":true,"id":8885}},"9162":{"timestamp":{"__isSmartRef__":true,"id":9163},"user":"jenslincke","tags":[]},"9163":{"isSerializedDate":true,"string":"Thu Dec 13 2012 15:51:13 GMT+0100 (CET)"},"9164":{"varMapping":{"__isSmartRef__":true,"id":9165},"source":"function onDragEndInHandle(handle, evt) {\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n \n if (handle.isFromHandle) this.connectFrom(this.selectedMorph)\n if (handle.isToHandle) this.connectTo(this.selectedMorph)\n handle.remove()\n}","funcProperties":{"__isSmartRef__":true,"id":9166},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9165":{"this":{"__isSmartRef__":true,"id":8885}},"9166":{"timestamp":{"__isSmartRef__":true,"id":9167},"user":"jenslincke","tags":[]},"9167":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:44:35 GMT+0100 (CET)"},"9168":{"varMapping":{"__isSmartRef__":true,"id":9169},"source":"function connectFrom(morph) {\n if (morph === this.toMorph) return; // not allowed\n\n this.disconnectMorph(this.fromMorph)\n this.fromMorph = morph;\n this.connectMorph(this.fromMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":9170},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9169":{"this":{"__isSmartRef__":true,"id":8885}},"9170":{"timestamp":{"__isSmartRef__":true,"id":9171},"user":"jenslincke","tags":[]},"9171":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:57:22 GMT+0100 (CET)"},"9172":{"varMapping":{"__isSmartRef__":true,"id":9173},"source":"function connectTo(morph) {\n\n if (morph === this.fromMorph) return; // not allowed\n\n this.disconnectMorph(this.toMorph)\n this.toMorph = morph;\n this.connectMorph(this.toMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":9174},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9173":{"this":{"__isSmartRef__":true,"id":8885}},"9174":{"timestamp":{"__isSmartRef__":true,"id":9175},"user":"jenslincke","tags":[]},"9175":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:57:14 GMT+0100 (CET)"},"9176":{"varMapping":{"__isSmartRef__":true,"id":9177},"source":"function hideToHandle() {\n if (this.toHandle) {\n this.toHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":9178},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9177":{"this":{"__isSmartRef__":true,"id":8885}},"9178":{"timestamp":{"__isSmartRef__":true,"id":9179},"user":"jenslincke","tags":[]},"9179":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:51:59 GMT+0100 (CET)"},"9180":{"varMapping":{"__isSmartRef__":true,"id":9181},"source":"function hideFromHandle() {\n if (this.fromHandle) {\n this.fromHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":9182},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9181":{"this":{"__isSmartRef__":true,"id":8885}},"9182":{"timestamp":{"__isSmartRef__":true,"id":9183},"user":"jenslincke","tags":[]},"9183":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:52:18 GMT+0100 (CET)"},"9184":{"varMapping":{"__isSmartRef__":true,"id":9185},"source":"function updateIntersection(morph, cp) {\n if (!morph) return;\n var intersection = this.intersectMorph(morph)[0];\n if (intersection) {\n cp.setGlobalPos(intersection);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":9186},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9185":{"this":{"__isSmartRef__":true,"id":8885}},"9186":{"timestamp":{"__isSmartRef__":true,"id":9187},"user":"jenslincke","tags":[]},"9187":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:32 GMT+0100 (CET)"},"9188":{"varMapping":{"__isSmartRef__":true,"id":9189},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":9190},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9189":{"this":{"__isSmartRef__":true,"id":8885}},"9190":{"timestamp":{"__isSmartRef__":true,"id":9191},"user":"jenslincke","tags":[]},"9191":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:47:12 GMT+0100 (CET)"},"9192":{"varMapping":{"__isSmartRef__":true,"id":9193},"source":"function intersectMorphLinePoints(morph, a1, a2) {\n var points = this.globalShapePathFromMorph(morph);\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":9194},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9193":{"this":{"__isSmartRef__":true,"id":8885}},"9194":{"timestamp":{"__isSmartRef__":true,"id":9195},"user":"jenslincke","tags":[]},"9195":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:21 GMT+0100 (CET)"},"9196":{"varMapping":{"__isSmartRef__":true,"id":9197},"source":"function intersectMorph(morph) {\n var line = this;\n return this.intersectMorphLinePoints(morph,\n line.controlPoints[0].getGlobalPos(), line.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":9198},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9197":{"this":{"__isSmartRef__":true,"id":8885}},"9198":{"timestamp":{"__isSmartRef__":true,"id":9199},"user":"jenslincke","tags":[]},"9199":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:47 GMT+0100 (CET)"},"9200":{"varMapping":{"__isSmartRef__":true,"id":9201},"source":"function globalShapePathFromMorph(morph) {\n var b = morph.shape.bounds();\n var p1 = morph.worldPoint(b.topLeft()),\n p2 = morph.worldPoint(b.topRight()),\n p3 = morph.worldPoint(b.bottomRight()),\n p4 = morph.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":9202},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9201":{"this":{"__isSmartRef__":true,"id":8885}},"9202":{"timestamp":{"__isSmartRef__":true,"id":9203},"user":"jenslincke","tags":[]},"9203":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:00 GMT+0100 (CET)"},"9204":{"morph":{"__isSmartRef__":true,"id":8854},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(142.4,3530.4)"},"9205":{"morph":{"__isSmartRef__":true,"id":8854},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(104.9,3506.4)"},"9206":{"morph":{"__isSmartRef__":true,"id":8854},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(67.4,3482.4)"},"9207":{"morph":{"__isSmartRef__":true,"id":8854},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(89.0,3448.7)"},"9208":{"sourceObj":{"__isSmartRef__":true,"id":8854},"sourceAttrName":"name","targetObj":{"__isSmartRef__":true,"id":8829},"targetMethodName":"updateLabel","varMapping":{"__isSmartRef__":true,"id":9209},"visualConnector":{"__isSmartRef__":true,"id":9210},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9209":{"source":{"__isSmartRef__":true,"id":8854},"target":{"__isSmartRef__":true,"id":8829}},"9210":{"submorphs":[{"__isSmartRef__":true,"id":9211}],"scripts":[],"shape":{"__isSmartRef__":true,"id":9218},"eventHandler":{"__isSmartRef__":true,"id":9221},"_ClipMode":"visible","derivationIds":[],"id":"5814672F-102B-41EE-9D91-9FA58B6451FD","__layered_droppingEnabled__":true,"halosEnabled":true,"owner":null,"controlPoints":[{"__isSmartRef__":true,"id":9222},{"__isSmartRef__":true,"id":9223}],"con":{"__isSmartRef__":true,"id":9208},"showsMorphMenu":true,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":9224},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"9211":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":9212},"eventHandler":{"__isSmartRef__":true,"id":9217},"_ClipMode":"visible","derivationIds":[],"id":"01253C2A-18A1-43A8-AA72-260E7FC0929E","__layered_droppingEnabled__":true,"halosEnabled":true,"owner":{"__isSmartRef__":true,"id":9210},"_Rotation":1.3832457846463706,"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","_Position":"lively.pt(259.1,3427.8)"},"9212":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":9213},{"__isSmartRef__":true,"id":9214},{"__isSmartRef__":true,"id":9215},{"__isSmartRef__":true,"id":9216}],"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor","_Fill"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Position":"lively.pt(-12.0,-6.0)","_Extent":"lively.pt(17.0,13.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(0,0,0)"},"9213":{"isAbsolute":true,"x":-11,"y":-5,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"9214":{"isAbsolute":true,"x":-11,"y":7,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"9215":{"isAbsolute":true,"x":5,"y":1,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"9216":{"isAbsolute":true,"x":-11,"y":-5,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"9217":{"morph":{"__isSmartRef__":true,"id":9211},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"9218":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":9219},{"__isSmartRef__":true,"id":9220}],"_BorderWidth":1,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Position":"lively.pt(248.7,3377.0)","_Extent":"lively.pt(10.4,50.8)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"9219":{"isAbsolute":true,"x":249.7,"y":3378,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"9220":{"isAbsolute":true,"x":259.14357977177195,"y":3427.7604139964105,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"9221":{"morph":{"__isSmartRef__":true,"id":9210},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"9222":{"morph":{"__isSmartRef__":true,"id":9210},"index":0,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"9223":{"morph":{"__isSmartRef__":true,"id":9210},"index":1,"marker":{"__isSmartRef__":true,"id":9211},"markerDirection":"prev","__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"9224":{"morphMenuItems":{"__isSmartRef__":true,"id":9225}},"9225":{"varMapping":{"__isSmartRef__":true,"id":9226},"source":"function morphMenuItems() {\n var visualConnector = this, con = this.con, world = $world;\n var items = [\n ['Edit converter', function() {\n var window = lively.bindings.editConnection(con);\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":9231},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9226":{"this":{"__isSmartRef__":true,"id":9210},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":9227}},"9227":{"$super":{"__isSmartRef__":true,"id":9228}},"9228":{"varMapping":{"__isSmartRef__":true,"id":9229},"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":9230},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9229":{"obj":{"__isSmartRef__":true,"id":9210},"name":"morphMenuItems"},"9230":{},"9231":{},"9232":{"sourceObj":{"__isSmartRef__":true,"id":8854},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":9210},"targetMethodName":"realignConnection","varMapping":{"__isSmartRef__":true,"id":9233},"dependendConnections":[{"__isSmartRef__":true,"id":9234},{"__isSmartRef__":true,"id":9236},{"__isSmartRef__":true,"id":9238},{"__isSmartRef__":true,"id":9240},{"__isSmartRef__":true,"id":9242},{"__isSmartRef__":true,"id":9244},{"__isSmartRef__":true,"id":9246},{"__isSmartRef__":true,"id":9248}],"oldTransform":{"__isSmartRef__":true,"id":9250},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"9233":{"source":{"__isSmartRef__":true,"id":8854},"target":{"__isSmartRef__":true,"id":9210}},"9234":{"sourceObj":{"__isSmartRef__":true,"id":8854},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":9232},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9235},"dependedBy":{"__isSmartRef__":true,"id":9232},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9235":{"source":{"__isSmartRef__":true,"id":8854},"target":{"__isSmartRef__":true,"id":9232}},"9236":{"sourceObj":{"__isSmartRef__":true,"id":8854},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":9232},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9237},"dependedBy":{"__isSmartRef__":true,"id":9232},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9237":{"source":{"__isSmartRef__":true,"id":8854},"target":{"__isSmartRef__":true,"id":9232}},"9238":{"sourceObj":{"__isSmartRef__":true,"id":8854},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":9232},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9239},"dependedBy":{"__isSmartRef__":true,"id":9232},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9239":{"source":{"__isSmartRef__":true,"id":8854},"target":{"__isSmartRef__":true,"id":9232}},"9240":{"sourceObj":{"__isSmartRef__":true,"id":8854},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":9232},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":9241},"dependedBy":{"__isSmartRef__":true,"id":9232},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9241":{"source":{"__isSmartRef__":true,"id":8854},"target":{"__isSmartRef__":true,"id":9232}},"9242":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":9232},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9243},"dependedBy":{"__isSmartRef__":true,"id":9232},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9243":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":9232}},"9244":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":9232},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9245},"dependedBy":{"__isSmartRef__":true,"id":9232},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9245":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":9232}},"9246":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":9232},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9247},"dependedBy":{"__isSmartRef__":true,"id":9232},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9247":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":9232}},"9248":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":9232},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":9249},"dependedBy":{"__isSmartRef__":true,"id":9232},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9249":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":9232}},"9250":{"d":0.8419431060646692,"a":0.8419431060646692,"f":59.4,"e":73.7,"c":-0.5395663130238733,"b":0.5395663130238733,"matrix_":{"__isSmartRef__":true,"id":9251},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"9251":{"a":0.8419431060646692,"b":0.5395663130238733,"c":-0.5395663130238733,"d":0.8419431060646692,"e":73.7,"f":59.4,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"9252":{"sourceObj":{"__isSmartRef__":true,"id":8854},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":8828},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9253},"dependedBy":{"__isSmartRef__":true,"id":8828},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9253":{"source":{"__isSmartRef__":true,"id":8854},"target":{"__isSmartRef__":true,"id":8828}},"9254":{"sourceObj":{"__isSmartRef__":true,"id":8854},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":8828},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9255},"dependedBy":{"__isSmartRef__":true,"id":8828},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9255":{"source":{"__isSmartRef__":true,"id":8854},"target":{"__isSmartRef__":true,"id":8828}},"9256":{"sourceObj":{"__isSmartRef__":true,"id":8854},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":8828},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9257},"dependedBy":{"__isSmartRef__":true,"id":8828},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9257":{"source":{"__isSmartRef__":true,"id":8854},"target":{"__isSmartRef__":true,"id":8828}},"9258":{"sourceObj":{"__isSmartRef__":true,"id":8854},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":8828},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":9259},"dependedBy":{"__isSmartRef__":true,"id":8828},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9259":{"source":{"__isSmartRef__":true,"id":8854},"target":{"__isSmartRef__":true,"id":8828}},"9260":{"sourceObj":{"__isSmartRef__":true,"id":8854},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":2988},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":9261},"dependendConnections":[{"__isSmartRef__":true,"id":9262},{"__isSmartRef__":true,"id":9264},{"__isSmartRef__":true,"id":9266},{"__isSmartRef__":true,"id":9268},{"__isSmartRef__":true,"id":9270},{"__isSmartRef__":true,"id":9272},{"__isSmartRef__":true,"id":9274},{"__isSmartRef__":true,"id":9276}],"oldTransform":{"__isSmartRef__":true,"id":9278},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"9261":{"source":{"__isSmartRef__":true,"id":8854},"target":{"__isSmartRef__":true,"id":2988}},"9262":{"sourceObj":{"__isSmartRef__":true,"id":8854},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":9260},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9263},"dependedBy":{"__isSmartRef__":true,"id":9260},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9263":{"source":{"__isSmartRef__":true,"id":8854},"target":{"__isSmartRef__":true,"id":9260}},"9264":{"sourceObj":{"__isSmartRef__":true,"id":8854},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":9260},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9265},"dependedBy":{"__isSmartRef__":true,"id":9260},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9265":{"source":{"__isSmartRef__":true,"id":8854},"target":{"__isSmartRef__":true,"id":9260}},"9266":{"sourceObj":{"__isSmartRef__":true,"id":8854},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":9260},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9267},"dependedBy":{"__isSmartRef__":true,"id":9260},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9267":{"source":{"__isSmartRef__":true,"id":8854},"target":{"__isSmartRef__":true,"id":9260}},"9268":{"sourceObj":{"__isSmartRef__":true,"id":8854},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":9260},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":9269},"dependedBy":{"__isSmartRef__":true,"id":9260},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9269":{"source":{"__isSmartRef__":true,"id":8854},"target":{"__isSmartRef__":true,"id":9260}},"9270":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":9260},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9271},"dependedBy":{"__isSmartRef__":true,"id":9260},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9271":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":9260}},"9272":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":9260},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9273},"dependedBy":{"__isSmartRef__":true,"id":9260},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9273":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":9260}},"9274":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":9260},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9275},"dependedBy":{"__isSmartRef__":true,"id":9260},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9275":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":9260}},"9276":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":9260},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":9277},"dependedBy":{"__isSmartRef__":true,"id":9260},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9277":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":9260}},"9278":{"d":0.8419431060646692,"a":0.8419431060646692,"f":59.4,"e":73.7,"c":-0.5395663130238733,"b":0.5395663130238733,"matrix_":{"__isSmartRef__":true,"id":9279},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"9279":{"a":0.8419431060646692,"b":0.5395663130238733,"c":-0.5395663130238733,"d":0.8419431060646692,"e":73.7,"f":59.4,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"9280":{"sourceObj":{"__isSmartRef__":true,"id":8854},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":8884},"targetMethodName":"alignToMagnet","varMapping":{"__isSmartRef__":true,"id":9281},"dependendConnections":[{"__isSmartRef__":true,"id":9282},{"__isSmartRef__":true,"id":9284},{"__isSmartRef__":true,"id":9286},{"__isSmartRef__":true,"id":9288},{"__isSmartRef__":true,"id":9290},{"__isSmartRef__":true,"id":9292},{"__isSmartRef__":true,"id":9294},{"__isSmartRef__":true,"id":9296}],"oldTransform":{"__isSmartRef__":true,"id":9298},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"9281":{"source":{"__isSmartRef__":true,"id":8854},"target":{"__isSmartRef__":true,"id":8884}},"9282":{"sourceObj":{"__isSmartRef__":true,"id":8854},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":9280},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9283},"dependedBy":{"__isSmartRef__":true,"id":9280},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9283":{"source":{"__isSmartRef__":true,"id":8854},"target":{"__isSmartRef__":true,"id":9280}},"9284":{"sourceObj":{"__isSmartRef__":true,"id":8854},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":9280},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9285},"dependedBy":{"__isSmartRef__":true,"id":9280},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9285":{"source":{"__isSmartRef__":true,"id":8854},"target":{"__isSmartRef__":true,"id":9280}},"9286":{"sourceObj":{"__isSmartRef__":true,"id":8854},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":9280},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9287},"dependedBy":{"__isSmartRef__":true,"id":9280},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9287":{"source":{"__isSmartRef__":true,"id":8854},"target":{"__isSmartRef__":true,"id":9280}},"9288":{"sourceObj":{"__isSmartRef__":true,"id":8854},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":9280},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":9289},"dependedBy":{"__isSmartRef__":true,"id":9280},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9289":{"source":{"__isSmartRef__":true,"id":8854},"target":{"__isSmartRef__":true,"id":9280}},"9290":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":9280},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9291},"dependedBy":{"__isSmartRef__":true,"id":9280},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9291":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":9280}},"9292":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":9280},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9293},"dependedBy":{"__isSmartRef__":true,"id":9280},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9293":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":9280}},"9294":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":9280},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9295},"dependedBy":{"__isSmartRef__":true,"id":9280},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9295":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":9280}},"9296":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":9280},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":9297},"dependedBy":{"__isSmartRef__":true,"id":9280},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9297":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":9280}},"9298":{"d":0.8419431060646692,"a":0.8419431060646692,"f":59.4,"e":73.7,"c":-0.5395663130238733,"b":0.5395663130238733,"matrix_":{"__isSmartRef__":true,"id":9299},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"9299":{"a":0.8419431060646692,"b":0.5395663130238733,"c":-0.5395663130238733,"d":0.8419431060646692,"e":73.7,"f":59.4,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"9300":{"sourceObj":{"__isSmartRef__":true,"id":8854},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":3261},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":9301},"dependendConnections":[{"__isSmartRef__":true,"id":9302},{"__isSmartRef__":true,"id":9304},{"__isSmartRef__":true,"id":9306},{"__isSmartRef__":true,"id":9308},{"__isSmartRef__":true,"id":9310},{"__isSmartRef__":true,"id":9312},{"__isSmartRef__":true,"id":9314},{"__isSmartRef__":true,"id":9316}],"oldTransform":{"__isSmartRef__":true,"id":9318},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"9301":{"source":{"__isSmartRef__":true,"id":8854},"target":{"__isSmartRef__":true,"id":3261}},"9302":{"sourceObj":{"__isSmartRef__":true,"id":8854},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":9300},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9303},"dependedBy":{"__isSmartRef__":true,"id":9300},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9303":{"source":{"__isSmartRef__":true,"id":8854},"target":{"__isSmartRef__":true,"id":9300}},"9304":{"sourceObj":{"__isSmartRef__":true,"id":8854},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":9300},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9305},"dependedBy":{"__isSmartRef__":true,"id":9300},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9305":{"source":{"__isSmartRef__":true,"id":8854},"target":{"__isSmartRef__":true,"id":9300}},"9306":{"sourceObj":{"__isSmartRef__":true,"id":8854},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":9300},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9307},"dependedBy":{"__isSmartRef__":true,"id":9300},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9307":{"source":{"__isSmartRef__":true,"id":8854},"target":{"__isSmartRef__":true,"id":9300}},"9308":{"sourceObj":{"__isSmartRef__":true,"id":8854},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":9300},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":9309},"dependedBy":{"__isSmartRef__":true,"id":9300},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9309":{"source":{"__isSmartRef__":true,"id":8854},"target":{"__isSmartRef__":true,"id":9300}},"9310":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":9300},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9311},"dependedBy":{"__isSmartRef__":true,"id":9300},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9311":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":9300}},"9312":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":9300},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9313},"dependedBy":{"__isSmartRef__":true,"id":9300},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9313":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":9300}},"9314":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":9300},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9315},"dependedBy":{"__isSmartRef__":true,"id":9300},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9315":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":9300}},"9316":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":9300},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":9317},"dependedBy":{"__isSmartRef__":true,"id":9300},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9317":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":9300}},"9318":{"d":0.8419431060646692,"a":0.8419431060646692,"f":59.4,"e":73.7,"c":-0.5395663130238733,"b":0.5395663130238733,"matrix_":{"__isSmartRef__":true,"id":9319},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"9319":{"a":0.8419431060646692,"b":0.5395663130238733,"c":-0.5395663130238733,"d":0.8419431060646692,"e":73.7,"f":59.4,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"9320":{"globalShapePath":{"__isSmartRef__":true,"id":9321},"lineIntersect":{"__isSmartRef__":true,"id":9324},"intersectLine":{"__isSmartRef__":true,"id":9328},"intersectLineMorph":{"__isSmartRef__":true,"id":9331}},"9321":{"varMapping":{"__isSmartRef__":true,"id":9322},"source":"function globalShapePath() {\n var b = this.shape.bounds();\n var p1 = this.worldPoint(b.topLeft()),\n p2 = this.worldPoint(b.topRight()),\n p3 = this.worldPoint(b.bottomRight()),\n p4 = this.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":9323},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9322":{"this":{"__isSmartRef__":true,"id":8854}},"9323":{},"9324":{"varMapping":{"__isSmartRef__":true,"id":9325},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":9326},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9325":{"this":{"__isSmartRef__":true,"id":8854}},"9326":{"timestamp":{"__isSmartRef__":true,"id":9327},"user":"jenslincke","tags":[]},"9327":{"isSerializedDate":true,"string":"Thu Dec 13 2012 13:42:55 GMT+0100 (CET)"},"9328":{"varMapping":{"__isSmartRef__":true,"id":9329},"source":"function intersectLine(a1, a2) {\n var points = this.globalShapePath();\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":9330},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9329":{"this":{"__isSmartRef__":true,"id":8854}},"9330":{},"9331":{"varMapping":{"__isSmartRef__":true,"id":9332},"source":"function intersectLineMorph(m) {\n return this.intersectLine(m.controlPoints[0].getGlobalPos(), m.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":9333},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9332":{"this":{"__isSmartRef__":true,"id":8854}},"9333":{},"9334":{"updateLabel":{"__isSmartRef__":true,"id":9335},"renameOwner":{"__isSmartRef__":true,"id":9338}},"9335":{"varMapping":{"__isSmartRef__":true,"id":9336},"source":"function updateLabel() {\n\t// observe name changes in owner\n\tif (this.owner !== this.oldOwner) {\n\t\tif (this.oldOwner)\n\t\t\tdisconnect(this.oldOwner, 'name', this, 'updateLabel')\n\t\tif (this.owner)\n\t\t\tconnect(this.owner, 'name', this, 'updateLabel')\n\t\tthis.oldOwner = this.owner\n\t}\n\tvar name = (this.owner ? this.owner.name : \"no owner\")\n\tif (this.textString != name)\n\tthis.setTextString(name)\n}","funcProperties":{"__isSmartRef__":true,"id":9337},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9336":{"this":{"__isSmartRef__":true,"id":8829}},"9337":{},"9338":{"varMapping":{"__isSmartRef__":true,"id":9339},"source":"function renameOwner(name) {\n\tif (this.owner && this.owner.name != name) {\n\t\talertOK(\"renamed \" + this.owner + \" to \" + name)\n\t\tthis.owner.setName(name);\n\t}\n}","funcProperties":{"__isSmartRef__":true,"id":9340},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9339":{"this":{"__isSmartRef__":true,"id":8829}},"9340":{},"9341":{"source":{"__isSmartRef__":true,"id":8829},"target":{"__isSmartRef__":true,"id":9210}},"9342":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":8828},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9343},"dependedBy":{"__isSmartRef__":true,"id":8828},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9343":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":8828}},"9344":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":8828},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9345},"dependedBy":{"__isSmartRef__":true,"id":8828},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9345":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":8828}},"9346":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":8828},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":9347},"dependedBy":{"__isSmartRef__":true,"id":8828},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9347":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":8828}},"9348":{"d":0.8419431060646688,"a":0.8419431060646688,"f":109.1604139964106,"e":83.14357977177195,"c":-0.539566313023873,"b":0.539566313023873,"matrix_":{"__isSmartRef__":true,"id":9349},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"9349":{"a":0.8419431060646688,"b":0.539566313023873,"c":-0.539566313023873,"d":0.8419431060646688,"e":83.14357977177195,"f":109.1604139964106,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"9350":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":8828}},"9351":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":9352},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9805},"dependedBy":{"__isSmartRef__":true,"id":9352},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9352":{"sourceObj":{"__isSmartRef__":true,"id":9353},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":9475},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":9796},"dependendConnections":[{"__isSmartRef__":true,"id":9413},{"__isSmartRef__":true,"id":9415},{"__isSmartRef__":true,"id":9417},{"__isSmartRef__":true,"id":9419},{"__isSmartRef__":true,"id":9351},{"__isSmartRef__":true,"id":9797},{"__isSmartRef__":true,"id":9799},{"__isSmartRef__":true,"id":9801}],"oldTransform":{"__isSmartRef__":true,"id":9803},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"9353":{"submorphs":[{"__isSmartRef__":true,"id":9354}],"scripts":[],"id":"94037566-B540-4D8C-ACE7-8DBB27286DCA","shape":{"__isSmartRef__":true,"id":9378},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":9379},"eventHandler":{"__isSmartRef__":true,"id":9397},"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","BBAFB862-93AE-4F89-BCFF-9F1C67B7FE4C","7EC17E78-593A-4CC8-B7E3-859BCBBFE785","FDB06D4A-9F4E-4B8C-A67C-671A9583EFE8","1C80FDE1-05C0-4148-9AD8-33C88667084C","5059E383-6BE3-4AD3-A9C4-89DA9D8D5E99","5B810AFE-E692-4EB4-A695-ABB4A95CEA39","BFFEF617-9B97-45D4-A541-8E33A6A17485","A10BBA48-4AD1-425A-AC7B-2F5515CE56F5","7D787261-FDA4-4DCD-ACA3-699C8F2DB8DC","97C9C828-276E-4A55-9AEB-CD501E41C6EE"],"partTests":{"__isSmartRef__":true,"id":9398},"_ClipMode":"visible","moved":true,"isBeingDragged":false,"magnets":[{"__isSmartRef__":true,"id":9403},{"__isSmartRef__":true,"id":9404},{"__isSmartRef__":true,"id":9405},{"__isSmartRef__":true,"id":9406},{"__isSmartRef__":true,"id":9407},{"__isSmartRef__":true,"id":9408},{"__isSmartRef__":true,"id":9409},{"__isSmartRef__":true,"id":9410}],"attributeConnections":[{"__isSmartRef__":true,"id":9411},{"__isSmartRef__":true,"id":9352},{"__isSmartRef__":true,"id":9413},{"__isSmartRef__":true,"id":9415},{"__isSmartRef__":true,"id":9417},{"__isSmartRef__":true,"id":9419},{"__isSmartRef__":true,"id":9421},{"__isSmartRef__":true,"id":9423},{"__isSmartRef__":true,"id":9425},{"__isSmartRef__":true,"id":9427},{"__isSmartRef__":true,"id":9429},{"__isSmartRef__":true,"id":9441},{"__isSmartRef__":true,"id":9443},{"__isSmartRef__":true,"id":9445},{"__isSmartRef__":true,"id":9447},{"__isSmartRef__":true,"id":9449}],"doNotSerialize":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"doNotCopyProperties":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"isCopyMorphRef":true,"morphRefId":2,"prevScroll":[0,0],"name":"C1","_Scale":0.9999999999999959,"_Rotation":0.01251870772763443,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":9461},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","distanceToDragEvent":"lively.pt(89.3,-51.8)","_Position":"lively.pt(314.7,146.7)"},"9354":{"submorphs":[],"scripts":[],"id":"86A43B8D-C990-4A6D-9E50-0F451E04B93B","shape":{"__isSmartRef__":true,"id":9355},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":180.8018403394826,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":19,"name":"NameLabel2","partsBinMetaInfo":{"__isSmartRef__":true,"id":9356},"textChunks":[{"__isSmartRef__":true,"id":9358}],"charsReplaced":"A1","lastFindLoc":2,"prevScroll":[0,0],"attributeConnections":[{"__isSmartRef__":true,"id":9360},{"__isSmartRef__":true,"id":9361}],"doNotSerialize":["$$owner","$$savedTextString"],"doNotCopyProperties":["$$owner","$$savedTextString"],"isInputLine":true,"savedTextString":"C","eventHandler":{"__isSmartRef__":true,"id":9362},"derivationIds":[7027,"331C6367-0699-4BD6-9916-ABA82517453B","BEAA7850-FEFB-4AFD-9E06-730FF35D99A4","559B0B8A-5C01-4133-88B2-0D08385E23F6","BE195383-D309-4B6E-A6B0-79A6112B4011","E323F75A-232F-4712-9A03-20C8FD574C9A","E6E38336-AA2D-4F75-80C1-B1617DD8544E","DAFCD826-DF9B-4DEF-B4D7-59AAED8D199D","3999CB16-D9E3-4D28-A617-9B093624E8AC","4BDF3799-4F08-4112-BD4C-91BAB858A860","A83F9838-A18C-4684-AF56-0FD0927F27B0"],"_WhiteSpaceHandling":"pre-wrap","_ClipMode":"visible","moved":true,"isBeingDragged":false,"_WordBreak":"break-all","magnets":[{"__isSmartRef__":true,"id":9363},{"__isSmartRef__":true,"id":9364},{"__isSmartRef__":true,"id":9365},{"__isSmartRef__":true,"id":9366},{"__isSmartRef__":true,"id":9367},{"__isSmartRef__":true,"id":9368},{"__isSmartRef__":true,"id":9369},{"__isSmartRef__":true,"id":9370}],"_PreviousBorderWidth":1,"owner":{"__isSmartRef__":true,"id":9353},"oldOwner":{"__isSmartRef__":true,"id":9353},"previousSelection":[0,2],"_Rotation":0,"_Scale":0.9999999999999992,"__serializedExpressions__":["textColor","distanceToDragEvent","_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":9371},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(29.8,-16.3)","_TextColor":"Color.rgb(255,143,0)","_Position":"lively.pt(15.0,6.3)"},"9355":{"fill":null,"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(42.8,29.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"9356":{"migrationLevel":2,"comment":"Label that shows the name of a morph. Updates automatically.","partName":"NameLabel","lastModifiedDate":{"__isSmartRef__":true,"id":9357},"revisionOnLoad":140039,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"9357":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (CEST)"},"9358":{"style":{"__isSmartRef__":true,"id":9359},"chunkOwner":{"__isSmartRef__":true,"id":9354},"_id":"_923","storedString":"C1","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"9359":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"9360":{"sourceObj":{"__isSmartRef__":true,"id":9354},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":9354},"targetMethodName":"updateLabel","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9361":{"sourceObj":{"__isSmartRef__":true,"id":9354},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":9354},"targetMethodName":"renameOwner","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9362":{"morph":{"__isSmartRef__":true,"id":9354},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"9363":{"morph":{"__isSmartRef__":true,"id":9354},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(469.6,3511.8)"},"9364":{"morph":{"__isSmartRef__":true,"id":9354},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(491.0,3512.1)"},"9365":{"morph":{"__isSmartRef__":true,"id":9354},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(512.4,3512.3)"},"9366":{"morph":{"__isSmartRef__":true,"id":9354},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(512.2,3526.8)"},"9367":{"morph":{"__isSmartRef__":true,"id":9354},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(512.1,3541.3)"},"9368":{"morph":{"__isSmartRef__":true,"id":9354},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(490.7,3541.1)"},"9369":{"morph":{"__isSmartRef__":true,"id":9354},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(469.3,3540.8)"},"9370":{"morph":{"__isSmartRef__":true,"id":9354},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(469.4,3526.3)"},"9371":{"updateLabel":{"__isSmartRef__":true,"id":9372},"renameOwner":{"__isSmartRef__":true,"id":9375}},"9372":{"varMapping":{"__isSmartRef__":true,"id":9373},"source":"function updateLabel() {\n\t// observe name changes in owner\n\tif (this.owner !== this.oldOwner) {\n\t\tif (this.oldOwner)\n\t\t\tdisconnect(this.oldOwner, 'name', this, 'updateLabel')\n\t\tif (this.owner)\n\t\t\tconnect(this.owner, 'name', this, 'updateLabel')\n\t\tthis.oldOwner = this.owner\n\t}\n\tvar name = (this.owner ? this.owner.name : \"no owner\")\n\tif (this.textString != name)\n\tthis.setTextString(name)\n}","funcProperties":{"__isSmartRef__":true,"id":9374},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9373":{"this":{"__isSmartRef__":true,"id":9354}},"9374":{},"9375":{"varMapping":{"__isSmartRef__":true,"id":9376},"source":"function renameOwner(name) {\n\tif (this.owner && this.owner.name != name) {\n\t\talertOK(\"renamed \" + this.owner + \" to \" + name)\n\t\tthis.owner.setName(name);\n\t}\n}","funcProperties":{"__isSmartRef__":true,"id":9377},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9376":{"this":{"__isSmartRef__":true,"id":9354}},"9377":{},"9378":{"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(133.7,34.2)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgba(204,204,204,0.5)","_Padding":"lively.rect(0,0,0,0)"},"9379":{"partsSpaceName":"PartsBin/Basic","comment":"A simple box morph. A really orange one. Its amazing what you can build out of simple boxes.... Who needs stars when you got orange rectangles!","migrationLevel":4,"partName":"Rectangle","changes":[{"__isSmartRef__":true,"id":9380},{"__isSmartRef__":true,"id":9382},{"__isSmartRef__":true,"id":9384},{"__isSmartRef__":true,"id":9386},{"__isSmartRef__":true,"id":9388},{"__isSmartRef__":true,"id":9390},{"__isSmartRef__":true,"id":9392},{"__isSmartRef__":true,"id":9394}],"lastModifiedDate":{"__isSmartRef__":true,"id":9396},"revisionOnLoad":184624,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"9380":{"date":{"__isSmartRef__":true,"id":9381},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"9381":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"9382":{"date":{"__isSmartRef__":true,"id":9383},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"9383":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"9384":{"date":{"__isSmartRef__":true,"id":9385},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"9385":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"9386":{"date":{"__isSmartRef__":true,"id":9387},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"9387":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"9388":{"date":{"__isSmartRef__":true,"id":9389},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"9389":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"9390":{"date":{"__isSmartRef__":true,"id":9391},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"9391":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"9392":{"date":{"__isSmartRef__":true,"id":9393},"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8"},"9393":{"isSerializedDate":true,"string":"Mon Jun 18 2012 19:35:08 GMT+0200 (CEST)"},"9394":{"date":{"__isSmartRef__":true,"id":9395},"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205"},"9395":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:35:51 GMT+0100 (CET)"},"9396":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:33:25 GMT+0100 (CET)"},"9397":{"morph":{"__isSmartRef__":true,"id":9353},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"9398":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":9399}},"9399":{"test01IsMorph":{"__isSmartRef__":true,"id":9400}},"9400":{"varMapping":{"__isSmartRef__":true,"id":9401},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":9402},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9401":{"this":{"__isSmartRef__":true,"id":9398}},"9402":{},"9403":{"morph":{"__isSmartRef__":true,"id":9353},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(454.7,3505.3)"},"9404":{"morph":{"__isSmartRef__":true,"id":9353},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(521.5,3506.1)"},"9405":{"morph":{"__isSmartRef__":true,"id":9353},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(588.4,3507.0)"},"9406":{"morph":{"__isSmartRef__":true,"id":9353},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(588.2,3524.1)"},"9407":{"morph":{"__isSmartRef__":true,"id":9353},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(588.0,3541.2)"},"9408":{"morph":{"__isSmartRef__":true,"id":9353},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(521.1,3540.3)"},"9409":{"morph":{"__isSmartRef__":true,"id":9353},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(454.3,3539.5)"},"9410":{"morph":{"__isSmartRef__":true,"id":9353},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(454.5,3522.4)"},"9411":{"sourceObj":{"__isSmartRef__":true,"id":9353},"sourceAttrName":"name","targetObj":{"__isSmartRef__":true,"id":9354},"targetMethodName":"updateLabel","varMapping":{"__isSmartRef__":true,"id":9412},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9412":{"source":{"__isSmartRef__":true,"id":9353},"target":{"__isSmartRef__":true,"id":9354}},"9413":{"sourceObj":{"__isSmartRef__":true,"id":9353},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":9352},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9414},"dependedBy":{"__isSmartRef__":true,"id":9352},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9414":{"source":{"__isSmartRef__":true,"id":9353},"target":{"__isSmartRef__":true,"id":9352}},"9415":{"sourceObj":{"__isSmartRef__":true,"id":9353},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":9352},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9416},"dependedBy":{"__isSmartRef__":true,"id":9352},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9416":{"source":{"__isSmartRef__":true,"id":9353},"target":{"__isSmartRef__":true,"id":9352}},"9417":{"sourceObj":{"__isSmartRef__":true,"id":9353},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":9352},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9418},"dependedBy":{"__isSmartRef__":true,"id":9352},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9418":{"source":{"__isSmartRef__":true,"id":9353},"target":{"__isSmartRef__":true,"id":9352}},"9419":{"sourceObj":{"__isSmartRef__":true,"id":9353},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":9352},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":9420},"dependedBy":{"__isSmartRef__":true,"id":9352},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9420":{"source":{"__isSmartRef__":true,"id":9353},"target":{"__isSmartRef__":true,"id":9352}},"9421":{"sourceObj":{"__isSmartRef__":true,"id":9353},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":3413},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":9422},"dependendConnections":[{"__isSmartRef__":true,"id":9423},{"__isSmartRef__":true,"id":9425},{"__isSmartRef__":true,"id":9427},{"__isSmartRef__":true,"id":9429},{"__isSmartRef__":true,"id":9431},{"__isSmartRef__":true,"id":9433},{"__isSmartRef__":true,"id":9435},{"__isSmartRef__":true,"id":9437}],"oldTransform":{"__isSmartRef__":true,"id":9439},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"9422":{"source":{"__isSmartRef__":true,"id":9353},"target":{"__isSmartRef__":true,"id":3413}},"9423":{"sourceObj":{"__isSmartRef__":true,"id":9353},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":9421},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9424},"dependedBy":{"__isSmartRef__":true,"id":9421},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9424":{"source":{"__isSmartRef__":true,"id":9353},"target":{"__isSmartRef__":true,"id":9421}},"9425":{"sourceObj":{"__isSmartRef__":true,"id":9353},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":9421},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9426},"dependedBy":{"__isSmartRef__":true,"id":9421},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9426":{"source":{"__isSmartRef__":true,"id":9353},"target":{"__isSmartRef__":true,"id":9421}},"9427":{"sourceObj":{"__isSmartRef__":true,"id":9353},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":9421},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9428},"dependedBy":{"__isSmartRef__":true,"id":9421},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9428":{"source":{"__isSmartRef__":true,"id":9353},"target":{"__isSmartRef__":true,"id":9421}},"9429":{"sourceObj":{"__isSmartRef__":true,"id":9353},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":9421},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":9430},"dependedBy":{"__isSmartRef__":true,"id":9421},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9430":{"source":{"__isSmartRef__":true,"id":9353},"target":{"__isSmartRef__":true,"id":9421}},"9431":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":9421},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9432},"dependedBy":{"__isSmartRef__":true,"id":9421},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9432":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":9421}},"9433":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":9421},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9434},"dependedBy":{"__isSmartRef__":true,"id":9421},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9434":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":9421}},"9435":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":9421},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9436},"dependedBy":{"__isSmartRef__":true,"id":9421},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9436":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":9421}},"9437":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":9421},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":9438},"dependedBy":{"__isSmartRef__":true,"id":9421},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9438":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":9421}},"9439":{"d":0.9999216420017616,"a":0.9999216420017616,"f":146.7,"e":314.7,"c":-0.012518380745633573,"b":0.012518380745633573,"matrix_":{"__isSmartRef__":true,"id":9440},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"9440":{"a":0.9999216420017616,"b":0.012518380745633573,"c":-0.012518380745633573,"d":0.9999216420017616,"e":314.7,"f":146.7,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"9441":{"sourceObj":{"__isSmartRef__":true,"id":9353},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":3590},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":9442},"dependendConnections":[{"__isSmartRef__":true,"id":9443},{"__isSmartRef__":true,"id":9445},{"__isSmartRef__":true,"id":9447},{"__isSmartRef__":true,"id":9449},{"__isSmartRef__":true,"id":9451},{"__isSmartRef__":true,"id":9453},{"__isSmartRef__":true,"id":9455},{"__isSmartRef__":true,"id":9457}],"oldTransform":{"__isSmartRef__":true,"id":9459},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"9442":{"source":{"__isSmartRef__":true,"id":9353},"target":{"__isSmartRef__":true,"id":3590}},"9443":{"sourceObj":{"__isSmartRef__":true,"id":9353},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":9441},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9444},"dependedBy":{"__isSmartRef__":true,"id":9441},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9444":{"source":{"__isSmartRef__":true,"id":9353},"target":{"__isSmartRef__":true,"id":9441}},"9445":{"sourceObj":{"__isSmartRef__":true,"id":9353},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":9441},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9446},"dependedBy":{"__isSmartRef__":true,"id":9441},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9446":{"source":{"__isSmartRef__":true,"id":9353},"target":{"__isSmartRef__":true,"id":9441}},"9447":{"sourceObj":{"__isSmartRef__":true,"id":9353},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":9441},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9448},"dependedBy":{"__isSmartRef__":true,"id":9441},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9448":{"source":{"__isSmartRef__":true,"id":9353},"target":{"__isSmartRef__":true,"id":9441}},"9449":{"sourceObj":{"__isSmartRef__":true,"id":9353},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":9441},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":9450},"dependedBy":{"__isSmartRef__":true,"id":9441},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9450":{"source":{"__isSmartRef__":true,"id":9353},"target":{"__isSmartRef__":true,"id":9441}},"9451":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":9441},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9452},"dependedBy":{"__isSmartRef__":true,"id":9441},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9452":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":9441}},"9453":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":9441},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9454},"dependedBy":{"__isSmartRef__":true,"id":9441},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9454":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":9441}},"9455":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":9441},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9456},"dependedBy":{"__isSmartRef__":true,"id":9441},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9456":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":9441}},"9457":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":9441},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":9458},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","dependedBy":{"__isSmartRef__":true,"id":9441},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9458":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":9441}},"9459":{"d":0.9999216420017616,"a":0.9999216420017616,"f":146.7,"e":314.7,"c":-0.012518380745633573,"b":0.012518380745633573,"matrix_":{"__isSmartRef__":true,"id":9460},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"9460":{"a":0.9999216420017616,"b":0.012518380745633573,"c":-0.012518380745633573,"d":0.9999216420017616,"e":314.7,"f":146.7,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"9461":{"globalShapePath":{"__isSmartRef__":true,"id":9462},"lineIntersect":{"__isSmartRef__":true,"id":9465},"intersectLine":{"__isSmartRef__":true,"id":9469},"intersectLineMorph":{"__isSmartRef__":true,"id":9472}},"9462":{"varMapping":{"__isSmartRef__":true,"id":9463},"source":"function globalShapePath() {\n var b = this.shape.bounds();\n var p1 = this.worldPoint(b.topLeft()),\n p2 = this.worldPoint(b.topRight()),\n p3 = this.worldPoint(b.bottomRight()),\n p4 = this.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":9464},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9463":{"this":{"__isSmartRef__":true,"id":9353}},"9464":{},"9465":{"varMapping":{"__isSmartRef__":true,"id":9466},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":9467},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9466":{"this":{"__isSmartRef__":true,"id":9353}},"9467":{"timestamp":{"__isSmartRef__":true,"id":9468},"user":"jenslincke","tags":[]},"9468":{"isSerializedDate":true,"string":"Thu Dec 13 2012 13:42:55 GMT+0100 (CET)"},"9469":{"varMapping":{"__isSmartRef__":true,"id":9470},"source":"function intersectLine(a1, a2) {\n var points = this.globalShapePath();\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":9471},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9470":{"this":{"__isSmartRef__":true,"id":9353}},"9471":{},"9472":{"varMapping":{"__isSmartRef__":true,"id":9473},"source":"function intersectLineMorph(m) {\n return this.intersectLine(m.controlPoints[0].getGlobalPos(), m.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":9474},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9473":{"this":{"__isSmartRef__":true,"id":9353}},"9474":{},"9475":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":9476},"id":"4809CC50-2A92-4A4F-9D0D-829B6BA12A0B","eventHandler":{"__isSmartRef__":true,"id":9479},"__layered_droppingEnabled__":true,"halosEnabled":true,"isBeingDragged":false,"controlPoints":[{"__isSmartRef__":true,"id":9480},{"__isSmartRef__":true,"id":9481}],"showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":9482},"name":"Connector1","derivationIds":[731,"5E6BD741-9C99-47B9-95C1-7A028178DB17","A8D5C37A-F23F-47FE-8DE2-211CE4484A4F","F722069B-8602-4E8D-BE3F-92A1E0C0EF28","D5ED19F9-968E-4C7E-9936-69F2735A813F","A9E370BC-F208-425C-BFFC-F8D6BB52E11F","4E431641-D056-46CB-B2A8-6626382EF423"],"_ClipMode":"visible","controlPointsHalos":[],"prevScroll":[0,0],"grabbingEnabled":false,"moved":true,"#startLetters":"controlPoints[0]","fromMorph":{"__isSmartRef__":true,"id":9488},"toMorph":{"__isSmartRef__":true,"id":9353},"update":{"__isSmartRef__":true,"id":9697},"isCopyMorphRef":true,"morphRefId":2,"selectedMorph":{"__isSmartRef__":true,"id":9353},"selectedMorphHighlights":[],"owner":null,"_Rotation":0,"_Scale":1,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":9699},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","distanceToDragEvent":"lively.pt(295.7,-20.8)","_Position":"lively.pt(10527.5,52997.9)"},"9476":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":9477},{"__isSmartRef__":true,"id":9478}],"_ClipMode":"visible","_BorderWidth":3.1119999999999997,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Padding","_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(-75.9,-6.9)","_Extent":"lively.pt(151.7,13.9)","_BorderColor":"Color.rgb(161,161,161)"},"9477":{"isAbsolute":true,"x":74.86198803712648,"y":-4.949983532278566,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"9478":{"isAbsolute":true,"x":-73.86198803712614,"y":5.949983532282204,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"9479":{"morph":{"__isSmartRef__":true,"id":9475},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"9480":{"morph":{"__isSmartRef__":true,"id":9475},"index":0,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"9481":{"morph":{"__isSmartRef__":true,"id":9475},"index":1,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"9482":{"requiredModules":[],"migrationLevel":4,"partsSpaceName":"PartsBin/Jens/","comment":"Yes, I think I got it again: Powerful and nice connectors.\nThis time 100 % Part only!","partName":"Connector","lastModifiedDate":{"__isSmartRef__":true,"id":9483},"revisionOnLoad":186829,"changes":[{"__isSmartRef__":true,"id":9484},{"__isSmartRef__":true,"id":9486}],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"9483":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:04:50 GMT+0100 (CET)"},"9484":{"date":{"__isSmartRef__":true,"id":9485},"author":"jenslincke","message":"no comment","id":"28165CED-C8C5-4B8E-9655-645E3F5099BB"},"9485":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:42 GMT+0100 (CET)"},"9486":{"date":{"__isSmartRef__":true,"id":9487},"author":"jenslincke","message":"no comment","id":"117C964B-9768-48F2-8EC8-D4328478198F"},"9487":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:05:07 GMT+0100 (CET)"},"9488":{"submorphs":[{"__isSmartRef__":true,"id":9489}],"scripts":[],"id":"7D787261-FDA4-4DCD-ACA3-699C8F2DB8DC","shape":{"__isSmartRef__":true,"id":9513},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"A","partsBinMetaInfo":{"__isSmartRef__":true,"id":9514},"eventHandler":{"__isSmartRef__":true,"id":9532},"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","BBAFB862-93AE-4F89-BCFF-9F1C67B7FE4C","7EC17E78-593A-4CC8-B7E3-859BCBBFE785","FDB06D4A-9F4E-4B8C-A67C-671A9583EFE8","1C80FDE1-05C0-4148-9AD8-33C88667084C","5059E383-6BE3-4AD3-A9C4-89DA9D8D5E99","5B810AFE-E692-4EB4-A695-ABB4A95CEA39","BFFEF617-9B97-45D4-A541-8E33A6A17485","A10BBA48-4AD1-425A-AC7B-2F5515CE56F5"],"partTests":{"__isSmartRef__":true,"id":9533},"_ClipMode":"visible","moved":true,"isBeingDragged":false,"magnets":[{"__isSmartRef__":true,"id":9538},{"__isSmartRef__":true,"id":9539},{"__isSmartRef__":true,"id":9540},{"__isSmartRef__":true,"id":9541},{"__isSmartRef__":true,"id":9542},{"__isSmartRef__":true,"id":9543},{"__isSmartRef__":true,"id":9544},{"__isSmartRef__":true,"id":9545}],"attributeConnections":[{"__isSmartRef__":true,"id":9546},{"__isSmartRef__":true,"id":9548},{"__isSmartRef__":true,"id":9661},{"__isSmartRef__":true,"id":9663},{"__isSmartRef__":true,"id":9665},{"__isSmartRef__":true,"id":9667},{"__isSmartRef__":true,"id":9671},{"__isSmartRef__":true,"id":9673},{"__isSmartRef__":true,"id":9675},{"__isSmartRef__":true,"id":9677},{"__isSmartRef__":true,"id":9679}],"doNotSerialize":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"doNotCopyProperties":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"isCopyMorphRef":true,"morphRefId":1,"prevScroll":[0,0],"_Scale":0.9999999999999998,"_Rotation":-0.3632069088060458,"owner":null,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":9683},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","distanceToDragEvent":"lively.pt(89.3,-51.8)","_Position":"lively.pt(691.6,129.6)"},"9489":{"submorphs":[],"scripts":[],"id":"4BDF3799-4F08-4112-BD4C-91BAB858A860","shape":{"__isSmartRef__":true,"id":9490},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":180.8018403394826,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":19,"name":"NameLabel2","partsBinMetaInfo":{"__isSmartRef__":true,"id":9491},"textChunks":[{"__isSmartRef__":true,"id":9493}],"charsReplaced":"C1","lastFindLoc":2,"prevScroll":[0,0],"attributeConnections":[{"__isSmartRef__":true,"id":9495},{"__isSmartRef__":true,"id":9496}],"doNotSerialize":["$$owner","$$savedTextString"],"doNotCopyProperties":["$$owner","$$savedTextString"],"isInputLine":true,"savedTextString":"A","eventHandler":{"__isSmartRef__":true,"id":9497},"derivationIds":[7027,"331C6367-0699-4BD6-9916-ABA82517453B","BEAA7850-FEFB-4AFD-9E06-730FF35D99A4","559B0B8A-5C01-4133-88B2-0D08385E23F6","BE195383-D309-4B6E-A6B0-79A6112B4011","E323F75A-232F-4712-9A03-20C8FD574C9A","E6E38336-AA2D-4F75-80C1-B1617DD8544E","DAFCD826-DF9B-4DEF-B4D7-59AAED8D199D","3999CB16-D9E3-4D28-A617-9B093624E8AC"],"_WhiteSpaceHandling":"pre-wrap","_ClipMode":"visible","moved":true,"isBeingDragged":false,"_WordBreak":"break-all","magnets":[{"__isSmartRef__":true,"id":9498},{"__isSmartRef__":true,"id":9499},{"__isSmartRef__":true,"id":9500},{"__isSmartRef__":true,"id":9501},{"__isSmartRef__":true,"id":9502},{"__isSmartRef__":true,"id":9503},{"__isSmartRef__":true,"id":9504},{"__isSmartRef__":true,"id":9505}],"_PreviousBorderWidth":1,"owner":{"__isSmartRef__":true,"id":9488},"oldOwner":{"__isSmartRef__":true,"id":9488},"priorSelectionRange":[1,1],"_Rotation":0,"_Scale":0.9999999999999997,"__serializedExpressions__":["textColor","distanceToDragEvent","_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":9506},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(31.1,-9.9)","_TextColor":"Color.rgb(255,143,0)","_Position":"lively.pt(34.8,36.8)"},"9490":{"fill":null,"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(42.8,29.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"9491":{"migrationLevel":2,"comment":"Label that shows the name of a morph. Updates automatically.","partName":"NameLabel","lastModifiedDate":{"__isSmartRef__":true,"id":9492},"revisionOnLoad":140039,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"9492":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (CEST)"},"9493":{"style":{"__isSmartRef__":true,"id":9494},"chunkOwner":{"__isSmartRef__":true,"id":9489},"_id":"_22384","storedString":"A","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"9494":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"9495":{"sourceObj":{"__isSmartRef__":true,"id":9489},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":9489},"targetMethodName":"updateLabel","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9496":{"sourceObj":{"__isSmartRef__":true,"id":9489},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":9489},"targetMethodName":"renameOwner","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9497":{"morph":{"__isSmartRef__":true,"id":9489},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"9498":{"morph":{"__isSmartRef__":true,"id":9489},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(726.1,3497.3)"},"9499":{"morph":{"__isSmartRef__":true,"id":9489},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(746.1,3489.7)"},"9500":{"morph":{"__isSmartRef__":true,"id":9489},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(766.1,3482.1)"},"9501":{"morph":{"__isSmartRef__":true,"id":9489},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(771.3,3495.6)"},"9502":{"morph":{"__isSmartRef__":true,"id":9489},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(776.4,3509.2)"},"9503":{"morph":{"__isSmartRef__":true,"id":9489},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(756.4,3516.8)"},"9504":{"morph":{"__isSmartRef__":true,"id":9489},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(736.4,3524.4)"},"9505":{"morph":{"__isSmartRef__":true,"id":9489},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(731.2,3510.8)"},"9506":{"updateLabel":{"__isSmartRef__":true,"id":9507},"renameOwner":{"__isSmartRef__":true,"id":9510}},"9507":{"varMapping":{"__isSmartRef__":true,"id":9508},"source":"function updateLabel() {\n\t// observe name changes in owner\n\tif (this.owner !== this.oldOwner) {\n\t\tif (this.oldOwner)\n\t\t\tdisconnect(this.oldOwner, 'name', this, 'updateLabel')\n\t\tif (this.owner)\n\t\t\tconnect(this.owner, 'name', this, 'updateLabel')\n\t\tthis.oldOwner = this.owner\n\t}\n\tvar name = (this.owner ? this.owner.name : \"no owner\")\n\tif (this.textString != name)\n\tthis.setTextString(name)\n}","funcProperties":{"__isSmartRef__":true,"id":9509},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9508":{"this":{"__isSmartRef__":true,"id":9489}},"9509":{},"9510":{"varMapping":{"__isSmartRef__":true,"id":9511},"source":"function renameOwner(name) {\n\tif (this.owner && this.owner.name != name) {\n\t\talertOK(\"renamed \" + this.owner + \" to \" + name)\n\t\tthis.owner.setName(name);\n\t}\n}","funcProperties":{"__isSmartRef__":true,"id":9512},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9511":{"this":{"__isSmartRef__":true,"id":9489}},"9512":{},"9513":{"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(116.7,82.3)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgba(204,204,204,0.5)","_Padding":"lively.rect(0,0,0,0)"},"9514":{"partsSpaceName":"PartsBin/Basic","comment":"A simple box morph. A really orange one. Its amazing what you can build out of simple boxes.... Who needs stars when you got orange rectangles!","migrationLevel":4,"partName":"Rectangle","changes":[{"__isSmartRef__":true,"id":9515},{"__isSmartRef__":true,"id":9517},{"__isSmartRef__":true,"id":9519},{"__isSmartRef__":true,"id":9521},{"__isSmartRef__":true,"id":9523},{"__isSmartRef__":true,"id":9525},{"__isSmartRef__":true,"id":9527},{"__isSmartRef__":true,"id":9529}],"lastModifiedDate":{"__isSmartRef__":true,"id":9531},"revisionOnLoad":184624,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"9515":{"date":{"__isSmartRef__":true,"id":9516},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"9516":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"9517":{"date":{"__isSmartRef__":true,"id":9518},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"9518":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"9519":{"date":{"__isSmartRef__":true,"id":9520},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"9520":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"9521":{"date":{"__isSmartRef__":true,"id":9522},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"9522":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"9523":{"date":{"__isSmartRef__":true,"id":9524},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"9524":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"9525":{"date":{"__isSmartRef__":true,"id":9526},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"9526":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"9527":{"date":{"__isSmartRef__":true,"id":9528},"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8"},"9528":{"isSerializedDate":true,"string":"Mon Jun 18 2012 19:35:08 GMT+0200 (CEST)"},"9529":{"date":{"__isSmartRef__":true,"id":9530},"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205"},"9530":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:35:51 GMT+0100 (CET)"},"9531":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:33:25 GMT+0100 (CET)"},"9532":{"morph":{"__isSmartRef__":true,"id":9488},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"9533":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":9534}},"9534":{"test01IsMorph":{"__isSmartRef__":true,"id":9535}},"9535":{"varMapping":{"__isSmartRef__":true,"id":9536},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":9537},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9536":{"this":{"__isSmartRef__":true,"id":9533}},"9537":{},"9538":{"morph":{"__isSmartRef__":true,"id":9488},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(680.5,3475.2)"},"9539":{"morph":{"__isSmartRef__":true,"id":9488},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(735.0,3454.5)"},"9540":{"morph":{"__isSmartRef__":true,"id":9488},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(789.6,3433.8)"},"9541":{"morph":{"__isSmartRef__":true,"id":9488},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(804.2,3472.2)"},"9542":{"morph":{"__isSmartRef__":true,"id":9488},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(818.8,3510.7)"},"9543":{"morph":{"__isSmartRef__":true,"id":9488},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(764.3,3531.4)"},"9544":{"morph":{"__isSmartRef__":true,"id":9488},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(709.7,3552.2)"},"9545":{"morph":{"__isSmartRef__":true,"id":9488},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(695.1,3513.7)"},"9546":{"sourceObj":{"__isSmartRef__":true,"id":9488},"sourceAttrName":"name","targetObj":{"__isSmartRef__":true,"id":9489},"targetMethodName":"updateLabel","varMapping":{"__isSmartRef__":true,"id":9547},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9547":{"source":{"__isSmartRef__":true,"id":9488},"target":{"__isSmartRef__":true,"id":9489}},"9548":{"sourceObj":{"__isSmartRef__":true,"id":9488},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":9549},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":9660},"dependendConnections":[{"__isSmartRef__":true,"id":9661},{"__isSmartRef__":true,"id":9663},{"__isSmartRef__":true,"id":9665},{"__isSmartRef__":true,"id":9667}],"oldTransform":{"__isSmartRef__":true,"id":9669},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"9549":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":9550},"id":"E083C82B-2BC4-42CB-B3A2-773909175FCB","eventHandler":{"__isSmartRef__":true,"id":9553},"__layered_droppingEnabled__":true,"halosEnabled":true,"isBeingDragged":false,"controlPoints":[{"__isSmartRef__":true,"id":9554},{"__isSmartRef__":true,"id":9556}],"showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":9557},"name":"Line4","derivationIds":[731,"5E6BD741-9C99-47B9-95C1-7A028178DB17","A8D5C37A-F23F-47FE-8DE2-211CE4484A4F","F722069B-8602-4E8D-BE3F-92A1E0C0EF28","D5ED19F9-968E-4C7E-9936-69F2735A813F","A9E370BC-F208-425C-BFFC-F8D6BB52E11F","4E431641-D056-46CB-B2A8-6626382EF423"],"_ClipMode":"visible","controlPointsHalos":[],"prevScroll":[0,0],"grabbingEnabled":false,"moved":true,"#startLetters":"controlPoints[0]","fromMorph":{"__isSmartRef__":true,"id":9488},"update":{"__isSmartRef__":true,"id":9561},"isCopyMorphRef":true,"morphRefId":2,"selectedMorph":{"__isSmartRef__":true,"id":9488},"selectedMorphHighlights":[],"_Scale":1,"_Rotation":0,"owner":null,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":9563},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","distanceToDragEvent":"lively.pt(295.7,-20.8)","_Position":"lively.pt(376.1,57.6)"},"9550":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":9551},{"__isSmartRef__":true,"id":9552}],"_ClipMode":"visible","_BorderWidth":3.1119999999999997,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Padding","_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(50.5,3.2)","_Extent":"lively.pt(114.5,3494.5)","_BorderColor":"Color.rgb(161,161,161)"},"9551":{"isAbsolute":true,"x":163.9502839188006,"y":3496.6991261017115,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"9552":{"isAbsolute":true,"x":52.46197348862387,"y":5.223542983087555,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"9553":{"morph":{"__isSmartRef__":true,"id":9549},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"9554":{"morph":{"__isSmartRef__":true,"id":9549},"index":0,"connectedMagnet":{"__isSmartRef__":true,"id":9555},"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"9555":{"morph":{"__isSmartRef__":true,"id":2999},"connectedControlPoints":[{"__isSmartRef__":true,"id":9554}],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(164.0,3496.7)"},"9556":{"morph":{"__isSmartRef__":true,"id":9549},"index":1,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"9557":{"requiredModules":[],"migrationLevel":4,"partsSpaceName":"PartsBin/Jens/","comment":"a line","partName":"Connector","lastModifiedDate":{"__isSmartRef__":true,"id":9558},"revisionOnLoad":186528,"changes":[{"__isSmartRef__":true,"id":9559}],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"9558":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:18 GMT+0100 (CET)"},"9559":{"date":{"__isSmartRef__":true,"id":9560},"author":"jenslincke","message":"no comment","id":"28165CED-C8C5-4B8E-9655-645E3F5099BB"},"9560":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:42 GMT+0100 (CET)"},"9561":{"d":1,"a":1,"f":906.1,"e":107.8,"c":0,"b":0,"matrix_":{"__isSmartRef__":true,"id":9562},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"9562":{"a":1,"b":0,"c":0,"d":1,"e":107.8,"f":906.1,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"9563":{"connect":{"__isSmartRef__":true,"id":9564},"updatePosition":{"__isSmartRef__":true,"id":9568},"updateControlPoint":{"__isSmartRef__":true,"id":9572},"disconnectMorph":{"__isSmartRef__":true,"id":9576},"connectMorph":{"__isSmartRef__":true,"id":9580},"onMouseOver":{"__isSmartRef__":true,"id":9584},"onMouseOut":{"__isSmartRef__":true,"id":9588},"makeHandle":{"__isSmartRef__":true,"id":9596},"showFromHandle":{"__isSmartRef__":true,"id":9600},"showToHandle":{"__isSmartRef__":true,"id":9604},"reset":{"__isSmartRef__":true,"id":9608},"onDragInHandle":{"__isSmartRef__":true,"id":9612},"onDragStartInHandle":{"__isSmartRef__":true,"id":9616},"onDragEndInHandle":{"__isSmartRef__":true,"id":9620},"connectFrom":{"__isSmartRef__":true,"id":9624},"connectTo":{"__isSmartRef__":true,"id":9628},"hideToHandle":{"__isSmartRef__":true,"id":9632},"hideFromHandle":{"__isSmartRef__":true,"id":9636},"updateIntersection":{"__isSmartRef__":true,"id":9640},"lineIntersect":{"__isSmartRef__":true,"id":9644},"intersectMorphLinePoints":{"__isSmartRef__":true,"id":9648},"intersectMorph":{"__isSmartRef__":true,"id":9652},"globalShapePathFromMorph":{"__isSmartRef__":true,"id":9656}},"9564":{"varMapping":{"__isSmartRef__":true,"id":9565},"source":"function connect(morphA, morphB) {\n this.connectFrom(morphA)\n this.connectTo(morphB)\n this.updatePosition()\n}","funcProperties":{"__isSmartRef__":true,"id":9566},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9565":{"this":{"__isSmartRef__":true,"id":9549}},"9566":{"timestamp":{"__isSmartRef__":true,"id":9567},"user":"jenslincke","tags":[]},"9567":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:50:49 GMT+0100 (CET)"},"9568":{"varMapping":{"__isSmartRef__":true,"id":9569},"source":"function updatePosition() {\n this.updateControlPoint(this.controlPoints[0], this.fromMorph)\n this.updateControlPoint(this.controlPoints[1], this.toMorph)\n this.updateIntersection(this.fromMorph, this.controlPoints[0])\n this.updateIntersection(this.toMorph, this.controlPoints[1])\n\n if (this.controlPoints[0].getPos().equalPt(this.controlPoints[1].getPos()))\n this.controlPoints[1].setPos(this.controlPoints[1].getPos().addPt(pt(30,0)))\n\n this.adjustOrigin(this.bounds().extent().scaleBy(0.5))\n \n}","funcProperties":{"__isSmartRef__":true,"id":9570},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9569":{"this":{"__isSmartRef__":true,"id":9549}},"9570":{"timestamp":{"__isSmartRef__":true,"id":9571},"user":"jenslincke","tags":[]},"9571":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:59:26 GMT+0100 (CET)"},"9572":{"varMapping":{"__isSmartRef__":true,"id":9573},"source":"function updateControlPoint(cp, morph) {\n if (!cp || !morph) return;\n cp.setGlobalPos(morph.worldPoint(morph.shape.bounds().center()))\n}","funcProperties":{"__isSmartRef__":true,"id":9574},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9573":{"this":{"__isSmartRef__":true,"id":9549}},"9574":{"timestamp":{"__isSmartRef__":true,"id":9575},"user":"jenslincke","tags":[]},"9575":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:45:56 GMT+0100 (CET)"},"9576":{"varMapping":{"__isSmartRef__":true,"id":9577},"source":"function disconnectMorph(morph) {\n if (!morph) return;\n lively.bindings.disconnect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":9578},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9577":{"this":{"__isSmartRef__":true,"id":9549}},"9578":{"timestamp":{"__isSmartRef__":true,"id":9579},"user":"jenslincke","tags":[]},"9579":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:19:18 GMT+0100 (CET)"},"9580":{"varMapping":{"__isSmartRef__":true,"id":9581},"source":"function connectMorph(morph) {\n if (morph)\n lively.bindings.connect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":9582},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9581":{"this":{"__isSmartRef__":true,"id":9549}},"9582":{"timestamp":{"__isSmartRef__":true,"id":9583},"user":"jenslincke","tags":[]},"9583":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:52:12 GMT+0100 (CET)"},"9584":{"varMapping":{"__isSmartRef__":true,"id":9585},"source":"function onMouseOver(evt) {\n var p = evt.mousePoint.scaleBy(this.world().getScale())\n\n var cp1 = this.controlPoints[0].getGlobalPos();\n if (p.dist(cp1) < 20) {\n this.showFromHandle()\n } else {\n this.hideFromHandle()\n }\n var cp2 = this.controlPoints[1].getGlobalPos();\n if (p.dist(cp2) < 20) {\n this.showToHandle()\n } else {\n this.hideToHandle()\n }\n}","funcProperties":{"__isSmartRef__":true,"id":9586},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9585":{"this":{"__isSmartRef__":true,"id":9549}},"9586":{"timestamp":{"__isSmartRef__":true,"id":9587},"user":"jenslincke","tags":[]},"9587":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:23:03 GMT+0100 (CET)"},"9588":{"varMapping":{"__isSmartRef__":true,"id":9589},"source":"function onMouseOut(evt) {\n // this.hideFromHandle()\n // this.hideToHandle()\n}","funcProperties":{"__isSmartRef__":true,"id":9594},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9589":{"this":{"__isSmartRef__":true,"id":9549},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":9590}},"9590":{"$super":{"__isSmartRef__":true,"id":9591}},"9591":{"varMapping":{"__isSmartRef__":true,"id":9592},"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":9593},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9592":{"obj":{"__isSmartRef__":true,"id":9549},"name":"onMouseOut"},"9593":{},"9594":{"timestamp":{"__isSmartRef__":true,"id":9595},"user":"jenslincke","tags":[]},"9595":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:54:53 GMT+0100 (CET)"},"9596":{"varMapping":{"__isSmartRef__":true,"id":9597},"source":"function makeHandle() {\n var m = lively.morphic.Morph.makeRectangle(0,0,10,10);\n m.disableGrabbing()\n m.enableDragging()\n m.connector = this;\n // move real behavior to a place which is easier to develop\n // do not use bind, because we like late binding \n m.addScript(function onDragStart(evt) {\n this.connector.onDragStartInHandle(this, evt)\n })\n m.addScript(function onDrag(evt) {\n this.connector.onDragInHandle(this, evt)\n })\n m.addScript(function onDragEnd(evt) {\n this.connector.onDragEndInHandle(this, evt)\n })\n m.isEpiMorph = true;\n return m\n}","funcProperties":{"__isSmartRef__":true,"id":9598},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9597":{"this":{"__isSmartRef__":true,"id":9549}},"9598":{"timestamp":{"__isSmartRef__":true,"id":9599},"user":"jenslincke","tags":[]},"9599":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:08:29 GMT+0100 (CET)"},"9600":{"varMapping":{"__isSmartRef__":true,"id":9601},"source":"function showFromHandle() {\n if (!this.fromHandle) {\n this.fromHandle = this.makeHandle();\n this.fromHandle.setFill(Color.red)\n this.fromHandle.isFromHandle = true;\n }\n this.fromHandle.openInWorld();\n this.fromHandle.controlPoint = this.controlPoints[0];\n this.fromHandle.setPosition(this.controlPoints[0].getGlobalPos().subPt(pt(5,5)))\n return this.fromHandle\n}","funcProperties":{"__isSmartRef__":true,"id":9602},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9601":{"this":{"__isSmartRef__":true,"id":9549}},"9602":{"timestamp":{"__isSmartRef__":true,"id":9603},"user":"jenslincke","tags":[]},"9603":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:13:03 GMT+0100 (CET)"},"9604":{"varMapping":{"__isSmartRef__":true,"id":9605},"source":"function showToHandle() {\n if (!this.toHandle) {\n this.toHandle = this.makeHandle();\n this.toHandle.setFill(Color.red)\n this.toHandle.isToHandle = true;\n\n }\n this.toHandle.openInWorld();\n this.toHandle.controlPoint = this.controlPoints[1];\n this.toHandle.setPosition(this.controlPoints[1].getGlobalPos().subPt(pt(5,5)))\n return this.toHandle\n}","funcProperties":{"__isSmartRef__":true,"id":9606},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9605":{"this":{"__isSmartRef__":true,"id":9549}},"9606":{"timestamp":{"__isSmartRef__":true,"id":9607},"user":"jenslincke","tags":[]},"9607":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:20:25 GMT+0100 (CET)"},"9608":{"varMapping":{"__isSmartRef__":true,"id":9609},"source":"function reset() {\n if (this.fromHandle) {\n this.fromHandle.remove()\n delete this.fromHandle\n }\n if (this.toHandle) {\n this.toHandle.remove()\n delete this.toHandle\n }\n // this.controlPoints[1].setPos(pt(200,200))\n}","funcProperties":{"__isSmartRef__":true,"id":9610},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9609":{"this":{"__isSmartRef__":true,"id":9549}},"9610":{"timestamp":{"__isSmartRef__":true,"id":9611},"user":"jenslincke","tags":[]},"9611":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:15:00 GMT+0100 (CET)"},"9612":{"varMapping":{"__isSmartRef__":true,"id":9613},"source":"function onDragInHandle(handle, evt) {\n\n var pos = handle.getPositionInWorld();\n var delta = evt.hand.getPosition().subPt(pos);\n handle.moveBy(delta)\n pos = handle.getPositionInWorld();\n if (handle.controlPoint)\n handle.controlPoint.setGlobalPos(pos.addPt(pt(5,5)))\n var morphs = this.owner.morphsContainingPoint(pos)\n morphs = morphs.reject(function(ea) {\n return ea.isWorld || (ea === handle) || (ea === this) || \n (ea === this.owner)\n }, this)\n this.get('Console').textString = morphs\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n this.selectedMorph = morphs.first();\n this.selectedMorphHighlights = show(this.selectedMorph)\n handle.startPos = evt.getPosition();\n}","funcProperties":{"__isSmartRef__":true,"id":9614},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9613":{"this":{"__isSmartRef__":true,"id":9549}},"9614":{"timestamp":{"__isSmartRef__":true,"id":9615},"user":"jenslincke","tags":[]},"9615":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:09:40 GMT+0100 (CET)"},"9616":{"varMapping":{"__isSmartRef__":true,"id":9617},"source":"function onDragStartInHandle(handle, evt) {\n handle.startPos = evt.getPosition()\n}","funcProperties":{"__isSmartRef__":true,"id":9618},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9617":{"this":{"__isSmartRef__":true,"id":9549}},"9618":{"timestamp":{"__isSmartRef__":true,"id":9619},"user":"jenslincke","tags":[]},"9619":{"isSerializedDate":true,"string":"Thu Dec 13 2012 15:51:13 GMT+0100 (CET)"},"9620":{"varMapping":{"__isSmartRef__":true,"id":9621},"source":"function onDragEndInHandle(handle, evt) {\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n \n if (handle.isFromHandle) this.connectFrom(this.selectedMorph)\n if (handle.isToHandle) this.connectTo(this.selectedMorph)\n handle.remove()\n}","funcProperties":{"__isSmartRef__":true,"id":9622},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9621":{"this":{"__isSmartRef__":true,"id":9549}},"9622":{"timestamp":{"__isSmartRef__":true,"id":9623},"user":"jenslincke","tags":[]},"9623":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:44:35 GMT+0100 (CET)"},"9624":{"varMapping":{"__isSmartRef__":true,"id":9625},"source":"function connectFrom(morph) {\n if (morph === this.toMorph) return; // not allowed\n\n this.disconnectMorph(this.fromMorph)\n this.fromMorph = morph;\n this.connectMorph(this.fromMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":9626},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9625":{"this":{"__isSmartRef__":true,"id":9549}},"9626":{"timestamp":{"__isSmartRef__":true,"id":9627},"user":"jenslincke","tags":[]},"9627":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:57:22 GMT+0100 (CET)"},"9628":{"varMapping":{"__isSmartRef__":true,"id":9629},"source":"function connectTo(morph) {\n\n if (morph === this.fromMorph) return; // not allowed\n\n this.disconnectMorph(this.toMorph)\n this.toMorph = morph;\n this.connectMorph(this.toMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":9630},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9629":{"this":{"__isSmartRef__":true,"id":9549}},"9630":{"timestamp":{"__isSmartRef__":true,"id":9631},"user":"jenslincke","tags":[]},"9631":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:57:14 GMT+0100 (CET)"},"9632":{"varMapping":{"__isSmartRef__":true,"id":9633},"source":"function hideToHandle() {\n if (this.toHandle) {\n this.toHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":9634},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9633":{"this":{"__isSmartRef__":true,"id":9549}},"9634":{"timestamp":{"__isSmartRef__":true,"id":9635},"user":"jenslincke","tags":[]},"9635":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:51:59 GMT+0100 (CET)"},"9636":{"varMapping":{"__isSmartRef__":true,"id":9637},"source":"function hideFromHandle() {\n if (this.fromHandle) {\n this.fromHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":9638},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9637":{"this":{"__isSmartRef__":true,"id":9549}},"9638":{"timestamp":{"__isSmartRef__":true,"id":9639},"user":"jenslincke","tags":[]},"9639":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:52:18 GMT+0100 (CET)"},"9640":{"varMapping":{"__isSmartRef__":true,"id":9641},"source":"function updateIntersection(morph, cp) {\n if (!morph) return;\n var intersection = this.intersectMorph(morph)[0];\n if (intersection) {\n cp.setGlobalPos(intersection);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":9642},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9641":{"this":{"__isSmartRef__":true,"id":9549}},"9642":{"timestamp":{"__isSmartRef__":true,"id":9643},"user":"jenslincke","tags":[]},"9643":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:32 GMT+0100 (CET)"},"9644":{"varMapping":{"__isSmartRef__":true,"id":9645},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":9646},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9645":{"this":{"__isSmartRef__":true,"id":9549}},"9646":{"timestamp":{"__isSmartRef__":true,"id":9647},"user":"jenslincke","tags":[]},"9647":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:47:12 GMT+0100 (CET)"},"9648":{"varMapping":{"__isSmartRef__":true,"id":9649},"source":"function intersectMorphLinePoints(morph, a1, a2) {\n var points = this.globalShapePathFromMorph(morph);\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":9650},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9649":{"this":{"__isSmartRef__":true,"id":9549}},"9650":{"timestamp":{"__isSmartRef__":true,"id":9651},"user":"jenslincke","tags":[]},"9651":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:21 GMT+0100 (CET)"},"9652":{"varMapping":{"__isSmartRef__":true,"id":9653},"source":"function intersectMorph(morph) {\n var line = this;\n return this.intersectMorphLinePoints(morph,\n line.controlPoints[0].getGlobalPos(), line.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":9654},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9653":{"this":{"__isSmartRef__":true,"id":9549}},"9654":{"timestamp":{"__isSmartRef__":true,"id":9655},"user":"jenslincke","tags":[]},"9655":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:47 GMT+0100 (CET)"},"9656":{"varMapping":{"__isSmartRef__":true,"id":9657},"source":"function globalShapePathFromMorph(morph) {\n var b = morph.shape.bounds();\n var p1 = morph.worldPoint(b.topLeft()),\n p2 = morph.worldPoint(b.topRight()),\n p3 = morph.worldPoint(b.bottomRight()),\n p4 = morph.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":9658},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9657":{"this":{"__isSmartRef__":true,"id":9549}},"9658":{"timestamp":{"__isSmartRef__":true,"id":9659},"user":"jenslincke","tags":[]},"9659":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:00 GMT+0100 (CET)"},"9660":{"source":{"__isSmartRef__":true,"id":9488},"target":{"__isSmartRef__":true,"id":9549}},"9661":{"sourceObj":{"__isSmartRef__":true,"id":9488},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":9548},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9662},"dependedBy":{"__isSmartRef__":true,"id":9548},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9662":{"source":{"__isSmartRef__":true,"id":9488},"target":{"__isSmartRef__":true,"id":9548}},"9663":{"sourceObj":{"__isSmartRef__":true,"id":9488},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":9548},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9664},"dependedBy":{"__isSmartRef__":true,"id":9548},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9664":{"source":{"__isSmartRef__":true,"id":9488},"target":{"__isSmartRef__":true,"id":9548}},"9665":{"sourceObj":{"__isSmartRef__":true,"id":9488},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":9548},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9666},"dependedBy":{"__isSmartRef__":true,"id":9548},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9666":{"source":{"__isSmartRef__":true,"id":9488},"target":{"__isSmartRef__":true,"id":9548}},"9667":{"sourceObj":{"__isSmartRef__":true,"id":9488},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":9548},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":9668},"dependedBy":{"__isSmartRef__":true,"id":9548},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9668":{"source":{"__isSmartRef__":true,"id":9488},"target":{"__isSmartRef__":true,"id":9548}},"9669":{"d":0.9347623017725522,"a":0.9347623017725522,"f":3485.245045045044,"e":728.5390390390387,"c":0.3552737524570028,"b":-0.3552737524570028,"matrix_":{"__isSmartRef__":true,"id":9670},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"9670":{"a":0.9347623017725522,"b":-0.3552737524570028,"c":0.3552737524570028,"d":0.9347623017725522,"e":728.5390390390387,"f":3485.245045045044,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"9671":{"sourceObj":{"__isSmartRef__":true,"id":9488},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":9475},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":9672},"dependendConnections":[{"__isSmartRef__":true,"id":9673},{"__isSmartRef__":true,"id":9675},{"__isSmartRef__":true,"id":9677},{"__isSmartRef__":true,"id":9679}],"oldTransform":{"__isSmartRef__":true,"id":9681},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"9672":{"source":{"__isSmartRef__":true,"id":9488},"target":{"__isSmartRef__":true,"id":9475}},"9673":{"sourceObj":{"__isSmartRef__":true,"id":9488},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":9671},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9674},"dependedBy":{"__isSmartRef__":true,"id":9671},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9674":{"source":{"__isSmartRef__":true,"id":9488},"target":{"__isSmartRef__":true,"id":9671}},"9675":{"sourceObj":{"__isSmartRef__":true,"id":9488},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":9671},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9676},"dependedBy":{"__isSmartRef__":true,"id":9671},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9676":{"source":{"__isSmartRef__":true,"id":9488},"target":{"__isSmartRef__":true,"id":9671}},"9677":{"sourceObj":{"__isSmartRef__":true,"id":9488},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":9671},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9678},"dependedBy":{"__isSmartRef__":true,"id":9671},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9678":{"source":{"__isSmartRef__":true,"id":9488},"target":{"__isSmartRef__":true,"id":9671}},"9679":{"sourceObj":{"__isSmartRef__":true,"id":9488},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":9671},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":9680},"dependedBy":{"__isSmartRef__":true,"id":9671},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9680":{"source":{"__isSmartRef__":true,"id":9488},"target":{"__isSmartRef__":true,"id":9671}},"9681":{"d":0.9347623017725522,"a":0.9347623017725522,"f":3485.245045045044,"e":728.5390390390387,"c":0.3552737524570028,"b":-0.3552737524570028,"matrix_":{"__isSmartRef__":true,"id":9682},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"9682":{"a":0.9347623017725522,"b":-0.3552737524570028,"c":0.3552737524570028,"d":0.9347623017725522,"e":728.5390390390387,"f":3485.245045045044,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"9683":{"globalShapePath":{"__isSmartRef__":true,"id":9684},"lineIntersect":{"__isSmartRef__":true,"id":9687},"intersectLine":{"__isSmartRef__":true,"id":9691},"intersectLineMorph":{"__isSmartRef__":true,"id":9694}},"9684":{"varMapping":{"__isSmartRef__":true,"id":9685},"source":"function globalShapePath() {\n var b = this.shape.bounds();\n var p1 = this.worldPoint(b.topLeft()),\n p2 = this.worldPoint(b.topRight()),\n p3 = this.worldPoint(b.bottomRight()),\n p4 = this.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":9686},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9685":{"this":{"__isSmartRef__":true,"id":9488}},"9686":{},"9687":{"varMapping":{"__isSmartRef__":true,"id":9688},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":9689},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9688":{"this":{"__isSmartRef__":true,"id":9488}},"9689":{"timestamp":{"__isSmartRef__":true,"id":9690},"user":"jenslincke","tags":[]},"9690":{"isSerializedDate":true,"string":"Thu Dec 13 2012 13:42:55 GMT+0100 (CET)"},"9691":{"varMapping":{"__isSmartRef__":true,"id":9692},"source":"function intersectLine(a1, a2) {\n var points = this.globalShapePath();\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":9693},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9692":{"this":{"__isSmartRef__":true,"id":9488}},"9693":{},"9694":{"varMapping":{"__isSmartRef__":true,"id":9695},"source":"function intersectLineMorph(m) {\n return this.intersectLine(m.controlPoints[0].getGlobalPos(), m.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":9696},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9695":{"this":{"__isSmartRef__":true,"id":9488}},"9696":{},"9697":{"d":1,"a":1,"f":906.1,"e":107.8,"c":0,"b":0,"matrix_":{"__isSmartRef__":true,"id":9698},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"9698":{"a":1,"b":0,"c":0,"d":1,"e":107.8,"f":906.1,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"9699":{"connect":{"__isSmartRef__":true,"id":9700},"updatePosition":{"__isSmartRef__":true,"id":9704},"updateControlPoint":{"__isSmartRef__":true,"id":9708},"disconnectMorph":{"__isSmartRef__":true,"id":9712},"connectMorph":{"__isSmartRef__":true,"id":9716},"onMouseOver":{"__isSmartRef__":true,"id":9720},"onMouseOut":{"__isSmartRef__":true,"id":9724},"makeHandle":{"__isSmartRef__":true,"id":9732},"showFromHandle":{"__isSmartRef__":true,"id":9736},"showToHandle":{"__isSmartRef__":true,"id":9740},"reset":{"__isSmartRef__":true,"id":9744},"onDragInHandle":{"__isSmartRef__":true,"id":9748},"onDragStartInHandle":{"__isSmartRef__":true,"id":9752},"onDragEndInHandle":{"__isSmartRef__":true,"id":9756},"connectFrom":{"__isSmartRef__":true,"id":9760},"connectTo":{"__isSmartRef__":true,"id":9764},"hideToHandle":{"__isSmartRef__":true,"id":9768},"hideFromHandle":{"__isSmartRef__":true,"id":9772},"updateIntersection":{"__isSmartRef__":true,"id":9776},"lineIntersect":{"__isSmartRef__":true,"id":9780},"intersectMorphLinePoints":{"__isSmartRef__":true,"id":9784},"intersectMorph":{"__isSmartRef__":true,"id":9788},"globalShapePathFromMorph":{"__isSmartRef__":true,"id":9792}},"9700":{"varMapping":{"__isSmartRef__":true,"id":9701},"source":"function connect(morphA, morphB) {\n this.connectFrom(morphA)\n this.connectTo(morphB)\n this.updatePosition()\n}","funcProperties":{"__isSmartRef__":true,"id":9702},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9701":{"this":{"__isSmartRef__":true,"id":9475}},"9702":{"timestamp":{"__isSmartRef__":true,"id":9703},"user":"jenslincke","tags":[]},"9703":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:50:49 GMT+0100 (CET)"},"9704":{"varMapping":{"__isSmartRef__":true,"id":9705},"source":"function updatePosition() {\n this.updateControlPoint(this.controlPoints[0], this.fromMorph)\n this.updateControlPoint(this.controlPoints[1], this.toMorph)\n this.updateIntersection(this.fromMorph, this.controlPoints[0])\n this.updateIntersection(this.toMorph, this.controlPoints[1])\n\n this.adjustOrigin(this.bounds().extent().scaleBy(0.5))\n}","funcProperties":{"__isSmartRef__":true,"id":9706},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9705":{"this":{"__isSmartRef__":true,"id":9475}},"9706":{"timestamp":{"__isSmartRef__":true,"id":9707},"user":"jenslincke","tags":[]},"9707":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:06:20 GMT+0100 (CET)"},"9708":{"varMapping":{"__isSmartRef__":true,"id":9709},"source":"function updateControlPoint(cp, morph) {\n if (!cp || !morph) return;\n cp.setGlobalPos(morph.worldPoint(morph.shape.bounds().center()))\n}","funcProperties":{"__isSmartRef__":true,"id":9710},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9709":{"this":{"__isSmartRef__":true,"id":9475}},"9710":{"timestamp":{"__isSmartRef__":true,"id":9711},"user":"jenslincke","tags":[]},"9711":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:45:56 GMT+0100 (CET)"},"9712":{"varMapping":{"__isSmartRef__":true,"id":9713},"source":"function disconnectMorph(morph) {\n if (!morph) return;\n lively.bindings.disconnect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":9714},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9713":{"this":{"__isSmartRef__":true,"id":9475}},"9714":{"timestamp":{"__isSmartRef__":true,"id":9715},"user":"jenslincke","tags":[]},"9715":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:19:18 GMT+0100 (CET)"},"9716":{"varMapping":{"__isSmartRef__":true,"id":9717},"source":"function connectMorph(morph) {\n if (morph)\n lively.bindings.connect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":9718},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9717":{"this":{"__isSmartRef__":true,"id":9475}},"9718":{"timestamp":{"__isSmartRef__":true,"id":9719},"user":"jenslincke","tags":[]},"9719":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:52:12 GMT+0100 (CET)"},"9720":{"varMapping":{"__isSmartRef__":true,"id":9721},"source":"function onMouseOver(evt) {\n var p = evt.mousePoint.scaleBy(this.world().getScale())\n\n var cp1 = this.controlPoints[0].getGlobalPos();\n if (p.dist(cp1) < 20) {\n this.showFromHandle()\n } else {\n this.hideFromHandle()\n }\n var cp2 = this.controlPoints[1].getGlobalPos();\n if (p.dist(cp2) < 20) {\n this.showToHandle()\n } else {\n this.hideToHandle()\n }\n}","funcProperties":{"__isSmartRef__":true,"id":9722},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9721":{"this":{"__isSmartRef__":true,"id":9475}},"9722":{"timestamp":{"__isSmartRef__":true,"id":9723},"user":"jenslincke","tags":[]},"9723":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:23:03 GMT+0100 (CET)"},"9724":{"varMapping":{"__isSmartRef__":true,"id":9725},"source":"function onMouseOut(evt) {\n // this.hideFromHandle()\n // this.hideToHandle()\n}","funcProperties":{"__isSmartRef__":true,"id":9730},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9725":{"this":{"__isSmartRef__":true,"id":9475},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":9726}},"9726":{"$super":{"__isSmartRef__":true,"id":9727}},"9727":{"varMapping":{"__isSmartRef__":true,"id":9728},"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":9729},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9728":{"obj":{"__isSmartRef__":true,"id":9475},"name":"onMouseOut"},"9729":{},"9730":{"timestamp":{"__isSmartRef__":true,"id":9731},"user":"jenslincke","tags":[]},"9731":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:54:53 GMT+0100 (CET)"},"9732":{"varMapping":{"__isSmartRef__":true,"id":9733},"source":"function makeHandle() {\n var m = lively.morphic.Morph.makeRectangle(0,0,10,10);\n m.disableGrabbing()\n m.enableDragging()\n m.connector = this;\n // move real behavior to a place which is easier to develop\n // do not use bind, because we like late binding \n m.addScript(function onDragStart(evt) {\n this.connector.onDragStartInHandle(this, evt)\n })\n m.addScript(function onDrag(evt) {\n this.connector.onDragInHandle(this, evt)\n })\n m.addScript(function onDragEnd(evt) {\n this.connector.onDragEndInHandle(this, evt)\n })\n m.isEpiMorph = true;\n return m\n}","funcProperties":{"__isSmartRef__":true,"id":9734},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9733":{"this":{"__isSmartRef__":true,"id":9475}},"9734":{"timestamp":{"__isSmartRef__":true,"id":9735},"user":"jenslincke","tags":[]},"9735":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:08:29 GMT+0100 (CET)"},"9736":{"varMapping":{"__isSmartRef__":true,"id":9737},"source":"function showFromHandle() {\n if (!this.fromHandle) {\n this.fromHandle = this.makeHandle();\n this.fromHandle.setFill(Color.red)\n this.fromHandle.isFromHandle = true;\n }\n this.fromHandle.openInWorld();\n this.fromHandle.controlPoint = this.controlPoints[0];\n this.fromHandle.setPosition(this.controlPoints[0].getGlobalPos().subPt(pt(5,5)))\n return this.fromHandle\n}","funcProperties":{"__isSmartRef__":true,"id":9738},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9737":{"this":{"__isSmartRef__":true,"id":9475}},"9738":{"timestamp":{"__isSmartRef__":true,"id":9739},"user":"jenslincke","tags":[]},"9739":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:13:03 GMT+0100 (CET)"},"9740":{"varMapping":{"__isSmartRef__":true,"id":9741},"source":"function showToHandle() {\n if (!this.toHandle) {\n this.toHandle = this.makeHandle();\n this.toHandle.setFill(Color.red)\n this.toHandle.isToHandle = true;\n\n }\n this.toHandle.openInWorld();\n this.toHandle.controlPoint = this.controlPoints[1];\n this.toHandle.setPosition(this.controlPoints[1].getGlobalPos().subPt(pt(5,5)))\n return this.toHandle\n}","funcProperties":{"__isSmartRef__":true,"id":9742},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9741":{"this":{"__isSmartRef__":true,"id":9475}},"9742":{"timestamp":{"__isSmartRef__":true,"id":9743},"user":"jenslincke","tags":[]},"9743":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:20:25 GMT+0100 (CET)"},"9744":{"varMapping":{"__isSmartRef__":true,"id":9745},"source":"function reset() {\n if (this.fromHandle) {\n this.fromHandle.remove()\n delete this.fromHandle\n }\n if (this.toHandle) {\n this.toHandle.remove()\n delete this.toHandle\n }\n // this.controlPoints[1].setPos(pt(200,200))\n}","funcProperties":{"__isSmartRef__":true,"id":9746},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9745":{"this":{"__isSmartRef__":true,"id":9475}},"9746":{"timestamp":{"__isSmartRef__":true,"id":9747},"user":"jenslincke","tags":[]},"9747":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:15:00 GMT+0100 (CET)"},"9748":{"varMapping":{"__isSmartRef__":true,"id":9749},"source":"function onDragInHandle(handle, evt) {\n\n var pos = handle.getPositionInWorld();\n var delta = evt.hand.getPosition().subPt(pos);\n handle.moveBy(delta)\n pos = handle.getPositionInWorld();\n if (handle.controlPoint)\n handle.controlPoint.setGlobalPos(pos.addPt(pt(5,5)))\n var morphs = this.owner.morphsContainingPoint(pos)\n morphs = morphs.reject(function(ea) {\n return ea.isWorld || (ea === handle) || (ea === this) || \n (ea === this.owner)\n }, this)\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n this.selectedMorph = morphs.first();\n this.selectedMorphHighlights = show(this.selectedMorph)\n handle.startPos = evt.getPosition();\n}","funcProperties":{"__isSmartRef__":true,"id":9750},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9749":{"this":{"__isSmartRef__":true,"id":9475}},"9750":{"timestamp":{"__isSmartRef__":true,"id":9751},"user":"jenslincke","tags":[]},"9751":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:06:40 GMT+0100 (CET)"},"9752":{"varMapping":{"__isSmartRef__":true,"id":9753},"source":"function onDragStartInHandle(handle, evt) {\n handle.startPos = evt.getPosition()\n}","funcProperties":{"__isSmartRef__":true,"id":9754},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9753":{"this":{"__isSmartRef__":true,"id":9475}},"9754":{"timestamp":{"__isSmartRef__":true,"id":9755},"user":"jenslincke","tags":[]},"9755":{"isSerializedDate":true,"string":"Thu Dec 13 2012 15:51:13 GMT+0100 (CET)"},"9756":{"varMapping":{"__isSmartRef__":true,"id":9757},"source":"function onDragEndInHandle(handle, evt) {\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n \n if (handle.isFromHandle) this.connectFrom(this.selectedMorph)\n if (handle.isToHandle) this.connectTo(this.selectedMorph)\n handle.remove()\n}","funcProperties":{"__isSmartRef__":true,"id":9758},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9757":{"this":{"__isSmartRef__":true,"id":9475}},"9758":{"timestamp":{"__isSmartRef__":true,"id":9759},"user":"jenslincke","tags":[]},"9759":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:44:35 GMT+0100 (CET)"},"9760":{"varMapping":{"__isSmartRef__":true,"id":9761},"source":"function connectFrom(morph) {\n if (morph && morph === this.toMorph) return; // not allowed\n\n this.disconnectMorph(this.fromMorph)\n this.fromMorph = morph;\n this.connectMorph(this.fromMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":9762},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9761":{"this":{"__isSmartRef__":true,"id":9475}},"9762":{"timestamp":{"__isSmartRef__":true,"id":9763},"user":"jenslincke","tags":[]},"9763":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:02:22 GMT+0100 (CET)"},"9764":{"varMapping":{"__isSmartRef__":true,"id":9765},"source":"function connectTo(morph) {\n\n if (morph && morph === this.fromMorph) return; // not allowed\n\n this.disconnectMorph(this.toMorph)\n this.toMorph = morph;\n this.connectMorph(this.toMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":9766},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9765":{"this":{"__isSmartRef__":true,"id":9475}},"9766":{"timestamp":{"__isSmartRef__":true,"id":9767},"user":"jenslincke","tags":[]},"9767":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:02:30 GMT+0100 (CET)"},"9768":{"varMapping":{"__isSmartRef__":true,"id":9769},"source":"function hideToHandle() {\n if (this.toHandle) {\n this.toHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":9770},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9769":{"this":{"__isSmartRef__":true,"id":9475}},"9770":{"timestamp":{"__isSmartRef__":true,"id":9771},"user":"jenslincke","tags":[]},"9771":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:51:59 GMT+0100 (CET)"},"9772":{"varMapping":{"__isSmartRef__":true,"id":9773},"source":"function hideFromHandle() {\n if (this.fromHandle) {\n this.fromHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":9774},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9773":{"this":{"__isSmartRef__":true,"id":9475}},"9774":{"timestamp":{"__isSmartRef__":true,"id":9775},"user":"jenslincke","tags":[]},"9775":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:52:18 GMT+0100 (CET)"},"9776":{"varMapping":{"__isSmartRef__":true,"id":9777},"source":"function updateIntersection(morph, cp) {\n if (!morph) return;\n var intersection = this.intersectMorph(morph)[0];\n if (intersection) {\n cp.setGlobalPos(intersection);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":9778},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9777":{"this":{"__isSmartRef__":true,"id":9475}},"9778":{"timestamp":{"__isSmartRef__":true,"id":9779},"user":"jenslincke","tags":[]},"9779":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:32 GMT+0100 (CET)"},"9780":{"varMapping":{"__isSmartRef__":true,"id":9781},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":9782},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9781":{"this":{"__isSmartRef__":true,"id":9475}},"9782":{"timestamp":{"__isSmartRef__":true,"id":9783},"user":"jenslincke","tags":[]},"9783":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:47:12 GMT+0100 (CET)"},"9784":{"varMapping":{"__isSmartRef__":true,"id":9785},"source":"function intersectMorphLinePoints(morph, a1, a2) {\n var points = this.globalShapePathFromMorph(morph);\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":9786},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9785":{"this":{"__isSmartRef__":true,"id":9475}},"9786":{"timestamp":{"__isSmartRef__":true,"id":9787},"user":"jenslincke","tags":[]},"9787":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:21 GMT+0100 (CET)"},"9788":{"varMapping":{"__isSmartRef__":true,"id":9789},"source":"function intersectMorph(morph) {\n var line = this;\n return this.intersectMorphLinePoints(morph,\n line.controlPoints[0].getGlobalPos(), line.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":9790},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9789":{"this":{"__isSmartRef__":true,"id":9475}},"9790":{"timestamp":{"__isSmartRef__":true,"id":9791},"user":"jenslincke","tags":[]},"9791":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:47 GMT+0100 (CET)"},"9792":{"varMapping":{"__isSmartRef__":true,"id":9793},"source":"function globalShapePathFromMorph(morph) {\n var b = morph.shape.bounds();\n var p1 = morph.worldPoint(b.topLeft()),\n p2 = morph.worldPoint(b.topRight()),\n p3 = morph.worldPoint(b.bottomRight()),\n p4 = morph.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":9794},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9793":{"this":{"__isSmartRef__":true,"id":9475}},"9794":{"timestamp":{"__isSmartRef__":true,"id":9795},"user":"jenslincke","tags":[]},"9795":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:00 GMT+0100 (CET)"},"9796":{"source":{"__isSmartRef__":true,"id":9353},"target":{"__isSmartRef__":true,"id":9475}},"9797":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":9352},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9798},"dependedBy":{"__isSmartRef__":true,"id":9352},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9798":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":9352}},"9799":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":9352},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9800},"dependedBy":{"__isSmartRef__":true,"id":9352},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9800":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":9352}},"9801":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":9352},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":9802},"dependedBy":{"__isSmartRef__":true,"id":9352},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9802":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":9352}},"9803":{"d":0.9999216420017616,"a":0.9999216420017616,"f":146.7,"e":314.7,"c":-0.012518380745633573,"b":0.012518380745633573,"matrix_":{"__isSmartRef__":true,"id":9804},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"9804":{"a":0.9999216420017616,"b":0.012518380745633573,"c":-0.012518380745633573,"d":0.9999216420017616,"e":314.7,"f":146.7,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"9805":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":9352}},"9806":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":9807},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":10260},"dependedBy":{"__isSmartRef__":true,"id":9807},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9807":{"sourceObj":{"__isSmartRef__":true,"id":9808},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":9930},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":10251},"dependendConnections":[{"__isSmartRef__":true,"id":9868},{"__isSmartRef__":true,"id":9870},{"__isSmartRef__":true,"id":9872},{"__isSmartRef__":true,"id":9874},{"__isSmartRef__":true,"id":9806},{"__isSmartRef__":true,"id":10252},{"__isSmartRef__":true,"id":10254},{"__isSmartRef__":true,"id":10256}],"oldTransform":{"__isSmartRef__":true,"id":10258},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"9808":{"submorphs":[{"__isSmartRef__":true,"id":9809}],"scripts":[],"id":"05B34A42-D9B3-44A7-BAEE-C3769810916C","shape":{"__isSmartRef__":true,"id":9833},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":9834},"eventHandler":{"__isSmartRef__":true,"id":9852},"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","BBAFB862-93AE-4F89-BCFF-9F1C67B7FE4C","7EC17E78-593A-4CC8-B7E3-859BCBBFE785","FDB06D4A-9F4E-4B8C-A67C-671A9583EFE8","1C80FDE1-05C0-4148-9AD8-33C88667084C","5059E383-6BE3-4AD3-A9C4-89DA9D8D5E99","5B810AFE-E692-4EB4-A695-ABB4A95CEA39","BFFEF617-9B97-45D4-A541-8E33A6A17485","A10BBA48-4AD1-425A-AC7B-2F5515CE56F5","7D787261-FDA4-4DCD-ACA3-699C8F2DB8DC","97C9C828-276E-4A55-9AEB-CD501E41C6EE"],"partTests":{"__isSmartRef__":true,"id":9853},"_ClipMode":"visible","moved":true,"isBeingDragged":false,"magnets":[{"__isSmartRef__":true,"id":9858},{"__isSmartRef__":true,"id":9859},{"__isSmartRef__":true,"id":9860},{"__isSmartRef__":true,"id":9861},{"__isSmartRef__":true,"id":9862},{"__isSmartRef__":true,"id":9863},{"__isSmartRef__":true,"id":9864},{"__isSmartRef__":true,"id":9865}],"attributeConnections":[{"__isSmartRef__":true,"id":9866},{"__isSmartRef__":true,"id":9807},{"__isSmartRef__":true,"id":9868},{"__isSmartRef__":true,"id":9870},{"__isSmartRef__":true,"id":9872},{"__isSmartRef__":true,"id":9874},{"__isSmartRef__":true,"id":9876},{"__isSmartRef__":true,"id":9878},{"__isSmartRef__":true,"id":9880},{"__isSmartRef__":true,"id":9882},{"__isSmartRef__":true,"id":9884},{"__isSmartRef__":true,"id":9896},{"__isSmartRef__":true,"id":9898},{"__isSmartRef__":true,"id":9900},{"__isSmartRef__":true,"id":9902},{"__isSmartRef__":true,"id":9904}],"doNotSerialize":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"doNotCopyProperties":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"isCopyMorphRef":true,"morphRefId":2,"prevScroll":[0,0],"name":"C1","_Scale":0.9999999999999959,"_Rotation":0.01251870772763443,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":9916},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","distanceToDragEvent":"lively.pt(89.3,-51.8)","_Position":"lively.pt(314.7,146.7)"},"9809":{"submorphs":[],"scripts":[],"id":"1436F9FB-AA2D-45D7-902B-96F54E937A03","shape":{"__isSmartRef__":true,"id":9810},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":180.8018403394826,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":19,"name":"NameLabel2","partsBinMetaInfo":{"__isSmartRef__":true,"id":9811},"textChunks":[{"__isSmartRef__":true,"id":9813}],"charsReplaced":"A1","lastFindLoc":2,"prevScroll":[0,0],"attributeConnections":[{"__isSmartRef__":true,"id":9815},{"__isSmartRef__":true,"id":9816}],"doNotSerialize":["$$owner","$$savedTextString"],"doNotCopyProperties":["$$owner","$$savedTextString"],"isInputLine":true,"savedTextString":"C","eventHandler":{"__isSmartRef__":true,"id":9817},"derivationIds":[7027,"331C6367-0699-4BD6-9916-ABA82517453B","BEAA7850-FEFB-4AFD-9E06-730FF35D99A4","559B0B8A-5C01-4133-88B2-0D08385E23F6","BE195383-D309-4B6E-A6B0-79A6112B4011","E323F75A-232F-4712-9A03-20C8FD574C9A","E6E38336-AA2D-4F75-80C1-B1617DD8544E","DAFCD826-DF9B-4DEF-B4D7-59AAED8D199D","3999CB16-D9E3-4D28-A617-9B093624E8AC","4BDF3799-4F08-4112-BD4C-91BAB858A860","A83F9838-A18C-4684-AF56-0FD0927F27B0"],"_WhiteSpaceHandling":"pre-wrap","_ClipMode":"visible","moved":true,"isBeingDragged":false,"_WordBreak":"break-all","magnets":[{"__isSmartRef__":true,"id":9818},{"__isSmartRef__":true,"id":9819},{"__isSmartRef__":true,"id":9820},{"__isSmartRef__":true,"id":9821},{"__isSmartRef__":true,"id":9822},{"__isSmartRef__":true,"id":9823},{"__isSmartRef__":true,"id":9824},{"__isSmartRef__":true,"id":9825}],"_PreviousBorderWidth":1,"owner":{"__isSmartRef__":true,"id":9808},"oldOwner":{"__isSmartRef__":true,"id":9808},"previousSelection":[0,2],"_Rotation":0,"_Scale":0.9999999999999992,"__serializedExpressions__":["textColor","distanceToDragEvent","_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":9826},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(29.8,-16.3)","_TextColor":"Color.rgb(255,143,0)","_Position":"lively.pt(15.0,6.3)"},"9810":{"fill":null,"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(42.8,29.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"9811":{"migrationLevel":2,"comment":"Label that shows the name of a morph. Updates automatically.","partName":"NameLabel","lastModifiedDate":{"__isSmartRef__":true,"id":9812},"revisionOnLoad":140039,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"9812":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (CEST)"},"9813":{"style":{"__isSmartRef__":true,"id":9814},"chunkOwner":{"__isSmartRef__":true,"id":9809},"_id":"_934","storedString":"C1","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"9814":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"9815":{"sourceObj":{"__isSmartRef__":true,"id":9809},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":9809},"targetMethodName":"updateLabel","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9816":{"sourceObj":{"__isSmartRef__":true,"id":9809},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":9809},"targetMethodName":"renameOwner","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9817":{"morph":{"__isSmartRef__":true,"id":9809},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"9818":{"morph":{"__isSmartRef__":true,"id":9809},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(469.6,3511.8)"},"9819":{"morph":{"__isSmartRef__":true,"id":9809},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(491.0,3512.1)"},"9820":{"morph":{"__isSmartRef__":true,"id":9809},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(512.4,3512.3)"},"9821":{"morph":{"__isSmartRef__":true,"id":9809},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(512.2,3526.8)"},"9822":{"morph":{"__isSmartRef__":true,"id":9809},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(512.1,3541.3)"},"9823":{"morph":{"__isSmartRef__":true,"id":9809},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(490.7,3541.1)"},"9824":{"morph":{"__isSmartRef__":true,"id":9809},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(469.3,3540.8)"},"9825":{"morph":{"__isSmartRef__":true,"id":9809},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(469.4,3526.3)"},"9826":{"updateLabel":{"__isSmartRef__":true,"id":9827},"renameOwner":{"__isSmartRef__":true,"id":9830}},"9827":{"varMapping":{"__isSmartRef__":true,"id":9828},"source":"function updateLabel() {\n\t// observe name changes in owner\n\tif (this.owner !== this.oldOwner) {\n\t\tif (this.oldOwner)\n\t\t\tdisconnect(this.oldOwner, 'name', this, 'updateLabel')\n\t\tif (this.owner)\n\t\t\tconnect(this.owner, 'name', this, 'updateLabel')\n\t\tthis.oldOwner = this.owner\n\t}\n\tvar name = (this.owner ? this.owner.name : \"no owner\")\n\tif (this.textString != name)\n\tthis.setTextString(name)\n}","funcProperties":{"__isSmartRef__":true,"id":9829},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9828":{"this":{"__isSmartRef__":true,"id":9809}},"9829":{},"9830":{"varMapping":{"__isSmartRef__":true,"id":9831},"source":"function renameOwner(name) {\n\tif (this.owner && this.owner.name != name) {\n\t\talertOK(\"renamed \" + this.owner + \" to \" + name)\n\t\tthis.owner.setName(name);\n\t}\n}","funcProperties":{"__isSmartRef__":true,"id":9832},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9831":{"this":{"__isSmartRef__":true,"id":9809}},"9832":{},"9833":{"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(133.7,34.2)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgba(204,204,204,0.5)","_Padding":"lively.rect(0,0,0,0)"},"9834":{"partsSpaceName":"PartsBin/Basic","comment":"A simple box morph. A really orange one. Its amazing what you can build out of simple boxes.... Who needs stars when you got orange rectangles!","migrationLevel":4,"partName":"Rectangle","changes":[{"__isSmartRef__":true,"id":9835},{"__isSmartRef__":true,"id":9837},{"__isSmartRef__":true,"id":9839},{"__isSmartRef__":true,"id":9841},{"__isSmartRef__":true,"id":9843},{"__isSmartRef__":true,"id":9845},{"__isSmartRef__":true,"id":9847},{"__isSmartRef__":true,"id":9849}],"lastModifiedDate":{"__isSmartRef__":true,"id":9851},"revisionOnLoad":184624,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"9835":{"date":{"__isSmartRef__":true,"id":9836},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"9836":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"9837":{"date":{"__isSmartRef__":true,"id":9838},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"9838":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"9839":{"date":{"__isSmartRef__":true,"id":9840},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"9840":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"9841":{"date":{"__isSmartRef__":true,"id":9842},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"9842":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"9843":{"date":{"__isSmartRef__":true,"id":9844},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"9844":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"9845":{"date":{"__isSmartRef__":true,"id":9846},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"9846":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"9847":{"date":{"__isSmartRef__":true,"id":9848},"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8"},"9848":{"isSerializedDate":true,"string":"Mon Jun 18 2012 19:35:08 GMT+0200 (CEST)"},"9849":{"date":{"__isSmartRef__":true,"id":9850},"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205"},"9850":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:35:51 GMT+0100 (CET)"},"9851":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:33:25 GMT+0100 (CET)"},"9852":{"morph":{"__isSmartRef__":true,"id":9808},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"9853":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":9854}},"9854":{"test01IsMorph":{"__isSmartRef__":true,"id":9855}},"9855":{"varMapping":{"__isSmartRef__":true,"id":9856},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":9857},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9856":{"this":{"__isSmartRef__":true,"id":9853}},"9857":{},"9858":{"morph":{"__isSmartRef__":true,"id":9808},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(454.7,3505.3)"},"9859":{"morph":{"__isSmartRef__":true,"id":9808},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(521.5,3506.1)"},"9860":{"morph":{"__isSmartRef__":true,"id":9808},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(588.4,3507.0)"},"9861":{"morph":{"__isSmartRef__":true,"id":9808},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(588.2,3524.1)"},"9862":{"morph":{"__isSmartRef__":true,"id":9808},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(588.0,3541.2)"},"9863":{"morph":{"__isSmartRef__":true,"id":9808},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(521.1,3540.3)"},"9864":{"morph":{"__isSmartRef__":true,"id":9808},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(454.3,3539.5)"},"9865":{"morph":{"__isSmartRef__":true,"id":9808},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(454.5,3522.4)"},"9866":{"sourceObj":{"__isSmartRef__":true,"id":9808},"sourceAttrName":"name","targetObj":{"__isSmartRef__":true,"id":9809},"targetMethodName":"updateLabel","varMapping":{"__isSmartRef__":true,"id":9867},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9867":{"source":{"__isSmartRef__":true,"id":9808},"target":{"__isSmartRef__":true,"id":9809}},"9868":{"sourceObj":{"__isSmartRef__":true,"id":9808},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":9807},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9869},"dependedBy":{"__isSmartRef__":true,"id":9807},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9869":{"source":{"__isSmartRef__":true,"id":9808},"target":{"__isSmartRef__":true,"id":9807}},"9870":{"sourceObj":{"__isSmartRef__":true,"id":9808},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":9807},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9871},"dependedBy":{"__isSmartRef__":true,"id":9807},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9871":{"source":{"__isSmartRef__":true,"id":9808},"target":{"__isSmartRef__":true,"id":9807}},"9872":{"sourceObj":{"__isSmartRef__":true,"id":9808},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":9807},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9873},"dependedBy":{"__isSmartRef__":true,"id":9807},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9873":{"source":{"__isSmartRef__":true,"id":9808},"target":{"__isSmartRef__":true,"id":9807}},"9874":{"sourceObj":{"__isSmartRef__":true,"id":9808},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":9807},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":9875},"dependedBy":{"__isSmartRef__":true,"id":9807},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9875":{"source":{"__isSmartRef__":true,"id":9808},"target":{"__isSmartRef__":true,"id":9807}},"9876":{"sourceObj":{"__isSmartRef__":true,"id":9808},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":3413},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":9877},"dependendConnections":[{"__isSmartRef__":true,"id":9878},{"__isSmartRef__":true,"id":9880},{"__isSmartRef__":true,"id":9882},{"__isSmartRef__":true,"id":9884},{"__isSmartRef__":true,"id":9886},{"__isSmartRef__":true,"id":9888},{"__isSmartRef__":true,"id":9890},{"__isSmartRef__":true,"id":9892}],"oldTransform":{"__isSmartRef__":true,"id":9894},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"9877":{"source":{"__isSmartRef__":true,"id":9808},"target":{"__isSmartRef__":true,"id":3413}},"9878":{"sourceObj":{"__isSmartRef__":true,"id":9808},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":9876},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9879},"dependedBy":{"__isSmartRef__":true,"id":9876},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9879":{"source":{"__isSmartRef__":true,"id":9808},"target":{"__isSmartRef__":true,"id":9876}},"9880":{"sourceObj":{"__isSmartRef__":true,"id":9808},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":9876},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9881},"dependedBy":{"__isSmartRef__":true,"id":9876},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9881":{"source":{"__isSmartRef__":true,"id":9808},"target":{"__isSmartRef__":true,"id":9876}},"9882":{"sourceObj":{"__isSmartRef__":true,"id":9808},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":9876},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9883},"dependedBy":{"__isSmartRef__":true,"id":9876},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9883":{"source":{"__isSmartRef__":true,"id":9808},"target":{"__isSmartRef__":true,"id":9876}},"9884":{"sourceObj":{"__isSmartRef__":true,"id":9808},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":9876},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":9885},"dependedBy":{"__isSmartRef__":true,"id":9876},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9885":{"source":{"__isSmartRef__":true,"id":9808},"target":{"__isSmartRef__":true,"id":9876}},"9886":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":9876},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9887},"dependedBy":{"__isSmartRef__":true,"id":9876},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9887":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":9876}},"9888":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":9876},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9889},"dependedBy":{"__isSmartRef__":true,"id":9876},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9889":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":9876}},"9890":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":9876},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9891},"dependedBy":{"__isSmartRef__":true,"id":9876},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9891":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":9876}},"9892":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":9876},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":9893},"dependedBy":{"__isSmartRef__":true,"id":9876},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9893":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":9876}},"9894":{"d":0.9999216420017616,"a":0.9999216420017616,"f":146.7,"e":314.7,"c":-0.012518380745633573,"b":0.012518380745633573,"matrix_":{"__isSmartRef__":true,"id":9895},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"9895":{"a":0.9999216420017616,"b":0.012518380745633573,"c":-0.012518380745633573,"d":0.9999216420017616,"e":314.7,"f":146.7,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"9896":{"sourceObj":{"__isSmartRef__":true,"id":9808},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":3590},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":9897},"dependendConnections":[{"__isSmartRef__":true,"id":9898},{"__isSmartRef__":true,"id":9900},{"__isSmartRef__":true,"id":9902},{"__isSmartRef__":true,"id":9904},{"__isSmartRef__":true,"id":9906},{"__isSmartRef__":true,"id":9908},{"__isSmartRef__":true,"id":9910},{"__isSmartRef__":true,"id":9912}],"oldTransform":{"__isSmartRef__":true,"id":9914},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"9897":{"source":{"__isSmartRef__":true,"id":9808},"target":{"__isSmartRef__":true,"id":3590}},"9898":{"sourceObj":{"__isSmartRef__":true,"id":9808},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":9896},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9899},"dependedBy":{"__isSmartRef__":true,"id":9896},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9899":{"source":{"__isSmartRef__":true,"id":9808},"target":{"__isSmartRef__":true,"id":9896}},"9900":{"sourceObj":{"__isSmartRef__":true,"id":9808},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":9896},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9901},"dependedBy":{"__isSmartRef__":true,"id":9896},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9901":{"source":{"__isSmartRef__":true,"id":9808},"target":{"__isSmartRef__":true,"id":9896}},"9902":{"sourceObj":{"__isSmartRef__":true,"id":9808},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":9896},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9903},"dependedBy":{"__isSmartRef__":true,"id":9896},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9903":{"source":{"__isSmartRef__":true,"id":9808},"target":{"__isSmartRef__":true,"id":9896}},"9904":{"sourceObj":{"__isSmartRef__":true,"id":9808},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":9896},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":9905},"dependedBy":{"__isSmartRef__":true,"id":9896},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9905":{"source":{"__isSmartRef__":true,"id":9808},"target":{"__isSmartRef__":true,"id":9896}},"9906":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":9896},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9907},"dependedBy":{"__isSmartRef__":true,"id":9896},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9907":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":9896}},"9908":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":9896},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9909},"dependedBy":{"__isSmartRef__":true,"id":9896},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9909":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":9896}},"9910":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":9896},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":9911},"dependedBy":{"__isSmartRef__":true,"id":9896},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9911":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":9896}},"9912":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":9896},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":9913},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","dependedBy":{"__isSmartRef__":true,"id":9896},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9913":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":9896}},"9914":{"d":0.9999216420017616,"a":0.9999216420017616,"f":146.7,"e":314.7,"c":-0.012518380745633573,"b":0.012518380745633573,"matrix_":{"__isSmartRef__":true,"id":9915},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"9915":{"a":0.9999216420017616,"b":0.012518380745633573,"c":-0.012518380745633573,"d":0.9999216420017616,"e":314.7,"f":146.7,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"9916":{"globalShapePath":{"__isSmartRef__":true,"id":9917},"lineIntersect":{"__isSmartRef__":true,"id":9920},"intersectLine":{"__isSmartRef__":true,"id":9924},"intersectLineMorph":{"__isSmartRef__":true,"id":9927}},"9917":{"varMapping":{"__isSmartRef__":true,"id":9918},"source":"function globalShapePath() {\n var b = this.shape.bounds();\n var p1 = this.worldPoint(b.topLeft()),\n p2 = this.worldPoint(b.topRight()),\n p3 = this.worldPoint(b.bottomRight()),\n p4 = this.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":9919},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9918":{"this":{"__isSmartRef__":true,"id":9808}},"9919":{},"9920":{"varMapping":{"__isSmartRef__":true,"id":9921},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":9922},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9921":{"this":{"__isSmartRef__":true,"id":9808}},"9922":{"timestamp":{"__isSmartRef__":true,"id":9923},"user":"jenslincke","tags":[]},"9923":{"isSerializedDate":true,"string":"Thu Dec 13 2012 13:42:55 GMT+0100 (CET)"},"9924":{"varMapping":{"__isSmartRef__":true,"id":9925},"source":"function intersectLine(a1, a2) {\n var points = this.globalShapePath();\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":9926},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9925":{"this":{"__isSmartRef__":true,"id":9808}},"9926":{},"9927":{"varMapping":{"__isSmartRef__":true,"id":9928},"source":"function intersectLineMorph(m) {\n return this.intersectLine(m.controlPoints[0].getGlobalPos(), m.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":9929},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9928":{"this":{"__isSmartRef__":true,"id":9808}},"9929":{},"9930":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":9931},"id":"4809CC50-2A92-4A4F-9D0D-829B6BA12A0B","eventHandler":{"__isSmartRef__":true,"id":9934},"__layered_droppingEnabled__":true,"halosEnabled":true,"isBeingDragged":false,"controlPoints":[{"__isSmartRef__":true,"id":9935},{"__isSmartRef__":true,"id":9936}],"showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":9937},"name":"Connector1","derivationIds":[731,"5E6BD741-9C99-47B9-95C1-7A028178DB17","A8D5C37A-F23F-47FE-8DE2-211CE4484A4F","F722069B-8602-4E8D-BE3F-92A1E0C0EF28","D5ED19F9-968E-4C7E-9936-69F2735A813F","A9E370BC-F208-425C-BFFC-F8D6BB52E11F","4E431641-D056-46CB-B2A8-6626382EF423"],"_ClipMode":"visible","controlPointsHalos":[],"prevScroll":[0,0],"grabbingEnabled":false,"moved":true,"#startLetters":"controlPoints[0]","fromMorph":{"__isSmartRef__":true,"id":9943},"toMorph":{"__isSmartRef__":true,"id":9808},"update":{"__isSmartRef__":true,"id":10152},"isCopyMorphRef":true,"morphRefId":2,"selectedMorph":{"__isSmartRef__":true,"id":9808},"selectedMorphHighlights":[],"owner":null,"_Rotation":0,"_Scale":1,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":10154},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","distanceToDragEvent":"lively.pt(295.7,-20.8)","_Position":"lively.pt(10527.5,52997.9)"},"9931":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":9932},{"__isSmartRef__":true,"id":9933}],"_ClipMode":"visible","_BorderWidth":3.1119999999999997,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Padding","_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(-75.9,-6.9)","_Extent":"lively.pt(151.7,13.9)","_BorderColor":"Color.rgb(161,161,161)"},"9932":{"isAbsolute":true,"x":74.86198803712648,"y":-4.949983532278566,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"9933":{"isAbsolute":true,"x":-73.86198803712614,"y":5.949983532282204,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"9934":{"morph":{"__isSmartRef__":true,"id":9930},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"9935":{"morph":{"__isSmartRef__":true,"id":9930},"index":0,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"9936":{"morph":{"__isSmartRef__":true,"id":9930},"index":1,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"9937":{"requiredModules":[],"migrationLevel":4,"partsSpaceName":"PartsBin/Jens/","comment":"Yes, I think I got it again: Powerful and nice connectors.\nThis time 100 % Part only!","partName":"Connector","lastModifiedDate":{"__isSmartRef__":true,"id":9938},"revisionOnLoad":186829,"changes":[{"__isSmartRef__":true,"id":9939},{"__isSmartRef__":true,"id":9941}],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"9938":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:04:50 GMT+0100 (CET)"},"9939":{"date":{"__isSmartRef__":true,"id":9940},"author":"jenslincke","message":"no comment","id":"28165CED-C8C5-4B8E-9655-645E3F5099BB"},"9940":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:42 GMT+0100 (CET)"},"9941":{"date":{"__isSmartRef__":true,"id":9942},"author":"jenslincke","message":"no comment","id":"117C964B-9768-48F2-8EC8-D4328478198F"},"9942":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:05:07 GMT+0100 (CET)"},"9943":{"submorphs":[{"__isSmartRef__":true,"id":9944}],"scripts":[],"id":"7D787261-FDA4-4DCD-ACA3-699C8F2DB8DC","shape":{"__isSmartRef__":true,"id":9968},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"A","partsBinMetaInfo":{"__isSmartRef__":true,"id":9969},"eventHandler":{"__isSmartRef__":true,"id":9987},"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","BBAFB862-93AE-4F89-BCFF-9F1C67B7FE4C","7EC17E78-593A-4CC8-B7E3-859BCBBFE785","FDB06D4A-9F4E-4B8C-A67C-671A9583EFE8","1C80FDE1-05C0-4148-9AD8-33C88667084C","5059E383-6BE3-4AD3-A9C4-89DA9D8D5E99","5B810AFE-E692-4EB4-A695-ABB4A95CEA39","BFFEF617-9B97-45D4-A541-8E33A6A17485","A10BBA48-4AD1-425A-AC7B-2F5515CE56F5"],"partTests":{"__isSmartRef__":true,"id":9988},"_ClipMode":"visible","moved":true,"isBeingDragged":false,"magnets":[{"__isSmartRef__":true,"id":9993},{"__isSmartRef__":true,"id":9994},{"__isSmartRef__":true,"id":9995},{"__isSmartRef__":true,"id":9996},{"__isSmartRef__":true,"id":9997},{"__isSmartRef__":true,"id":9998},{"__isSmartRef__":true,"id":9999},{"__isSmartRef__":true,"id":10000}],"attributeConnections":[{"__isSmartRef__":true,"id":10001},{"__isSmartRef__":true,"id":10003},{"__isSmartRef__":true,"id":10116},{"__isSmartRef__":true,"id":10118},{"__isSmartRef__":true,"id":10120},{"__isSmartRef__":true,"id":10122},{"__isSmartRef__":true,"id":10126},{"__isSmartRef__":true,"id":10128},{"__isSmartRef__":true,"id":10130},{"__isSmartRef__":true,"id":10132},{"__isSmartRef__":true,"id":10134}],"doNotSerialize":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"doNotCopyProperties":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"isCopyMorphRef":true,"morphRefId":1,"prevScroll":[0,0],"_Scale":0.9999999999999998,"_Rotation":-0.3632069088060458,"owner":null,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":10138},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","distanceToDragEvent":"lively.pt(89.3,-51.8)","_Position":"lively.pt(691.6,129.6)"},"9944":{"submorphs":[],"scripts":[],"id":"4BDF3799-4F08-4112-BD4C-91BAB858A860","shape":{"__isSmartRef__":true,"id":9945},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":180.8018403394826,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":19,"name":"NameLabel2","partsBinMetaInfo":{"__isSmartRef__":true,"id":9946},"textChunks":[{"__isSmartRef__":true,"id":9948}],"charsReplaced":"C1","lastFindLoc":2,"prevScroll":[0,0],"attributeConnections":[{"__isSmartRef__":true,"id":9950},{"__isSmartRef__":true,"id":9951}],"doNotSerialize":["$$owner","$$savedTextString"],"doNotCopyProperties":["$$owner","$$savedTextString"],"isInputLine":true,"savedTextString":"A","eventHandler":{"__isSmartRef__":true,"id":9952},"derivationIds":[7027,"331C6367-0699-4BD6-9916-ABA82517453B","BEAA7850-FEFB-4AFD-9E06-730FF35D99A4","559B0B8A-5C01-4133-88B2-0D08385E23F6","BE195383-D309-4B6E-A6B0-79A6112B4011","E323F75A-232F-4712-9A03-20C8FD574C9A","E6E38336-AA2D-4F75-80C1-B1617DD8544E","DAFCD826-DF9B-4DEF-B4D7-59AAED8D199D","3999CB16-D9E3-4D28-A617-9B093624E8AC"],"_WhiteSpaceHandling":"pre-wrap","_ClipMode":"visible","moved":true,"isBeingDragged":false,"_WordBreak":"break-all","magnets":[{"__isSmartRef__":true,"id":9953},{"__isSmartRef__":true,"id":9954},{"__isSmartRef__":true,"id":9955},{"__isSmartRef__":true,"id":9956},{"__isSmartRef__":true,"id":9957},{"__isSmartRef__":true,"id":9958},{"__isSmartRef__":true,"id":9959},{"__isSmartRef__":true,"id":9960}],"_PreviousBorderWidth":1,"owner":{"__isSmartRef__":true,"id":9943},"oldOwner":{"__isSmartRef__":true,"id":9943},"priorSelectionRange":[1,1],"_Rotation":0,"_Scale":0.9999999999999997,"__serializedExpressions__":["textColor","distanceToDragEvent","_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":9961},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(31.1,-9.9)","_TextColor":"Color.rgb(255,143,0)","_Position":"lively.pt(34.8,36.8)"},"9945":{"fill":null,"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(42.8,29.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"9946":{"migrationLevel":2,"comment":"Label that shows the name of a morph. Updates automatically.","partName":"NameLabel","lastModifiedDate":{"__isSmartRef__":true,"id":9947},"revisionOnLoad":140039,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"9947":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (CEST)"},"9948":{"style":{"__isSmartRef__":true,"id":9949},"chunkOwner":{"__isSmartRef__":true,"id":9944},"_id":"_22384","storedString":"A","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"9949":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"9950":{"sourceObj":{"__isSmartRef__":true,"id":9944},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":9944},"targetMethodName":"updateLabel","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9951":{"sourceObj":{"__isSmartRef__":true,"id":9944},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":9944},"targetMethodName":"renameOwner","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"9952":{"morph":{"__isSmartRef__":true,"id":9944},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"9953":{"morph":{"__isSmartRef__":true,"id":9944},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(726.1,3497.3)"},"9954":{"morph":{"__isSmartRef__":true,"id":9944},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(746.1,3489.7)"},"9955":{"morph":{"__isSmartRef__":true,"id":9944},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(766.1,3482.1)"},"9956":{"morph":{"__isSmartRef__":true,"id":9944},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(771.3,3495.6)"},"9957":{"morph":{"__isSmartRef__":true,"id":9944},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(776.4,3509.2)"},"9958":{"morph":{"__isSmartRef__":true,"id":9944},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(756.4,3516.8)"},"9959":{"morph":{"__isSmartRef__":true,"id":9944},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(736.4,3524.4)"},"9960":{"morph":{"__isSmartRef__":true,"id":9944},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(731.2,3510.8)"},"9961":{"updateLabel":{"__isSmartRef__":true,"id":9962},"renameOwner":{"__isSmartRef__":true,"id":9965}},"9962":{"varMapping":{"__isSmartRef__":true,"id":9963},"source":"function updateLabel() {\n\t// observe name changes in owner\n\tif (this.owner !== this.oldOwner) {\n\t\tif (this.oldOwner)\n\t\t\tdisconnect(this.oldOwner, 'name', this, 'updateLabel')\n\t\tif (this.owner)\n\t\t\tconnect(this.owner, 'name', this, 'updateLabel')\n\t\tthis.oldOwner = this.owner\n\t}\n\tvar name = (this.owner ? this.owner.name : \"no owner\")\n\tif (this.textString != name)\n\tthis.setTextString(name)\n}","funcProperties":{"__isSmartRef__":true,"id":9964},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9963":{"this":{"__isSmartRef__":true,"id":9944}},"9964":{},"9965":{"varMapping":{"__isSmartRef__":true,"id":9966},"source":"function renameOwner(name) {\n\tif (this.owner && this.owner.name != name) {\n\t\talertOK(\"renamed \" + this.owner + \" to \" + name)\n\t\tthis.owner.setName(name);\n\t}\n}","funcProperties":{"__isSmartRef__":true,"id":9967},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9966":{"this":{"__isSmartRef__":true,"id":9944}},"9967":{},"9968":{"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(116.7,82.3)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgba(204,204,204,0.5)","_Padding":"lively.rect(0,0,0,0)"},"9969":{"partsSpaceName":"PartsBin/Basic","comment":"A simple box morph. A really orange one. Its amazing what you can build out of simple boxes.... Who needs stars when you got orange rectangles!","migrationLevel":4,"partName":"Rectangle","changes":[{"__isSmartRef__":true,"id":9970},{"__isSmartRef__":true,"id":9972},{"__isSmartRef__":true,"id":9974},{"__isSmartRef__":true,"id":9976},{"__isSmartRef__":true,"id":9978},{"__isSmartRef__":true,"id":9980},{"__isSmartRef__":true,"id":9982},{"__isSmartRef__":true,"id":9984}],"lastModifiedDate":{"__isSmartRef__":true,"id":9986},"revisionOnLoad":184624,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"9970":{"date":{"__isSmartRef__":true,"id":9971},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"9971":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"9972":{"date":{"__isSmartRef__":true,"id":9973},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"9973":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"9974":{"date":{"__isSmartRef__":true,"id":9975},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"9975":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"9976":{"date":{"__isSmartRef__":true,"id":9977},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"9977":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"9978":{"date":{"__isSmartRef__":true,"id":9979},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"9979":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"9980":{"date":{"__isSmartRef__":true,"id":9981},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"9981":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"9982":{"date":{"__isSmartRef__":true,"id":9983},"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8"},"9983":{"isSerializedDate":true,"string":"Mon Jun 18 2012 19:35:08 GMT+0200 (CEST)"},"9984":{"date":{"__isSmartRef__":true,"id":9985},"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205"},"9985":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:35:51 GMT+0100 (CET)"},"9986":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:33:25 GMT+0100 (CET)"},"9987":{"morph":{"__isSmartRef__":true,"id":9943},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"9988":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":9989}},"9989":{"test01IsMorph":{"__isSmartRef__":true,"id":9990}},"9990":{"varMapping":{"__isSmartRef__":true,"id":9991},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":9992},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9991":{"this":{"__isSmartRef__":true,"id":9988}},"9992":{},"9993":{"morph":{"__isSmartRef__":true,"id":9943},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(680.5,3475.2)"},"9994":{"morph":{"__isSmartRef__":true,"id":9943},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(735.0,3454.5)"},"9995":{"morph":{"__isSmartRef__":true,"id":9943},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(789.6,3433.8)"},"9996":{"morph":{"__isSmartRef__":true,"id":9943},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(804.2,3472.2)"},"9997":{"morph":{"__isSmartRef__":true,"id":9943},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(818.8,3510.7)"},"9998":{"morph":{"__isSmartRef__":true,"id":9943},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(764.3,3531.4)"},"9999":{"morph":{"__isSmartRef__":true,"id":9943},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(709.7,3552.2)"},"10000":{"morph":{"__isSmartRef__":true,"id":9943},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(695.1,3513.7)"},"10001":{"sourceObj":{"__isSmartRef__":true,"id":9943},"sourceAttrName":"name","targetObj":{"__isSmartRef__":true,"id":9944},"targetMethodName":"updateLabel","varMapping":{"__isSmartRef__":true,"id":10002},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10002":{"source":{"__isSmartRef__":true,"id":9943},"target":{"__isSmartRef__":true,"id":9944}},"10003":{"sourceObj":{"__isSmartRef__":true,"id":9943},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":10004},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":10115},"dependendConnections":[{"__isSmartRef__":true,"id":10116},{"__isSmartRef__":true,"id":10118},{"__isSmartRef__":true,"id":10120},{"__isSmartRef__":true,"id":10122}],"oldTransform":{"__isSmartRef__":true,"id":10124},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"10004":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":10005},"id":"E083C82B-2BC4-42CB-B3A2-773909175FCB","eventHandler":{"__isSmartRef__":true,"id":10008},"__layered_droppingEnabled__":true,"halosEnabled":true,"isBeingDragged":false,"controlPoints":[{"__isSmartRef__":true,"id":10009},{"__isSmartRef__":true,"id":10011}],"showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":10012},"name":"Line4","derivationIds":[731,"5E6BD741-9C99-47B9-95C1-7A028178DB17","A8D5C37A-F23F-47FE-8DE2-211CE4484A4F","F722069B-8602-4E8D-BE3F-92A1E0C0EF28","D5ED19F9-968E-4C7E-9936-69F2735A813F","A9E370BC-F208-425C-BFFC-F8D6BB52E11F","4E431641-D056-46CB-B2A8-6626382EF423"],"_ClipMode":"visible","controlPointsHalos":[],"prevScroll":[0,0],"grabbingEnabled":false,"moved":true,"#startLetters":"controlPoints[0]","fromMorph":{"__isSmartRef__":true,"id":9943},"update":{"__isSmartRef__":true,"id":10016},"isCopyMorphRef":true,"morphRefId":2,"selectedMorph":{"__isSmartRef__":true,"id":9943},"selectedMorphHighlights":[],"_Scale":1,"_Rotation":0,"owner":null,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":10018},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","distanceToDragEvent":"lively.pt(295.7,-20.8)","_Position":"lively.pt(376.1,57.6)"},"10005":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":10006},{"__isSmartRef__":true,"id":10007}],"_ClipMode":"visible","_BorderWidth":3.1119999999999997,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Padding","_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(50.5,3.2)","_Extent":"lively.pt(114.5,3494.5)","_BorderColor":"Color.rgb(161,161,161)"},"10006":{"isAbsolute":true,"x":163.9502839188006,"y":3496.6991261017115,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"10007":{"isAbsolute":true,"x":52.46197348862387,"y":5.223542983087555,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"10008":{"morph":{"__isSmartRef__":true,"id":10004},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"10009":{"morph":{"__isSmartRef__":true,"id":10004},"index":0,"connectedMagnet":{"__isSmartRef__":true,"id":10010},"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"10010":{"morph":{"__isSmartRef__":true,"id":2999},"connectedControlPoints":[{"__isSmartRef__":true,"id":10009}],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(164.0,3496.7)"},"10011":{"morph":{"__isSmartRef__":true,"id":10004},"index":1,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"10012":{"requiredModules":[],"migrationLevel":4,"partsSpaceName":"PartsBin/Jens/","comment":"a line","partName":"Connector","lastModifiedDate":{"__isSmartRef__":true,"id":10013},"revisionOnLoad":186528,"changes":[{"__isSmartRef__":true,"id":10014}],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"10013":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:18 GMT+0100 (CET)"},"10014":{"date":{"__isSmartRef__":true,"id":10015},"author":"jenslincke","message":"no comment","id":"28165CED-C8C5-4B8E-9655-645E3F5099BB"},"10015":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:42 GMT+0100 (CET)"},"10016":{"d":1,"a":1,"f":906.1,"e":107.8,"c":0,"b":0,"matrix_":{"__isSmartRef__":true,"id":10017},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"10017":{"a":1,"b":0,"c":0,"d":1,"e":107.8,"f":906.1,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"10018":{"connect":{"__isSmartRef__":true,"id":10019},"updatePosition":{"__isSmartRef__":true,"id":10023},"updateControlPoint":{"__isSmartRef__":true,"id":10027},"disconnectMorph":{"__isSmartRef__":true,"id":10031},"connectMorph":{"__isSmartRef__":true,"id":10035},"onMouseOver":{"__isSmartRef__":true,"id":10039},"onMouseOut":{"__isSmartRef__":true,"id":10043},"makeHandle":{"__isSmartRef__":true,"id":10051},"showFromHandle":{"__isSmartRef__":true,"id":10055},"showToHandle":{"__isSmartRef__":true,"id":10059},"reset":{"__isSmartRef__":true,"id":10063},"onDragInHandle":{"__isSmartRef__":true,"id":10067},"onDragStartInHandle":{"__isSmartRef__":true,"id":10071},"onDragEndInHandle":{"__isSmartRef__":true,"id":10075},"connectFrom":{"__isSmartRef__":true,"id":10079},"connectTo":{"__isSmartRef__":true,"id":10083},"hideToHandle":{"__isSmartRef__":true,"id":10087},"hideFromHandle":{"__isSmartRef__":true,"id":10091},"updateIntersection":{"__isSmartRef__":true,"id":10095},"lineIntersect":{"__isSmartRef__":true,"id":10099},"intersectMorphLinePoints":{"__isSmartRef__":true,"id":10103},"intersectMorph":{"__isSmartRef__":true,"id":10107},"globalShapePathFromMorph":{"__isSmartRef__":true,"id":10111}},"10019":{"varMapping":{"__isSmartRef__":true,"id":10020},"source":"function connect(morphA, morphB) {\n this.connectFrom(morphA)\n this.connectTo(morphB)\n this.updatePosition()\n}","funcProperties":{"__isSmartRef__":true,"id":10021},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10020":{"this":{"__isSmartRef__":true,"id":10004}},"10021":{"timestamp":{"__isSmartRef__":true,"id":10022},"user":"jenslincke","tags":[]},"10022":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:50:49 GMT+0100 (CET)"},"10023":{"varMapping":{"__isSmartRef__":true,"id":10024},"source":"function updatePosition() {\n this.updateControlPoint(this.controlPoints[0], this.fromMorph)\n this.updateControlPoint(this.controlPoints[1], this.toMorph)\n this.updateIntersection(this.fromMorph, this.controlPoints[0])\n this.updateIntersection(this.toMorph, this.controlPoints[1])\n\n if (this.controlPoints[0].getPos().equalPt(this.controlPoints[1].getPos()))\n this.controlPoints[1].setPos(this.controlPoints[1].getPos().addPt(pt(30,0)))\n\n this.adjustOrigin(this.bounds().extent().scaleBy(0.5))\n \n}","funcProperties":{"__isSmartRef__":true,"id":10025},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10024":{"this":{"__isSmartRef__":true,"id":10004}},"10025":{"timestamp":{"__isSmartRef__":true,"id":10026},"user":"jenslincke","tags":[]},"10026":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:59:26 GMT+0100 (CET)"},"10027":{"varMapping":{"__isSmartRef__":true,"id":10028},"source":"function updateControlPoint(cp, morph) {\n if (!cp || !morph) return;\n cp.setGlobalPos(morph.worldPoint(morph.shape.bounds().center()))\n}","funcProperties":{"__isSmartRef__":true,"id":10029},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10028":{"this":{"__isSmartRef__":true,"id":10004}},"10029":{"timestamp":{"__isSmartRef__":true,"id":10030},"user":"jenslincke","tags":[]},"10030":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:45:56 GMT+0100 (CET)"},"10031":{"varMapping":{"__isSmartRef__":true,"id":10032},"source":"function disconnectMorph(morph) {\n if (!morph) return;\n lively.bindings.disconnect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":10033},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10032":{"this":{"__isSmartRef__":true,"id":10004}},"10033":{"timestamp":{"__isSmartRef__":true,"id":10034},"user":"jenslincke","tags":[]},"10034":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:19:18 GMT+0100 (CET)"},"10035":{"varMapping":{"__isSmartRef__":true,"id":10036},"source":"function connectMorph(morph) {\n if (morph)\n lively.bindings.connect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":10037},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10036":{"this":{"__isSmartRef__":true,"id":10004}},"10037":{"timestamp":{"__isSmartRef__":true,"id":10038},"user":"jenslincke","tags":[]},"10038":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:52:12 GMT+0100 (CET)"},"10039":{"varMapping":{"__isSmartRef__":true,"id":10040},"source":"function onMouseOver(evt) {\n var p = evt.mousePoint.scaleBy(this.world().getScale())\n\n var cp1 = this.controlPoints[0].getGlobalPos();\n if (p.dist(cp1) < 20) {\n this.showFromHandle()\n } else {\n this.hideFromHandle()\n }\n var cp2 = this.controlPoints[1].getGlobalPos();\n if (p.dist(cp2) < 20) {\n this.showToHandle()\n } else {\n this.hideToHandle()\n }\n}","funcProperties":{"__isSmartRef__":true,"id":10041},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10040":{"this":{"__isSmartRef__":true,"id":10004}},"10041":{"timestamp":{"__isSmartRef__":true,"id":10042},"user":"jenslincke","tags":[]},"10042":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:23:03 GMT+0100 (CET)"},"10043":{"varMapping":{"__isSmartRef__":true,"id":10044},"source":"function onMouseOut(evt) {\n // this.hideFromHandle()\n // this.hideToHandle()\n}","funcProperties":{"__isSmartRef__":true,"id":10049},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10044":{"this":{"__isSmartRef__":true,"id":10004},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":10045}},"10045":{"$super":{"__isSmartRef__":true,"id":10046}},"10046":{"varMapping":{"__isSmartRef__":true,"id":10047},"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":10048},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10047":{"obj":{"__isSmartRef__":true,"id":10004},"name":"onMouseOut"},"10048":{},"10049":{"timestamp":{"__isSmartRef__":true,"id":10050},"user":"jenslincke","tags":[]},"10050":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:54:53 GMT+0100 (CET)"},"10051":{"varMapping":{"__isSmartRef__":true,"id":10052},"source":"function makeHandle() {\n var m = lively.morphic.Morph.makeRectangle(0,0,10,10);\n m.disableGrabbing()\n m.enableDragging()\n m.connector = this;\n // move real behavior to a place which is easier to develop\n // do not use bind, because we like late binding \n m.addScript(function onDragStart(evt) {\n this.connector.onDragStartInHandle(this, evt)\n })\n m.addScript(function onDrag(evt) {\n this.connector.onDragInHandle(this, evt)\n })\n m.addScript(function onDragEnd(evt) {\n this.connector.onDragEndInHandle(this, evt)\n })\n m.isEpiMorph = true;\n return m\n}","funcProperties":{"__isSmartRef__":true,"id":10053},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10052":{"this":{"__isSmartRef__":true,"id":10004}},"10053":{"timestamp":{"__isSmartRef__":true,"id":10054},"user":"jenslincke","tags":[]},"10054":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:08:29 GMT+0100 (CET)"},"10055":{"varMapping":{"__isSmartRef__":true,"id":10056},"source":"function showFromHandle() {\n if (!this.fromHandle) {\n this.fromHandle = this.makeHandle();\n this.fromHandle.setFill(Color.red)\n this.fromHandle.isFromHandle = true;\n }\n this.fromHandle.openInWorld();\n this.fromHandle.controlPoint = this.controlPoints[0];\n this.fromHandle.setPosition(this.controlPoints[0].getGlobalPos().subPt(pt(5,5)))\n return this.fromHandle\n}","funcProperties":{"__isSmartRef__":true,"id":10057},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10056":{"this":{"__isSmartRef__":true,"id":10004}},"10057":{"timestamp":{"__isSmartRef__":true,"id":10058},"user":"jenslincke","tags":[]},"10058":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:13:03 GMT+0100 (CET)"},"10059":{"varMapping":{"__isSmartRef__":true,"id":10060},"source":"function showToHandle() {\n if (!this.toHandle) {\n this.toHandle = this.makeHandle();\n this.toHandle.setFill(Color.red)\n this.toHandle.isToHandle = true;\n\n }\n this.toHandle.openInWorld();\n this.toHandle.controlPoint = this.controlPoints[1];\n this.toHandle.setPosition(this.controlPoints[1].getGlobalPos().subPt(pt(5,5)))\n return this.toHandle\n}","funcProperties":{"__isSmartRef__":true,"id":10061},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10060":{"this":{"__isSmartRef__":true,"id":10004}},"10061":{"timestamp":{"__isSmartRef__":true,"id":10062},"user":"jenslincke","tags":[]},"10062":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:20:25 GMT+0100 (CET)"},"10063":{"varMapping":{"__isSmartRef__":true,"id":10064},"source":"function reset() {\n if (this.fromHandle) {\n this.fromHandle.remove()\n delete this.fromHandle\n }\n if (this.toHandle) {\n this.toHandle.remove()\n delete this.toHandle\n }\n // this.controlPoints[1].setPos(pt(200,200))\n}","funcProperties":{"__isSmartRef__":true,"id":10065},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10064":{"this":{"__isSmartRef__":true,"id":10004}},"10065":{"timestamp":{"__isSmartRef__":true,"id":10066},"user":"jenslincke","tags":[]},"10066":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:15:00 GMT+0100 (CET)"},"10067":{"varMapping":{"__isSmartRef__":true,"id":10068},"source":"function onDragInHandle(handle, evt) {\n\n var pos = handle.getPositionInWorld();\n var delta = evt.hand.getPosition().subPt(pos);\n handle.moveBy(delta)\n pos = handle.getPositionInWorld();\n if (handle.controlPoint)\n handle.controlPoint.setGlobalPos(pos.addPt(pt(5,5)))\n var morphs = this.owner.morphsContainingPoint(pos)\n morphs = morphs.reject(function(ea) {\n return ea.isWorld || (ea === handle) || (ea === this) || \n (ea === this.owner)\n }, this)\n this.get('Console').textString = morphs\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n this.selectedMorph = morphs.first();\n this.selectedMorphHighlights = show(this.selectedMorph)\n handle.startPos = evt.getPosition();\n}","funcProperties":{"__isSmartRef__":true,"id":10069},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10068":{"this":{"__isSmartRef__":true,"id":10004}},"10069":{"timestamp":{"__isSmartRef__":true,"id":10070},"user":"jenslincke","tags":[]},"10070":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:09:40 GMT+0100 (CET)"},"10071":{"varMapping":{"__isSmartRef__":true,"id":10072},"source":"function onDragStartInHandle(handle, evt) {\n handle.startPos = evt.getPosition()\n}","funcProperties":{"__isSmartRef__":true,"id":10073},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10072":{"this":{"__isSmartRef__":true,"id":10004}},"10073":{"timestamp":{"__isSmartRef__":true,"id":10074},"user":"jenslincke","tags":[]},"10074":{"isSerializedDate":true,"string":"Thu Dec 13 2012 15:51:13 GMT+0100 (CET)"},"10075":{"varMapping":{"__isSmartRef__":true,"id":10076},"source":"function onDragEndInHandle(handle, evt) {\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n \n if (handle.isFromHandle) this.connectFrom(this.selectedMorph)\n if (handle.isToHandle) this.connectTo(this.selectedMorph)\n handle.remove()\n}","funcProperties":{"__isSmartRef__":true,"id":10077},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10076":{"this":{"__isSmartRef__":true,"id":10004}},"10077":{"timestamp":{"__isSmartRef__":true,"id":10078},"user":"jenslincke","tags":[]},"10078":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:44:35 GMT+0100 (CET)"},"10079":{"varMapping":{"__isSmartRef__":true,"id":10080},"source":"function connectFrom(morph) {\n if (morph === this.toMorph) return; // not allowed\n\n this.disconnectMorph(this.fromMorph)\n this.fromMorph = morph;\n this.connectMorph(this.fromMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":10081},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10080":{"this":{"__isSmartRef__":true,"id":10004}},"10081":{"timestamp":{"__isSmartRef__":true,"id":10082},"user":"jenslincke","tags":[]},"10082":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:57:22 GMT+0100 (CET)"},"10083":{"varMapping":{"__isSmartRef__":true,"id":10084},"source":"function connectTo(morph) {\n\n if (morph === this.fromMorph) return; // not allowed\n\n this.disconnectMorph(this.toMorph)\n this.toMorph = morph;\n this.connectMorph(this.toMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":10085},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10084":{"this":{"__isSmartRef__":true,"id":10004}},"10085":{"timestamp":{"__isSmartRef__":true,"id":10086},"user":"jenslincke","tags":[]},"10086":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:57:14 GMT+0100 (CET)"},"10087":{"varMapping":{"__isSmartRef__":true,"id":10088},"source":"function hideToHandle() {\n if (this.toHandle) {\n this.toHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":10089},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10088":{"this":{"__isSmartRef__":true,"id":10004}},"10089":{"timestamp":{"__isSmartRef__":true,"id":10090},"user":"jenslincke","tags":[]},"10090":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:51:59 GMT+0100 (CET)"},"10091":{"varMapping":{"__isSmartRef__":true,"id":10092},"source":"function hideFromHandle() {\n if (this.fromHandle) {\n this.fromHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":10093},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10092":{"this":{"__isSmartRef__":true,"id":10004}},"10093":{"timestamp":{"__isSmartRef__":true,"id":10094},"user":"jenslincke","tags":[]},"10094":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:52:18 GMT+0100 (CET)"},"10095":{"varMapping":{"__isSmartRef__":true,"id":10096},"source":"function updateIntersection(morph, cp) {\n if (!morph) return;\n var intersection = this.intersectMorph(morph)[0];\n if (intersection) {\n cp.setGlobalPos(intersection);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":10097},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10096":{"this":{"__isSmartRef__":true,"id":10004}},"10097":{"timestamp":{"__isSmartRef__":true,"id":10098},"user":"jenslincke","tags":[]},"10098":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:32 GMT+0100 (CET)"},"10099":{"varMapping":{"__isSmartRef__":true,"id":10100},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":10101},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10100":{"this":{"__isSmartRef__":true,"id":10004}},"10101":{"timestamp":{"__isSmartRef__":true,"id":10102},"user":"jenslincke","tags":[]},"10102":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:47:12 GMT+0100 (CET)"},"10103":{"varMapping":{"__isSmartRef__":true,"id":10104},"source":"function intersectMorphLinePoints(morph, a1, a2) {\n var points = this.globalShapePathFromMorph(morph);\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":10105},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10104":{"this":{"__isSmartRef__":true,"id":10004}},"10105":{"timestamp":{"__isSmartRef__":true,"id":10106},"user":"jenslincke","tags":[]},"10106":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:21 GMT+0100 (CET)"},"10107":{"varMapping":{"__isSmartRef__":true,"id":10108},"source":"function intersectMorph(morph) {\n var line = this;\n return this.intersectMorphLinePoints(morph,\n line.controlPoints[0].getGlobalPos(), line.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":10109},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10108":{"this":{"__isSmartRef__":true,"id":10004}},"10109":{"timestamp":{"__isSmartRef__":true,"id":10110},"user":"jenslincke","tags":[]},"10110":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:47 GMT+0100 (CET)"},"10111":{"varMapping":{"__isSmartRef__":true,"id":10112},"source":"function globalShapePathFromMorph(morph) {\n var b = morph.shape.bounds();\n var p1 = morph.worldPoint(b.topLeft()),\n p2 = morph.worldPoint(b.topRight()),\n p3 = morph.worldPoint(b.bottomRight()),\n p4 = morph.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":10113},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10112":{"this":{"__isSmartRef__":true,"id":10004}},"10113":{"timestamp":{"__isSmartRef__":true,"id":10114},"user":"jenslincke","tags":[]},"10114":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:00 GMT+0100 (CET)"},"10115":{"source":{"__isSmartRef__":true,"id":9943},"target":{"__isSmartRef__":true,"id":10004}},"10116":{"sourceObj":{"__isSmartRef__":true,"id":9943},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":10003},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":10117},"dependedBy":{"__isSmartRef__":true,"id":10003},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10117":{"source":{"__isSmartRef__":true,"id":9943},"target":{"__isSmartRef__":true,"id":10003}},"10118":{"sourceObj":{"__isSmartRef__":true,"id":9943},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":10003},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":10119},"dependedBy":{"__isSmartRef__":true,"id":10003},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10119":{"source":{"__isSmartRef__":true,"id":9943},"target":{"__isSmartRef__":true,"id":10003}},"10120":{"sourceObj":{"__isSmartRef__":true,"id":9943},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":10003},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":10121},"dependedBy":{"__isSmartRef__":true,"id":10003},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10121":{"source":{"__isSmartRef__":true,"id":9943},"target":{"__isSmartRef__":true,"id":10003}},"10122":{"sourceObj":{"__isSmartRef__":true,"id":9943},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":10003},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":10123},"dependedBy":{"__isSmartRef__":true,"id":10003},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10123":{"source":{"__isSmartRef__":true,"id":9943},"target":{"__isSmartRef__":true,"id":10003}},"10124":{"d":0.9347623017725522,"a":0.9347623017725522,"f":3485.245045045044,"e":728.5390390390387,"c":0.3552737524570028,"b":-0.3552737524570028,"matrix_":{"__isSmartRef__":true,"id":10125},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"10125":{"a":0.9347623017725522,"b":-0.3552737524570028,"c":0.3552737524570028,"d":0.9347623017725522,"e":728.5390390390387,"f":3485.245045045044,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"10126":{"sourceObj":{"__isSmartRef__":true,"id":9943},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":9930},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":10127},"dependendConnections":[{"__isSmartRef__":true,"id":10128},{"__isSmartRef__":true,"id":10130},{"__isSmartRef__":true,"id":10132},{"__isSmartRef__":true,"id":10134}],"oldTransform":{"__isSmartRef__":true,"id":10136},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"10127":{"source":{"__isSmartRef__":true,"id":9943},"target":{"__isSmartRef__":true,"id":9930}},"10128":{"sourceObj":{"__isSmartRef__":true,"id":9943},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":10126},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":10129},"dependedBy":{"__isSmartRef__":true,"id":10126},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10129":{"source":{"__isSmartRef__":true,"id":9943},"target":{"__isSmartRef__":true,"id":10126}},"10130":{"sourceObj":{"__isSmartRef__":true,"id":9943},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":10126},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":10131},"dependedBy":{"__isSmartRef__":true,"id":10126},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10131":{"source":{"__isSmartRef__":true,"id":9943},"target":{"__isSmartRef__":true,"id":10126}},"10132":{"sourceObj":{"__isSmartRef__":true,"id":9943},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":10126},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":10133},"dependedBy":{"__isSmartRef__":true,"id":10126},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10133":{"source":{"__isSmartRef__":true,"id":9943},"target":{"__isSmartRef__":true,"id":10126}},"10134":{"sourceObj":{"__isSmartRef__":true,"id":9943},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":10126},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":10135},"dependedBy":{"__isSmartRef__":true,"id":10126},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10135":{"source":{"__isSmartRef__":true,"id":9943},"target":{"__isSmartRef__":true,"id":10126}},"10136":{"d":0.9347623017725522,"a":0.9347623017725522,"f":3485.245045045044,"e":728.5390390390387,"c":0.3552737524570028,"b":-0.3552737524570028,"matrix_":{"__isSmartRef__":true,"id":10137},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"10137":{"a":0.9347623017725522,"b":-0.3552737524570028,"c":0.3552737524570028,"d":0.9347623017725522,"e":728.5390390390387,"f":3485.245045045044,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"10138":{"globalShapePath":{"__isSmartRef__":true,"id":10139},"lineIntersect":{"__isSmartRef__":true,"id":10142},"intersectLine":{"__isSmartRef__":true,"id":10146},"intersectLineMorph":{"__isSmartRef__":true,"id":10149}},"10139":{"varMapping":{"__isSmartRef__":true,"id":10140},"source":"function globalShapePath() {\n var b = this.shape.bounds();\n var p1 = this.worldPoint(b.topLeft()),\n p2 = this.worldPoint(b.topRight()),\n p3 = this.worldPoint(b.bottomRight()),\n p4 = this.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":10141},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10140":{"this":{"__isSmartRef__":true,"id":9943}},"10141":{},"10142":{"varMapping":{"__isSmartRef__":true,"id":10143},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":10144},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10143":{"this":{"__isSmartRef__":true,"id":9943}},"10144":{"timestamp":{"__isSmartRef__":true,"id":10145},"user":"jenslincke","tags":[]},"10145":{"isSerializedDate":true,"string":"Thu Dec 13 2012 13:42:55 GMT+0100 (CET)"},"10146":{"varMapping":{"__isSmartRef__":true,"id":10147},"source":"function intersectLine(a1, a2) {\n var points = this.globalShapePath();\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":10148},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10147":{"this":{"__isSmartRef__":true,"id":9943}},"10148":{},"10149":{"varMapping":{"__isSmartRef__":true,"id":10150},"source":"function intersectLineMorph(m) {\n return this.intersectLine(m.controlPoints[0].getGlobalPos(), m.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":10151},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10150":{"this":{"__isSmartRef__":true,"id":9943}},"10151":{},"10152":{"d":1,"a":1,"f":906.1,"e":107.8,"c":0,"b":0,"matrix_":{"__isSmartRef__":true,"id":10153},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"10153":{"a":1,"b":0,"c":0,"d":1,"e":107.8,"f":906.1,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"10154":{"connect":{"__isSmartRef__":true,"id":10155},"updatePosition":{"__isSmartRef__":true,"id":10159},"updateControlPoint":{"__isSmartRef__":true,"id":10163},"disconnectMorph":{"__isSmartRef__":true,"id":10167},"connectMorph":{"__isSmartRef__":true,"id":10171},"onMouseOver":{"__isSmartRef__":true,"id":10175},"onMouseOut":{"__isSmartRef__":true,"id":10179},"makeHandle":{"__isSmartRef__":true,"id":10187},"showFromHandle":{"__isSmartRef__":true,"id":10191},"showToHandle":{"__isSmartRef__":true,"id":10195},"reset":{"__isSmartRef__":true,"id":10199},"onDragInHandle":{"__isSmartRef__":true,"id":10203},"onDragStartInHandle":{"__isSmartRef__":true,"id":10207},"onDragEndInHandle":{"__isSmartRef__":true,"id":10211},"connectFrom":{"__isSmartRef__":true,"id":10215},"connectTo":{"__isSmartRef__":true,"id":10219},"hideToHandle":{"__isSmartRef__":true,"id":10223},"hideFromHandle":{"__isSmartRef__":true,"id":10227},"updateIntersection":{"__isSmartRef__":true,"id":10231},"lineIntersect":{"__isSmartRef__":true,"id":10235},"intersectMorphLinePoints":{"__isSmartRef__":true,"id":10239},"intersectMorph":{"__isSmartRef__":true,"id":10243},"globalShapePathFromMorph":{"__isSmartRef__":true,"id":10247}},"10155":{"varMapping":{"__isSmartRef__":true,"id":10156},"source":"function connect(morphA, morphB) {\n this.connectFrom(morphA)\n this.connectTo(morphB)\n this.updatePosition()\n}","funcProperties":{"__isSmartRef__":true,"id":10157},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10156":{"this":{"__isSmartRef__":true,"id":9930}},"10157":{"timestamp":{"__isSmartRef__":true,"id":10158},"user":"jenslincke","tags":[]},"10158":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:50:49 GMT+0100 (CET)"},"10159":{"varMapping":{"__isSmartRef__":true,"id":10160},"source":"function updatePosition() {\n this.updateControlPoint(this.controlPoints[0], this.fromMorph)\n this.updateControlPoint(this.controlPoints[1], this.toMorph)\n this.updateIntersection(this.fromMorph, this.controlPoints[0])\n this.updateIntersection(this.toMorph, this.controlPoints[1])\n\n this.adjustOrigin(this.bounds().extent().scaleBy(0.5))\n}","funcProperties":{"__isSmartRef__":true,"id":10161},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10160":{"this":{"__isSmartRef__":true,"id":9930}},"10161":{"timestamp":{"__isSmartRef__":true,"id":10162},"user":"jenslincke","tags":[]},"10162":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:06:20 GMT+0100 (CET)"},"10163":{"varMapping":{"__isSmartRef__":true,"id":10164},"source":"function updateControlPoint(cp, morph) {\n if (!cp || !morph) return;\n cp.setGlobalPos(morph.worldPoint(morph.shape.bounds().center()))\n}","funcProperties":{"__isSmartRef__":true,"id":10165},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10164":{"this":{"__isSmartRef__":true,"id":9930}},"10165":{"timestamp":{"__isSmartRef__":true,"id":10166},"user":"jenslincke","tags":[]},"10166":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:45:56 GMT+0100 (CET)"},"10167":{"varMapping":{"__isSmartRef__":true,"id":10168},"source":"function disconnectMorph(morph) {\n if (!morph) return;\n lively.bindings.disconnect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":10169},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10168":{"this":{"__isSmartRef__":true,"id":9930}},"10169":{"timestamp":{"__isSmartRef__":true,"id":10170},"user":"jenslincke","tags":[]},"10170":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:19:18 GMT+0100 (CET)"},"10171":{"varMapping":{"__isSmartRef__":true,"id":10172},"source":"function connectMorph(morph) {\n if (morph)\n lively.bindings.connect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":10173},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10172":{"this":{"__isSmartRef__":true,"id":9930}},"10173":{"timestamp":{"__isSmartRef__":true,"id":10174},"user":"jenslincke","tags":[]},"10174":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:52:12 GMT+0100 (CET)"},"10175":{"varMapping":{"__isSmartRef__":true,"id":10176},"source":"function onMouseOver(evt) {\n var p = evt.mousePoint.scaleBy(this.world().getScale())\n\n var cp1 = this.controlPoints[0].getGlobalPos();\n if (p.dist(cp1) < 20) {\n this.showFromHandle()\n } else {\n this.hideFromHandle()\n }\n var cp2 = this.controlPoints[1].getGlobalPos();\n if (p.dist(cp2) < 20) {\n this.showToHandle()\n } else {\n this.hideToHandle()\n }\n}","funcProperties":{"__isSmartRef__":true,"id":10177},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10176":{"this":{"__isSmartRef__":true,"id":9930}},"10177":{"timestamp":{"__isSmartRef__":true,"id":10178},"user":"jenslincke","tags":[]},"10178":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:23:03 GMT+0100 (CET)"},"10179":{"varMapping":{"__isSmartRef__":true,"id":10180},"source":"function onMouseOut(evt) {\n // this.hideFromHandle()\n // this.hideToHandle()\n}","funcProperties":{"__isSmartRef__":true,"id":10185},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10180":{"this":{"__isSmartRef__":true,"id":9930},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":10181}},"10181":{"$super":{"__isSmartRef__":true,"id":10182}},"10182":{"varMapping":{"__isSmartRef__":true,"id":10183},"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":10184},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10183":{"obj":{"__isSmartRef__":true,"id":9930},"name":"onMouseOut"},"10184":{},"10185":{"timestamp":{"__isSmartRef__":true,"id":10186},"user":"jenslincke","tags":[]},"10186":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:54:53 GMT+0100 (CET)"},"10187":{"varMapping":{"__isSmartRef__":true,"id":10188},"source":"function makeHandle() {\n var m = lively.morphic.Morph.makeRectangle(0,0,10,10);\n m.disableGrabbing()\n m.enableDragging()\n m.connector = this;\n // move real behavior to a place which is easier to develop\n // do not use bind, because we like late binding \n m.addScript(function onDragStart(evt) {\n this.connector.onDragStartInHandle(this, evt)\n })\n m.addScript(function onDrag(evt) {\n this.connector.onDragInHandle(this, evt)\n })\n m.addScript(function onDragEnd(evt) {\n this.connector.onDragEndInHandle(this, evt)\n })\n m.isEpiMorph = true;\n return m\n}","funcProperties":{"__isSmartRef__":true,"id":10189},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10188":{"this":{"__isSmartRef__":true,"id":9930}},"10189":{"timestamp":{"__isSmartRef__":true,"id":10190},"user":"jenslincke","tags":[]},"10190":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:08:29 GMT+0100 (CET)"},"10191":{"varMapping":{"__isSmartRef__":true,"id":10192},"source":"function showFromHandle() {\n if (!this.fromHandle) {\n this.fromHandle = this.makeHandle();\n this.fromHandle.setFill(Color.red)\n this.fromHandle.isFromHandle = true;\n }\n this.fromHandle.openInWorld();\n this.fromHandle.controlPoint = this.controlPoints[0];\n this.fromHandle.setPosition(this.controlPoints[0].getGlobalPos().subPt(pt(5,5)))\n return this.fromHandle\n}","funcProperties":{"__isSmartRef__":true,"id":10193},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10192":{"this":{"__isSmartRef__":true,"id":9930}},"10193":{"timestamp":{"__isSmartRef__":true,"id":10194},"user":"jenslincke","tags":[]},"10194":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:13:03 GMT+0100 (CET)"},"10195":{"varMapping":{"__isSmartRef__":true,"id":10196},"source":"function showToHandle() {\n if (!this.toHandle) {\n this.toHandle = this.makeHandle();\n this.toHandle.setFill(Color.red)\n this.toHandle.isToHandle = true;\n\n }\n this.toHandle.openInWorld();\n this.toHandle.controlPoint = this.controlPoints[1];\n this.toHandle.setPosition(this.controlPoints[1].getGlobalPos().subPt(pt(5,5)))\n return this.toHandle\n}","funcProperties":{"__isSmartRef__":true,"id":10197},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10196":{"this":{"__isSmartRef__":true,"id":9930}},"10197":{"timestamp":{"__isSmartRef__":true,"id":10198},"user":"jenslincke","tags":[]},"10198":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:20:25 GMT+0100 (CET)"},"10199":{"varMapping":{"__isSmartRef__":true,"id":10200},"source":"function reset() {\n if (this.fromHandle) {\n this.fromHandle.remove()\n delete this.fromHandle\n }\n if (this.toHandle) {\n this.toHandle.remove()\n delete this.toHandle\n }\n // this.controlPoints[1].setPos(pt(200,200))\n}","funcProperties":{"__isSmartRef__":true,"id":10201},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10200":{"this":{"__isSmartRef__":true,"id":9930}},"10201":{"timestamp":{"__isSmartRef__":true,"id":10202},"user":"jenslincke","tags":[]},"10202":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:15:00 GMT+0100 (CET)"},"10203":{"varMapping":{"__isSmartRef__":true,"id":10204},"source":"function onDragInHandle(handle, evt) {\n\n var pos = handle.getPositionInWorld();\n var delta = evt.hand.getPosition().subPt(pos);\n handle.moveBy(delta)\n pos = handle.getPositionInWorld();\n if (handle.controlPoint)\n handle.controlPoint.setGlobalPos(pos.addPt(pt(5,5)))\n var morphs = this.owner.morphsContainingPoint(pos)\n morphs = morphs.reject(function(ea) {\n return ea.isWorld || (ea === handle) || (ea === this) || \n (ea === this.owner)\n }, this)\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n this.selectedMorph = morphs.first();\n this.selectedMorphHighlights = show(this.selectedMorph)\n handle.startPos = evt.getPosition();\n}","funcProperties":{"__isSmartRef__":true,"id":10205},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10204":{"this":{"__isSmartRef__":true,"id":9930}},"10205":{"timestamp":{"__isSmartRef__":true,"id":10206},"user":"jenslincke","tags":[]},"10206":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:06:40 GMT+0100 (CET)"},"10207":{"varMapping":{"__isSmartRef__":true,"id":10208},"source":"function onDragStartInHandle(handle, evt) {\n handle.startPos = evt.getPosition()\n}","funcProperties":{"__isSmartRef__":true,"id":10209},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10208":{"this":{"__isSmartRef__":true,"id":9930}},"10209":{"timestamp":{"__isSmartRef__":true,"id":10210},"user":"jenslincke","tags":[]},"10210":{"isSerializedDate":true,"string":"Thu Dec 13 2012 15:51:13 GMT+0100 (CET)"},"10211":{"varMapping":{"__isSmartRef__":true,"id":10212},"source":"function onDragEndInHandle(handle, evt) {\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n \n if (handle.isFromHandle) this.connectFrom(this.selectedMorph)\n if (handle.isToHandle) this.connectTo(this.selectedMorph)\n handle.remove()\n}","funcProperties":{"__isSmartRef__":true,"id":10213},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10212":{"this":{"__isSmartRef__":true,"id":9930}},"10213":{"timestamp":{"__isSmartRef__":true,"id":10214},"user":"jenslincke","tags":[]},"10214":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:44:35 GMT+0100 (CET)"},"10215":{"varMapping":{"__isSmartRef__":true,"id":10216},"source":"function connectFrom(morph) {\n if (morph && morph === this.toMorph) return; // not allowed\n\n this.disconnectMorph(this.fromMorph)\n this.fromMorph = morph;\n this.connectMorph(this.fromMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":10217},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10216":{"this":{"__isSmartRef__":true,"id":9930}},"10217":{"timestamp":{"__isSmartRef__":true,"id":10218},"user":"jenslincke","tags":[]},"10218":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:02:22 GMT+0100 (CET)"},"10219":{"varMapping":{"__isSmartRef__":true,"id":10220},"source":"function connectTo(morph) {\n\n if (morph && morph === this.fromMorph) return; // not allowed\n\n this.disconnectMorph(this.toMorph)\n this.toMorph = morph;\n this.connectMorph(this.toMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":10221},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10220":{"this":{"__isSmartRef__":true,"id":9930}},"10221":{"timestamp":{"__isSmartRef__":true,"id":10222},"user":"jenslincke","tags":[]},"10222":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:02:30 GMT+0100 (CET)"},"10223":{"varMapping":{"__isSmartRef__":true,"id":10224},"source":"function hideToHandle() {\n if (this.toHandle) {\n this.toHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":10225},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10224":{"this":{"__isSmartRef__":true,"id":9930}},"10225":{"timestamp":{"__isSmartRef__":true,"id":10226},"user":"jenslincke","tags":[]},"10226":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:51:59 GMT+0100 (CET)"},"10227":{"varMapping":{"__isSmartRef__":true,"id":10228},"source":"function hideFromHandle() {\n if (this.fromHandle) {\n this.fromHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":10229},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10228":{"this":{"__isSmartRef__":true,"id":9930}},"10229":{"timestamp":{"__isSmartRef__":true,"id":10230},"user":"jenslincke","tags":[]},"10230":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:52:18 GMT+0100 (CET)"},"10231":{"varMapping":{"__isSmartRef__":true,"id":10232},"source":"function updateIntersection(morph, cp) {\n if (!morph) return;\n var intersection = this.intersectMorph(morph)[0];\n if (intersection) {\n cp.setGlobalPos(intersection);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":10233},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10232":{"this":{"__isSmartRef__":true,"id":9930}},"10233":{"timestamp":{"__isSmartRef__":true,"id":10234},"user":"jenslincke","tags":[]},"10234":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:32 GMT+0100 (CET)"},"10235":{"varMapping":{"__isSmartRef__":true,"id":10236},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":10237},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10236":{"this":{"__isSmartRef__":true,"id":9930}},"10237":{"timestamp":{"__isSmartRef__":true,"id":10238},"user":"jenslincke","tags":[]},"10238":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:47:12 GMT+0100 (CET)"},"10239":{"varMapping":{"__isSmartRef__":true,"id":10240},"source":"function intersectMorphLinePoints(morph, a1, a2) {\n var points = this.globalShapePathFromMorph(morph);\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":10241},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10240":{"this":{"__isSmartRef__":true,"id":9930}},"10241":{"timestamp":{"__isSmartRef__":true,"id":10242},"user":"jenslincke","tags":[]},"10242":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:21 GMT+0100 (CET)"},"10243":{"varMapping":{"__isSmartRef__":true,"id":10244},"source":"function intersectMorph(morph) {\n var line = this;\n return this.intersectMorphLinePoints(morph,\n line.controlPoints[0].getGlobalPos(), line.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":10245},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10244":{"this":{"__isSmartRef__":true,"id":9930}},"10245":{"timestamp":{"__isSmartRef__":true,"id":10246},"user":"jenslincke","tags":[]},"10246":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:47 GMT+0100 (CET)"},"10247":{"varMapping":{"__isSmartRef__":true,"id":10248},"source":"function globalShapePathFromMorph(morph) {\n var b = morph.shape.bounds();\n var p1 = morph.worldPoint(b.topLeft()),\n p2 = morph.worldPoint(b.topRight()),\n p3 = morph.worldPoint(b.bottomRight()),\n p4 = morph.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":10249},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10248":{"this":{"__isSmartRef__":true,"id":9930}},"10249":{"timestamp":{"__isSmartRef__":true,"id":10250},"user":"jenslincke","tags":[]},"10250":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:00 GMT+0100 (CET)"},"10251":{"source":{"__isSmartRef__":true,"id":9808},"target":{"__isSmartRef__":true,"id":9930}},"10252":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":9807},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":10253},"dependedBy":{"__isSmartRef__":true,"id":9807},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10253":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":9807}},"10254":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":9807},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":10255},"dependedBy":{"__isSmartRef__":true,"id":9807},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10255":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":9807}},"10256":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":9807},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":10257},"dependedBy":{"__isSmartRef__":true,"id":9807},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10257":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":9807}},"10258":{"d":0.9999216420017616,"a":0.9999216420017616,"f":146.7,"e":314.7,"c":-0.012518380745633573,"b":0.012518380745633573,"matrix_":{"__isSmartRef__":true,"id":10259},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"10259":{"a":0.9999216420017616,"b":0.012518380745633573,"c":-0.012518380745633573,"d":0.9999216420017616,"e":314.7,"f":146.7,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"10260":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":9807}},"10261":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":10262},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":10784},"dependedBy":{"__isSmartRef__":true,"id":10262},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10262":{"sourceObj":{"__isSmartRef__":true,"id":10263},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":10644},"targetMethodName":"realignConnection","varMapping":{"__isSmartRef__":true,"id":10775},"dependendConnections":[{"__isSmartRef__":true,"id":10271},{"__isSmartRef__":true,"id":10273},{"__isSmartRef__":true,"id":10275},{"__isSmartRef__":true,"id":10277},{"__isSmartRef__":true,"id":10686},{"__isSmartRef__":true,"id":10688},{"__isSmartRef__":true,"id":10690},{"__isSmartRef__":true,"id":10692},{"__isSmartRef__":true,"id":10261},{"__isSmartRef__":true,"id":10776},{"__isSmartRef__":true,"id":10778},{"__isSmartRef__":true,"id":10780}],"oldTransform":{"__isSmartRef__":true,"id":10782},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"10263":{"submorphs":[],"scripts":[],"id":"61048B9B-08A9-4905-9AE7-582A25B7AEB9","shape":{"__isSmartRef__":true,"id":10264},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":180.8018403394826,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":19,"name":"NameLabel2","partsBinMetaInfo":{"__isSmartRef__":true,"id":10265},"textChunks":[{"__isSmartRef__":true,"id":10267}],"charsReplaced":"A1","lastFindLoc":2,"prevScroll":[0,0],"attributeConnections":[{"__isSmartRef__":true,"id":10269},{"__isSmartRef__":true,"id":10270},{"__isSmartRef__":true,"id":10262},{"__isSmartRef__":true,"id":10271},{"__isSmartRef__":true,"id":10273},{"__isSmartRef__":true,"id":10275},{"__isSmartRef__":true,"id":10277}],"doNotSerialize":["$$owner","$$savedTextString","$$_Position","$$_Scale","$$_Rotation"],"doNotCopyProperties":["$$owner","$$savedTextString","$$_Position","$$_Scale","$$_Rotation"],"isInputLine":true,"savedTextString":"B","eventHandler":{"__isSmartRef__":true,"id":10279},"derivationIds":[7027,"331C6367-0699-4BD6-9916-ABA82517453B","BEAA7850-FEFB-4AFD-9E06-730FF35D99A4","559B0B8A-5C01-4133-88B2-0D08385E23F6","BE195383-D309-4B6E-A6B0-79A6112B4011","E323F75A-232F-4712-9A03-20C8FD574C9A","E6E38336-AA2D-4F75-80C1-B1617DD8544E","DAFCD826-DF9B-4DEF-B4D7-59AAED8D199D","3999CB16-D9E3-4D28-A617-9B093624E8AC","24C6A462-5AF8-4580-9777-8F5696841AF0","38DF0DD5-01B1-4481-B32C-B1595F8042DF"],"_WhiteSpaceHandling":"pre-wrap","_ClipMode":"visible","moved":true,"isBeingDragged":false,"_WordBreak":"break-all","magnets":[{"__isSmartRef__":true,"id":10280},{"__isSmartRef__":true,"id":10281},{"__isSmartRef__":true,"id":10282},{"__isSmartRef__":true,"id":10283},{"__isSmartRef__":true,"id":10284},{"__isSmartRef__":true,"id":10285},{"__isSmartRef__":true,"id":10286},{"__isSmartRef__":true,"id":10287}],"_PreviousBorderWidth":1,"owner":{"__isSmartRef__":true,"id":10288},"oldOwner":{"__isSmartRef__":true,"id":10288},"_Rotation":0,"_Scale":0.9999999999999997,"__serializedExpressions__":["_Position","textColor","distanceToDragEvent","_TextColor"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":10768},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(34.8,36.8)","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(31.1,-9.9)","_TextColor":"Color.rgb(255,143,0)"},"10264":{"fill":null,"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(42.8,29.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"10265":{"migrationLevel":2,"comment":"Label that shows the name of a morph. Updates automatically.","partName":"NameLabel","lastModifiedDate":{"__isSmartRef__":true,"id":10266},"revisionOnLoad":140039,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"10266":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (CEST)"},"10267":{"style":{"__isSmartRef__":true,"id":10268},"chunkOwner":{"__isSmartRef__":true,"id":10263},"_id":"_949","storedString":"B1","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"10268":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"10269":{"sourceObj":{"__isSmartRef__":true,"id":10263},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":10263},"targetMethodName":"updateLabel","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10270":{"sourceObj":{"__isSmartRef__":true,"id":10263},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":10263},"targetMethodName":"renameOwner","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10271":{"sourceObj":{"__isSmartRef__":true,"id":10263},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":10262},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":10272},"dependedBy":{"__isSmartRef__":true,"id":10262},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10272":{"source":{"__isSmartRef__":true,"id":10263},"target":{"__isSmartRef__":true,"id":10262}},"10273":{"sourceObj":{"__isSmartRef__":true,"id":10263},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":10262},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":10274},"dependedBy":{"__isSmartRef__":true,"id":10262},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10274":{"source":{"__isSmartRef__":true,"id":10263},"target":{"__isSmartRef__":true,"id":10262}},"10275":{"sourceObj":{"__isSmartRef__":true,"id":10263},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":10262},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":10276},"dependedBy":{"__isSmartRef__":true,"id":10262},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10276":{"source":{"__isSmartRef__":true,"id":10263},"target":{"__isSmartRef__":true,"id":10262}},"10277":{"sourceObj":{"__isSmartRef__":true,"id":10263},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":10262},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":10278},"dependedBy":{"__isSmartRef__":true,"id":10262},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10278":{"source":{"__isSmartRef__":true,"id":10263},"target":{"__isSmartRef__":true,"id":10262}},"10279":{"morph":{"__isSmartRef__":true,"id":10263},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"10280":{"morph":{"__isSmartRef__":true,"id":10263},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(120.0,3464.8)"},"10281":{"morph":{"__isSmartRef__":true,"id":10263},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(138.1,3476.3)"},"10282":{"morph":{"__isSmartRef__":true,"id":10263},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(156.1,3487.9)"},"10283":{"morph":{"__isSmartRef__":true,"id":10263},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(148.3,3500.1)"},"10284":{"morph":{"__isSmartRef__":true,"id":10263},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(140.4,3512.3)"},"10285":{"morph":{"__isSmartRef__":true,"id":10263},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(122.4,3500.7)"},"10286":{"morph":{"__isSmartRef__":true,"id":10263},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(104.4,3489.2)"},"10287":{"morph":{"__isSmartRef__":true,"id":10263},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(112.2,3477.0)"},"10288":{"submorphs":[{"__isSmartRef__":true,"id":10263}],"scripts":[],"id":"AD6B5894-56FD-4289-A005-581775024F6E","shape":{"__isSmartRef__":true,"id":10289},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"B1","partsBinMetaInfo":{"__isSmartRef__":true,"id":10290},"eventHandler":{"__isSmartRef__":true,"id":10308},"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","BBAFB862-93AE-4F89-BCFF-9F1C67B7FE4C","7EC17E78-593A-4CC8-B7E3-859BCBBFE785","FDB06D4A-9F4E-4B8C-A67C-671A9583EFE8","1C80FDE1-05C0-4148-9AD8-33C88667084C","5059E383-6BE3-4AD3-A9C4-89DA9D8D5E99","5B810AFE-E692-4EB4-A695-ABB4A95CEA39","BFFEF617-9B97-45D4-A541-8E33A6A17485","A10BBA48-4AD1-425A-AC7B-2F5515CE56F5","319DCFA5-FBA0-4E93-825A-584A580A412F","1A7DC4D8-6C49-4243-8B1D-04CED44FD759"],"partTests":{"__isSmartRef__":true,"id":10309},"_ClipMode":"visible","moved":true,"isBeingDragged":false,"magnets":[{"__isSmartRef__":true,"id":10314},{"__isSmartRef__":true,"id":10315},{"__isSmartRef__":true,"id":10316},{"__isSmartRef__":true,"id":10317},{"__isSmartRef__":true,"id":10638},{"__isSmartRef__":true,"id":10639},{"__isSmartRef__":true,"id":10640},{"__isSmartRef__":true,"id":10641}],"attributeConnections":[{"__isSmartRef__":true,"id":10642},{"__isSmartRef__":true,"id":10666},{"__isSmartRef__":true,"id":10668},{"__isSmartRef__":true,"id":10670},{"__isSmartRef__":true,"id":10672},{"__isSmartRef__":true,"id":10674},{"__isSmartRef__":true,"id":10686},{"__isSmartRef__":true,"id":10688},{"__isSmartRef__":true,"id":10690},{"__isSmartRef__":true,"id":10692},{"__isSmartRef__":true,"id":10694},{"__isSmartRef__":true,"id":10696},{"__isSmartRef__":true,"id":10698},{"__isSmartRef__":true,"id":10700},{"__isSmartRef__":true,"id":10702},{"__isSmartRef__":true,"id":10714},{"__isSmartRef__":true,"id":10716},{"__isSmartRef__":true,"id":10718},{"__isSmartRef__":true,"id":10720},{"__isSmartRef__":true,"id":10722},{"__isSmartRef__":true,"id":10734},{"__isSmartRef__":true,"id":10736},{"__isSmartRef__":true,"id":10738},{"__isSmartRef__":true,"id":10740},{"__isSmartRef__":true,"id":10742}],"doNotSerialize":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"doNotCopyProperties":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"isCopyMorphRef":true,"morphRefId":3,"prevScroll":[0,0],"_Scale":0.9999999999999996,"_Rotation":0.5699219218563105,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":10754},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","distanceToDragEvent":"lively.pt(35.0,-16.3)","_Position":"lively.pt(73.7,59.4)"},"10289":{"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(89.0,80.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgba(204,204,204,0.5)","_Padding":"lively.rect(0,0,0,0)"},"10290":{"partsSpaceName":"PartsBin/Basic","comment":"A simple box morph. A really orange one. Its amazing what you can build out of simple boxes.... Who needs stars when you got orange rectangles!","migrationLevel":4,"partName":"Rectangle","changes":[{"__isSmartRef__":true,"id":10291},{"__isSmartRef__":true,"id":10293},{"__isSmartRef__":true,"id":10295},{"__isSmartRef__":true,"id":10297},{"__isSmartRef__":true,"id":10299},{"__isSmartRef__":true,"id":10301},{"__isSmartRef__":true,"id":10303},{"__isSmartRef__":true,"id":10305}],"lastModifiedDate":{"__isSmartRef__":true,"id":10307},"revisionOnLoad":184624,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"10291":{"date":{"__isSmartRef__":true,"id":10292},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"10292":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"10293":{"date":{"__isSmartRef__":true,"id":10294},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"10294":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"10295":{"date":{"__isSmartRef__":true,"id":10296},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"10296":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"10297":{"date":{"__isSmartRef__":true,"id":10298},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"10298":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"10299":{"date":{"__isSmartRef__":true,"id":10300},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"10300":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"10301":{"date":{"__isSmartRef__":true,"id":10302},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"10302":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"10303":{"date":{"__isSmartRef__":true,"id":10304},"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8"},"10304":{"isSerializedDate":true,"string":"Mon Jun 18 2012 19:35:08 GMT+0200 (CEST)"},"10305":{"date":{"__isSmartRef__":true,"id":10306},"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205"},"10306":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:35:51 GMT+0100 (CET)"},"10307":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:33:25 GMT+0100 (CET)"},"10308":{"morph":{"__isSmartRef__":true,"id":10288},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"10309":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":10310}},"10310":{"test01IsMorph":{"__isSmartRef__":true,"id":10311}},"10311":{"varMapping":{"__isSmartRef__":true,"id":10312},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":10313},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10312":{"this":{"__isSmartRef__":true,"id":10309}},"10313":{},"10314":{"morph":{"__isSmartRef__":true,"id":10288},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(110.6,3415.0)"},"10315":{"morph":{"__isSmartRef__":true,"id":10288},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(148.1,3439.0)"},"10316":{"morph":{"__isSmartRef__":true,"id":10288},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(185.5,3463.0)"},"10317":{"morph":{"__isSmartRef__":true,"id":10288},"connectedControlPoints":[{"__isSmartRef__":true,"id":10318}],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(164.0,3496.7)"},"10318":{"morph":{"__isSmartRef__":true,"id":10319},"index":0,"connectedMagnet":{"__isSmartRef__":true,"id":10317},"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"10319":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":10320},"id":"E083C82B-2BC4-42CB-B3A2-773909175FCB","eventHandler":{"__isSmartRef__":true,"id":10323},"__layered_droppingEnabled__":true,"halosEnabled":true,"isBeingDragged":false,"controlPoints":[{"__isSmartRef__":true,"id":10318},{"__isSmartRef__":true,"id":10324}],"showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":10325},"name":"Line4","derivationIds":[731,"5E6BD741-9C99-47B9-95C1-7A028178DB17","A8D5C37A-F23F-47FE-8DE2-211CE4484A4F","F722069B-8602-4E8D-BE3F-92A1E0C0EF28","D5ED19F9-968E-4C7E-9936-69F2735A813F","A9E370BC-F208-425C-BFFC-F8D6BB52E11F","4E431641-D056-46CB-B2A8-6626382EF423"],"_ClipMode":"visible","controlPointsHalos":[],"prevScroll":[0,0],"grabbingEnabled":false,"moved":true,"#startLetters":"controlPoints[0]","fromMorph":{"__isSmartRef__":true,"id":10329},"update":{"__isSmartRef__":true,"id":10539},"isCopyMorphRef":true,"morphRefId":2,"selectedMorph":{"__isSmartRef__":true,"id":10329},"selectedMorphHighlights":[],"_Scale":1,"_Rotation":0,"owner":null,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":10541},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","distanceToDragEvent":"lively.pt(295.7,-20.8)","_Position":"lively.pt(376.1,57.6)"},"10320":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":10321},{"__isSmartRef__":true,"id":10322}],"_ClipMode":"visible","_BorderWidth":3.1119999999999997,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Padding","_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(50.5,3.2)","_Extent":"lively.pt(114.5,3494.5)","_BorderColor":"Color.rgb(161,161,161)"},"10321":{"isAbsolute":true,"x":0,"y":0,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"10322":{"isAbsolute":true,"x":52.46197348862387,"y":5.223542983087555,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"10323":{"morph":{"__isSmartRef__":true,"id":10319},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"10324":{"morph":{"__isSmartRef__":true,"id":10319},"index":1,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"10325":{"requiredModules":[],"migrationLevel":4,"partsSpaceName":"PartsBin/Jens/","comment":"a line","partName":"Connector","lastModifiedDate":{"__isSmartRef__":true,"id":10326},"revisionOnLoad":186528,"changes":[{"__isSmartRef__":true,"id":10327}],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"10326":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:18 GMT+0100 (CET)"},"10327":{"date":{"__isSmartRef__":true,"id":10328},"author":"jenslincke","message":"no comment","id":"28165CED-C8C5-4B8E-9655-645E3F5099BB"},"10328":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:42 GMT+0100 (CET)"},"10329":{"submorphs":[{"__isSmartRef__":true,"id":10330}],"scripts":[],"id":"7D787261-FDA4-4DCD-ACA3-699C8F2DB8DC","shape":{"__isSmartRef__":true,"id":10354},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"A","partsBinMetaInfo":{"__isSmartRef__":true,"id":10355},"eventHandler":{"__isSmartRef__":true,"id":10373},"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","BBAFB862-93AE-4F89-BCFF-9F1C67B7FE4C","7EC17E78-593A-4CC8-B7E3-859BCBBFE785","FDB06D4A-9F4E-4B8C-A67C-671A9583EFE8","1C80FDE1-05C0-4148-9AD8-33C88667084C","5059E383-6BE3-4AD3-A9C4-89DA9D8D5E99","5B810AFE-E692-4EB4-A695-ABB4A95CEA39","BFFEF617-9B97-45D4-A541-8E33A6A17485","A10BBA48-4AD1-425A-AC7B-2F5515CE56F5"],"partTests":{"__isSmartRef__":true,"id":10374},"_ClipMode":"visible","moved":true,"isBeingDragged":false,"magnets":[{"__isSmartRef__":true,"id":10379},{"__isSmartRef__":true,"id":10380},{"__isSmartRef__":true,"id":10381},{"__isSmartRef__":true,"id":10382},{"__isSmartRef__":true,"id":10383},{"__isSmartRef__":true,"id":10384},{"__isSmartRef__":true,"id":10385},{"__isSmartRef__":true,"id":10386}],"attributeConnections":[{"__isSmartRef__":true,"id":10387},{"__isSmartRef__":true,"id":10389},{"__isSmartRef__":true,"id":10391},{"__isSmartRef__":true,"id":10393},{"__isSmartRef__":true,"id":10395},{"__isSmartRef__":true,"id":10397},{"__isSmartRef__":true,"id":10401},{"__isSmartRef__":true,"id":10515},{"__isSmartRef__":true,"id":10517},{"__isSmartRef__":true,"id":10519},{"__isSmartRef__":true,"id":10521}],"doNotSerialize":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"doNotCopyProperties":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"isCopyMorphRef":true,"morphRefId":1,"prevScroll":[0,0],"_Scale":0.9999999999999998,"_Rotation":-0.3632069088060458,"owner":null,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":10525},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","distanceToDragEvent":"lively.pt(89.3,-51.8)","_Position":"lively.pt(691.6,129.6)"},"10330":{"submorphs":[],"scripts":[],"id":"4BDF3799-4F08-4112-BD4C-91BAB858A860","shape":{"__isSmartRef__":true,"id":10331},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":180.8018403394826,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":19,"name":"NameLabel2","partsBinMetaInfo":{"__isSmartRef__":true,"id":10332},"textChunks":[{"__isSmartRef__":true,"id":10334}],"charsReplaced":"C1","lastFindLoc":2,"prevScroll":[0,0],"attributeConnections":[{"__isSmartRef__":true,"id":10336},{"__isSmartRef__":true,"id":10337}],"doNotSerialize":["$$owner","$$savedTextString"],"doNotCopyProperties":["$$owner","$$savedTextString"],"isInputLine":true,"savedTextString":"A","eventHandler":{"__isSmartRef__":true,"id":10338},"derivationIds":[7027,"331C6367-0699-4BD6-9916-ABA82517453B","BEAA7850-FEFB-4AFD-9E06-730FF35D99A4","559B0B8A-5C01-4133-88B2-0D08385E23F6","BE195383-D309-4B6E-A6B0-79A6112B4011","E323F75A-232F-4712-9A03-20C8FD574C9A","E6E38336-AA2D-4F75-80C1-B1617DD8544E","DAFCD826-DF9B-4DEF-B4D7-59AAED8D199D","3999CB16-D9E3-4D28-A617-9B093624E8AC"],"_WhiteSpaceHandling":"pre-wrap","_ClipMode":"visible","moved":true,"isBeingDragged":false,"_WordBreak":"break-all","magnets":[{"__isSmartRef__":true,"id":10339},{"__isSmartRef__":true,"id":10340},{"__isSmartRef__":true,"id":10341},{"__isSmartRef__":true,"id":10342},{"__isSmartRef__":true,"id":10343},{"__isSmartRef__":true,"id":10344},{"__isSmartRef__":true,"id":10345},{"__isSmartRef__":true,"id":10346}],"_PreviousBorderWidth":1,"owner":{"__isSmartRef__":true,"id":10329},"oldOwner":{"__isSmartRef__":true,"id":10329},"priorSelectionRange":[1,1],"_Rotation":0,"_Scale":0.9999999999999997,"__serializedExpressions__":["textColor","distanceToDragEvent","_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":10347},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(31.1,-9.9)","_TextColor":"Color.rgb(255,143,0)","_Position":"lively.pt(34.8,36.8)"},"10331":{"fill":null,"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(42.8,29.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"10332":{"migrationLevel":2,"comment":"Label that shows the name of a morph. Updates automatically.","partName":"NameLabel","lastModifiedDate":{"__isSmartRef__":true,"id":10333},"revisionOnLoad":140039,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"10333":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (CEST)"},"10334":{"style":{"__isSmartRef__":true,"id":10335},"chunkOwner":{"__isSmartRef__":true,"id":10330},"_id":"_22384","storedString":"A","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"10335":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"10336":{"sourceObj":{"__isSmartRef__":true,"id":10330},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":10330},"targetMethodName":"updateLabel","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10337":{"sourceObj":{"__isSmartRef__":true,"id":10330},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":10330},"targetMethodName":"renameOwner","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10338":{"morph":{"__isSmartRef__":true,"id":10330},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"10339":{"morph":{"__isSmartRef__":true,"id":10330},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(726.1,3497.3)"},"10340":{"morph":{"__isSmartRef__":true,"id":10330},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(746.1,3489.7)"},"10341":{"morph":{"__isSmartRef__":true,"id":10330},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(766.1,3482.1)"},"10342":{"morph":{"__isSmartRef__":true,"id":10330},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(771.3,3495.6)"},"10343":{"morph":{"__isSmartRef__":true,"id":10330},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(776.4,3509.2)"},"10344":{"morph":{"__isSmartRef__":true,"id":10330},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(756.4,3516.8)"},"10345":{"morph":{"__isSmartRef__":true,"id":10330},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(736.4,3524.4)"},"10346":{"morph":{"__isSmartRef__":true,"id":10330},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(731.2,3510.8)"},"10347":{"updateLabel":{"__isSmartRef__":true,"id":10348},"renameOwner":{"__isSmartRef__":true,"id":10351}},"10348":{"varMapping":{"__isSmartRef__":true,"id":10349},"source":"function updateLabel() {\n\t// observe name changes in owner\n\tif (this.owner !== this.oldOwner) {\n\t\tif (this.oldOwner)\n\t\t\tdisconnect(this.oldOwner, 'name', this, 'updateLabel')\n\t\tif (this.owner)\n\t\t\tconnect(this.owner, 'name', this, 'updateLabel')\n\t\tthis.oldOwner = this.owner\n\t}\n\tvar name = (this.owner ? this.owner.name : \"no owner\")\n\tif (this.textString != name)\n\tthis.setTextString(name)\n}","funcProperties":{"__isSmartRef__":true,"id":10350},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10349":{"this":{"__isSmartRef__":true,"id":10330}},"10350":{},"10351":{"varMapping":{"__isSmartRef__":true,"id":10352},"source":"function renameOwner(name) {\n\tif (this.owner && this.owner.name != name) {\n\t\talertOK(\"renamed \" + this.owner + \" to \" + name)\n\t\tthis.owner.setName(name);\n\t}\n}","funcProperties":{"__isSmartRef__":true,"id":10353},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10352":{"this":{"__isSmartRef__":true,"id":10330}},"10353":{},"10354":{"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(116.7,82.3)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgba(204,204,204,0.5)","_Padding":"lively.rect(0,0,0,0)"},"10355":{"partsSpaceName":"PartsBin/Basic","comment":"A simple box morph. A really orange one. Its amazing what you can build out of simple boxes.... Who needs stars when you got orange rectangles!","migrationLevel":4,"partName":"Rectangle","changes":[{"__isSmartRef__":true,"id":10356},{"__isSmartRef__":true,"id":10358},{"__isSmartRef__":true,"id":10360},{"__isSmartRef__":true,"id":10362},{"__isSmartRef__":true,"id":10364},{"__isSmartRef__":true,"id":10366},{"__isSmartRef__":true,"id":10368},{"__isSmartRef__":true,"id":10370}],"lastModifiedDate":{"__isSmartRef__":true,"id":10372},"revisionOnLoad":184624,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"10356":{"date":{"__isSmartRef__":true,"id":10357},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"10357":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"10358":{"date":{"__isSmartRef__":true,"id":10359},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"10359":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"10360":{"date":{"__isSmartRef__":true,"id":10361},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"10361":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"10362":{"date":{"__isSmartRef__":true,"id":10363},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"10363":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"10364":{"date":{"__isSmartRef__":true,"id":10365},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"10365":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"10366":{"date":{"__isSmartRef__":true,"id":10367},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"10367":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"10368":{"date":{"__isSmartRef__":true,"id":10369},"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8"},"10369":{"isSerializedDate":true,"string":"Mon Jun 18 2012 19:35:08 GMT+0200 (CEST)"},"10370":{"date":{"__isSmartRef__":true,"id":10371},"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205"},"10371":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:35:51 GMT+0100 (CET)"},"10372":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:33:25 GMT+0100 (CET)"},"10373":{"morph":{"__isSmartRef__":true,"id":10329},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"10374":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":10375}},"10375":{"test01IsMorph":{"__isSmartRef__":true,"id":10376}},"10376":{"varMapping":{"__isSmartRef__":true,"id":10377},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":10378},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10377":{"this":{"__isSmartRef__":true,"id":10374}},"10378":{},"10379":{"morph":{"__isSmartRef__":true,"id":10329},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(680.5,3475.2)"},"10380":{"morph":{"__isSmartRef__":true,"id":10329},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(735.0,3454.5)"},"10381":{"morph":{"__isSmartRef__":true,"id":10329},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(789.6,3433.8)"},"10382":{"morph":{"__isSmartRef__":true,"id":10329},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(804.2,3472.2)"},"10383":{"morph":{"__isSmartRef__":true,"id":10329},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(818.8,3510.7)"},"10384":{"morph":{"__isSmartRef__":true,"id":10329},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(764.3,3531.4)"},"10385":{"morph":{"__isSmartRef__":true,"id":10329},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(709.7,3552.2)"},"10386":{"morph":{"__isSmartRef__":true,"id":10329},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(695.1,3513.7)"},"10387":{"sourceObj":{"__isSmartRef__":true,"id":10329},"sourceAttrName":"name","targetObj":{"__isSmartRef__":true,"id":10330},"targetMethodName":"updateLabel","varMapping":{"__isSmartRef__":true,"id":10388},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10388":{"source":{"__isSmartRef__":true,"id":10329},"target":{"__isSmartRef__":true,"id":10330}},"10389":{"sourceObj":{"__isSmartRef__":true,"id":10329},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":10319},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":10390},"dependendConnections":[{"__isSmartRef__":true,"id":10391},{"__isSmartRef__":true,"id":10393},{"__isSmartRef__":true,"id":10395},{"__isSmartRef__":true,"id":10397}],"oldTransform":{"__isSmartRef__":true,"id":10399},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"10390":{"source":{"__isSmartRef__":true,"id":10329},"target":{"__isSmartRef__":true,"id":10319}},"10391":{"sourceObj":{"__isSmartRef__":true,"id":10329},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":10389},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":10392},"dependedBy":{"__isSmartRef__":true,"id":10389},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10392":{"source":{"__isSmartRef__":true,"id":10329},"target":{"__isSmartRef__":true,"id":10389}},"10393":{"sourceObj":{"__isSmartRef__":true,"id":10329},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":10389},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":10394},"dependedBy":{"__isSmartRef__":true,"id":10389},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10394":{"source":{"__isSmartRef__":true,"id":10329},"target":{"__isSmartRef__":true,"id":10389}},"10395":{"sourceObj":{"__isSmartRef__":true,"id":10329},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":10389},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":10396},"dependedBy":{"__isSmartRef__":true,"id":10389},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10396":{"source":{"__isSmartRef__":true,"id":10329},"target":{"__isSmartRef__":true,"id":10389}},"10397":{"sourceObj":{"__isSmartRef__":true,"id":10329},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":10389},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":10398},"dependedBy":{"__isSmartRef__":true,"id":10389},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10398":{"source":{"__isSmartRef__":true,"id":10329},"target":{"__isSmartRef__":true,"id":10389}},"10399":{"d":0.9347623017725522,"a":0.9347623017725522,"f":3485.245045045044,"e":728.5390390390387,"c":0.3552737524570028,"b":-0.3552737524570028,"matrix_":{"__isSmartRef__":true,"id":10400},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"10400":{"a":0.9347623017725522,"b":-0.3552737524570028,"c":0.3552737524570028,"d":0.9347623017725522,"e":728.5390390390387,"f":3485.245045045044,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"10401":{"sourceObj":{"__isSmartRef__":true,"id":10329},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":10402},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":10514},"dependendConnections":[{"__isSmartRef__":true,"id":10515},{"__isSmartRef__":true,"id":10517},{"__isSmartRef__":true,"id":10519},{"__isSmartRef__":true,"id":10521}],"oldTransform":{"__isSmartRef__":true,"id":10523},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"10402":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":10403},"id":"4809CC50-2A92-4A4F-9D0D-829B6BA12A0B","eventHandler":{"__isSmartRef__":true,"id":10406},"__layered_droppingEnabled__":true,"halosEnabled":true,"isBeingDragged":false,"controlPoints":[{"__isSmartRef__":true,"id":10407},{"__isSmartRef__":true,"id":10408}],"showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":10409},"name":"Connector1","derivationIds":[731,"5E6BD741-9C99-47B9-95C1-7A028178DB17","A8D5C37A-F23F-47FE-8DE2-211CE4484A4F","F722069B-8602-4E8D-BE3F-92A1E0C0EF28","D5ED19F9-968E-4C7E-9936-69F2735A813F","A9E370BC-F208-425C-BFFC-F8D6BB52E11F","4E431641-D056-46CB-B2A8-6626382EF423"],"_ClipMode":"visible","controlPointsHalos":[],"prevScroll":[0,0],"grabbingEnabled":false,"moved":true,"#startLetters":"controlPoints[0]","fromMorph":{"__isSmartRef__":true,"id":10329},"toMorph":{"__isSmartRef__":true,"id":3202},"update":{"__isSmartRef__":true,"id":10415},"isCopyMorphRef":true,"morphRefId":2,"selectedMorph":{"__isSmartRef__":true,"id":3202},"selectedMorphHighlights":[],"owner":null,"_Rotation":0,"_Scale":1,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":10417},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","distanceToDragEvent":"lively.pt(295.7,-20.8)","_Position":"lively.pt(10527.5,52997.9)"},"10403":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":10404},{"__isSmartRef__":true,"id":10405}],"_ClipMode":"visible","_BorderWidth":3.1119999999999997,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Padding","_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(-75.9,-6.9)","_Extent":"lively.pt(151.7,13.9)","_BorderColor":"Color.rgb(161,161,161)"},"10404":{"isAbsolute":true,"x":74.86198803712648,"y":-4.949983532278566,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"10405":{"isAbsolute":true,"x":-73.86198803712614,"y":5.949983532282204,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"10406":{"morph":{"__isSmartRef__":true,"id":10402},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"10407":{"morph":{"__isSmartRef__":true,"id":10402},"index":0,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"10408":{"morph":{"__isSmartRef__":true,"id":10402},"index":1,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"10409":{"requiredModules":[],"migrationLevel":4,"partsSpaceName":"PartsBin/Jens/","comment":"Yes, I think I got it again: Powerful and nice connectors.\nThis time 100 % Part only!","partName":"Connector","lastModifiedDate":{"__isSmartRef__":true,"id":10410},"revisionOnLoad":186829,"changes":[{"__isSmartRef__":true,"id":10411},{"__isSmartRef__":true,"id":10413}],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"10410":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:04:50 GMT+0100 (CET)"},"10411":{"date":{"__isSmartRef__":true,"id":10412},"author":"jenslincke","message":"no comment","id":"28165CED-C8C5-4B8E-9655-645E3F5099BB"},"10412":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:42 GMT+0100 (CET)"},"10413":{"date":{"__isSmartRef__":true,"id":10414},"author":"jenslincke","message":"no comment","id":"117C964B-9768-48F2-8EC8-D4328478198F"},"10414":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:05:07 GMT+0100 (CET)"},"10415":{"d":1,"a":1,"f":906.1,"e":107.8,"c":0,"b":0,"matrix_":{"__isSmartRef__":true,"id":10416},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"10416":{"a":1,"b":0,"c":0,"d":1,"e":107.8,"f":906.1,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"10417":{"connect":{"__isSmartRef__":true,"id":10418},"updatePosition":{"__isSmartRef__":true,"id":10422},"updateControlPoint":{"__isSmartRef__":true,"id":10426},"disconnectMorph":{"__isSmartRef__":true,"id":10430},"connectMorph":{"__isSmartRef__":true,"id":10434},"onMouseOver":{"__isSmartRef__":true,"id":10438},"onMouseOut":{"__isSmartRef__":true,"id":10442},"makeHandle":{"__isSmartRef__":true,"id":10450},"showFromHandle":{"__isSmartRef__":true,"id":10454},"showToHandle":{"__isSmartRef__":true,"id":10458},"reset":{"__isSmartRef__":true,"id":10462},"onDragInHandle":{"__isSmartRef__":true,"id":10466},"onDragStartInHandle":{"__isSmartRef__":true,"id":10470},"onDragEndInHandle":{"__isSmartRef__":true,"id":10474},"connectFrom":{"__isSmartRef__":true,"id":10478},"connectTo":{"__isSmartRef__":true,"id":10482},"hideToHandle":{"__isSmartRef__":true,"id":10486},"hideFromHandle":{"__isSmartRef__":true,"id":10490},"updateIntersection":{"__isSmartRef__":true,"id":10494},"lineIntersect":{"__isSmartRef__":true,"id":10498},"intersectMorphLinePoints":{"__isSmartRef__":true,"id":10502},"intersectMorph":{"__isSmartRef__":true,"id":10506},"globalShapePathFromMorph":{"__isSmartRef__":true,"id":10510}},"10418":{"varMapping":{"__isSmartRef__":true,"id":10419},"source":"function connect(morphA, morphB) {\n this.connectFrom(morphA)\n this.connectTo(morphB)\n this.updatePosition()\n}","funcProperties":{"__isSmartRef__":true,"id":10420},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10419":{"this":{"__isSmartRef__":true,"id":10402}},"10420":{"timestamp":{"__isSmartRef__":true,"id":10421},"user":"jenslincke","tags":[]},"10421":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:50:49 GMT+0100 (CET)"},"10422":{"varMapping":{"__isSmartRef__":true,"id":10423},"source":"function updatePosition() {\n this.updateControlPoint(this.controlPoints[0], this.fromMorph)\n this.updateControlPoint(this.controlPoints[1], this.toMorph)\n this.updateIntersection(this.fromMorph, this.controlPoints[0])\n this.updateIntersection(this.toMorph, this.controlPoints[1])\n\n this.adjustOrigin(this.bounds().extent().scaleBy(0.5))\n}","funcProperties":{"__isSmartRef__":true,"id":10424},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10423":{"this":{"__isSmartRef__":true,"id":10402}},"10424":{"timestamp":{"__isSmartRef__":true,"id":10425},"user":"jenslincke","tags":[]},"10425":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:06:20 GMT+0100 (CET)"},"10426":{"varMapping":{"__isSmartRef__":true,"id":10427},"source":"function updateControlPoint(cp, morph) {\n if (!cp || !morph) return;\n cp.setGlobalPos(morph.worldPoint(morph.shape.bounds().center()))\n}","funcProperties":{"__isSmartRef__":true,"id":10428},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10427":{"this":{"__isSmartRef__":true,"id":10402}},"10428":{"timestamp":{"__isSmartRef__":true,"id":10429},"user":"jenslincke","tags":[]},"10429":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:45:56 GMT+0100 (CET)"},"10430":{"varMapping":{"__isSmartRef__":true,"id":10431},"source":"function disconnectMorph(morph) {\n if (!morph) return;\n lively.bindings.disconnect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":10432},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10431":{"this":{"__isSmartRef__":true,"id":10402}},"10432":{"timestamp":{"__isSmartRef__":true,"id":10433},"user":"jenslincke","tags":[]},"10433":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:19:18 GMT+0100 (CET)"},"10434":{"varMapping":{"__isSmartRef__":true,"id":10435},"source":"function connectMorph(morph) {\n if (morph)\n lively.bindings.connect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":10436},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10435":{"this":{"__isSmartRef__":true,"id":10402}},"10436":{"timestamp":{"__isSmartRef__":true,"id":10437},"user":"jenslincke","tags":[]},"10437":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:52:12 GMT+0100 (CET)"},"10438":{"varMapping":{"__isSmartRef__":true,"id":10439},"source":"function onMouseOver(evt) {\n var p = evt.mousePoint.scaleBy(this.world().getScale())\n\n var cp1 = this.controlPoints[0].getGlobalPos();\n if (p.dist(cp1) < 20) {\n this.showFromHandle()\n } else {\n this.hideFromHandle()\n }\n var cp2 = this.controlPoints[1].getGlobalPos();\n if (p.dist(cp2) < 20) {\n this.showToHandle()\n } else {\n this.hideToHandle()\n }\n}","funcProperties":{"__isSmartRef__":true,"id":10440},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10439":{"this":{"__isSmartRef__":true,"id":10402}},"10440":{"timestamp":{"__isSmartRef__":true,"id":10441},"user":"jenslincke","tags":[]},"10441":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:23:03 GMT+0100 (CET)"},"10442":{"varMapping":{"__isSmartRef__":true,"id":10443},"source":"function onMouseOut(evt) {\n // this.hideFromHandle()\n // this.hideToHandle()\n}","funcProperties":{"__isSmartRef__":true,"id":10448},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10443":{"this":{"__isSmartRef__":true,"id":10402},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":10444}},"10444":{"$super":{"__isSmartRef__":true,"id":10445}},"10445":{"varMapping":{"__isSmartRef__":true,"id":10446},"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":10447},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10446":{"obj":{"__isSmartRef__":true,"id":10402},"name":"onMouseOut"},"10447":{},"10448":{"timestamp":{"__isSmartRef__":true,"id":10449},"user":"jenslincke","tags":[]},"10449":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:54:53 GMT+0100 (CET)"},"10450":{"varMapping":{"__isSmartRef__":true,"id":10451},"source":"function makeHandle() {\n var m = lively.morphic.Morph.makeRectangle(0,0,10,10);\n m.disableGrabbing()\n m.enableDragging()\n m.connector = this;\n // move real behavior to a place which is easier to develop\n // do not use bind, because we like late binding \n m.addScript(function onDragStart(evt) {\n this.connector.onDragStartInHandle(this, evt)\n })\n m.addScript(function onDrag(evt) {\n this.connector.onDragInHandle(this, evt)\n })\n m.addScript(function onDragEnd(evt) {\n this.connector.onDragEndInHandle(this, evt)\n })\n m.isEpiMorph = true;\n return m\n}","funcProperties":{"__isSmartRef__":true,"id":10452},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10451":{"this":{"__isSmartRef__":true,"id":10402}},"10452":{"timestamp":{"__isSmartRef__":true,"id":10453},"user":"jenslincke","tags":[]},"10453":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:08:29 GMT+0100 (CET)"},"10454":{"varMapping":{"__isSmartRef__":true,"id":10455},"source":"function showFromHandle() {\n if (!this.fromHandle) {\n this.fromHandle = this.makeHandle();\n this.fromHandle.setFill(Color.red)\n this.fromHandle.isFromHandle = true;\n }\n this.fromHandle.openInWorld();\n this.fromHandle.controlPoint = this.controlPoints[0];\n this.fromHandle.setPosition(this.controlPoints[0].getGlobalPos().subPt(pt(5,5)))\n return this.fromHandle\n}","funcProperties":{"__isSmartRef__":true,"id":10456},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10455":{"this":{"__isSmartRef__":true,"id":10402}},"10456":{"timestamp":{"__isSmartRef__":true,"id":10457},"user":"jenslincke","tags":[]},"10457":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:13:03 GMT+0100 (CET)"},"10458":{"varMapping":{"__isSmartRef__":true,"id":10459},"source":"function showToHandle() {\n if (!this.toHandle) {\n this.toHandle = this.makeHandle();\n this.toHandle.setFill(Color.red)\n this.toHandle.isToHandle = true;\n\n }\n this.toHandle.openInWorld();\n this.toHandle.controlPoint = this.controlPoints[1];\n this.toHandle.setPosition(this.controlPoints[1].getGlobalPos().subPt(pt(5,5)))\n return this.toHandle\n}","funcProperties":{"__isSmartRef__":true,"id":10460},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10459":{"this":{"__isSmartRef__":true,"id":10402}},"10460":{"timestamp":{"__isSmartRef__":true,"id":10461},"user":"jenslincke","tags":[]},"10461":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:20:25 GMT+0100 (CET)"},"10462":{"varMapping":{"__isSmartRef__":true,"id":10463},"source":"function reset() {\n if (this.fromHandle) {\n this.fromHandle.remove()\n delete this.fromHandle\n }\n if (this.toHandle) {\n this.toHandle.remove()\n delete this.toHandle\n }\n // this.controlPoints[1].setPos(pt(200,200))\n}","funcProperties":{"__isSmartRef__":true,"id":10464},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10463":{"this":{"__isSmartRef__":true,"id":10402}},"10464":{"timestamp":{"__isSmartRef__":true,"id":10465},"user":"jenslincke","tags":[]},"10465":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:15:00 GMT+0100 (CET)"},"10466":{"varMapping":{"__isSmartRef__":true,"id":10467},"source":"function onDragInHandle(handle, evt) {\n\n var pos = handle.getPositionInWorld();\n var delta = evt.hand.getPosition().subPt(pos);\n handle.moveBy(delta)\n pos = handle.getPositionInWorld();\n if (handle.controlPoint)\n handle.controlPoint.setGlobalPos(pos.addPt(pt(5,5)))\n var morphs = this.owner.morphsContainingPoint(pos)\n morphs = morphs.reject(function(ea) {\n return ea.isWorld || (ea === handle) || (ea === this) || \n (ea === this.owner)\n }, this)\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n this.selectedMorph = morphs.first();\n this.selectedMorphHighlights = show(this.selectedMorph)\n handle.startPos = evt.getPosition();\n}","funcProperties":{"__isSmartRef__":true,"id":10468},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10467":{"this":{"__isSmartRef__":true,"id":10402}},"10468":{"timestamp":{"__isSmartRef__":true,"id":10469},"user":"jenslincke","tags":[]},"10469":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:06:40 GMT+0100 (CET)"},"10470":{"varMapping":{"__isSmartRef__":true,"id":10471},"source":"function onDragStartInHandle(handle, evt) {\n handle.startPos = evt.getPosition()\n}","funcProperties":{"__isSmartRef__":true,"id":10472},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10471":{"this":{"__isSmartRef__":true,"id":10402}},"10472":{"timestamp":{"__isSmartRef__":true,"id":10473},"user":"jenslincke","tags":[]},"10473":{"isSerializedDate":true,"string":"Thu Dec 13 2012 15:51:13 GMT+0100 (CET)"},"10474":{"varMapping":{"__isSmartRef__":true,"id":10475},"source":"function onDragEndInHandle(handle, evt) {\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n \n if (handle.isFromHandle) this.connectFrom(this.selectedMorph)\n if (handle.isToHandle) this.connectTo(this.selectedMorph)\n handle.remove()\n}","funcProperties":{"__isSmartRef__":true,"id":10476},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10475":{"this":{"__isSmartRef__":true,"id":10402}},"10476":{"timestamp":{"__isSmartRef__":true,"id":10477},"user":"jenslincke","tags":[]},"10477":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:44:35 GMT+0100 (CET)"},"10478":{"varMapping":{"__isSmartRef__":true,"id":10479},"source":"function connectFrom(morph) {\n if (morph && morph === this.toMorph) return; // not allowed\n\n this.disconnectMorph(this.fromMorph)\n this.fromMorph = morph;\n this.connectMorph(this.fromMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":10480},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10479":{"this":{"__isSmartRef__":true,"id":10402}},"10480":{"timestamp":{"__isSmartRef__":true,"id":10481},"user":"jenslincke","tags":[]},"10481":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:02:22 GMT+0100 (CET)"},"10482":{"varMapping":{"__isSmartRef__":true,"id":10483},"source":"function connectTo(morph) {\n\n if (morph && morph === this.fromMorph) return; // not allowed\n\n this.disconnectMorph(this.toMorph)\n this.toMorph = morph;\n this.connectMorph(this.toMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":10484},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10483":{"this":{"__isSmartRef__":true,"id":10402}},"10484":{"timestamp":{"__isSmartRef__":true,"id":10485},"user":"jenslincke","tags":[]},"10485":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:02:30 GMT+0100 (CET)"},"10486":{"varMapping":{"__isSmartRef__":true,"id":10487},"source":"function hideToHandle() {\n if (this.toHandle) {\n this.toHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":10488},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10487":{"this":{"__isSmartRef__":true,"id":10402}},"10488":{"timestamp":{"__isSmartRef__":true,"id":10489},"user":"jenslincke","tags":[]},"10489":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:51:59 GMT+0100 (CET)"},"10490":{"varMapping":{"__isSmartRef__":true,"id":10491},"source":"function hideFromHandle() {\n if (this.fromHandle) {\n this.fromHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":10492},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10491":{"this":{"__isSmartRef__":true,"id":10402}},"10492":{"timestamp":{"__isSmartRef__":true,"id":10493},"user":"jenslincke","tags":[]},"10493":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:52:18 GMT+0100 (CET)"},"10494":{"varMapping":{"__isSmartRef__":true,"id":10495},"source":"function updateIntersection(morph, cp) {\n if (!morph) return;\n var intersection = this.intersectMorph(morph)[0];\n if (intersection) {\n cp.setGlobalPos(intersection);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":10496},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10495":{"this":{"__isSmartRef__":true,"id":10402}},"10496":{"timestamp":{"__isSmartRef__":true,"id":10497},"user":"jenslincke","tags":[]},"10497":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:32 GMT+0100 (CET)"},"10498":{"varMapping":{"__isSmartRef__":true,"id":10499},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":10500},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10499":{"this":{"__isSmartRef__":true,"id":10402}},"10500":{"timestamp":{"__isSmartRef__":true,"id":10501},"user":"jenslincke","tags":[]},"10501":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:47:12 GMT+0100 (CET)"},"10502":{"varMapping":{"__isSmartRef__":true,"id":10503},"source":"function intersectMorphLinePoints(morph, a1, a2) {\n var points = this.globalShapePathFromMorph(morph);\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":10504},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10503":{"this":{"__isSmartRef__":true,"id":10402}},"10504":{"timestamp":{"__isSmartRef__":true,"id":10505},"user":"jenslincke","tags":[]},"10505":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:21 GMT+0100 (CET)"},"10506":{"varMapping":{"__isSmartRef__":true,"id":10507},"source":"function intersectMorph(morph) {\n var line = this;\n return this.intersectMorphLinePoints(morph,\n line.controlPoints[0].getGlobalPos(), line.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":10508},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10507":{"this":{"__isSmartRef__":true,"id":10402}},"10508":{"timestamp":{"__isSmartRef__":true,"id":10509},"user":"jenslincke","tags":[]},"10509":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:47 GMT+0100 (CET)"},"10510":{"varMapping":{"__isSmartRef__":true,"id":10511},"source":"function globalShapePathFromMorph(morph) {\n var b = morph.shape.bounds();\n var p1 = morph.worldPoint(b.topLeft()),\n p2 = morph.worldPoint(b.topRight()),\n p3 = morph.worldPoint(b.bottomRight()),\n p4 = morph.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":10512},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10511":{"this":{"__isSmartRef__":true,"id":10402}},"10512":{"timestamp":{"__isSmartRef__":true,"id":10513},"user":"jenslincke","tags":[]},"10513":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:00 GMT+0100 (CET)"},"10514":{"source":{"__isSmartRef__":true,"id":10329},"target":{"__isSmartRef__":true,"id":10402}},"10515":{"sourceObj":{"__isSmartRef__":true,"id":10329},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":10401},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":10516},"dependedBy":{"__isSmartRef__":true,"id":10401},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10516":{"source":{"__isSmartRef__":true,"id":10329},"target":{"__isSmartRef__":true,"id":10401}},"10517":{"sourceObj":{"__isSmartRef__":true,"id":10329},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":10401},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":10518},"dependedBy":{"__isSmartRef__":true,"id":10401},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10518":{"source":{"__isSmartRef__":true,"id":10329},"target":{"__isSmartRef__":true,"id":10401}},"10519":{"sourceObj":{"__isSmartRef__":true,"id":10329},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":10401},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":10520},"dependedBy":{"__isSmartRef__":true,"id":10401},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10520":{"source":{"__isSmartRef__":true,"id":10329},"target":{"__isSmartRef__":true,"id":10401}},"10521":{"sourceObj":{"__isSmartRef__":true,"id":10329},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":10401},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":10522},"dependedBy":{"__isSmartRef__":true,"id":10401},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10522":{"source":{"__isSmartRef__":true,"id":10329},"target":{"__isSmartRef__":true,"id":10401}},"10523":{"d":0.9347623017725522,"a":0.9347623017725522,"f":3485.245045045044,"e":728.5390390390387,"c":0.3552737524570028,"b":-0.3552737524570028,"matrix_":{"__isSmartRef__":true,"id":10524},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"10524":{"a":0.9347623017725522,"b":-0.3552737524570028,"c":0.3552737524570028,"d":0.9347623017725522,"e":728.5390390390387,"f":3485.245045045044,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"10525":{"globalShapePath":{"__isSmartRef__":true,"id":10526},"lineIntersect":{"__isSmartRef__":true,"id":10529},"intersectLine":{"__isSmartRef__":true,"id":10533},"intersectLineMorph":{"__isSmartRef__":true,"id":10536}},"10526":{"varMapping":{"__isSmartRef__":true,"id":10527},"source":"function globalShapePath() {\n var b = this.shape.bounds();\n var p1 = this.worldPoint(b.topLeft()),\n p2 = this.worldPoint(b.topRight()),\n p3 = this.worldPoint(b.bottomRight()),\n p4 = this.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":10528},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10527":{"this":{"__isSmartRef__":true,"id":10329}},"10528":{},"10529":{"varMapping":{"__isSmartRef__":true,"id":10530},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":10531},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10530":{"this":{"__isSmartRef__":true,"id":10329}},"10531":{"timestamp":{"__isSmartRef__":true,"id":10532},"user":"jenslincke","tags":[]},"10532":{"isSerializedDate":true,"string":"Thu Dec 13 2012 13:42:55 GMT+0100 (CET)"},"10533":{"varMapping":{"__isSmartRef__":true,"id":10534},"source":"function intersectLine(a1, a2) {\n var points = this.globalShapePath();\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":10535},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10534":{"this":{"__isSmartRef__":true,"id":10329}},"10535":{},"10536":{"varMapping":{"__isSmartRef__":true,"id":10537},"source":"function intersectLineMorph(m) {\n return this.intersectLine(m.controlPoints[0].getGlobalPos(), m.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":10538},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10537":{"this":{"__isSmartRef__":true,"id":10329}},"10538":{},"10539":{"d":1,"a":1,"f":906.1,"e":107.8,"c":0,"b":0,"matrix_":{"__isSmartRef__":true,"id":10540},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"10540":{"a":1,"b":0,"c":0,"d":1,"e":107.8,"f":906.1,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"10541":{"connect":{"__isSmartRef__":true,"id":10542},"updatePosition":{"__isSmartRef__":true,"id":10546},"updateControlPoint":{"__isSmartRef__":true,"id":10550},"disconnectMorph":{"__isSmartRef__":true,"id":10554},"connectMorph":{"__isSmartRef__":true,"id":10558},"onMouseOver":{"__isSmartRef__":true,"id":10562},"onMouseOut":{"__isSmartRef__":true,"id":10566},"makeHandle":{"__isSmartRef__":true,"id":10574},"showFromHandle":{"__isSmartRef__":true,"id":10578},"showToHandle":{"__isSmartRef__":true,"id":10582},"reset":{"__isSmartRef__":true,"id":10586},"onDragInHandle":{"__isSmartRef__":true,"id":10590},"onDragStartInHandle":{"__isSmartRef__":true,"id":10594},"onDragEndInHandle":{"__isSmartRef__":true,"id":10598},"connectFrom":{"__isSmartRef__":true,"id":10602},"connectTo":{"__isSmartRef__":true,"id":10606},"hideToHandle":{"__isSmartRef__":true,"id":10610},"hideFromHandle":{"__isSmartRef__":true,"id":10614},"updateIntersection":{"__isSmartRef__":true,"id":10618},"lineIntersect":{"__isSmartRef__":true,"id":10622},"intersectMorphLinePoints":{"__isSmartRef__":true,"id":10626},"intersectMorph":{"__isSmartRef__":true,"id":10630},"globalShapePathFromMorph":{"__isSmartRef__":true,"id":10634}},"10542":{"varMapping":{"__isSmartRef__":true,"id":10543},"source":"function connect(morphA, morphB) {\n this.connectFrom(morphA)\n this.connectTo(morphB)\n this.updatePosition()\n}","funcProperties":{"__isSmartRef__":true,"id":10544},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10543":{"this":{"__isSmartRef__":true,"id":10319}},"10544":{"timestamp":{"__isSmartRef__":true,"id":10545},"user":"jenslincke","tags":[]},"10545":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:50:49 GMT+0100 (CET)"},"10546":{"varMapping":{"__isSmartRef__":true,"id":10547},"source":"function updatePosition() {\n this.updateControlPoint(this.controlPoints[0], this.fromMorph)\n this.updateControlPoint(this.controlPoints[1], this.toMorph)\n this.updateIntersection(this.fromMorph, this.controlPoints[0])\n this.updateIntersection(this.toMorph, this.controlPoints[1])\n\n if (this.controlPoints[0].getPos().equalPt(this.controlPoints[1].getPos()))\n this.controlPoints[1].setPos(this.controlPoints[1].getPos().addPt(pt(30,0)))\n\n this.adjustOrigin(this.bounds().extent().scaleBy(0.5))\n \n}","funcProperties":{"__isSmartRef__":true,"id":10548},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10547":{"this":{"__isSmartRef__":true,"id":10319}},"10548":{"timestamp":{"__isSmartRef__":true,"id":10549},"user":"jenslincke","tags":[]},"10549":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:59:26 GMT+0100 (CET)"},"10550":{"varMapping":{"__isSmartRef__":true,"id":10551},"source":"function updateControlPoint(cp, morph) {\n if (!cp || !morph) return;\n cp.setGlobalPos(morph.worldPoint(morph.shape.bounds().center()))\n}","funcProperties":{"__isSmartRef__":true,"id":10552},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10551":{"this":{"__isSmartRef__":true,"id":10319}},"10552":{"timestamp":{"__isSmartRef__":true,"id":10553},"user":"jenslincke","tags":[]},"10553":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:45:56 GMT+0100 (CET)"},"10554":{"varMapping":{"__isSmartRef__":true,"id":10555},"source":"function disconnectMorph(morph) {\n if (!morph) return;\n lively.bindings.disconnect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":10556},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10555":{"this":{"__isSmartRef__":true,"id":10319}},"10556":{"timestamp":{"__isSmartRef__":true,"id":10557},"user":"jenslincke","tags":[]},"10557":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:19:18 GMT+0100 (CET)"},"10558":{"varMapping":{"__isSmartRef__":true,"id":10559},"source":"function connectMorph(morph) {\n if (morph)\n lively.bindings.connect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":10560},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10559":{"this":{"__isSmartRef__":true,"id":10319}},"10560":{"timestamp":{"__isSmartRef__":true,"id":10561},"user":"jenslincke","tags":[]},"10561":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:52:12 GMT+0100 (CET)"},"10562":{"varMapping":{"__isSmartRef__":true,"id":10563},"source":"function onMouseOver(evt) {\n var p = evt.mousePoint.scaleBy(this.world().getScale())\n\n var cp1 = this.controlPoints[0].getGlobalPos();\n if (p.dist(cp1) < 20) {\n this.showFromHandle()\n } else {\n this.hideFromHandle()\n }\n var cp2 = this.controlPoints[1].getGlobalPos();\n if (p.dist(cp2) < 20) {\n this.showToHandle()\n } else {\n this.hideToHandle()\n }\n}","funcProperties":{"__isSmartRef__":true,"id":10564},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10563":{"this":{"__isSmartRef__":true,"id":10319}},"10564":{"timestamp":{"__isSmartRef__":true,"id":10565},"user":"jenslincke","tags":[]},"10565":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:23:03 GMT+0100 (CET)"},"10566":{"varMapping":{"__isSmartRef__":true,"id":10567},"source":"function onMouseOut(evt) {\n // this.hideFromHandle()\n // this.hideToHandle()\n}","funcProperties":{"__isSmartRef__":true,"id":10572},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10567":{"this":{"__isSmartRef__":true,"id":10319},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":10568}},"10568":{"$super":{"__isSmartRef__":true,"id":10569}},"10569":{"varMapping":{"__isSmartRef__":true,"id":10570},"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":10571},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10570":{"obj":{"__isSmartRef__":true,"id":10319},"name":"onMouseOut"},"10571":{},"10572":{"timestamp":{"__isSmartRef__":true,"id":10573},"user":"jenslincke","tags":[]},"10573":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:54:53 GMT+0100 (CET)"},"10574":{"varMapping":{"__isSmartRef__":true,"id":10575},"source":"function makeHandle() {\n var m = lively.morphic.Morph.makeRectangle(0,0,10,10);\n m.disableGrabbing()\n m.enableDragging()\n m.connector = this;\n // move real behavior to a place which is easier to develop\n // do not use bind, because we like late binding \n m.addScript(function onDragStart(evt) {\n this.connector.onDragStartInHandle(this, evt)\n })\n m.addScript(function onDrag(evt) {\n this.connector.onDragInHandle(this, evt)\n })\n m.addScript(function onDragEnd(evt) {\n this.connector.onDragEndInHandle(this, evt)\n })\n m.isEpiMorph = true;\n return m\n}","funcProperties":{"__isSmartRef__":true,"id":10576},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10575":{"this":{"__isSmartRef__":true,"id":10319}},"10576":{"timestamp":{"__isSmartRef__":true,"id":10577},"user":"jenslincke","tags":[]},"10577":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:08:29 GMT+0100 (CET)"},"10578":{"varMapping":{"__isSmartRef__":true,"id":10579},"source":"function showFromHandle() {\n if (!this.fromHandle) {\n this.fromHandle = this.makeHandle();\n this.fromHandle.setFill(Color.red)\n this.fromHandle.isFromHandle = true;\n }\n this.fromHandle.openInWorld();\n this.fromHandle.controlPoint = this.controlPoints[0];\n this.fromHandle.setPosition(this.controlPoints[0].getGlobalPos().subPt(pt(5,5)))\n return this.fromHandle\n}","funcProperties":{"__isSmartRef__":true,"id":10580},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10579":{"this":{"__isSmartRef__":true,"id":10319}},"10580":{"timestamp":{"__isSmartRef__":true,"id":10581},"user":"jenslincke","tags":[]},"10581":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:13:03 GMT+0100 (CET)"},"10582":{"varMapping":{"__isSmartRef__":true,"id":10583},"source":"function showToHandle() {\n if (!this.toHandle) {\n this.toHandle = this.makeHandle();\n this.toHandle.setFill(Color.red)\n this.toHandle.isToHandle = true;\n\n }\n this.toHandle.openInWorld();\n this.toHandle.controlPoint = this.controlPoints[1];\n this.toHandle.setPosition(this.controlPoints[1].getGlobalPos().subPt(pt(5,5)))\n return this.toHandle\n}","funcProperties":{"__isSmartRef__":true,"id":10584},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10583":{"this":{"__isSmartRef__":true,"id":10319}},"10584":{"timestamp":{"__isSmartRef__":true,"id":10585},"user":"jenslincke","tags":[]},"10585":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:20:25 GMT+0100 (CET)"},"10586":{"varMapping":{"__isSmartRef__":true,"id":10587},"source":"function reset() {\n if (this.fromHandle) {\n this.fromHandle.remove()\n delete this.fromHandle\n }\n if (this.toHandle) {\n this.toHandle.remove()\n delete this.toHandle\n }\n // this.controlPoints[1].setPos(pt(200,200))\n}","funcProperties":{"__isSmartRef__":true,"id":10588},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10587":{"this":{"__isSmartRef__":true,"id":10319}},"10588":{"timestamp":{"__isSmartRef__":true,"id":10589},"user":"jenslincke","tags":[]},"10589":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:15:00 GMT+0100 (CET)"},"10590":{"varMapping":{"__isSmartRef__":true,"id":10591},"source":"function onDragInHandle(handle, evt) {\n\n var pos = handle.getPositionInWorld();\n var delta = evt.hand.getPosition().subPt(pos);\n handle.moveBy(delta)\n pos = handle.getPositionInWorld();\n if (handle.controlPoint)\n handle.controlPoint.setGlobalPos(pos.addPt(pt(5,5)))\n var morphs = this.owner.morphsContainingPoint(pos)\n morphs = morphs.reject(function(ea) {\n return ea.isWorld || (ea === handle) || (ea === this) || \n (ea === this.owner)\n }, this)\n this.get('Console').textString = morphs\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n this.selectedMorph = morphs.first();\n this.selectedMorphHighlights = show(this.selectedMorph)\n handle.startPos = evt.getPosition();\n}","funcProperties":{"__isSmartRef__":true,"id":10592},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10591":{"this":{"__isSmartRef__":true,"id":10319}},"10592":{"timestamp":{"__isSmartRef__":true,"id":10593},"user":"jenslincke","tags":[]},"10593":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:09:40 GMT+0100 (CET)"},"10594":{"varMapping":{"__isSmartRef__":true,"id":10595},"source":"function onDragStartInHandle(handle, evt) {\n handle.startPos = evt.getPosition()\n}","funcProperties":{"__isSmartRef__":true,"id":10596},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10595":{"this":{"__isSmartRef__":true,"id":10319}},"10596":{"timestamp":{"__isSmartRef__":true,"id":10597},"user":"jenslincke","tags":[]},"10597":{"isSerializedDate":true,"string":"Thu Dec 13 2012 15:51:13 GMT+0100 (CET)"},"10598":{"varMapping":{"__isSmartRef__":true,"id":10599},"source":"function onDragEndInHandle(handle, evt) {\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n \n if (handle.isFromHandle) this.connectFrom(this.selectedMorph)\n if (handle.isToHandle) this.connectTo(this.selectedMorph)\n handle.remove()\n}","funcProperties":{"__isSmartRef__":true,"id":10600},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10599":{"this":{"__isSmartRef__":true,"id":10319}},"10600":{"timestamp":{"__isSmartRef__":true,"id":10601},"user":"jenslincke","tags":[]},"10601":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:44:35 GMT+0100 (CET)"},"10602":{"varMapping":{"__isSmartRef__":true,"id":10603},"source":"function connectFrom(morph) {\n if (morph === this.toMorph) return; // not allowed\n\n this.disconnectMorph(this.fromMorph)\n this.fromMorph = morph;\n this.connectMorph(this.fromMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":10604},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10603":{"this":{"__isSmartRef__":true,"id":10319}},"10604":{"timestamp":{"__isSmartRef__":true,"id":10605},"user":"jenslincke","tags":[]},"10605":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:57:22 GMT+0100 (CET)"},"10606":{"varMapping":{"__isSmartRef__":true,"id":10607},"source":"function connectTo(morph) {\n\n if (morph === this.fromMorph) return; // not allowed\n\n this.disconnectMorph(this.toMorph)\n this.toMorph = morph;\n this.connectMorph(this.toMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":10608},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10607":{"this":{"__isSmartRef__":true,"id":10319}},"10608":{"timestamp":{"__isSmartRef__":true,"id":10609},"user":"jenslincke","tags":[]},"10609":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:57:14 GMT+0100 (CET)"},"10610":{"varMapping":{"__isSmartRef__":true,"id":10611},"source":"function hideToHandle() {\n if (this.toHandle) {\n this.toHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":10612},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10611":{"this":{"__isSmartRef__":true,"id":10319}},"10612":{"timestamp":{"__isSmartRef__":true,"id":10613},"user":"jenslincke","tags":[]},"10613":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:51:59 GMT+0100 (CET)"},"10614":{"varMapping":{"__isSmartRef__":true,"id":10615},"source":"function hideFromHandle() {\n if (this.fromHandle) {\n this.fromHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":10616},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10615":{"this":{"__isSmartRef__":true,"id":10319}},"10616":{"timestamp":{"__isSmartRef__":true,"id":10617},"user":"jenslincke","tags":[]},"10617":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:52:18 GMT+0100 (CET)"},"10618":{"varMapping":{"__isSmartRef__":true,"id":10619},"source":"function updateIntersection(morph, cp) {\n if (!morph) return;\n var intersection = this.intersectMorph(morph)[0];\n if (intersection) {\n cp.setGlobalPos(intersection);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":10620},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10619":{"this":{"__isSmartRef__":true,"id":10319}},"10620":{"timestamp":{"__isSmartRef__":true,"id":10621},"user":"jenslincke","tags":[]},"10621":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:32 GMT+0100 (CET)"},"10622":{"varMapping":{"__isSmartRef__":true,"id":10623},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":10624},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10623":{"this":{"__isSmartRef__":true,"id":10319}},"10624":{"timestamp":{"__isSmartRef__":true,"id":10625},"user":"jenslincke","tags":[]},"10625":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:47:12 GMT+0100 (CET)"},"10626":{"varMapping":{"__isSmartRef__":true,"id":10627},"source":"function intersectMorphLinePoints(morph, a1, a2) {\n var points = this.globalShapePathFromMorph(morph);\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":10628},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10627":{"this":{"__isSmartRef__":true,"id":10319}},"10628":{"timestamp":{"__isSmartRef__":true,"id":10629},"user":"jenslincke","tags":[]},"10629":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:21 GMT+0100 (CET)"},"10630":{"varMapping":{"__isSmartRef__":true,"id":10631},"source":"function intersectMorph(morph) {\n var line = this;\n return this.intersectMorphLinePoints(morph,\n line.controlPoints[0].getGlobalPos(), line.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":10632},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10631":{"this":{"__isSmartRef__":true,"id":10319}},"10632":{"timestamp":{"__isSmartRef__":true,"id":10633},"user":"jenslincke","tags":[]},"10633":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:47 GMT+0100 (CET)"},"10634":{"varMapping":{"__isSmartRef__":true,"id":10635},"source":"function globalShapePathFromMorph(morph) {\n var b = morph.shape.bounds();\n var p1 = morph.worldPoint(b.topLeft()),\n p2 = morph.worldPoint(b.topRight()),\n p3 = morph.worldPoint(b.bottomRight()),\n p4 = morph.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":10636},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10635":{"this":{"__isSmartRef__":true,"id":10319}},"10636":{"timestamp":{"__isSmartRef__":true,"id":10637},"user":"jenslincke","tags":[]},"10637":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:00 GMT+0100 (CET)"},"10638":{"morph":{"__isSmartRef__":true,"id":10288},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(142.4,3530.4)"},"10639":{"morph":{"__isSmartRef__":true,"id":10288},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(104.9,3506.4)"},"10640":{"morph":{"__isSmartRef__":true,"id":10288},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(67.4,3482.4)"},"10641":{"morph":{"__isSmartRef__":true,"id":10288},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(89.0,3448.7)"},"10642":{"sourceObj":{"__isSmartRef__":true,"id":10288},"sourceAttrName":"name","targetObj":{"__isSmartRef__":true,"id":10263},"targetMethodName":"updateLabel","varMapping":{"__isSmartRef__":true,"id":10643},"visualConnector":{"__isSmartRef__":true,"id":10644},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10643":{"source":{"__isSmartRef__":true,"id":10288},"target":{"__isSmartRef__":true,"id":10263}},"10644":{"submorphs":[{"__isSmartRef__":true,"id":10645}],"scripts":[],"shape":{"__isSmartRef__":true,"id":10652},"eventHandler":{"__isSmartRef__":true,"id":10655},"_ClipMode":"visible","derivationIds":[],"id":"5814672F-102B-41EE-9D91-9FA58B6451FD","__layered_droppingEnabled__":true,"halosEnabled":true,"owner":null,"controlPoints":[{"__isSmartRef__":true,"id":10656},{"__isSmartRef__":true,"id":10657}],"con":{"__isSmartRef__":true,"id":10642},"showsMorphMenu":true,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":10658},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"10645":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":10646},"eventHandler":{"__isSmartRef__":true,"id":10651},"_ClipMode":"visible","derivationIds":[],"id":"01253C2A-18A1-43A8-AA72-260E7FC0929E","__layered_droppingEnabled__":true,"halosEnabled":true,"owner":{"__isSmartRef__":true,"id":10644},"_Rotation":1.3832457846463706,"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","_Position":"lively.pt(259.1,3427.8)"},"10646":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":10647},{"__isSmartRef__":true,"id":10648},{"__isSmartRef__":true,"id":10649},{"__isSmartRef__":true,"id":10650}],"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor","_Fill"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Position":"lively.pt(-12.0,-6.0)","_Extent":"lively.pt(17.0,13.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(0,0,0)"},"10647":{"isAbsolute":true,"x":-11,"y":-5,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"10648":{"isAbsolute":true,"x":-11,"y":7,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"10649":{"isAbsolute":true,"x":5,"y":1,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"10650":{"isAbsolute":true,"x":-11,"y":-5,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"10651":{"morph":{"__isSmartRef__":true,"id":10645},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"10652":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":10653},{"__isSmartRef__":true,"id":10654}],"_BorderWidth":1,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Position":"lively.pt(248.7,3377.0)","_Extent":"lively.pt(10.4,50.8)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"10653":{"isAbsolute":true,"x":249.7,"y":3378,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"10654":{"isAbsolute":true,"x":259.14357977177195,"y":3427.7604139964105,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"10655":{"morph":{"__isSmartRef__":true,"id":10644},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"10656":{"morph":{"__isSmartRef__":true,"id":10644},"index":0,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"10657":{"morph":{"__isSmartRef__":true,"id":10644},"index":1,"marker":{"__isSmartRef__":true,"id":10645},"markerDirection":"prev","__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"10658":{"morphMenuItems":{"__isSmartRef__":true,"id":10659}},"10659":{"varMapping":{"__isSmartRef__":true,"id":10660},"source":"function morphMenuItems() {\n var visualConnector = this, con = this.con, world = $world;\n var items = [\n ['Edit converter', function() {\n var window = lively.bindings.editConnection(con);\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":10665},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10660":{"this":{"__isSmartRef__":true,"id":10644},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":10661}},"10661":{"$super":{"__isSmartRef__":true,"id":10662}},"10662":{"varMapping":{"__isSmartRef__":true,"id":10663},"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":10664},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10663":{"obj":{"__isSmartRef__":true,"id":10644},"name":"morphMenuItems"},"10664":{},"10665":{},"10666":{"sourceObj":{"__isSmartRef__":true,"id":10288},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":10644},"targetMethodName":"realignConnection","varMapping":{"__isSmartRef__":true,"id":10667},"dependendConnections":[{"__isSmartRef__":true,"id":10668},{"__isSmartRef__":true,"id":10670},{"__isSmartRef__":true,"id":10672},{"__isSmartRef__":true,"id":10674},{"__isSmartRef__":true,"id":10676},{"__isSmartRef__":true,"id":10678},{"__isSmartRef__":true,"id":10680},{"__isSmartRef__":true,"id":10682}],"oldTransform":{"__isSmartRef__":true,"id":10684},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"10667":{"source":{"__isSmartRef__":true,"id":10288},"target":{"__isSmartRef__":true,"id":10644}},"10668":{"sourceObj":{"__isSmartRef__":true,"id":10288},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":10666},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":10669},"dependedBy":{"__isSmartRef__":true,"id":10666},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10669":{"source":{"__isSmartRef__":true,"id":10288},"target":{"__isSmartRef__":true,"id":10666}},"10670":{"sourceObj":{"__isSmartRef__":true,"id":10288},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":10666},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":10671},"dependedBy":{"__isSmartRef__":true,"id":10666},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10671":{"source":{"__isSmartRef__":true,"id":10288},"target":{"__isSmartRef__":true,"id":10666}},"10672":{"sourceObj":{"__isSmartRef__":true,"id":10288},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":10666},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":10673},"dependedBy":{"__isSmartRef__":true,"id":10666},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10673":{"source":{"__isSmartRef__":true,"id":10288},"target":{"__isSmartRef__":true,"id":10666}},"10674":{"sourceObj":{"__isSmartRef__":true,"id":10288},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":10666},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":10675},"dependedBy":{"__isSmartRef__":true,"id":10666},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10675":{"source":{"__isSmartRef__":true,"id":10288},"target":{"__isSmartRef__":true,"id":10666}},"10676":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":10666},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":10677},"dependedBy":{"__isSmartRef__":true,"id":10666},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10677":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":10666}},"10678":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":10666},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":10679},"dependedBy":{"__isSmartRef__":true,"id":10666},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10679":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":10666}},"10680":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":10666},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":10681},"dependedBy":{"__isSmartRef__":true,"id":10666},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10681":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":10666}},"10682":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":10666},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":10683},"dependedBy":{"__isSmartRef__":true,"id":10666},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10683":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":10666}},"10684":{"d":0.8419431060646692,"a":0.8419431060646692,"f":59.4,"e":73.7,"c":-0.5395663130238733,"b":0.5395663130238733,"matrix_":{"__isSmartRef__":true,"id":10685},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"10685":{"a":0.8419431060646692,"b":0.5395663130238733,"c":-0.5395663130238733,"d":0.8419431060646692,"e":73.7,"f":59.4,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"10686":{"sourceObj":{"__isSmartRef__":true,"id":10288},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":10262},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":10687},"dependedBy":{"__isSmartRef__":true,"id":10262},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10687":{"source":{"__isSmartRef__":true,"id":10288},"target":{"__isSmartRef__":true,"id":10262}},"10688":{"sourceObj":{"__isSmartRef__":true,"id":10288},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":10262},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":10689},"dependedBy":{"__isSmartRef__":true,"id":10262},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10689":{"source":{"__isSmartRef__":true,"id":10288},"target":{"__isSmartRef__":true,"id":10262}},"10690":{"sourceObj":{"__isSmartRef__":true,"id":10288},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":10262},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":10691},"dependedBy":{"__isSmartRef__":true,"id":10262},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10691":{"source":{"__isSmartRef__":true,"id":10288},"target":{"__isSmartRef__":true,"id":10262}},"10692":{"sourceObj":{"__isSmartRef__":true,"id":10288},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":10262},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":10693},"dependedBy":{"__isSmartRef__":true,"id":10262},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10693":{"source":{"__isSmartRef__":true,"id":10288},"target":{"__isSmartRef__":true,"id":10262}},"10694":{"sourceObj":{"__isSmartRef__":true,"id":10288},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":2988},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":10695},"dependendConnections":[{"__isSmartRef__":true,"id":10696},{"__isSmartRef__":true,"id":10698},{"__isSmartRef__":true,"id":10700},{"__isSmartRef__":true,"id":10702},{"__isSmartRef__":true,"id":10704},{"__isSmartRef__":true,"id":10706},{"__isSmartRef__":true,"id":10708},{"__isSmartRef__":true,"id":10710}],"oldTransform":{"__isSmartRef__":true,"id":10712},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"10695":{"source":{"__isSmartRef__":true,"id":10288},"target":{"__isSmartRef__":true,"id":2988}},"10696":{"sourceObj":{"__isSmartRef__":true,"id":10288},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":10694},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":10697},"dependedBy":{"__isSmartRef__":true,"id":10694},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10697":{"source":{"__isSmartRef__":true,"id":10288},"target":{"__isSmartRef__":true,"id":10694}},"10698":{"sourceObj":{"__isSmartRef__":true,"id":10288},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":10694},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":10699},"dependedBy":{"__isSmartRef__":true,"id":10694},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10699":{"source":{"__isSmartRef__":true,"id":10288},"target":{"__isSmartRef__":true,"id":10694}},"10700":{"sourceObj":{"__isSmartRef__":true,"id":10288},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":10694},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":10701},"dependedBy":{"__isSmartRef__":true,"id":10694},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10701":{"source":{"__isSmartRef__":true,"id":10288},"target":{"__isSmartRef__":true,"id":10694}},"10702":{"sourceObj":{"__isSmartRef__":true,"id":10288},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":10694},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":10703},"dependedBy":{"__isSmartRef__":true,"id":10694},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10703":{"source":{"__isSmartRef__":true,"id":10288},"target":{"__isSmartRef__":true,"id":10694}},"10704":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":10694},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":10705},"dependedBy":{"__isSmartRef__":true,"id":10694},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10705":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":10694}},"10706":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":10694},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":10707},"dependedBy":{"__isSmartRef__":true,"id":10694},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10707":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":10694}},"10708":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":10694},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":10709},"dependedBy":{"__isSmartRef__":true,"id":10694},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10709":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":10694}},"10710":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":10694},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":10711},"dependedBy":{"__isSmartRef__":true,"id":10694},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10711":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":10694}},"10712":{"d":0.8419431060646692,"a":0.8419431060646692,"f":59.4,"e":73.7,"c":-0.5395663130238733,"b":0.5395663130238733,"matrix_":{"__isSmartRef__":true,"id":10713},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"10713":{"a":0.8419431060646692,"b":0.5395663130238733,"c":-0.5395663130238733,"d":0.8419431060646692,"e":73.7,"f":59.4,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"10714":{"sourceObj":{"__isSmartRef__":true,"id":10288},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":10318},"targetMethodName":"alignToMagnet","varMapping":{"__isSmartRef__":true,"id":10715},"dependendConnections":[{"__isSmartRef__":true,"id":10716},{"__isSmartRef__":true,"id":10718},{"__isSmartRef__":true,"id":10720},{"__isSmartRef__":true,"id":10722},{"__isSmartRef__":true,"id":10724},{"__isSmartRef__":true,"id":10726},{"__isSmartRef__":true,"id":10728},{"__isSmartRef__":true,"id":10730}],"oldTransform":{"__isSmartRef__":true,"id":10732},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"10715":{"source":{"__isSmartRef__":true,"id":10288},"target":{"__isSmartRef__":true,"id":10318}},"10716":{"sourceObj":{"__isSmartRef__":true,"id":10288},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":10714},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":10717},"dependedBy":{"__isSmartRef__":true,"id":10714},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10717":{"source":{"__isSmartRef__":true,"id":10288},"target":{"__isSmartRef__":true,"id":10714}},"10718":{"sourceObj":{"__isSmartRef__":true,"id":10288},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":10714},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":10719},"dependedBy":{"__isSmartRef__":true,"id":10714},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10719":{"source":{"__isSmartRef__":true,"id":10288},"target":{"__isSmartRef__":true,"id":10714}},"10720":{"sourceObj":{"__isSmartRef__":true,"id":10288},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":10714},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":10721},"dependedBy":{"__isSmartRef__":true,"id":10714},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10721":{"source":{"__isSmartRef__":true,"id":10288},"target":{"__isSmartRef__":true,"id":10714}},"10722":{"sourceObj":{"__isSmartRef__":true,"id":10288},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":10714},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":10723},"dependedBy":{"__isSmartRef__":true,"id":10714},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10723":{"source":{"__isSmartRef__":true,"id":10288},"target":{"__isSmartRef__":true,"id":10714}},"10724":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":10714},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":10725},"dependedBy":{"__isSmartRef__":true,"id":10714},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10725":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":10714}},"10726":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":10714},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":10727},"dependedBy":{"__isSmartRef__":true,"id":10714},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10727":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":10714}},"10728":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":10714},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":10729},"dependedBy":{"__isSmartRef__":true,"id":10714},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10729":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":10714}},"10730":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":10714},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":10731},"dependedBy":{"__isSmartRef__":true,"id":10714},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10731":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":10714}},"10732":{"d":0.8419431060646692,"a":0.8419431060646692,"f":59.4,"e":73.7,"c":-0.5395663130238733,"b":0.5395663130238733,"matrix_":{"__isSmartRef__":true,"id":10733},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"10733":{"a":0.8419431060646692,"b":0.5395663130238733,"c":-0.5395663130238733,"d":0.8419431060646692,"e":73.7,"f":59.4,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"10734":{"sourceObj":{"__isSmartRef__":true,"id":10288},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":3261},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":10735},"dependendConnections":[{"__isSmartRef__":true,"id":10736},{"__isSmartRef__":true,"id":10738},{"__isSmartRef__":true,"id":10740},{"__isSmartRef__":true,"id":10742},{"__isSmartRef__":true,"id":10744},{"__isSmartRef__":true,"id":10746},{"__isSmartRef__":true,"id":10748},{"__isSmartRef__":true,"id":10750}],"oldTransform":{"__isSmartRef__":true,"id":10752},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"10735":{"source":{"__isSmartRef__":true,"id":10288},"target":{"__isSmartRef__":true,"id":3261}},"10736":{"sourceObj":{"__isSmartRef__":true,"id":10288},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":10734},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":10737},"dependedBy":{"__isSmartRef__":true,"id":10734},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10737":{"source":{"__isSmartRef__":true,"id":10288},"target":{"__isSmartRef__":true,"id":10734}},"10738":{"sourceObj":{"__isSmartRef__":true,"id":10288},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":10734},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":10739},"dependedBy":{"__isSmartRef__":true,"id":10734},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10739":{"source":{"__isSmartRef__":true,"id":10288},"target":{"__isSmartRef__":true,"id":10734}},"10740":{"sourceObj":{"__isSmartRef__":true,"id":10288},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":10734},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":10741},"dependedBy":{"__isSmartRef__":true,"id":10734},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10741":{"source":{"__isSmartRef__":true,"id":10288},"target":{"__isSmartRef__":true,"id":10734}},"10742":{"sourceObj":{"__isSmartRef__":true,"id":10288},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":10734},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":10743},"dependedBy":{"__isSmartRef__":true,"id":10734},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10743":{"source":{"__isSmartRef__":true,"id":10288},"target":{"__isSmartRef__":true,"id":10734}},"10744":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":10734},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":10745},"dependedBy":{"__isSmartRef__":true,"id":10734},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10745":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":10734}},"10746":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":10734},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":10747},"dependedBy":{"__isSmartRef__":true,"id":10734},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10747":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":10734}},"10748":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":10734},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":10749},"dependedBy":{"__isSmartRef__":true,"id":10734},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10749":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":10734}},"10750":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":10734},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":10751},"dependedBy":{"__isSmartRef__":true,"id":10734},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10751":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":10734}},"10752":{"d":0.8419431060646692,"a":0.8419431060646692,"f":59.4,"e":73.7,"c":-0.5395663130238733,"b":0.5395663130238733,"matrix_":{"__isSmartRef__":true,"id":10753},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"10753":{"a":0.8419431060646692,"b":0.5395663130238733,"c":-0.5395663130238733,"d":0.8419431060646692,"e":73.7,"f":59.4,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"10754":{"globalShapePath":{"__isSmartRef__":true,"id":10755},"lineIntersect":{"__isSmartRef__":true,"id":10758},"intersectLine":{"__isSmartRef__":true,"id":10762},"intersectLineMorph":{"__isSmartRef__":true,"id":10765}},"10755":{"varMapping":{"__isSmartRef__":true,"id":10756},"source":"function globalShapePath() {\n var b = this.shape.bounds();\n var p1 = this.worldPoint(b.topLeft()),\n p2 = this.worldPoint(b.topRight()),\n p3 = this.worldPoint(b.bottomRight()),\n p4 = this.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":10757},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10756":{"this":{"__isSmartRef__":true,"id":10288}},"10757":{},"10758":{"varMapping":{"__isSmartRef__":true,"id":10759},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":10760},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10759":{"this":{"__isSmartRef__":true,"id":10288}},"10760":{"timestamp":{"__isSmartRef__":true,"id":10761},"user":"jenslincke","tags":[]},"10761":{"isSerializedDate":true,"string":"Thu Dec 13 2012 13:42:55 GMT+0100 (CET)"},"10762":{"varMapping":{"__isSmartRef__":true,"id":10763},"source":"function intersectLine(a1, a2) {\n var points = this.globalShapePath();\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":10764},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10763":{"this":{"__isSmartRef__":true,"id":10288}},"10764":{},"10765":{"varMapping":{"__isSmartRef__":true,"id":10766},"source":"function intersectLineMorph(m) {\n return this.intersectLine(m.controlPoints[0].getGlobalPos(), m.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":10767},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10766":{"this":{"__isSmartRef__":true,"id":10288}},"10767":{},"10768":{"updateLabel":{"__isSmartRef__":true,"id":10769},"renameOwner":{"__isSmartRef__":true,"id":10772}},"10769":{"varMapping":{"__isSmartRef__":true,"id":10770},"source":"function updateLabel() {\n\t// observe name changes in owner\n\tif (this.owner !== this.oldOwner) {\n\t\tif (this.oldOwner)\n\t\t\tdisconnect(this.oldOwner, 'name', this, 'updateLabel')\n\t\tif (this.owner)\n\t\t\tconnect(this.owner, 'name', this, 'updateLabel')\n\t\tthis.oldOwner = this.owner\n\t}\n\tvar name = (this.owner ? this.owner.name : \"no owner\")\n\tif (this.textString != name)\n\tthis.setTextString(name)\n}","funcProperties":{"__isSmartRef__":true,"id":10771},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10770":{"this":{"__isSmartRef__":true,"id":10263}},"10771":{},"10772":{"varMapping":{"__isSmartRef__":true,"id":10773},"source":"function renameOwner(name) {\n\tif (this.owner && this.owner.name != name) {\n\t\talertOK(\"renamed \" + this.owner + \" to \" + name)\n\t\tthis.owner.setName(name);\n\t}\n}","funcProperties":{"__isSmartRef__":true,"id":10774},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10773":{"this":{"__isSmartRef__":true,"id":10263}},"10774":{},"10775":{"source":{"__isSmartRef__":true,"id":10263},"target":{"__isSmartRef__":true,"id":10644}},"10776":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":10262},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":10777},"dependedBy":{"__isSmartRef__":true,"id":10262},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10777":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":10262}},"10778":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":10262},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":10779},"dependedBy":{"__isSmartRef__":true,"id":10262},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10779":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":10262}},"10780":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":10262},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":10781},"dependedBy":{"__isSmartRef__":true,"id":10262},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10781":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":10262}},"10782":{"d":0.8419431060646688,"a":0.8419431060646688,"f":109.1604139964106,"e":83.14357977177195,"c":-0.539566313023873,"b":0.539566313023873,"matrix_":{"__isSmartRef__":true,"id":10783},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"10783":{"a":0.8419431060646688,"b":0.539566313023873,"c":-0.539566313023873,"d":0.8419431060646688,"e":83.14357977177195,"f":109.1604139964106,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"10784":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":10262}},"10785":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":10786},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":11268},"dependedBy":{"__isSmartRef__":true,"id":10786},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10786":{"sourceObj":{"__isSmartRef__":true,"id":10787},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":11168},"targetMethodName":"realignConnection","varMapping":{"__isSmartRef__":true,"id":11259},"dependendConnections":[{"__isSmartRef__":true,"id":10795},{"__isSmartRef__":true,"id":10797},{"__isSmartRef__":true,"id":10799},{"__isSmartRef__":true,"id":10801},{"__isSmartRef__":true,"id":11190},{"__isSmartRef__":true,"id":11192},{"__isSmartRef__":true,"id":11194},{"__isSmartRef__":true,"id":11196},{"__isSmartRef__":true,"id":10785},{"__isSmartRef__":true,"id":11260},{"__isSmartRef__":true,"id":11262},{"__isSmartRef__":true,"id":11264}],"oldTransform":{"__isSmartRef__":true,"id":11266},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"10787":{"submorphs":[],"scripts":[],"id":"E1D279DA-0A27-49E8-94FC-49E65C261BC0","shape":{"__isSmartRef__":true,"id":10788},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":180.8018403394826,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":19,"name":"NameLabel2","partsBinMetaInfo":{"__isSmartRef__":true,"id":10789},"textChunks":[{"__isSmartRef__":true,"id":10791}],"charsReplaced":"A1","lastFindLoc":2,"prevScroll":[0,0],"attributeConnections":[{"__isSmartRef__":true,"id":10793},{"__isSmartRef__":true,"id":10794},{"__isSmartRef__":true,"id":10786},{"__isSmartRef__":true,"id":10795},{"__isSmartRef__":true,"id":10797},{"__isSmartRef__":true,"id":10799},{"__isSmartRef__":true,"id":10801}],"doNotSerialize":["$$owner","$$savedTextString","$$_Position","$$_Scale","$$_Rotation"],"doNotCopyProperties":["$$owner","$$savedTextString","$$_Position","$$_Scale","$$_Rotation"],"isInputLine":true,"savedTextString":"A","eventHandler":{"__isSmartRef__":true,"id":10803},"derivationIds":[7027,"331C6367-0699-4BD6-9916-ABA82517453B","BEAA7850-FEFB-4AFD-9E06-730FF35D99A4","559B0B8A-5C01-4133-88B2-0D08385E23F6","BE195383-D309-4B6E-A6B0-79A6112B4011","E323F75A-232F-4712-9A03-20C8FD574C9A","E6E38336-AA2D-4F75-80C1-B1617DD8544E","DAFCD826-DF9B-4DEF-B4D7-59AAED8D199D","3999CB16-D9E3-4D28-A617-9B093624E8AC","24C6A462-5AF8-4580-9777-8F5696841AF0","38DF0DD5-01B1-4481-B32C-B1595F8042DF","6D969508-F1F5-4E9D-A211-8F66FCA4DA80"],"_WhiteSpaceHandling":"pre-wrap","_ClipMode":"visible","moved":true,"isBeingDragged":false,"_WordBreak":"break-all","magnets":[{"__isSmartRef__":true,"id":10804},{"__isSmartRef__":true,"id":10805},{"__isSmartRef__":true,"id":10806},{"__isSmartRef__":true,"id":10807},{"__isSmartRef__":true,"id":10808},{"__isSmartRef__":true,"id":10809},{"__isSmartRef__":true,"id":10810},{"__isSmartRef__":true,"id":10811}],"_PreviousBorderWidth":1,"owner":{"__isSmartRef__":true,"id":10812},"oldOwner":{"__isSmartRef__":true,"id":10812},"_Rotation":0,"_Scale":0.9999999999999997,"__serializedExpressions__":["_Position","textColor","distanceToDragEvent","_TextColor"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":11252},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(34.8,36.8)","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(31.1,-9.9)","_TextColor":"Color.rgb(255,143,0)"},"10788":{"fill":null,"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(42.8,29.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"10789":{"migrationLevel":2,"comment":"Label that shows the name of a morph. Updates automatically.","partName":"NameLabel","lastModifiedDate":{"__isSmartRef__":true,"id":10790},"revisionOnLoad":140039,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"10790":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (CEST)"},"10791":{"style":{"__isSmartRef__":true,"id":10792},"chunkOwner":{"__isSmartRef__":true,"id":10787},"_id":"_960","storedString":"A1","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"10792":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"10793":{"sourceObj":{"__isSmartRef__":true,"id":10787},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":10787},"targetMethodName":"updateLabel","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10794":{"sourceObj":{"__isSmartRef__":true,"id":10787},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":10787},"targetMethodName":"renameOwner","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10795":{"sourceObj":{"__isSmartRef__":true,"id":10787},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":10786},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":10796},"dependedBy":{"__isSmartRef__":true,"id":10786},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10796":{"source":{"__isSmartRef__":true,"id":10787},"target":{"__isSmartRef__":true,"id":10786}},"10797":{"sourceObj":{"__isSmartRef__":true,"id":10787},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":10786},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":10798},"dependedBy":{"__isSmartRef__":true,"id":10786},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10798":{"source":{"__isSmartRef__":true,"id":10787},"target":{"__isSmartRef__":true,"id":10786}},"10799":{"sourceObj":{"__isSmartRef__":true,"id":10787},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":10786},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":10800},"dependedBy":{"__isSmartRef__":true,"id":10786},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10800":{"source":{"__isSmartRef__":true,"id":10787},"target":{"__isSmartRef__":true,"id":10786}},"10801":{"sourceObj":{"__isSmartRef__":true,"id":10787},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":10786},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":10802},"dependedBy":{"__isSmartRef__":true,"id":10786},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10802":{"source":{"__isSmartRef__":true,"id":10787},"target":{"__isSmartRef__":true,"id":10786}},"10803":{"morph":{"__isSmartRef__":true,"id":10787},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"10804":{"morph":{"__isSmartRef__":true,"id":10787},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(120.0,3464.8)"},"10805":{"morph":{"__isSmartRef__":true,"id":10787},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(138.1,3476.3)"},"10806":{"morph":{"__isSmartRef__":true,"id":10787},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(156.1,3487.9)"},"10807":{"morph":{"__isSmartRef__":true,"id":10787},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(148.3,3500.1)"},"10808":{"morph":{"__isSmartRef__":true,"id":10787},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(140.4,3512.3)"},"10809":{"morph":{"__isSmartRef__":true,"id":10787},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(122.4,3500.7)"},"10810":{"morph":{"__isSmartRef__":true,"id":10787},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(104.4,3489.2)"},"10811":{"morph":{"__isSmartRef__":true,"id":10787},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(112.2,3477.0)"},"10812":{"submorphs":[{"__isSmartRef__":true,"id":10787}],"scripts":[],"id":"5EA8EA4A-6ECD-453A-8206-5A34E8D43B59","shape":{"__isSmartRef__":true,"id":10813},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"A1","partsBinMetaInfo":{"__isSmartRef__":true,"id":10814},"eventHandler":{"__isSmartRef__":true,"id":10832},"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","BBAFB862-93AE-4F89-BCFF-9F1C67B7FE4C","7EC17E78-593A-4CC8-B7E3-859BCBBFE785","FDB06D4A-9F4E-4B8C-A67C-671A9583EFE8","1C80FDE1-05C0-4148-9AD8-33C88667084C","5059E383-6BE3-4AD3-A9C4-89DA9D8D5E99","5B810AFE-E692-4EB4-A695-ABB4A95CEA39","BFFEF617-9B97-45D4-A541-8E33A6A17485","A10BBA48-4AD1-425A-AC7B-2F5515CE56F5","319DCFA5-FBA0-4E93-825A-584A580A412F","1A7DC4D8-6C49-4243-8B1D-04CED44FD759","37281932-6BFC-4796-9330-CDFA7FB46F54"],"partTests":{"__isSmartRef__":true,"id":10833},"_ClipMode":"visible","moved":true,"isBeingDragged":false,"magnets":[{"__isSmartRef__":true,"id":10838},{"__isSmartRef__":true,"id":10839},{"__isSmartRef__":true,"id":10840},{"__isSmartRef__":true,"id":10841},{"__isSmartRef__":true,"id":11162},{"__isSmartRef__":true,"id":11163},{"__isSmartRef__":true,"id":11164},{"__isSmartRef__":true,"id":11165}],"attributeConnections":[{"__isSmartRef__":true,"id":11166},{"__isSmartRef__":true,"id":11190},{"__isSmartRef__":true,"id":11192},{"__isSmartRef__":true,"id":11194},{"__isSmartRef__":true,"id":11196},{"__isSmartRef__":true,"id":11198},{"__isSmartRef__":true,"id":11200},{"__isSmartRef__":true,"id":11202},{"__isSmartRef__":true,"id":11204},{"__isSmartRef__":true,"id":11206},{"__isSmartRef__":true,"id":11218},{"__isSmartRef__":true,"id":11220},{"__isSmartRef__":true,"id":11222},{"__isSmartRef__":true,"id":11224},{"__isSmartRef__":true,"id":11226}],"doNotSerialize":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"doNotCopyProperties":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"isCopyMorphRef":true,"morphRefId":1,"prevScroll":[0,0],"_Scale":0.9999999999999996,"_Rotation":0.5699219218563105,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":11238},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","distanceToDragEvent":"lively.pt(35.0,-16.3)","_Position":"lively.pt(725.3,71.4)"},"10813":{"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(89.0,80.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgba(204,204,204,0.5)","_Padding":"lively.rect(0,0,0,0)"},"10814":{"partsSpaceName":"PartsBin/Basic","comment":"A simple box morph. A really orange one. Its amazing what you can build out of simple boxes.... Who needs stars when you got orange rectangles!","migrationLevel":4,"partName":"Rectangle","changes":[{"__isSmartRef__":true,"id":10815},{"__isSmartRef__":true,"id":10817},{"__isSmartRef__":true,"id":10819},{"__isSmartRef__":true,"id":10821},{"__isSmartRef__":true,"id":10823},{"__isSmartRef__":true,"id":10825},{"__isSmartRef__":true,"id":10827},{"__isSmartRef__":true,"id":10829}],"lastModifiedDate":{"__isSmartRef__":true,"id":10831},"revisionOnLoad":184624,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"10815":{"date":{"__isSmartRef__":true,"id":10816},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"10816":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"10817":{"date":{"__isSmartRef__":true,"id":10818},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"10818":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"10819":{"date":{"__isSmartRef__":true,"id":10820},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"10820":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"10821":{"date":{"__isSmartRef__":true,"id":10822},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"10822":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"10823":{"date":{"__isSmartRef__":true,"id":10824},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"10824":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"10825":{"date":{"__isSmartRef__":true,"id":10826},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"10826":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"10827":{"date":{"__isSmartRef__":true,"id":10828},"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8"},"10828":{"isSerializedDate":true,"string":"Mon Jun 18 2012 19:35:08 GMT+0200 (CEST)"},"10829":{"date":{"__isSmartRef__":true,"id":10830},"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205"},"10830":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:35:51 GMT+0100 (CET)"},"10831":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:33:25 GMT+0100 (CET)"},"10832":{"morph":{"__isSmartRef__":true,"id":10812},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"10833":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":10834}},"10834":{"test01IsMorph":{"__isSmartRef__":true,"id":10835}},"10835":{"varMapping":{"__isSmartRef__":true,"id":10836},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":10837},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10836":{"this":{"__isSmartRef__":true,"id":10833}},"10837":{},"10838":{"morph":{"__isSmartRef__":true,"id":10812},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(110.6,3415.0)"},"10839":{"morph":{"__isSmartRef__":true,"id":10812},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(148.1,3439.0)"},"10840":{"morph":{"__isSmartRef__":true,"id":10812},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(185.5,3463.0)"},"10841":{"morph":{"__isSmartRef__":true,"id":10812},"connectedControlPoints":[{"__isSmartRef__":true,"id":10842}],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(164.0,3496.7)"},"10842":{"morph":{"__isSmartRef__":true,"id":10843},"index":0,"connectedMagnet":{"__isSmartRef__":true,"id":10841},"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"10843":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":10844},"id":"E083C82B-2BC4-42CB-B3A2-773909175FCB","eventHandler":{"__isSmartRef__":true,"id":10847},"__layered_droppingEnabled__":true,"halosEnabled":true,"isBeingDragged":false,"controlPoints":[{"__isSmartRef__":true,"id":10842},{"__isSmartRef__":true,"id":10848}],"showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":10849},"name":"Line4","derivationIds":[731,"5E6BD741-9C99-47B9-95C1-7A028178DB17","A8D5C37A-F23F-47FE-8DE2-211CE4484A4F","F722069B-8602-4E8D-BE3F-92A1E0C0EF28","D5ED19F9-968E-4C7E-9936-69F2735A813F","A9E370BC-F208-425C-BFFC-F8D6BB52E11F","4E431641-D056-46CB-B2A8-6626382EF423"],"_ClipMode":"visible","controlPointsHalos":[],"prevScroll":[0,0],"grabbingEnabled":false,"moved":true,"#startLetters":"controlPoints[0]","fromMorph":{"__isSmartRef__":true,"id":10853},"update":{"__isSmartRef__":true,"id":11063},"isCopyMorphRef":true,"morphRefId":2,"selectedMorph":{"__isSmartRef__":true,"id":10853},"selectedMorphHighlights":[],"_Scale":1,"_Rotation":0,"owner":null,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":11065},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","distanceToDragEvent":"lively.pt(295.7,-20.8)","_Position":"lively.pt(376.1,57.6)"},"10844":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":10845},{"__isSmartRef__":true,"id":10846}],"_ClipMode":"visible","_BorderWidth":3.1119999999999997,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Padding","_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(50.5,3.2)","_Extent":"lively.pt(114.5,3494.5)","_BorderColor":"Color.rgb(161,161,161)"},"10845":{"isAbsolute":true,"x":0,"y":0,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"10846":{"isAbsolute":true,"x":52.46197348862387,"y":5.223542983087555,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"10847":{"morph":{"__isSmartRef__":true,"id":10843},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"10848":{"morph":{"__isSmartRef__":true,"id":10843},"index":1,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"10849":{"requiredModules":[],"migrationLevel":4,"partsSpaceName":"PartsBin/Jens/","comment":"a line","partName":"Connector","lastModifiedDate":{"__isSmartRef__":true,"id":10850},"revisionOnLoad":186528,"changes":[{"__isSmartRef__":true,"id":10851}],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"10850":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:18 GMT+0100 (CET)"},"10851":{"date":{"__isSmartRef__":true,"id":10852},"author":"jenslincke","message":"no comment","id":"28165CED-C8C5-4B8E-9655-645E3F5099BB"},"10852":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:42 GMT+0100 (CET)"},"10853":{"submorphs":[{"__isSmartRef__":true,"id":10854}],"scripts":[],"id":"7D787261-FDA4-4DCD-ACA3-699C8F2DB8DC","shape":{"__isSmartRef__":true,"id":10878},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"A","partsBinMetaInfo":{"__isSmartRef__":true,"id":10879},"eventHandler":{"__isSmartRef__":true,"id":10897},"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","BBAFB862-93AE-4F89-BCFF-9F1C67B7FE4C","7EC17E78-593A-4CC8-B7E3-859BCBBFE785","FDB06D4A-9F4E-4B8C-A67C-671A9583EFE8","1C80FDE1-05C0-4148-9AD8-33C88667084C","5059E383-6BE3-4AD3-A9C4-89DA9D8D5E99","5B810AFE-E692-4EB4-A695-ABB4A95CEA39","BFFEF617-9B97-45D4-A541-8E33A6A17485","A10BBA48-4AD1-425A-AC7B-2F5515CE56F5"],"partTests":{"__isSmartRef__":true,"id":10898},"_ClipMode":"visible","moved":true,"isBeingDragged":false,"magnets":[{"__isSmartRef__":true,"id":10903},{"__isSmartRef__":true,"id":10904},{"__isSmartRef__":true,"id":10905},{"__isSmartRef__":true,"id":10906},{"__isSmartRef__":true,"id":10907},{"__isSmartRef__":true,"id":10908},{"__isSmartRef__":true,"id":10909},{"__isSmartRef__":true,"id":10910}],"attributeConnections":[{"__isSmartRef__":true,"id":10911},{"__isSmartRef__":true,"id":10913},{"__isSmartRef__":true,"id":10915},{"__isSmartRef__":true,"id":10917},{"__isSmartRef__":true,"id":10919},{"__isSmartRef__":true,"id":10921},{"__isSmartRef__":true,"id":10925},{"__isSmartRef__":true,"id":11039},{"__isSmartRef__":true,"id":11041},{"__isSmartRef__":true,"id":11043},{"__isSmartRef__":true,"id":11045}],"doNotSerialize":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"doNotCopyProperties":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"isCopyMorphRef":true,"morphRefId":1,"prevScroll":[0,0],"_Scale":0.9999999999999998,"_Rotation":-0.3632069088060458,"owner":null,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":11049},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","distanceToDragEvent":"lively.pt(89.3,-51.8)","_Position":"lively.pt(691.6,129.6)"},"10854":{"submorphs":[],"scripts":[],"id":"4BDF3799-4F08-4112-BD4C-91BAB858A860","shape":{"__isSmartRef__":true,"id":10855},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":180.8018403394826,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":19,"name":"NameLabel2","partsBinMetaInfo":{"__isSmartRef__":true,"id":10856},"textChunks":[{"__isSmartRef__":true,"id":10858}],"charsReplaced":"C1","lastFindLoc":2,"prevScroll":[0,0],"attributeConnections":[{"__isSmartRef__":true,"id":10860},{"__isSmartRef__":true,"id":10861}],"doNotSerialize":["$$owner","$$savedTextString"],"doNotCopyProperties":["$$owner","$$savedTextString"],"isInputLine":true,"savedTextString":"A","eventHandler":{"__isSmartRef__":true,"id":10862},"derivationIds":[7027,"331C6367-0699-4BD6-9916-ABA82517453B","BEAA7850-FEFB-4AFD-9E06-730FF35D99A4","559B0B8A-5C01-4133-88B2-0D08385E23F6","BE195383-D309-4B6E-A6B0-79A6112B4011","E323F75A-232F-4712-9A03-20C8FD574C9A","E6E38336-AA2D-4F75-80C1-B1617DD8544E","DAFCD826-DF9B-4DEF-B4D7-59AAED8D199D","3999CB16-D9E3-4D28-A617-9B093624E8AC"],"_WhiteSpaceHandling":"pre-wrap","_ClipMode":"visible","moved":true,"isBeingDragged":false,"_WordBreak":"break-all","magnets":[{"__isSmartRef__":true,"id":10863},{"__isSmartRef__":true,"id":10864},{"__isSmartRef__":true,"id":10865},{"__isSmartRef__":true,"id":10866},{"__isSmartRef__":true,"id":10867},{"__isSmartRef__":true,"id":10868},{"__isSmartRef__":true,"id":10869},{"__isSmartRef__":true,"id":10870}],"_PreviousBorderWidth":1,"owner":{"__isSmartRef__":true,"id":10853},"oldOwner":{"__isSmartRef__":true,"id":10853},"priorSelectionRange":[1,1],"_Rotation":0,"_Scale":0.9999999999999997,"__serializedExpressions__":["textColor","distanceToDragEvent","_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":10871},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(31.1,-9.9)","_TextColor":"Color.rgb(255,143,0)","_Position":"lively.pt(34.8,36.8)"},"10855":{"fill":null,"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(42.8,29.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"10856":{"migrationLevel":2,"comment":"Label that shows the name of a morph. Updates automatically.","partName":"NameLabel","lastModifiedDate":{"__isSmartRef__":true,"id":10857},"revisionOnLoad":140039,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"10857":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (CEST)"},"10858":{"style":{"__isSmartRef__":true,"id":10859},"chunkOwner":{"__isSmartRef__":true,"id":10854},"_id":"_22384","storedString":"A","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"10859":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"10860":{"sourceObj":{"__isSmartRef__":true,"id":10854},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":10854},"targetMethodName":"updateLabel","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10861":{"sourceObj":{"__isSmartRef__":true,"id":10854},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":10854},"targetMethodName":"renameOwner","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10862":{"morph":{"__isSmartRef__":true,"id":10854},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"10863":{"morph":{"__isSmartRef__":true,"id":10854},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(726.1,3497.3)"},"10864":{"morph":{"__isSmartRef__":true,"id":10854},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(746.1,3489.7)"},"10865":{"morph":{"__isSmartRef__":true,"id":10854},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(766.1,3482.1)"},"10866":{"morph":{"__isSmartRef__":true,"id":10854},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(771.3,3495.6)"},"10867":{"morph":{"__isSmartRef__":true,"id":10854},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(776.4,3509.2)"},"10868":{"morph":{"__isSmartRef__":true,"id":10854},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(756.4,3516.8)"},"10869":{"morph":{"__isSmartRef__":true,"id":10854},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(736.4,3524.4)"},"10870":{"morph":{"__isSmartRef__":true,"id":10854},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(731.2,3510.8)"},"10871":{"updateLabel":{"__isSmartRef__":true,"id":10872},"renameOwner":{"__isSmartRef__":true,"id":10875}},"10872":{"varMapping":{"__isSmartRef__":true,"id":10873},"source":"function updateLabel() {\n\t// observe name changes in owner\n\tif (this.owner !== this.oldOwner) {\n\t\tif (this.oldOwner)\n\t\t\tdisconnect(this.oldOwner, 'name', this, 'updateLabel')\n\t\tif (this.owner)\n\t\t\tconnect(this.owner, 'name', this, 'updateLabel')\n\t\tthis.oldOwner = this.owner\n\t}\n\tvar name = (this.owner ? this.owner.name : \"no owner\")\n\tif (this.textString != name)\n\tthis.setTextString(name)\n}","funcProperties":{"__isSmartRef__":true,"id":10874},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10873":{"this":{"__isSmartRef__":true,"id":10854}},"10874":{},"10875":{"varMapping":{"__isSmartRef__":true,"id":10876},"source":"function renameOwner(name) {\n\tif (this.owner && this.owner.name != name) {\n\t\talertOK(\"renamed \" + this.owner + \" to \" + name)\n\t\tthis.owner.setName(name);\n\t}\n}","funcProperties":{"__isSmartRef__":true,"id":10877},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10876":{"this":{"__isSmartRef__":true,"id":10854}},"10877":{},"10878":{"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(116.7,82.3)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgba(204,204,204,0.5)","_Padding":"lively.rect(0,0,0,0)"},"10879":{"partsSpaceName":"PartsBin/Basic","comment":"A simple box morph. A really orange one. Its amazing what you can build out of simple boxes.... Who needs stars when you got orange rectangles!","migrationLevel":4,"partName":"Rectangle","changes":[{"__isSmartRef__":true,"id":10880},{"__isSmartRef__":true,"id":10882},{"__isSmartRef__":true,"id":10884},{"__isSmartRef__":true,"id":10886},{"__isSmartRef__":true,"id":10888},{"__isSmartRef__":true,"id":10890},{"__isSmartRef__":true,"id":10892},{"__isSmartRef__":true,"id":10894}],"lastModifiedDate":{"__isSmartRef__":true,"id":10896},"revisionOnLoad":184624,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"10880":{"date":{"__isSmartRef__":true,"id":10881},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"10881":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"10882":{"date":{"__isSmartRef__":true,"id":10883},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"10883":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"10884":{"date":{"__isSmartRef__":true,"id":10885},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"10885":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"10886":{"date":{"__isSmartRef__":true,"id":10887},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"10887":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"10888":{"date":{"__isSmartRef__":true,"id":10889},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"10889":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"10890":{"date":{"__isSmartRef__":true,"id":10891},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"10891":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"10892":{"date":{"__isSmartRef__":true,"id":10893},"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8"},"10893":{"isSerializedDate":true,"string":"Mon Jun 18 2012 19:35:08 GMT+0200 (CEST)"},"10894":{"date":{"__isSmartRef__":true,"id":10895},"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205"},"10895":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:35:51 GMT+0100 (CET)"},"10896":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:33:25 GMT+0100 (CET)"},"10897":{"morph":{"__isSmartRef__":true,"id":10853},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"10898":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":10899}},"10899":{"test01IsMorph":{"__isSmartRef__":true,"id":10900}},"10900":{"varMapping":{"__isSmartRef__":true,"id":10901},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":10902},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10901":{"this":{"__isSmartRef__":true,"id":10898}},"10902":{},"10903":{"morph":{"__isSmartRef__":true,"id":10853},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(680.5,3475.2)"},"10904":{"morph":{"__isSmartRef__":true,"id":10853},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(735.0,3454.5)"},"10905":{"morph":{"__isSmartRef__":true,"id":10853},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(789.6,3433.8)"},"10906":{"morph":{"__isSmartRef__":true,"id":10853},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(804.2,3472.2)"},"10907":{"morph":{"__isSmartRef__":true,"id":10853},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(818.8,3510.7)"},"10908":{"morph":{"__isSmartRef__":true,"id":10853},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(764.3,3531.4)"},"10909":{"morph":{"__isSmartRef__":true,"id":10853},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(709.7,3552.2)"},"10910":{"morph":{"__isSmartRef__":true,"id":10853},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(695.1,3513.7)"},"10911":{"sourceObj":{"__isSmartRef__":true,"id":10853},"sourceAttrName":"name","targetObj":{"__isSmartRef__":true,"id":10854},"targetMethodName":"updateLabel","varMapping":{"__isSmartRef__":true,"id":10912},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10912":{"source":{"__isSmartRef__":true,"id":10853},"target":{"__isSmartRef__":true,"id":10854}},"10913":{"sourceObj":{"__isSmartRef__":true,"id":10853},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":10843},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":10914},"dependendConnections":[{"__isSmartRef__":true,"id":10915},{"__isSmartRef__":true,"id":10917},{"__isSmartRef__":true,"id":10919},{"__isSmartRef__":true,"id":10921}],"oldTransform":{"__isSmartRef__":true,"id":10923},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"10914":{"source":{"__isSmartRef__":true,"id":10853},"target":{"__isSmartRef__":true,"id":10843}},"10915":{"sourceObj":{"__isSmartRef__":true,"id":10853},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":10913},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":10916},"dependedBy":{"__isSmartRef__":true,"id":10913},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10916":{"source":{"__isSmartRef__":true,"id":10853},"target":{"__isSmartRef__":true,"id":10913}},"10917":{"sourceObj":{"__isSmartRef__":true,"id":10853},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":10913},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":10918},"dependedBy":{"__isSmartRef__":true,"id":10913},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10918":{"source":{"__isSmartRef__":true,"id":10853},"target":{"__isSmartRef__":true,"id":10913}},"10919":{"sourceObj":{"__isSmartRef__":true,"id":10853},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":10913},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":10920},"dependedBy":{"__isSmartRef__":true,"id":10913},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10920":{"source":{"__isSmartRef__":true,"id":10853},"target":{"__isSmartRef__":true,"id":10913}},"10921":{"sourceObj":{"__isSmartRef__":true,"id":10853},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":10913},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":10922},"dependedBy":{"__isSmartRef__":true,"id":10913},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10922":{"source":{"__isSmartRef__":true,"id":10853},"target":{"__isSmartRef__":true,"id":10913}},"10923":{"d":0.9347623017725522,"a":0.9347623017725522,"f":3485.245045045044,"e":728.5390390390387,"c":0.3552737524570028,"b":-0.3552737524570028,"matrix_":{"__isSmartRef__":true,"id":10924},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"10924":{"a":0.9347623017725522,"b":-0.3552737524570028,"c":0.3552737524570028,"d":0.9347623017725522,"e":728.5390390390387,"f":3485.245045045044,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"10925":{"sourceObj":{"__isSmartRef__":true,"id":10853},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":10926},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":11038},"dependendConnections":[{"__isSmartRef__":true,"id":11039},{"__isSmartRef__":true,"id":11041},{"__isSmartRef__":true,"id":11043},{"__isSmartRef__":true,"id":11045}],"oldTransform":{"__isSmartRef__":true,"id":11047},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"10926":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":10927},"id":"4809CC50-2A92-4A4F-9D0D-829B6BA12A0B","eventHandler":{"__isSmartRef__":true,"id":10930},"__layered_droppingEnabled__":true,"halosEnabled":true,"isBeingDragged":false,"controlPoints":[{"__isSmartRef__":true,"id":10931},{"__isSmartRef__":true,"id":10932}],"showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":10933},"name":"Connector1","derivationIds":[731,"5E6BD741-9C99-47B9-95C1-7A028178DB17","A8D5C37A-F23F-47FE-8DE2-211CE4484A4F","F722069B-8602-4E8D-BE3F-92A1E0C0EF28","D5ED19F9-968E-4C7E-9936-69F2735A813F","A9E370BC-F208-425C-BFFC-F8D6BB52E11F","4E431641-D056-46CB-B2A8-6626382EF423"],"_ClipMode":"visible","controlPointsHalos":[],"prevScroll":[0,0],"grabbingEnabled":false,"moved":true,"#startLetters":"controlPoints[0]","fromMorph":{"__isSmartRef__":true,"id":10853},"toMorph":{"__isSmartRef__":true,"id":3202},"update":{"__isSmartRef__":true,"id":10939},"isCopyMorphRef":true,"morphRefId":2,"selectedMorph":{"__isSmartRef__":true,"id":3202},"selectedMorphHighlights":[],"owner":null,"_Rotation":0,"_Scale":1,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":10941},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","distanceToDragEvent":"lively.pt(295.7,-20.8)","_Position":"lively.pt(10527.5,52997.9)"},"10927":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":10928},{"__isSmartRef__":true,"id":10929}],"_ClipMode":"visible","_BorderWidth":3.1119999999999997,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Padding","_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(-75.9,-6.9)","_Extent":"lively.pt(151.7,13.9)","_BorderColor":"Color.rgb(161,161,161)"},"10928":{"isAbsolute":true,"x":74.86198803712648,"y":-4.949983532278566,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"10929":{"isAbsolute":true,"x":-73.86198803712614,"y":5.949983532282204,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"10930":{"morph":{"__isSmartRef__":true,"id":10926},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"10931":{"morph":{"__isSmartRef__":true,"id":10926},"index":0,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"10932":{"morph":{"__isSmartRef__":true,"id":10926},"index":1,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"10933":{"requiredModules":[],"migrationLevel":4,"partsSpaceName":"PartsBin/Jens/","comment":"Yes, I think I got it again: Powerful and nice connectors.\nThis time 100 % Part only!","partName":"Connector","lastModifiedDate":{"__isSmartRef__":true,"id":10934},"revisionOnLoad":186829,"changes":[{"__isSmartRef__":true,"id":10935},{"__isSmartRef__":true,"id":10937}],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"10934":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:04:50 GMT+0100 (CET)"},"10935":{"date":{"__isSmartRef__":true,"id":10936},"author":"jenslincke","message":"no comment","id":"28165CED-C8C5-4B8E-9655-645E3F5099BB"},"10936":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:42 GMT+0100 (CET)"},"10937":{"date":{"__isSmartRef__":true,"id":10938},"author":"jenslincke","message":"no comment","id":"117C964B-9768-48F2-8EC8-D4328478198F"},"10938":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:05:07 GMT+0100 (CET)"},"10939":{"d":1,"a":1,"f":906.1,"e":107.8,"c":0,"b":0,"matrix_":{"__isSmartRef__":true,"id":10940},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"10940":{"a":1,"b":0,"c":0,"d":1,"e":107.8,"f":906.1,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"10941":{"connect":{"__isSmartRef__":true,"id":10942},"updatePosition":{"__isSmartRef__":true,"id":10946},"updateControlPoint":{"__isSmartRef__":true,"id":10950},"disconnectMorph":{"__isSmartRef__":true,"id":10954},"connectMorph":{"__isSmartRef__":true,"id":10958},"onMouseOver":{"__isSmartRef__":true,"id":10962},"onMouseOut":{"__isSmartRef__":true,"id":10966},"makeHandle":{"__isSmartRef__":true,"id":10974},"showFromHandle":{"__isSmartRef__":true,"id":10978},"showToHandle":{"__isSmartRef__":true,"id":10982},"reset":{"__isSmartRef__":true,"id":10986},"onDragInHandle":{"__isSmartRef__":true,"id":10990},"onDragStartInHandle":{"__isSmartRef__":true,"id":10994},"onDragEndInHandle":{"__isSmartRef__":true,"id":10998},"connectFrom":{"__isSmartRef__":true,"id":11002},"connectTo":{"__isSmartRef__":true,"id":11006},"hideToHandle":{"__isSmartRef__":true,"id":11010},"hideFromHandle":{"__isSmartRef__":true,"id":11014},"updateIntersection":{"__isSmartRef__":true,"id":11018},"lineIntersect":{"__isSmartRef__":true,"id":11022},"intersectMorphLinePoints":{"__isSmartRef__":true,"id":11026},"intersectMorph":{"__isSmartRef__":true,"id":11030},"globalShapePathFromMorph":{"__isSmartRef__":true,"id":11034}},"10942":{"varMapping":{"__isSmartRef__":true,"id":10943},"source":"function connect(morphA, morphB) {\n this.connectFrom(morphA)\n this.connectTo(morphB)\n this.updatePosition()\n}","funcProperties":{"__isSmartRef__":true,"id":10944},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10943":{"this":{"__isSmartRef__":true,"id":10926}},"10944":{"timestamp":{"__isSmartRef__":true,"id":10945},"user":"jenslincke","tags":[]},"10945":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:50:49 GMT+0100 (CET)"},"10946":{"varMapping":{"__isSmartRef__":true,"id":10947},"source":"function updatePosition() {\n this.updateControlPoint(this.controlPoints[0], this.fromMorph)\n this.updateControlPoint(this.controlPoints[1], this.toMorph)\n this.updateIntersection(this.fromMorph, this.controlPoints[0])\n this.updateIntersection(this.toMorph, this.controlPoints[1])\n\n this.adjustOrigin(this.bounds().extent().scaleBy(0.5))\n}","funcProperties":{"__isSmartRef__":true,"id":10948},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10947":{"this":{"__isSmartRef__":true,"id":10926}},"10948":{"timestamp":{"__isSmartRef__":true,"id":10949},"user":"jenslincke","tags":[]},"10949":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:06:20 GMT+0100 (CET)"},"10950":{"varMapping":{"__isSmartRef__":true,"id":10951},"source":"function updateControlPoint(cp, morph) {\n if (!cp || !morph) return;\n cp.setGlobalPos(morph.worldPoint(morph.shape.bounds().center()))\n}","funcProperties":{"__isSmartRef__":true,"id":10952},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10951":{"this":{"__isSmartRef__":true,"id":10926}},"10952":{"timestamp":{"__isSmartRef__":true,"id":10953},"user":"jenslincke","tags":[]},"10953":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:45:56 GMT+0100 (CET)"},"10954":{"varMapping":{"__isSmartRef__":true,"id":10955},"source":"function disconnectMorph(morph) {\n if (!morph) return;\n lively.bindings.disconnect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":10956},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10955":{"this":{"__isSmartRef__":true,"id":10926}},"10956":{"timestamp":{"__isSmartRef__":true,"id":10957},"user":"jenslincke","tags":[]},"10957":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:19:18 GMT+0100 (CET)"},"10958":{"varMapping":{"__isSmartRef__":true,"id":10959},"source":"function connectMorph(morph) {\n if (morph)\n lively.bindings.connect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":10960},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10959":{"this":{"__isSmartRef__":true,"id":10926}},"10960":{"timestamp":{"__isSmartRef__":true,"id":10961},"user":"jenslincke","tags":[]},"10961":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:52:12 GMT+0100 (CET)"},"10962":{"varMapping":{"__isSmartRef__":true,"id":10963},"source":"function onMouseOver(evt) {\n var p = evt.mousePoint.scaleBy(this.world().getScale())\n\n var cp1 = this.controlPoints[0].getGlobalPos();\n if (p.dist(cp1) < 20) {\n this.showFromHandle()\n } else {\n this.hideFromHandle()\n }\n var cp2 = this.controlPoints[1].getGlobalPos();\n if (p.dist(cp2) < 20) {\n this.showToHandle()\n } else {\n this.hideToHandle()\n }\n}","funcProperties":{"__isSmartRef__":true,"id":10964},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10963":{"this":{"__isSmartRef__":true,"id":10926}},"10964":{"timestamp":{"__isSmartRef__":true,"id":10965},"user":"jenslincke","tags":[]},"10965":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:23:03 GMT+0100 (CET)"},"10966":{"varMapping":{"__isSmartRef__":true,"id":10967},"source":"function onMouseOut(evt) {\n // this.hideFromHandle()\n // this.hideToHandle()\n}","funcProperties":{"__isSmartRef__":true,"id":10972},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10967":{"this":{"__isSmartRef__":true,"id":10926},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":10968}},"10968":{"$super":{"__isSmartRef__":true,"id":10969}},"10969":{"varMapping":{"__isSmartRef__":true,"id":10970},"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":10971},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10970":{"obj":{"__isSmartRef__":true,"id":10926},"name":"onMouseOut"},"10971":{},"10972":{"timestamp":{"__isSmartRef__":true,"id":10973},"user":"jenslincke","tags":[]},"10973":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:54:53 GMT+0100 (CET)"},"10974":{"varMapping":{"__isSmartRef__":true,"id":10975},"source":"function makeHandle() {\n var m = lively.morphic.Morph.makeRectangle(0,0,10,10);\n m.disableGrabbing()\n m.enableDragging()\n m.connector = this;\n // move real behavior to a place which is easier to develop\n // do not use bind, because we like late binding \n m.addScript(function onDragStart(evt) {\n this.connector.onDragStartInHandle(this, evt)\n })\n m.addScript(function onDrag(evt) {\n this.connector.onDragInHandle(this, evt)\n })\n m.addScript(function onDragEnd(evt) {\n this.connector.onDragEndInHandle(this, evt)\n })\n m.isEpiMorph = true;\n return m\n}","funcProperties":{"__isSmartRef__":true,"id":10976},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10975":{"this":{"__isSmartRef__":true,"id":10926}},"10976":{"timestamp":{"__isSmartRef__":true,"id":10977},"user":"jenslincke","tags":[]},"10977":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:08:29 GMT+0100 (CET)"},"10978":{"varMapping":{"__isSmartRef__":true,"id":10979},"source":"function showFromHandle() {\n if (!this.fromHandle) {\n this.fromHandle = this.makeHandle();\n this.fromHandle.setFill(Color.red)\n this.fromHandle.isFromHandle = true;\n }\n this.fromHandle.openInWorld();\n this.fromHandle.controlPoint = this.controlPoints[0];\n this.fromHandle.setPosition(this.controlPoints[0].getGlobalPos().subPt(pt(5,5)))\n return this.fromHandle\n}","funcProperties":{"__isSmartRef__":true,"id":10980},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10979":{"this":{"__isSmartRef__":true,"id":10926}},"10980":{"timestamp":{"__isSmartRef__":true,"id":10981},"user":"jenslincke","tags":[]},"10981":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:13:03 GMT+0100 (CET)"},"10982":{"varMapping":{"__isSmartRef__":true,"id":10983},"source":"function showToHandle() {\n if (!this.toHandle) {\n this.toHandle = this.makeHandle();\n this.toHandle.setFill(Color.red)\n this.toHandle.isToHandle = true;\n\n }\n this.toHandle.openInWorld();\n this.toHandle.controlPoint = this.controlPoints[1];\n this.toHandle.setPosition(this.controlPoints[1].getGlobalPos().subPt(pt(5,5)))\n return this.toHandle\n}","funcProperties":{"__isSmartRef__":true,"id":10984},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10983":{"this":{"__isSmartRef__":true,"id":10926}},"10984":{"timestamp":{"__isSmartRef__":true,"id":10985},"user":"jenslincke","tags":[]},"10985":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:20:25 GMT+0100 (CET)"},"10986":{"varMapping":{"__isSmartRef__":true,"id":10987},"source":"function reset() {\n if (this.fromHandle) {\n this.fromHandle.remove()\n delete this.fromHandle\n }\n if (this.toHandle) {\n this.toHandle.remove()\n delete this.toHandle\n }\n // this.controlPoints[1].setPos(pt(200,200))\n}","funcProperties":{"__isSmartRef__":true,"id":10988},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10987":{"this":{"__isSmartRef__":true,"id":10926}},"10988":{"timestamp":{"__isSmartRef__":true,"id":10989},"user":"jenslincke","tags":[]},"10989":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:15:00 GMT+0100 (CET)"},"10990":{"varMapping":{"__isSmartRef__":true,"id":10991},"source":"function onDragInHandle(handle, evt) {\n\n var pos = handle.getPositionInWorld();\n var delta = evt.hand.getPosition().subPt(pos);\n handle.moveBy(delta)\n pos = handle.getPositionInWorld();\n if (handle.controlPoint)\n handle.controlPoint.setGlobalPos(pos.addPt(pt(5,5)))\n var morphs = this.owner.morphsContainingPoint(pos)\n morphs = morphs.reject(function(ea) {\n return ea.isWorld || (ea === handle) || (ea === this) || \n (ea === this.owner)\n }, this)\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n this.selectedMorph = morphs.first();\n this.selectedMorphHighlights = show(this.selectedMorph)\n handle.startPos = evt.getPosition();\n}","funcProperties":{"__isSmartRef__":true,"id":10992},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10991":{"this":{"__isSmartRef__":true,"id":10926}},"10992":{"timestamp":{"__isSmartRef__":true,"id":10993},"user":"jenslincke","tags":[]},"10993":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:06:40 GMT+0100 (CET)"},"10994":{"varMapping":{"__isSmartRef__":true,"id":10995},"source":"function onDragStartInHandle(handle, evt) {\n handle.startPos = evt.getPosition()\n}","funcProperties":{"__isSmartRef__":true,"id":10996},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10995":{"this":{"__isSmartRef__":true,"id":10926}},"10996":{"timestamp":{"__isSmartRef__":true,"id":10997},"user":"jenslincke","tags":[]},"10997":{"isSerializedDate":true,"string":"Thu Dec 13 2012 15:51:13 GMT+0100 (CET)"},"10998":{"varMapping":{"__isSmartRef__":true,"id":10999},"source":"function onDragEndInHandle(handle, evt) {\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n \n if (handle.isFromHandle) this.connectFrom(this.selectedMorph)\n if (handle.isToHandle) this.connectTo(this.selectedMorph)\n handle.remove()\n}","funcProperties":{"__isSmartRef__":true,"id":11000},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"10999":{"this":{"__isSmartRef__":true,"id":10926}},"11000":{"timestamp":{"__isSmartRef__":true,"id":11001},"user":"jenslincke","tags":[]},"11001":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:44:35 GMT+0100 (CET)"},"11002":{"varMapping":{"__isSmartRef__":true,"id":11003},"source":"function connectFrom(morph) {\n if (morph && morph === this.toMorph) return; // not allowed\n\n this.disconnectMorph(this.fromMorph)\n this.fromMorph = morph;\n this.connectMorph(this.fromMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":11004},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11003":{"this":{"__isSmartRef__":true,"id":10926}},"11004":{"timestamp":{"__isSmartRef__":true,"id":11005},"user":"jenslincke","tags":[]},"11005":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:02:22 GMT+0100 (CET)"},"11006":{"varMapping":{"__isSmartRef__":true,"id":11007},"source":"function connectTo(morph) {\n\n if (morph && morph === this.fromMorph) return; // not allowed\n\n this.disconnectMorph(this.toMorph)\n this.toMorph = morph;\n this.connectMorph(this.toMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":11008},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11007":{"this":{"__isSmartRef__":true,"id":10926}},"11008":{"timestamp":{"__isSmartRef__":true,"id":11009},"user":"jenslincke","tags":[]},"11009":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:02:30 GMT+0100 (CET)"},"11010":{"varMapping":{"__isSmartRef__":true,"id":11011},"source":"function hideToHandle() {\n if (this.toHandle) {\n this.toHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":11012},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11011":{"this":{"__isSmartRef__":true,"id":10926}},"11012":{"timestamp":{"__isSmartRef__":true,"id":11013},"user":"jenslincke","tags":[]},"11013":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:51:59 GMT+0100 (CET)"},"11014":{"varMapping":{"__isSmartRef__":true,"id":11015},"source":"function hideFromHandle() {\n if (this.fromHandle) {\n this.fromHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":11016},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11015":{"this":{"__isSmartRef__":true,"id":10926}},"11016":{"timestamp":{"__isSmartRef__":true,"id":11017},"user":"jenslincke","tags":[]},"11017":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:52:18 GMT+0100 (CET)"},"11018":{"varMapping":{"__isSmartRef__":true,"id":11019},"source":"function updateIntersection(morph, cp) {\n if (!morph) return;\n var intersection = this.intersectMorph(morph)[0];\n if (intersection) {\n cp.setGlobalPos(intersection);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":11020},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11019":{"this":{"__isSmartRef__":true,"id":10926}},"11020":{"timestamp":{"__isSmartRef__":true,"id":11021},"user":"jenslincke","tags":[]},"11021":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:32 GMT+0100 (CET)"},"11022":{"varMapping":{"__isSmartRef__":true,"id":11023},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":11024},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11023":{"this":{"__isSmartRef__":true,"id":10926}},"11024":{"timestamp":{"__isSmartRef__":true,"id":11025},"user":"jenslincke","tags":[]},"11025":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:47:12 GMT+0100 (CET)"},"11026":{"varMapping":{"__isSmartRef__":true,"id":11027},"source":"function intersectMorphLinePoints(morph, a1, a2) {\n var points = this.globalShapePathFromMorph(morph);\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":11028},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11027":{"this":{"__isSmartRef__":true,"id":10926}},"11028":{"timestamp":{"__isSmartRef__":true,"id":11029},"user":"jenslincke","tags":[]},"11029":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:21 GMT+0100 (CET)"},"11030":{"varMapping":{"__isSmartRef__":true,"id":11031},"source":"function intersectMorph(morph) {\n var line = this;\n return this.intersectMorphLinePoints(morph,\n line.controlPoints[0].getGlobalPos(), line.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":11032},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11031":{"this":{"__isSmartRef__":true,"id":10926}},"11032":{"timestamp":{"__isSmartRef__":true,"id":11033},"user":"jenslincke","tags":[]},"11033":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:47 GMT+0100 (CET)"},"11034":{"varMapping":{"__isSmartRef__":true,"id":11035},"source":"function globalShapePathFromMorph(morph) {\n var b = morph.shape.bounds();\n var p1 = morph.worldPoint(b.topLeft()),\n p2 = morph.worldPoint(b.topRight()),\n p3 = morph.worldPoint(b.bottomRight()),\n p4 = morph.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":11036},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11035":{"this":{"__isSmartRef__":true,"id":10926}},"11036":{"timestamp":{"__isSmartRef__":true,"id":11037},"user":"jenslincke","tags":[]},"11037":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:00 GMT+0100 (CET)"},"11038":{"source":{"__isSmartRef__":true,"id":10853},"target":{"__isSmartRef__":true,"id":10926}},"11039":{"sourceObj":{"__isSmartRef__":true,"id":10853},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":10925},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":11040},"dependedBy":{"__isSmartRef__":true,"id":10925},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11040":{"source":{"__isSmartRef__":true,"id":10853},"target":{"__isSmartRef__":true,"id":10925}},"11041":{"sourceObj":{"__isSmartRef__":true,"id":10853},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":10925},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":11042},"dependedBy":{"__isSmartRef__":true,"id":10925},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11042":{"source":{"__isSmartRef__":true,"id":10853},"target":{"__isSmartRef__":true,"id":10925}},"11043":{"sourceObj":{"__isSmartRef__":true,"id":10853},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":10925},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":11044},"dependedBy":{"__isSmartRef__":true,"id":10925},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11044":{"source":{"__isSmartRef__":true,"id":10853},"target":{"__isSmartRef__":true,"id":10925}},"11045":{"sourceObj":{"__isSmartRef__":true,"id":10853},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":10925},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":11046},"dependedBy":{"__isSmartRef__":true,"id":10925},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11046":{"source":{"__isSmartRef__":true,"id":10853},"target":{"__isSmartRef__":true,"id":10925}},"11047":{"d":0.9347623017725522,"a":0.9347623017725522,"f":3485.245045045044,"e":728.5390390390387,"c":0.3552737524570028,"b":-0.3552737524570028,"matrix_":{"__isSmartRef__":true,"id":11048},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"11048":{"a":0.9347623017725522,"b":-0.3552737524570028,"c":0.3552737524570028,"d":0.9347623017725522,"e":728.5390390390387,"f":3485.245045045044,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"11049":{"globalShapePath":{"__isSmartRef__":true,"id":11050},"lineIntersect":{"__isSmartRef__":true,"id":11053},"intersectLine":{"__isSmartRef__":true,"id":11057},"intersectLineMorph":{"__isSmartRef__":true,"id":11060}},"11050":{"varMapping":{"__isSmartRef__":true,"id":11051},"source":"function globalShapePath() {\n var b = this.shape.bounds();\n var p1 = this.worldPoint(b.topLeft()),\n p2 = this.worldPoint(b.topRight()),\n p3 = this.worldPoint(b.bottomRight()),\n p4 = this.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":11052},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11051":{"this":{"__isSmartRef__":true,"id":10853}},"11052":{},"11053":{"varMapping":{"__isSmartRef__":true,"id":11054},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":11055},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11054":{"this":{"__isSmartRef__":true,"id":10853}},"11055":{"timestamp":{"__isSmartRef__":true,"id":11056},"user":"jenslincke","tags":[]},"11056":{"isSerializedDate":true,"string":"Thu Dec 13 2012 13:42:55 GMT+0100 (CET)"},"11057":{"varMapping":{"__isSmartRef__":true,"id":11058},"source":"function intersectLine(a1, a2) {\n var points = this.globalShapePath();\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":11059},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11058":{"this":{"__isSmartRef__":true,"id":10853}},"11059":{},"11060":{"varMapping":{"__isSmartRef__":true,"id":11061},"source":"function intersectLineMorph(m) {\n return this.intersectLine(m.controlPoints[0].getGlobalPos(), m.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":11062},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11061":{"this":{"__isSmartRef__":true,"id":10853}},"11062":{},"11063":{"d":1,"a":1,"f":906.1,"e":107.8,"c":0,"b":0,"matrix_":{"__isSmartRef__":true,"id":11064},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"11064":{"a":1,"b":0,"c":0,"d":1,"e":107.8,"f":906.1,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"11065":{"connect":{"__isSmartRef__":true,"id":11066},"updatePosition":{"__isSmartRef__":true,"id":11070},"updateControlPoint":{"__isSmartRef__":true,"id":11074},"disconnectMorph":{"__isSmartRef__":true,"id":11078},"connectMorph":{"__isSmartRef__":true,"id":11082},"onMouseOver":{"__isSmartRef__":true,"id":11086},"onMouseOut":{"__isSmartRef__":true,"id":11090},"makeHandle":{"__isSmartRef__":true,"id":11098},"showFromHandle":{"__isSmartRef__":true,"id":11102},"showToHandle":{"__isSmartRef__":true,"id":11106},"reset":{"__isSmartRef__":true,"id":11110},"onDragInHandle":{"__isSmartRef__":true,"id":11114},"onDragStartInHandle":{"__isSmartRef__":true,"id":11118},"onDragEndInHandle":{"__isSmartRef__":true,"id":11122},"connectFrom":{"__isSmartRef__":true,"id":11126},"connectTo":{"__isSmartRef__":true,"id":11130},"hideToHandle":{"__isSmartRef__":true,"id":11134},"hideFromHandle":{"__isSmartRef__":true,"id":11138},"updateIntersection":{"__isSmartRef__":true,"id":11142},"lineIntersect":{"__isSmartRef__":true,"id":11146},"intersectMorphLinePoints":{"__isSmartRef__":true,"id":11150},"intersectMorph":{"__isSmartRef__":true,"id":11154},"globalShapePathFromMorph":{"__isSmartRef__":true,"id":11158}},"11066":{"varMapping":{"__isSmartRef__":true,"id":11067},"source":"function connect(morphA, morphB) {\n this.connectFrom(morphA)\n this.connectTo(morphB)\n this.updatePosition()\n}","funcProperties":{"__isSmartRef__":true,"id":11068},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11067":{"this":{"__isSmartRef__":true,"id":10843}},"11068":{"timestamp":{"__isSmartRef__":true,"id":11069},"user":"jenslincke","tags":[]},"11069":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:50:49 GMT+0100 (CET)"},"11070":{"varMapping":{"__isSmartRef__":true,"id":11071},"source":"function updatePosition() {\n this.updateControlPoint(this.controlPoints[0], this.fromMorph)\n this.updateControlPoint(this.controlPoints[1], this.toMorph)\n this.updateIntersection(this.fromMorph, this.controlPoints[0])\n this.updateIntersection(this.toMorph, this.controlPoints[1])\n\n if (this.controlPoints[0].getPos().equalPt(this.controlPoints[1].getPos()))\n this.controlPoints[1].setPos(this.controlPoints[1].getPos().addPt(pt(30,0)))\n\n this.adjustOrigin(this.bounds().extent().scaleBy(0.5))\n \n}","funcProperties":{"__isSmartRef__":true,"id":11072},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11071":{"this":{"__isSmartRef__":true,"id":10843}},"11072":{"timestamp":{"__isSmartRef__":true,"id":11073},"user":"jenslincke","tags":[]},"11073":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:59:26 GMT+0100 (CET)"},"11074":{"varMapping":{"__isSmartRef__":true,"id":11075},"source":"function updateControlPoint(cp, morph) {\n if (!cp || !morph) return;\n cp.setGlobalPos(morph.worldPoint(morph.shape.bounds().center()))\n}","funcProperties":{"__isSmartRef__":true,"id":11076},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11075":{"this":{"__isSmartRef__":true,"id":10843}},"11076":{"timestamp":{"__isSmartRef__":true,"id":11077},"user":"jenslincke","tags":[]},"11077":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:45:56 GMT+0100 (CET)"},"11078":{"varMapping":{"__isSmartRef__":true,"id":11079},"source":"function disconnectMorph(morph) {\n if (!morph) return;\n lively.bindings.disconnect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":11080},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11079":{"this":{"__isSmartRef__":true,"id":10843}},"11080":{"timestamp":{"__isSmartRef__":true,"id":11081},"user":"jenslincke","tags":[]},"11081":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:19:18 GMT+0100 (CET)"},"11082":{"varMapping":{"__isSmartRef__":true,"id":11083},"source":"function connectMorph(morph) {\n if (morph)\n lively.bindings.connect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":11084},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11083":{"this":{"__isSmartRef__":true,"id":10843}},"11084":{"timestamp":{"__isSmartRef__":true,"id":11085},"user":"jenslincke","tags":[]},"11085":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:52:12 GMT+0100 (CET)"},"11086":{"varMapping":{"__isSmartRef__":true,"id":11087},"source":"function onMouseOver(evt) {\n var p = evt.mousePoint.scaleBy(this.world().getScale())\n\n var cp1 = this.controlPoints[0].getGlobalPos();\n if (p.dist(cp1) < 20) {\n this.showFromHandle()\n } else {\n this.hideFromHandle()\n }\n var cp2 = this.controlPoints[1].getGlobalPos();\n if (p.dist(cp2) < 20) {\n this.showToHandle()\n } else {\n this.hideToHandle()\n }\n}","funcProperties":{"__isSmartRef__":true,"id":11088},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11087":{"this":{"__isSmartRef__":true,"id":10843}},"11088":{"timestamp":{"__isSmartRef__":true,"id":11089},"user":"jenslincke","tags":[]},"11089":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:23:03 GMT+0100 (CET)"},"11090":{"varMapping":{"__isSmartRef__":true,"id":11091},"source":"function onMouseOut(evt) {\n // this.hideFromHandle()\n // this.hideToHandle()\n}","funcProperties":{"__isSmartRef__":true,"id":11096},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11091":{"this":{"__isSmartRef__":true,"id":10843},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":11092}},"11092":{"$super":{"__isSmartRef__":true,"id":11093}},"11093":{"varMapping":{"__isSmartRef__":true,"id":11094},"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":11095},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11094":{"obj":{"__isSmartRef__":true,"id":10843},"name":"onMouseOut"},"11095":{},"11096":{"timestamp":{"__isSmartRef__":true,"id":11097},"user":"jenslincke","tags":[]},"11097":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:54:53 GMT+0100 (CET)"},"11098":{"varMapping":{"__isSmartRef__":true,"id":11099},"source":"function makeHandle() {\n var m = lively.morphic.Morph.makeRectangle(0,0,10,10);\n m.disableGrabbing()\n m.enableDragging()\n m.connector = this;\n // move real behavior to a place which is easier to develop\n // do not use bind, because we like late binding \n m.addScript(function onDragStart(evt) {\n this.connector.onDragStartInHandle(this, evt)\n })\n m.addScript(function onDrag(evt) {\n this.connector.onDragInHandle(this, evt)\n })\n m.addScript(function onDragEnd(evt) {\n this.connector.onDragEndInHandle(this, evt)\n })\n m.isEpiMorph = true;\n return m\n}","funcProperties":{"__isSmartRef__":true,"id":11100},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11099":{"this":{"__isSmartRef__":true,"id":10843}},"11100":{"timestamp":{"__isSmartRef__":true,"id":11101},"user":"jenslincke","tags":[]},"11101":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:08:29 GMT+0100 (CET)"},"11102":{"varMapping":{"__isSmartRef__":true,"id":11103},"source":"function showFromHandle() {\n if (!this.fromHandle) {\n this.fromHandle = this.makeHandle();\n this.fromHandle.setFill(Color.red)\n this.fromHandle.isFromHandle = true;\n }\n this.fromHandle.openInWorld();\n this.fromHandle.controlPoint = this.controlPoints[0];\n this.fromHandle.setPosition(this.controlPoints[0].getGlobalPos().subPt(pt(5,5)))\n return this.fromHandle\n}","funcProperties":{"__isSmartRef__":true,"id":11104},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11103":{"this":{"__isSmartRef__":true,"id":10843}},"11104":{"timestamp":{"__isSmartRef__":true,"id":11105},"user":"jenslincke","tags":[]},"11105":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:13:03 GMT+0100 (CET)"},"11106":{"varMapping":{"__isSmartRef__":true,"id":11107},"source":"function showToHandle() {\n if (!this.toHandle) {\n this.toHandle = this.makeHandle();\n this.toHandle.setFill(Color.red)\n this.toHandle.isToHandle = true;\n\n }\n this.toHandle.openInWorld();\n this.toHandle.controlPoint = this.controlPoints[1];\n this.toHandle.setPosition(this.controlPoints[1].getGlobalPos().subPt(pt(5,5)))\n return this.toHandle\n}","funcProperties":{"__isSmartRef__":true,"id":11108},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11107":{"this":{"__isSmartRef__":true,"id":10843}},"11108":{"timestamp":{"__isSmartRef__":true,"id":11109},"user":"jenslincke","tags":[]},"11109":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:20:25 GMT+0100 (CET)"},"11110":{"varMapping":{"__isSmartRef__":true,"id":11111},"source":"function reset() {\n if (this.fromHandle) {\n this.fromHandle.remove()\n delete this.fromHandle\n }\n if (this.toHandle) {\n this.toHandle.remove()\n delete this.toHandle\n }\n // this.controlPoints[1].setPos(pt(200,200))\n}","funcProperties":{"__isSmartRef__":true,"id":11112},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11111":{"this":{"__isSmartRef__":true,"id":10843}},"11112":{"timestamp":{"__isSmartRef__":true,"id":11113},"user":"jenslincke","tags":[]},"11113":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:15:00 GMT+0100 (CET)"},"11114":{"varMapping":{"__isSmartRef__":true,"id":11115},"source":"function onDragInHandle(handle, evt) {\n\n var pos = handle.getPositionInWorld();\n var delta = evt.hand.getPosition().subPt(pos);\n handle.moveBy(delta)\n pos = handle.getPositionInWorld();\n if (handle.controlPoint)\n handle.controlPoint.setGlobalPos(pos.addPt(pt(5,5)))\n var morphs = this.owner.morphsContainingPoint(pos)\n morphs = morphs.reject(function(ea) {\n return ea.isWorld || (ea === handle) || (ea === this) || \n (ea === this.owner)\n }, this)\n this.get('Console').textString = morphs\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n this.selectedMorph = morphs.first();\n this.selectedMorphHighlights = show(this.selectedMorph)\n handle.startPos = evt.getPosition();\n}","funcProperties":{"__isSmartRef__":true,"id":11116},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11115":{"this":{"__isSmartRef__":true,"id":10843}},"11116":{"timestamp":{"__isSmartRef__":true,"id":11117},"user":"jenslincke","tags":[]},"11117":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:09:40 GMT+0100 (CET)"},"11118":{"varMapping":{"__isSmartRef__":true,"id":11119},"source":"function onDragStartInHandle(handle, evt) {\n handle.startPos = evt.getPosition()\n}","funcProperties":{"__isSmartRef__":true,"id":11120},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11119":{"this":{"__isSmartRef__":true,"id":10843}},"11120":{"timestamp":{"__isSmartRef__":true,"id":11121},"user":"jenslincke","tags":[]},"11121":{"isSerializedDate":true,"string":"Thu Dec 13 2012 15:51:13 GMT+0100 (CET)"},"11122":{"varMapping":{"__isSmartRef__":true,"id":11123},"source":"function onDragEndInHandle(handle, evt) {\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n \n if (handle.isFromHandle) this.connectFrom(this.selectedMorph)\n if (handle.isToHandle) this.connectTo(this.selectedMorph)\n handle.remove()\n}","funcProperties":{"__isSmartRef__":true,"id":11124},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11123":{"this":{"__isSmartRef__":true,"id":10843}},"11124":{"timestamp":{"__isSmartRef__":true,"id":11125},"user":"jenslincke","tags":[]},"11125":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:44:35 GMT+0100 (CET)"},"11126":{"varMapping":{"__isSmartRef__":true,"id":11127},"source":"function connectFrom(morph) {\n if (morph === this.toMorph) return; // not allowed\n\n this.disconnectMorph(this.fromMorph)\n this.fromMorph = morph;\n this.connectMorph(this.fromMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":11128},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11127":{"this":{"__isSmartRef__":true,"id":10843}},"11128":{"timestamp":{"__isSmartRef__":true,"id":11129},"user":"jenslincke","tags":[]},"11129":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:57:22 GMT+0100 (CET)"},"11130":{"varMapping":{"__isSmartRef__":true,"id":11131},"source":"function connectTo(morph) {\n\n if (morph === this.fromMorph) return; // not allowed\n\n this.disconnectMorph(this.toMorph)\n this.toMorph = morph;\n this.connectMorph(this.toMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":11132},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11131":{"this":{"__isSmartRef__":true,"id":10843}},"11132":{"timestamp":{"__isSmartRef__":true,"id":11133},"user":"jenslincke","tags":[]},"11133":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:57:14 GMT+0100 (CET)"},"11134":{"varMapping":{"__isSmartRef__":true,"id":11135},"source":"function hideToHandle() {\n if (this.toHandle) {\n this.toHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":11136},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11135":{"this":{"__isSmartRef__":true,"id":10843}},"11136":{"timestamp":{"__isSmartRef__":true,"id":11137},"user":"jenslincke","tags":[]},"11137":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:51:59 GMT+0100 (CET)"},"11138":{"varMapping":{"__isSmartRef__":true,"id":11139},"source":"function hideFromHandle() {\n if (this.fromHandle) {\n this.fromHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":11140},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11139":{"this":{"__isSmartRef__":true,"id":10843}},"11140":{"timestamp":{"__isSmartRef__":true,"id":11141},"user":"jenslincke","tags":[]},"11141":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:52:18 GMT+0100 (CET)"},"11142":{"varMapping":{"__isSmartRef__":true,"id":11143},"source":"function updateIntersection(morph, cp) {\n if (!morph) return;\n var intersection = this.intersectMorph(morph)[0];\n if (intersection) {\n cp.setGlobalPos(intersection);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":11144},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11143":{"this":{"__isSmartRef__":true,"id":10843}},"11144":{"timestamp":{"__isSmartRef__":true,"id":11145},"user":"jenslincke","tags":[]},"11145":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:32 GMT+0100 (CET)"},"11146":{"varMapping":{"__isSmartRef__":true,"id":11147},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":11148},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11147":{"this":{"__isSmartRef__":true,"id":10843}},"11148":{"timestamp":{"__isSmartRef__":true,"id":11149},"user":"jenslincke","tags":[]},"11149":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:47:12 GMT+0100 (CET)"},"11150":{"varMapping":{"__isSmartRef__":true,"id":11151},"source":"function intersectMorphLinePoints(morph, a1, a2) {\n var points = this.globalShapePathFromMorph(morph);\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":11152},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11151":{"this":{"__isSmartRef__":true,"id":10843}},"11152":{"timestamp":{"__isSmartRef__":true,"id":11153},"user":"jenslincke","tags":[]},"11153":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:21 GMT+0100 (CET)"},"11154":{"varMapping":{"__isSmartRef__":true,"id":11155},"source":"function intersectMorph(morph) {\n var line = this;\n return this.intersectMorphLinePoints(morph,\n line.controlPoints[0].getGlobalPos(), line.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":11156},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11155":{"this":{"__isSmartRef__":true,"id":10843}},"11156":{"timestamp":{"__isSmartRef__":true,"id":11157},"user":"jenslincke","tags":[]},"11157":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:47 GMT+0100 (CET)"},"11158":{"varMapping":{"__isSmartRef__":true,"id":11159},"source":"function globalShapePathFromMorph(morph) {\n var b = morph.shape.bounds();\n var p1 = morph.worldPoint(b.topLeft()),\n p2 = morph.worldPoint(b.topRight()),\n p3 = morph.worldPoint(b.bottomRight()),\n p4 = morph.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":11160},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11159":{"this":{"__isSmartRef__":true,"id":10843}},"11160":{"timestamp":{"__isSmartRef__":true,"id":11161},"user":"jenslincke","tags":[]},"11161":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:00 GMT+0100 (CET)"},"11162":{"morph":{"__isSmartRef__":true,"id":10812},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(142.4,3530.4)"},"11163":{"morph":{"__isSmartRef__":true,"id":10812},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(104.9,3506.4)"},"11164":{"morph":{"__isSmartRef__":true,"id":10812},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(67.4,3482.4)"},"11165":{"morph":{"__isSmartRef__":true,"id":10812},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(89.0,3448.7)"},"11166":{"sourceObj":{"__isSmartRef__":true,"id":10812},"sourceAttrName":"name","targetObj":{"__isSmartRef__":true,"id":10787},"targetMethodName":"updateLabel","varMapping":{"__isSmartRef__":true,"id":11167},"visualConnector":{"__isSmartRef__":true,"id":11168},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11167":{"source":{"__isSmartRef__":true,"id":10812},"target":{"__isSmartRef__":true,"id":10787}},"11168":{"submorphs":[{"__isSmartRef__":true,"id":11169}],"scripts":[],"shape":{"__isSmartRef__":true,"id":11176},"eventHandler":{"__isSmartRef__":true,"id":11179},"_ClipMode":"visible","derivationIds":[],"id":"5814672F-102B-41EE-9D91-9FA58B6451FD","__layered_droppingEnabled__":true,"halosEnabled":true,"owner":null,"controlPoints":[{"__isSmartRef__":true,"id":11180},{"__isSmartRef__":true,"id":11181}],"con":{"__isSmartRef__":true,"id":11166},"showsMorphMenu":true,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":11182},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"11169":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":11170},"eventHandler":{"__isSmartRef__":true,"id":11175},"_ClipMode":"visible","derivationIds":[],"id":"01253C2A-18A1-43A8-AA72-260E7FC0929E","__layered_droppingEnabled__":true,"halosEnabled":true,"owner":{"__isSmartRef__":true,"id":11168},"_Rotation":1.3832457846463706,"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","_Position":"lively.pt(259.1,3427.8)"},"11170":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":11171},{"__isSmartRef__":true,"id":11172},{"__isSmartRef__":true,"id":11173},{"__isSmartRef__":true,"id":11174}],"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor","_Fill"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Position":"lively.pt(-12.0,-6.0)","_Extent":"lively.pt(17.0,13.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(0,0,0)"},"11171":{"isAbsolute":true,"x":-11,"y":-5,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"11172":{"isAbsolute":true,"x":-11,"y":7,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"11173":{"isAbsolute":true,"x":5,"y":1,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"11174":{"isAbsolute":true,"x":-11,"y":-5,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"11175":{"morph":{"__isSmartRef__":true,"id":11169},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"11176":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":11177},{"__isSmartRef__":true,"id":11178}],"_BorderWidth":1,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Position":"lively.pt(248.7,3377.0)","_Extent":"lively.pt(10.4,50.8)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"11177":{"isAbsolute":true,"x":249.7,"y":3378,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"11178":{"isAbsolute":true,"x":259.14357977177195,"y":3427.7604139964105,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"11179":{"morph":{"__isSmartRef__":true,"id":11168},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"11180":{"morph":{"__isSmartRef__":true,"id":11168},"index":0,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"11181":{"morph":{"__isSmartRef__":true,"id":11168},"index":1,"marker":{"__isSmartRef__":true,"id":11169},"markerDirection":"prev","__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"11182":{"morphMenuItems":{"__isSmartRef__":true,"id":11183}},"11183":{"varMapping":{"__isSmartRef__":true,"id":11184},"source":"function morphMenuItems() {\n var visualConnector = this, con = this.con, world = $world;\n var items = [\n ['Edit converter', function() {\n var window = lively.bindings.editConnection(con);\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":11189},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11184":{"this":{"__isSmartRef__":true,"id":11168},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":11185}},"11185":{"$super":{"__isSmartRef__":true,"id":11186}},"11186":{"varMapping":{"__isSmartRef__":true,"id":11187},"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":11188},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11187":{"obj":{"__isSmartRef__":true,"id":11168},"name":"morphMenuItems"},"11188":{},"11189":{},"11190":{"sourceObj":{"__isSmartRef__":true,"id":10812},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":10786},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":11191},"dependedBy":{"__isSmartRef__":true,"id":10786},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11191":{"source":{"__isSmartRef__":true,"id":10812},"target":{"__isSmartRef__":true,"id":10786}},"11192":{"sourceObj":{"__isSmartRef__":true,"id":10812},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":10786},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":11193},"dependedBy":{"__isSmartRef__":true,"id":10786},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11193":{"source":{"__isSmartRef__":true,"id":10812},"target":{"__isSmartRef__":true,"id":10786}},"11194":{"sourceObj":{"__isSmartRef__":true,"id":10812},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":10786},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":11195},"dependedBy":{"__isSmartRef__":true,"id":10786},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11195":{"source":{"__isSmartRef__":true,"id":10812},"target":{"__isSmartRef__":true,"id":10786}},"11196":{"sourceObj":{"__isSmartRef__":true,"id":10812},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":10786},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":11197},"dependedBy":{"__isSmartRef__":true,"id":10786},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11197":{"source":{"__isSmartRef__":true,"id":10812},"target":{"__isSmartRef__":true,"id":10786}},"11198":{"sourceObj":{"__isSmartRef__":true,"id":10812},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":10842},"targetMethodName":"alignToMagnet","varMapping":{"__isSmartRef__":true,"id":11199},"dependendConnections":[{"__isSmartRef__":true,"id":11200},{"__isSmartRef__":true,"id":11202},{"__isSmartRef__":true,"id":11204},{"__isSmartRef__":true,"id":11206},{"__isSmartRef__":true,"id":11208},{"__isSmartRef__":true,"id":11210},{"__isSmartRef__":true,"id":11212},{"__isSmartRef__":true,"id":11214}],"oldTransform":{"__isSmartRef__":true,"id":11216},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"11199":{"source":{"__isSmartRef__":true,"id":10812},"target":{"__isSmartRef__":true,"id":10842}},"11200":{"sourceObj":{"__isSmartRef__":true,"id":10812},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":11198},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":11201},"dependedBy":{"__isSmartRef__":true,"id":11198},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11201":{"source":{"__isSmartRef__":true,"id":10812},"target":{"__isSmartRef__":true,"id":11198}},"11202":{"sourceObj":{"__isSmartRef__":true,"id":10812},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":11198},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":11203},"dependedBy":{"__isSmartRef__":true,"id":11198},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11203":{"source":{"__isSmartRef__":true,"id":10812},"target":{"__isSmartRef__":true,"id":11198}},"11204":{"sourceObj":{"__isSmartRef__":true,"id":10812},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":11198},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":11205},"dependedBy":{"__isSmartRef__":true,"id":11198},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11205":{"source":{"__isSmartRef__":true,"id":10812},"target":{"__isSmartRef__":true,"id":11198}},"11206":{"sourceObj":{"__isSmartRef__":true,"id":10812},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":11198},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":11207},"dependedBy":{"__isSmartRef__":true,"id":11198},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11207":{"source":{"__isSmartRef__":true,"id":10812},"target":{"__isSmartRef__":true,"id":11198}},"11208":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":11198},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":11209},"dependedBy":{"__isSmartRef__":true,"id":11198},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11209":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":11198}},"11210":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":11198},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":11211},"dependedBy":{"__isSmartRef__":true,"id":11198},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11211":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":11198}},"11212":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":11198},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":11213},"dependedBy":{"__isSmartRef__":true,"id":11198},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11213":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":11198}},"11214":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":11198},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":11215},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","dependedBy":{"__isSmartRef__":true,"id":11198},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11215":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":11198}},"11216":{"d":0.8419431060646692,"a":0.8419431060646692,"f":71.4,"e":725.3,"c":-0.5395663130238733,"b":0.5395663130238733,"matrix_":{"__isSmartRef__":true,"id":11217},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"11217":{"a":0.8419431060646692,"b":0.5395663130238733,"c":-0.5395663130238733,"d":0.8419431060646692,"e":725.3,"f":71.4,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"11218":{"sourceObj":{"__isSmartRef__":true,"id":10812},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":3590},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":11219},"dependendConnections":[{"__isSmartRef__":true,"id":11220},{"__isSmartRef__":true,"id":11222},{"__isSmartRef__":true,"id":11224},{"__isSmartRef__":true,"id":11226},{"__isSmartRef__":true,"id":11228},{"__isSmartRef__":true,"id":11230},{"__isSmartRef__":true,"id":11232},{"__isSmartRef__":true,"id":11234}],"oldTransform":{"__isSmartRef__":true,"id":11236},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"11219":{"source":{"__isSmartRef__":true,"id":10812},"target":{"__isSmartRef__":true,"id":3590}},"11220":{"sourceObj":{"__isSmartRef__":true,"id":10812},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":11218},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":11221},"dependedBy":{"__isSmartRef__":true,"id":11218},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11221":{"source":{"__isSmartRef__":true,"id":10812},"target":{"__isSmartRef__":true,"id":11218}},"11222":{"sourceObj":{"__isSmartRef__":true,"id":10812},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":11218},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":11223},"dependedBy":{"__isSmartRef__":true,"id":11218},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11223":{"source":{"__isSmartRef__":true,"id":10812},"target":{"__isSmartRef__":true,"id":11218}},"11224":{"sourceObj":{"__isSmartRef__":true,"id":10812},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":11218},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":11225},"dependedBy":{"__isSmartRef__":true,"id":11218},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11225":{"source":{"__isSmartRef__":true,"id":10812},"target":{"__isSmartRef__":true,"id":11218}},"11226":{"sourceObj":{"__isSmartRef__":true,"id":10812},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":11218},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":11227},"dependedBy":{"__isSmartRef__":true,"id":11218},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11227":{"source":{"__isSmartRef__":true,"id":10812},"target":{"__isSmartRef__":true,"id":11218}},"11228":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":11218},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":11229},"dependedBy":{"__isSmartRef__":true,"id":11218},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11229":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":11218}},"11230":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":11218},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":11231},"dependedBy":{"__isSmartRef__":true,"id":11218},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11231":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":11218}},"11232":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":11218},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":11233},"dependedBy":{"__isSmartRef__":true,"id":11218},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11233":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":11218}},"11234":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":11218},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":11235},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","dependedBy":{"__isSmartRef__":true,"id":11218},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11235":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":11218}},"11236":{"d":0.8419431060646692,"a":0.8419431060646692,"f":71.4,"e":725.3,"c":-0.5395663130238733,"b":0.5395663130238733,"matrix_":{"__isSmartRef__":true,"id":11237},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"11237":{"a":0.8419431060646692,"b":0.5395663130238733,"c":-0.5395663130238733,"d":0.8419431060646692,"e":725.3,"f":71.4,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"11238":{"globalShapePath":{"__isSmartRef__":true,"id":11239},"lineIntersect":{"__isSmartRef__":true,"id":11242},"intersectLine":{"__isSmartRef__":true,"id":11246},"intersectLineMorph":{"__isSmartRef__":true,"id":11249}},"11239":{"varMapping":{"__isSmartRef__":true,"id":11240},"source":"function globalShapePath() {\n var b = this.shape.bounds();\n var p1 = this.worldPoint(b.topLeft()),\n p2 = this.worldPoint(b.topRight()),\n p3 = this.worldPoint(b.bottomRight()),\n p4 = this.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":11241},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11240":{"this":{"__isSmartRef__":true,"id":10812}},"11241":{},"11242":{"varMapping":{"__isSmartRef__":true,"id":11243},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":11244},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11243":{"this":{"__isSmartRef__":true,"id":10812}},"11244":{"timestamp":{"__isSmartRef__":true,"id":11245},"user":"jenslincke","tags":[]},"11245":{"isSerializedDate":true,"string":"Thu Dec 13 2012 13:42:55 GMT+0100 (CET)"},"11246":{"varMapping":{"__isSmartRef__":true,"id":11247},"source":"function intersectLine(a1, a2) {\n var points = this.globalShapePath();\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":11248},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11247":{"this":{"__isSmartRef__":true,"id":10812}},"11248":{},"11249":{"varMapping":{"__isSmartRef__":true,"id":11250},"source":"function intersectLineMorph(m) {\n return this.intersectLine(m.controlPoints[0].getGlobalPos(), m.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":11251},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11250":{"this":{"__isSmartRef__":true,"id":10812}},"11251":{},"11252":{"updateLabel":{"__isSmartRef__":true,"id":11253},"renameOwner":{"__isSmartRef__":true,"id":11256}},"11253":{"varMapping":{"__isSmartRef__":true,"id":11254},"source":"function updateLabel() {\n\t// observe name changes in owner\n\tif (this.owner !== this.oldOwner) {\n\t\tif (this.oldOwner)\n\t\t\tdisconnect(this.oldOwner, 'name', this, 'updateLabel')\n\t\tif (this.owner)\n\t\t\tconnect(this.owner, 'name', this, 'updateLabel')\n\t\tthis.oldOwner = this.owner\n\t}\n\tvar name = (this.owner ? this.owner.name : \"no owner\")\n\tif (this.textString != name)\n\tthis.setTextString(name)\n}","funcProperties":{"__isSmartRef__":true,"id":11255},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11254":{"this":{"__isSmartRef__":true,"id":10787}},"11255":{},"11256":{"varMapping":{"__isSmartRef__":true,"id":11257},"source":"function renameOwner(name) {\n\tif (this.owner && this.owner.name != name) {\n\t\talertOK(\"renamed \" + this.owner + \" to \" + name)\n\t\tthis.owner.setName(name);\n\t}\n}","funcProperties":{"__isSmartRef__":true,"id":11258},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11257":{"this":{"__isSmartRef__":true,"id":10787}},"11258":{},"11259":{"source":{"__isSmartRef__":true,"id":10787},"target":{"__isSmartRef__":true,"id":11168}},"11260":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":10786},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":11261},"dependedBy":{"__isSmartRef__":true,"id":10786},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11261":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":10786}},"11262":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":10786},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":11263},"dependedBy":{"__isSmartRef__":true,"id":10786},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11263":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":10786}},"11264":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":10786},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":11265},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","dependedBy":{"__isSmartRef__":true,"id":10786},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11265":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":10786}},"11266":{"d":0.8419431060646688,"a":0.8419431060646688,"f":121.16041399641061,"e":734.7435797717719,"c":-0.539566313023873,"b":0.539566313023873,"matrix_":{"__isSmartRef__":true,"id":11267},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"11267":{"a":0.8419431060646688,"b":0.539566313023873,"c":-0.539566313023873,"d":0.8419431060646688,"e":734.7435797717719,"f":121.16041399641061,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"11268":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":10786}},"11269":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":11270},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":11732},"dependedBy":{"__isSmartRef__":true,"id":11270},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11270":{"sourceObj":{"__isSmartRef__":true,"id":11271},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":11652},"targetMethodName":"realignConnection","varMapping":{"__isSmartRef__":true,"id":11723},"dependendConnections":[{"__isSmartRef__":true,"id":11279},{"__isSmartRef__":true,"id":11281},{"__isSmartRef__":true,"id":11283},{"__isSmartRef__":true,"id":11285},{"__isSmartRef__":true,"id":11674},{"__isSmartRef__":true,"id":11676},{"__isSmartRef__":true,"id":11678},{"__isSmartRef__":true,"id":11680},{"__isSmartRef__":true,"id":11269},{"__isSmartRef__":true,"id":11724},{"__isSmartRef__":true,"id":11726},{"__isSmartRef__":true,"id":11728}],"oldTransform":{"__isSmartRef__":true,"id":11730},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"11271":{"submorphs":[],"scripts":[],"id":"9FD2C418-1D72-490C-8498-106C00905F3B","shape":{"__isSmartRef__":true,"id":11272},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":180.8018403394826,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":19,"name":"NameLabel2","partsBinMetaInfo":{"__isSmartRef__":true,"id":11273},"textChunks":[{"__isSmartRef__":true,"id":11275}],"charsReplaced":"A1","lastFindLoc":2,"prevScroll":[0,0],"attributeConnections":[{"__isSmartRef__":true,"id":11277},{"__isSmartRef__":true,"id":11278},{"__isSmartRef__":true,"id":11270},{"__isSmartRef__":true,"id":11279},{"__isSmartRef__":true,"id":11281},{"__isSmartRef__":true,"id":11283},{"__isSmartRef__":true,"id":11285}],"doNotSerialize":["$$owner","$$savedTextString","$$_Position","$$_Scale","$$_Rotation"],"doNotCopyProperties":["$$owner","$$savedTextString","$$_Position","$$_Scale","$$_Rotation"],"isInputLine":true,"savedTextString":"A","eventHandler":{"__isSmartRef__":true,"id":11287},"derivationIds":[7027,"331C6367-0699-4BD6-9916-ABA82517453B","BEAA7850-FEFB-4AFD-9E06-730FF35D99A4","559B0B8A-5C01-4133-88B2-0D08385E23F6","BE195383-D309-4B6E-A6B0-79A6112B4011","E323F75A-232F-4712-9A03-20C8FD574C9A","E6E38336-AA2D-4F75-80C1-B1617DD8544E","DAFCD826-DF9B-4DEF-B4D7-59AAED8D199D","3999CB16-D9E3-4D28-A617-9B093624E8AC","24C6A462-5AF8-4580-9777-8F5696841AF0","38DF0DD5-01B1-4481-B32C-B1595F8042DF","6D969508-F1F5-4E9D-A211-8F66FCA4DA80"],"_WhiteSpaceHandling":"pre-wrap","_ClipMode":"visible","moved":true,"isBeingDragged":false,"_WordBreak":"break-all","magnets":[{"__isSmartRef__":true,"id":11288},{"__isSmartRef__":true,"id":11289},{"__isSmartRef__":true,"id":11290},{"__isSmartRef__":true,"id":11291},{"__isSmartRef__":true,"id":11292},{"__isSmartRef__":true,"id":11293},{"__isSmartRef__":true,"id":11294},{"__isSmartRef__":true,"id":11295}],"_PreviousBorderWidth":1,"owner":{"__isSmartRef__":true,"id":11296},"oldOwner":{"__isSmartRef__":true,"id":11296},"_Rotation":0,"_Scale":0.9999999999999997,"__serializedExpressions__":["_Position","textColor","distanceToDragEvent","_TextColor"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":11716},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(34.8,36.8)","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(31.1,-9.9)","_TextColor":"Color.rgb(255,143,0)"},"11272":{"fill":null,"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(42.8,29.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"11273":{"migrationLevel":2,"comment":"Label that shows the name of a morph. Updates automatically.","partName":"NameLabel","lastModifiedDate":{"__isSmartRef__":true,"id":11274},"revisionOnLoad":140039,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"11274":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (CEST)"},"11275":{"style":{"__isSmartRef__":true,"id":11276},"chunkOwner":{"__isSmartRef__":true,"id":11271},"_id":"_1368","storedString":"A1","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"11276":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"11277":{"sourceObj":{"__isSmartRef__":true,"id":11271},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":11271},"targetMethodName":"updateLabel","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11278":{"sourceObj":{"__isSmartRef__":true,"id":11271},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":11271},"targetMethodName":"renameOwner","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11279":{"sourceObj":{"__isSmartRef__":true,"id":11271},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":11270},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":11280},"dependedBy":{"__isSmartRef__":true,"id":11270},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11280":{"source":{"__isSmartRef__":true,"id":11271},"target":{"__isSmartRef__":true,"id":11270}},"11281":{"sourceObj":{"__isSmartRef__":true,"id":11271},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":11270},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":11282},"dependedBy":{"__isSmartRef__":true,"id":11270},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11282":{"source":{"__isSmartRef__":true,"id":11271},"target":{"__isSmartRef__":true,"id":11270}},"11283":{"sourceObj":{"__isSmartRef__":true,"id":11271},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":11270},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":11284},"dependedBy":{"__isSmartRef__":true,"id":11270},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11284":{"source":{"__isSmartRef__":true,"id":11271},"target":{"__isSmartRef__":true,"id":11270}},"11285":{"sourceObj":{"__isSmartRef__":true,"id":11271},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":11270},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":11286},"dependedBy":{"__isSmartRef__":true,"id":11270},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11286":{"source":{"__isSmartRef__":true,"id":11271},"target":{"__isSmartRef__":true,"id":11270}},"11287":{"morph":{"__isSmartRef__":true,"id":11271},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"11288":{"morph":{"__isSmartRef__":true,"id":11271},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(771.7,3476.8)"},"11289":{"morph":{"__isSmartRef__":true,"id":11271},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(789.7,3488.3)"},"11290":{"morph":{"__isSmartRef__":true,"id":11271},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(807.7,3499.9)"},"11291":{"morph":{"__isSmartRef__":true,"id":11271},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(799.9,3512.1)"},"11292":{"morph":{"__isSmartRef__":true,"id":11271},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(792.1,3524.3)"},"11293":{"morph":{"__isSmartRef__":true,"id":11271},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(774.0,3512.8)"},"11294":{"morph":{"__isSmartRef__":true,"id":11271},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(756.0,3501.2)"},"11295":{"morph":{"__isSmartRef__":true,"id":11271},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(763.9,3489.0)"},"11296":{"submorphs":[{"__isSmartRef__":true,"id":11271}],"scripts":[],"id":"B7BCB1F7-3EB6-4C46-A584-33D51F84520F","shape":{"__isSmartRef__":true,"id":11297},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"A1","partsBinMetaInfo":{"__isSmartRef__":true,"id":11298},"eventHandler":{"__isSmartRef__":true,"id":11316},"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","BBAFB862-93AE-4F89-BCFF-9F1C67B7FE4C","7EC17E78-593A-4CC8-B7E3-859BCBBFE785","FDB06D4A-9F4E-4B8C-A67C-671A9583EFE8","1C80FDE1-05C0-4148-9AD8-33C88667084C","5059E383-6BE3-4AD3-A9C4-89DA9D8D5E99","5B810AFE-E692-4EB4-A695-ABB4A95CEA39","BFFEF617-9B97-45D4-A541-8E33A6A17485","A10BBA48-4AD1-425A-AC7B-2F5515CE56F5","319DCFA5-FBA0-4E93-825A-584A580A412F","1A7DC4D8-6C49-4243-8B1D-04CED44FD759","37281932-6BFC-4796-9330-CDFA7FB46F54"],"partTests":{"__isSmartRef__":true,"id":11317},"_ClipMode":"visible","moved":true,"isBeingDragged":false,"magnets":[{"__isSmartRef__":true,"id":11322},{"__isSmartRef__":true,"id":11323},{"__isSmartRef__":true,"id":11324},{"__isSmartRef__":true,"id":11325},{"__isSmartRef__":true,"id":11646},{"__isSmartRef__":true,"id":11647},{"__isSmartRef__":true,"id":11648},{"__isSmartRef__":true,"id":11649}],"attributeConnections":[{"__isSmartRef__":true,"id":11650},{"__isSmartRef__":true,"id":11674},{"__isSmartRef__":true,"id":11676},{"__isSmartRef__":true,"id":11678},{"__isSmartRef__":true,"id":11680},{"__isSmartRef__":true,"id":11682},{"__isSmartRef__":true,"id":11684},{"__isSmartRef__":true,"id":11686},{"__isSmartRef__":true,"id":11688},{"__isSmartRef__":true,"id":11690}],"doNotSerialize":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"doNotCopyProperties":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"isCopyMorphRef":true,"morphRefId":1,"prevScroll":[0,0],"_Scale":0.9999999999999996,"_Rotation":0.5699219218563105,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":11702},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","distanceToDragEvent":"lively.pt(35.0,-16.3)","_Position":"lively.pt(725.3,71.4)"},"11297":{"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(89.0,80.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgba(204,204,204,0.5)","_Padding":"lively.rect(0,0,0,0)"},"11298":{"partsSpaceName":"PartsBin/Basic","comment":"A simple box morph. A really orange one. Its amazing what you can build out of simple boxes.... Who needs stars when you got orange rectangles!","migrationLevel":4,"partName":"Rectangle","changes":[{"__isSmartRef__":true,"id":11299},{"__isSmartRef__":true,"id":11301},{"__isSmartRef__":true,"id":11303},{"__isSmartRef__":true,"id":11305},{"__isSmartRef__":true,"id":11307},{"__isSmartRef__":true,"id":11309},{"__isSmartRef__":true,"id":11311},{"__isSmartRef__":true,"id":11313}],"lastModifiedDate":{"__isSmartRef__":true,"id":11315},"revisionOnLoad":184624,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"11299":{"date":{"__isSmartRef__":true,"id":11300},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"11300":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"11301":{"date":{"__isSmartRef__":true,"id":11302},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"11302":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"11303":{"date":{"__isSmartRef__":true,"id":11304},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"11304":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"11305":{"date":{"__isSmartRef__":true,"id":11306},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"11306":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"11307":{"date":{"__isSmartRef__":true,"id":11308},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"11308":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"11309":{"date":{"__isSmartRef__":true,"id":11310},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"11310":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"11311":{"date":{"__isSmartRef__":true,"id":11312},"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8"},"11312":{"isSerializedDate":true,"string":"Mon Jun 18 2012 19:35:08 GMT+0200 (CEST)"},"11313":{"date":{"__isSmartRef__":true,"id":11314},"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205"},"11314":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:35:51 GMT+0100 (CET)"},"11315":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:33:25 GMT+0100 (CET)"},"11316":{"morph":{"__isSmartRef__":true,"id":11296},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"11317":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":11318}},"11318":{"test01IsMorph":{"__isSmartRef__":true,"id":11319}},"11319":{"varMapping":{"__isSmartRef__":true,"id":11320},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":11321},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11320":{"this":{"__isSmartRef__":true,"id":11317}},"11321":{},"11322":{"morph":{"__isSmartRef__":true,"id":11296},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(762.2,3427.0)"},"11323":{"morph":{"__isSmartRef__":true,"id":11296},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(799.7,3451.1)"},"11324":{"morph":{"__isSmartRef__":true,"id":11296},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(837.2,3475.1)"},"11325":{"morph":{"__isSmartRef__":true,"id":11296},"connectedControlPoints":[{"__isSmartRef__":true,"id":11326}],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(815.6,3508.7)"},"11326":{"morph":{"__isSmartRef__":true,"id":11327},"index":0,"connectedMagnet":{"__isSmartRef__":true,"id":11325},"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"11327":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":11328},"id":"E083C82B-2BC4-42CB-B3A2-773909175FCB","eventHandler":{"__isSmartRef__":true,"id":11331},"__layered_droppingEnabled__":true,"halosEnabled":true,"isBeingDragged":false,"controlPoints":[{"__isSmartRef__":true,"id":11326},{"__isSmartRef__":true,"id":11332}],"showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":11333},"name":"Line4","derivationIds":[731,"5E6BD741-9C99-47B9-95C1-7A028178DB17","A8D5C37A-F23F-47FE-8DE2-211CE4484A4F","F722069B-8602-4E8D-BE3F-92A1E0C0EF28","D5ED19F9-968E-4C7E-9936-69F2735A813F","A9E370BC-F208-425C-BFFC-F8D6BB52E11F","4E431641-D056-46CB-B2A8-6626382EF423"],"_ClipMode":"visible","controlPointsHalos":[],"prevScroll":[0,0],"grabbingEnabled":false,"moved":true,"#startLetters":"controlPoints[0]","fromMorph":{"__isSmartRef__":true,"id":11337},"update":{"__isSmartRef__":true,"id":11547},"isCopyMorphRef":true,"morphRefId":2,"selectedMorph":{"__isSmartRef__":true,"id":11337},"selectedMorphHighlights":[],"_Scale":1,"_Rotation":0,"owner":null,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":11549},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","distanceToDragEvent":"lively.pt(295.7,-20.8)","_Position":"lively.pt(376.1,57.6)"},"11328":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":11329},{"__isSmartRef__":true,"id":11330}],"_ClipMode":"visible","_BorderWidth":3.1119999999999997,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Padding","_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(50.5,3.2)","_Extent":"lively.pt(114.5,3494.5)","_BorderColor":"Color.rgb(161,161,161)"},"11329":{"isAbsolute":true,"x":0,"y":0,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"11330":{"isAbsolute":true,"x":52.46197348862387,"y":5.223542983087555,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"11331":{"morph":{"__isSmartRef__":true,"id":11327},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"11332":{"morph":{"__isSmartRef__":true,"id":11327},"index":1,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"11333":{"requiredModules":[],"migrationLevel":4,"partsSpaceName":"PartsBin/Jens/","comment":"a line","partName":"Connector","lastModifiedDate":{"__isSmartRef__":true,"id":11334},"revisionOnLoad":186528,"changes":[{"__isSmartRef__":true,"id":11335}],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"11334":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:18 GMT+0100 (CET)"},"11335":{"date":{"__isSmartRef__":true,"id":11336},"author":"jenslincke","message":"no comment","id":"28165CED-C8C5-4B8E-9655-645E3F5099BB"},"11336":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:42 GMT+0100 (CET)"},"11337":{"submorphs":[{"__isSmartRef__":true,"id":11338}],"scripts":[],"id":"7D787261-FDA4-4DCD-ACA3-699C8F2DB8DC","shape":{"__isSmartRef__":true,"id":11362},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"A","partsBinMetaInfo":{"__isSmartRef__":true,"id":11363},"eventHandler":{"__isSmartRef__":true,"id":11381},"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","BBAFB862-93AE-4F89-BCFF-9F1C67B7FE4C","7EC17E78-593A-4CC8-B7E3-859BCBBFE785","FDB06D4A-9F4E-4B8C-A67C-671A9583EFE8","1C80FDE1-05C0-4148-9AD8-33C88667084C","5059E383-6BE3-4AD3-A9C4-89DA9D8D5E99","5B810AFE-E692-4EB4-A695-ABB4A95CEA39","BFFEF617-9B97-45D4-A541-8E33A6A17485","A10BBA48-4AD1-425A-AC7B-2F5515CE56F5"],"partTests":{"__isSmartRef__":true,"id":11382},"_ClipMode":"visible","moved":true,"isBeingDragged":false,"magnets":[{"__isSmartRef__":true,"id":11387},{"__isSmartRef__":true,"id":11388},{"__isSmartRef__":true,"id":11389},{"__isSmartRef__":true,"id":11390},{"__isSmartRef__":true,"id":11391},{"__isSmartRef__":true,"id":11392},{"__isSmartRef__":true,"id":11393},{"__isSmartRef__":true,"id":11394}],"attributeConnections":[{"__isSmartRef__":true,"id":11395},{"__isSmartRef__":true,"id":11397},{"__isSmartRef__":true,"id":11399},{"__isSmartRef__":true,"id":11401},{"__isSmartRef__":true,"id":11403},{"__isSmartRef__":true,"id":11405},{"__isSmartRef__":true,"id":11409},{"__isSmartRef__":true,"id":11523},{"__isSmartRef__":true,"id":11525},{"__isSmartRef__":true,"id":11527},{"__isSmartRef__":true,"id":11529}],"doNotSerialize":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"doNotCopyProperties":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"isCopyMorphRef":true,"morphRefId":1,"prevScroll":[0,0],"_Scale":0.9999999999999998,"_Rotation":-0.3632069088060458,"owner":null,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":11533},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","distanceToDragEvent":"lively.pt(89.3,-51.8)","_Position":"lively.pt(691.6,129.6)"},"11338":{"submorphs":[],"scripts":[],"id":"4BDF3799-4F08-4112-BD4C-91BAB858A860","shape":{"__isSmartRef__":true,"id":11339},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":180.8018403394826,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":19,"name":"NameLabel2","partsBinMetaInfo":{"__isSmartRef__":true,"id":11340},"textChunks":[{"__isSmartRef__":true,"id":11342}],"charsReplaced":"C1","lastFindLoc":2,"prevScroll":[0,0],"attributeConnections":[{"__isSmartRef__":true,"id":11344},{"__isSmartRef__":true,"id":11345}],"doNotSerialize":["$$owner","$$savedTextString"],"doNotCopyProperties":["$$owner","$$savedTextString"],"isInputLine":true,"savedTextString":"A","eventHandler":{"__isSmartRef__":true,"id":11346},"derivationIds":[7027,"331C6367-0699-4BD6-9916-ABA82517453B","BEAA7850-FEFB-4AFD-9E06-730FF35D99A4","559B0B8A-5C01-4133-88B2-0D08385E23F6","BE195383-D309-4B6E-A6B0-79A6112B4011","E323F75A-232F-4712-9A03-20C8FD574C9A","E6E38336-AA2D-4F75-80C1-B1617DD8544E","DAFCD826-DF9B-4DEF-B4D7-59AAED8D199D","3999CB16-D9E3-4D28-A617-9B093624E8AC"],"_WhiteSpaceHandling":"pre-wrap","_ClipMode":"visible","moved":true,"isBeingDragged":false,"_WordBreak":"break-all","magnets":[{"__isSmartRef__":true,"id":11347},{"__isSmartRef__":true,"id":11348},{"__isSmartRef__":true,"id":11349},{"__isSmartRef__":true,"id":11350},{"__isSmartRef__":true,"id":11351},{"__isSmartRef__":true,"id":11352},{"__isSmartRef__":true,"id":11353},{"__isSmartRef__":true,"id":11354}],"_PreviousBorderWidth":1,"owner":{"__isSmartRef__":true,"id":11337},"oldOwner":{"__isSmartRef__":true,"id":11337},"priorSelectionRange":[1,1],"_Rotation":0,"_Scale":0.9999999999999997,"__serializedExpressions__":["textColor","distanceToDragEvent","_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":11355},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(31.1,-9.9)","_TextColor":"Color.rgb(255,143,0)","_Position":"lively.pt(34.8,36.8)"},"11339":{"fill":null,"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(42.8,29.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"11340":{"migrationLevel":2,"comment":"Label that shows the name of a morph. Updates automatically.","partName":"NameLabel","lastModifiedDate":{"__isSmartRef__":true,"id":11341},"revisionOnLoad":140039,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"11341":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (CEST)"},"11342":{"style":{"__isSmartRef__":true,"id":11343},"chunkOwner":{"__isSmartRef__":true,"id":11338},"_id":"_22384","storedString":"A","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"11343":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"11344":{"sourceObj":{"__isSmartRef__":true,"id":11338},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":11338},"targetMethodName":"updateLabel","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11345":{"sourceObj":{"__isSmartRef__":true,"id":11338},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":11338},"targetMethodName":"renameOwner","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11346":{"morph":{"__isSmartRef__":true,"id":11338},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"11347":{"morph":{"__isSmartRef__":true,"id":11338},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(726.1,3497.3)"},"11348":{"morph":{"__isSmartRef__":true,"id":11338},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(746.1,3489.7)"},"11349":{"morph":{"__isSmartRef__":true,"id":11338},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(766.1,3482.1)"},"11350":{"morph":{"__isSmartRef__":true,"id":11338},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(771.3,3495.6)"},"11351":{"morph":{"__isSmartRef__":true,"id":11338},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(776.4,3509.2)"},"11352":{"morph":{"__isSmartRef__":true,"id":11338},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(756.4,3516.8)"},"11353":{"morph":{"__isSmartRef__":true,"id":11338},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(736.4,3524.4)"},"11354":{"morph":{"__isSmartRef__":true,"id":11338},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(731.2,3510.8)"},"11355":{"updateLabel":{"__isSmartRef__":true,"id":11356},"renameOwner":{"__isSmartRef__":true,"id":11359}},"11356":{"varMapping":{"__isSmartRef__":true,"id":11357},"source":"function updateLabel() {\n\t// observe name changes in owner\n\tif (this.owner !== this.oldOwner) {\n\t\tif (this.oldOwner)\n\t\t\tdisconnect(this.oldOwner, 'name', this, 'updateLabel')\n\t\tif (this.owner)\n\t\t\tconnect(this.owner, 'name', this, 'updateLabel')\n\t\tthis.oldOwner = this.owner\n\t}\n\tvar name = (this.owner ? this.owner.name : \"no owner\")\n\tif (this.textString != name)\n\tthis.setTextString(name)\n}","funcProperties":{"__isSmartRef__":true,"id":11358},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11357":{"this":{"__isSmartRef__":true,"id":11338}},"11358":{},"11359":{"varMapping":{"__isSmartRef__":true,"id":11360},"source":"function renameOwner(name) {\n\tif (this.owner && this.owner.name != name) {\n\t\talertOK(\"renamed \" + this.owner + \" to \" + name)\n\t\tthis.owner.setName(name);\n\t}\n}","funcProperties":{"__isSmartRef__":true,"id":11361},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11360":{"this":{"__isSmartRef__":true,"id":11338}},"11361":{},"11362":{"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(116.7,82.3)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgba(204,204,204,0.5)","_Padding":"lively.rect(0,0,0,0)"},"11363":{"partsSpaceName":"PartsBin/Basic","comment":"A simple box morph. A really orange one. Its amazing what you can build out of simple boxes.... Who needs stars when you got orange rectangles!","migrationLevel":4,"partName":"Rectangle","changes":[{"__isSmartRef__":true,"id":11364},{"__isSmartRef__":true,"id":11366},{"__isSmartRef__":true,"id":11368},{"__isSmartRef__":true,"id":11370},{"__isSmartRef__":true,"id":11372},{"__isSmartRef__":true,"id":11374},{"__isSmartRef__":true,"id":11376},{"__isSmartRef__":true,"id":11378}],"lastModifiedDate":{"__isSmartRef__":true,"id":11380},"revisionOnLoad":184624,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"11364":{"date":{"__isSmartRef__":true,"id":11365},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"11365":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"11366":{"date":{"__isSmartRef__":true,"id":11367},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"11367":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"11368":{"date":{"__isSmartRef__":true,"id":11369},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"11369":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"11370":{"date":{"__isSmartRef__":true,"id":11371},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"11371":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"11372":{"date":{"__isSmartRef__":true,"id":11373},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"11373":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"11374":{"date":{"__isSmartRef__":true,"id":11375},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"11375":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"11376":{"date":{"__isSmartRef__":true,"id":11377},"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8"},"11377":{"isSerializedDate":true,"string":"Mon Jun 18 2012 19:35:08 GMT+0200 (CEST)"},"11378":{"date":{"__isSmartRef__":true,"id":11379},"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205"},"11379":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:35:51 GMT+0100 (CET)"},"11380":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:33:25 GMT+0100 (CET)"},"11381":{"morph":{"__isSmartRef__":true,"id":11337},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"11382":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":11383}},"11383":{"test01IsMorph":{"__isSmartRef__":true,"id":11384}},"11384":{"varMapping":{"__isSmartRef__":true,"id":11385},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":11386},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11385":{"this":{"__isSmartRef__":true,"id":11382}},"11386":{},"11387":{"morph":{"__isSmartRef__":true,"id":11337},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(680.5,3475.2)"},"11388":{"morph":{"__isSmartRef__":true,"id":11337},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(735.0,3454.5)"},"11389":{"morph":{"__isSmartRef__":true,"id":11337},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(789.6,3433.8)"},"11390":{"morph":{"__isSmartRef__":true,"id":11337},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(804.2,3472.2)"},"11391":{"morph":{"__isSmartRef__":true,"id":11337},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(818.8,3510.7)"},"11392":{"morph":{"__isSmartRef__":true,"id":11337},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(764.3,3531.4)"},"11393":{"morph":{"__isSmartRef__":true,"id":11337},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(709.7,3552.2)"},"11394":{"morph":{"__isSmartRef__":true,"id":11337},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(695.1,3513.7)"},"11395":{"sourceObj":{"__isSmartRef__":true,"id":11337},"sourceAttrName":"name","targetObj":{"__isSmartRef__":true,"id":11338},"targetMethodName":"updateLabel","varMapping":{"__isSmartRef__":true,"id":11396},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11396":{"source":{"__isSmartRef__":true,"id":11337},"target":{"__isSmartRef__":true,"id":11338}},"11397":{"sourceObj":{"__isSmartRef__":true,"id":11337},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":11327},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":11398},"dependendConnections":[{"__isSmartRef__":true,"id":11399},{"__isSmartRef__":true,"id":11401},{"__isSmartRef__":true,"id":11403},{"__isSmartRef__":true,"id":11405}],"oldTransform":{"__isSmartRef__":true,"id":11407},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"11398":{"source":{"__isSmartRef__":true,"id":11337},"target":{"__isSmartRef__":true,"id":11327}},"11399":{"sourceObj":{"__isSmartRef__":true,"id":11337},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":11397},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":11400},"dependedBy":{"__isSmartRef__":true,"id":11397},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11400":{"source":{"__isSmartRef__":true,"id":11337},"target":{"__isSmartRef__":true,"id":11397}},"11401":{"sourceObj":{"__isSmartRef__":true,"id":11337},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":11397},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":11402},"dependedBy":{"__isSmartRef__":true,"id":11397},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11402":{"source":{"__isSmartRef__":true,"id":11337},"target":{"__isSmartRef__":true,"id":11397}},"11403":{"sourceObj":{"__isSmartRef__":true,"id":11337},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":11397},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":11404},"dependedBy":{"__isSmartRef__":true,"id":11397},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11404":{"source":{"__isSmartRef__":true,"id":11337},"target":{"__isSmartRef__":true,"id":11397}},"11405":{"sourceObj":{"__isSmartRef__":true,"id":11337},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":11397},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":11406},"dependedBy":{"__isSmartRef__":true,"id":11397},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11406":{"source":{"__isSmartRef__":true,"id":11337},"target":{"__isSmartRef__":true,"id":11397}},"11407":{"d":0.9347623017725522,"a":0.9347623017725522,"f":3485.245045045044,"e":728.5390390390387,"c":0.3552737524570028,"b":-0.3552737524570028,"matrix_":{"__isSmartRef__":true,"id":11408},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"11408":{"a":0.9347623017725522,"b":-0.3552737524570028,"c":0.3552737524570028,"d":0.9347623017725522,"e":728.5390390390387,"f":3485.245045045044,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"11409":{"sourceObj":{"__isSmartRef__":true,"id":11337},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":11410},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":11522},"dependendConnections":[{"__isSmartRef__":true,"id":11523},{"__isSmartRef__":true,"id":11525},{"__isSmartRef__":true,"id":11527},{"__isSmartRef__":true,"id":11529}],"oldTransform":{"__isSmartRef__":true,"id":11531},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"11410":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":11411},"id":"4809CC50-2A92-4A4F-9D0D-829B6BA12A0B","eventHandler":{"__isSmartRef__":true,"id":11414},"__layered_droppingEnabled__":true,"halosEnabled":true,"isBeingDragged":false,"controlPoints":[{"__isSmartRef__":true,"id":11415},{"__isSmartRef__":true,"id":11416}],"showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":11417},"name":"Connector1","derivationIds":[731,"5E6BD741-9C99-47B9-95C1-7A028178DB17","A8D5C37A-F23F-47FE-8DE2-211CE4484A4F","F722069B-8602-4E8D-BE3F-92A1E0C0EF28","D5ED19F9-968E-4C7E-9936-69F2735A813F","A9E370BC-F208-425C-BFFC-F8D6BB52E11F","4E431641-D056-46CB-B2A8-6626382EF423"],"_ClipMode":"visible","controlPointsHalos":[],"prevScroll":[0,0],"grabbingEnabled":false,"moved":true,"#startLetters":"controlPoints[0]","fromMorph":{"__isSmartRef__":true,"id":11337},"toMorph":{"__isSmartRef__":true,"id":3202},"update":{"__isSmartRef__":true,"id":11423},"isCopyMorphRef":true,"morphRefId":2,"selectedMorph":{"__isSmartRef__":true,"id":3202},"selectedMorphHighlights":[],"owner":null,"_Rotation":0,"_Scale":1,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":11425},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","distanceToDragEvent":"lively.pt(295.7,-20.8)","_Position":"lively.pt(10527.5,52997.9)"},"11411":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":11412},{"__isSmartRef__":true,"id":11413}],"_ClipMode":"visible","_BorderWidth":3.1119999999999997,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Padding","_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(-75.9,-6.9)","_Extent":"lively.pt(151.7,13.9)","_BorderColor":"Color.rgb(161,161,161)"},"11412":{"isAbsolute":true,"x":74.86198803712648,"y":-4.949983532278566,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"11413":{"isAbsolute":true,"x":-73.86198803712614,"y":5.949983532282204,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"11414":{"morph":{"__isSmartRef__":true,"id":11410},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"11415":{"morph":{"__isSmartRef__":true,"id":11410},"index":0,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"11416":{"morph":{"__isSmartRef__":true,"id":11410},"index":1,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"11417":{"requiredModules":[],"migrationLevel":4,"partsSpaceName":"PartsBin/Jens/","comment":"Yes, I think I got it again: Powerful and nice connectors.\nThis time 100 % Part only!","partName":"Connector","lastModifiedDate":{"__isSmartRef__":true,"id":11418},"revisionOnLoad":186829,"changes":[{"__isSmartRef__":true,"id":11419},{"__isSmartRef__":true,"id":11421}],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"11418":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:04:50 GMT+0100 (CET)"},"11419":{"date":{"__isSmartRef__":true,"id":11420},"author":"jenslincke","message":"no comment","id":"28165CED-C8C5-4B8E-9655-645E3F5099BB"},"11420":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:42 GMT+0100 (CET)"},"11421":{"date":{"__isSmartRef__":true,"id":11422},"author":"jenslincke","message":"no comment","id":"117C964B-9768-48F2-8EC8-D4328478198F"},"11422":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:05:07 GMT+0100 (CET)"},"11423":{"d":1,"a":1,"f":906.1,"e":107.8,"c":0,"b":0,"matrix_":{"__isSmartRef__":true,"id":11424},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"11424":{"a":1,"b":0,"c":0,"d":1,"e":107.8,"f":906.1,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"11425":{"connect":{"__isSmartRef__":true,"id":11426},"updatePosition":{"__isSmartRef__":true,"id":11430},"updateControlPoint":{"__isSmartRef__":true,"id":11434},"disconnectMorph":{"__isSmartRef__":true,"id":11438},"connectMorph":{"__isSmartRef__":true,"id":11442},"onMouseOver":{"__isSmartRef__":true,"id":11446},"onMouseOut":{"__isSmartRef__":true,"id":11450},"makeHandle":{"__isSmartRef__":true,"id":11458},"showFromHandle":{"__isSmartRef__":true,"id":11462},"showToHandle":{"__isSmartRef__":true,"id":11466},"reset":{"__isSmartRef__":true,"id":11470},"onDragInHandle":{"__isSmartRef__":true,"id":11474},"onDragStartInHandle":{"__isSmartRef__":true,"id":11478},"onDragEndInHandle":{"__isSmartRef__":true,"id":11482},"connectFrom":{"__isSmartRef__":true,"id":11486},"connectTo":{"__isSmartRef__":true,"id":11490},"hideToHandle":{"__isSmartRef__":true,"id":11494},"hideFromHandle":{"__isSmartRef__":true,"id":11498},"updateIntersection":{"__isSmartRef__":true,"id":11502},"lineIntersect":{"__isSmartRef__":true,"id":11506},"intersectMorphLinePoints":{"__isSmartRef__":true,"id":11510},"intersectMorph":{"__isSmartRef__":true,"id":11514},"globalShapePathFromMorph":{"__isSmartRef__":true,"id":11518}},"11426":{"varMapping":{"__isSmartRef__":true,"id":11427},"source":"function connect(morphA, morphB) {\n this.connectFrom(morphA)\n this.connectTo(morphB)\n this.updatePosition()\n}","funcProperties":{"__isSmartRef__":true,"id":11428},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11427":{"this":{"__isSmartRef__":true,"id":11410}},"11428":{"timestamp":{"__isSmartRef__":true,"id":11429},"user":"jenslincke","tags":[]},"11429":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:50:49 GMT+0100 (CET)"},"11430":{"varMapping":{"__isSmartRef__":true,"id":11431},"source":"function updatePosition() {\n this.updateControlPoint(this.controlPoints[0], this.fromMorph)\n this.updateControlPoint(this.controlPoints[1], this.toMorph)\n this.updateIntersection(this.fromMorph, this.controlPoints[0])\n this.updateIntersection(this.toMorph, this.controlPoints[1])\n\n this.adjustOrigin(this.bounds().extent().scaleBy(0.5))\n}","funcProperties":{"__isSmartRef__":true,"id":11432},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11431":{"this":{"__isSmartRef__":true,"id":11410}},"11432":{"timestamp":{"__isSmartRef__":true,"id":11433},"user":"jenslincke","tags":[]},"11433":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:06:20 GMT+0100 (CET)"},"11434":{"varMapping":{"__isSmartRef__":true,"id":11435},"source":"function updateControlPoint(cp, morph) {\n if (!cp || !morph) return;\n cp.setGlobalPos(morph.worldPoint(morph.shape.bounds().center()))\n}","funcProperties":{"__isSmartRef__":true,"id":11436},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11435":{"this":{"__isSmartRef__":true,"id":11410}},"11436":{"timestamp":{"__isSmartRef__":true,"id":11437},"user":"jenslincke","tags":[]},"11437":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:45:56 GMT+0100 (CET)"},"11438":{"varMapping":{"__isSmartRef__":true,"id":11439},"source":"function disconnectMorph(morph) {\n if (!morph) return;\n lively.bindings.disconnect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":11440},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11439":{"this":{"__isSmartRef__":true,"id":11410}},"11440":{"timestamp":{"__isSmartRef__":true,"id":11441},"user":"jenslincke","tags":[]},"11441":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:19:18 GMT+0100 (CET)"},"11442":{"varMapping":{"__isSmartRef__":true,"id":11443},"source":"function connectMorph(morph) {\n if (morph)\n lively.bindings.connect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":11444},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11443":{"this":{"__isSmartRef__":true,"id":11410}},"11444":{"timestamp":{"__isSmartRef__":true,"id":11445},"user":"jenslincke","tags":[]},"11445":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:52:12 GMT+0100 (CET)"},"11446":{"varMapping":{"__isSmartRef__":true,"id":11447},"source":"function onMouseOver(evt) {\n var p = evt.mousePoint.scaleBy(this.world().getScale())\n\n var cp1 = this.controlPoints[0].getGlobalPos();\n if (p.dist(cp1) < 20) {\n this.showFromHandle()\n } else {\n this.hideFromHandle()\n }\n var cp2 = this.controlPoints[1].getGlobalPos();\n if (p.dist(cp2) < 20) {\n this.showToHandle()\n } else {\n this.hideToHandle()\n }\n}","funcProperties":{"__isSmartRef__":true,"id":11448},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11447":{"this":{"__isSmartRef__":true,"id":11410}},"11448":{"timestamp":{"__isSmartRef__":true,"id":11449},"user":"jenslincke","tags":[]},"11449":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:23:03 GMT+0100 (CET)"},"11450":{"varMapping":{"__isSmartRef__":true,"id":11451},"source":"function onMouseOut(evt) {\n // this.hideFromHandle()\n // this.hideToHandle()\n}","funcProperties":{"__isSmartRef__":true,"id":11456},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11451":{"this":{"__isSmartRef__":true,"id":11410},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":11452}},"11452":{"$super":{"__isSmartRef__":true,"id":11453}},"11453":{"varMapping":{"__isSmartRef__":true,"id":11454},"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":11455},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11454":{"obj":{"__isSmartRef__":true,"id":11410},"name":"onMouseOut"},"11455":{},"11456":{"timestamp":{"__isSmartRef__":true,"id":11457},"user":"jenslincke","tags":[]},"11457":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:54:53 GMT+0100 (CET)"},"11458":{"varMapping":{"__isSmartRef__":true,"id":11459},"source":"function makeHandle() {\n var m = lively.morphic.Morph.makeRectangle(0,0,10,10);\n m.disableGrabbing()\n m.enableDragging()\n m.connector = this;\n // move real behavior to a place which is easier to develop\n // do not use bind, because we like late binding \n m.addScript(function onDragStart(evt) {\n this.connector.onDragStartInHandle(this, evt)\n })\n m.addScript(function onDrag(evt) {\n this.connector.onDragInHandle(this, evt)\n })\n m.addScript(function onDragEnd(evt) {\n this.connector.onDragEndInHandle(this, evt)\n })\n m.isEpiMorph = true;\n return m\n}","funcProperties":{"__isSmartRef__":true,"id":11460},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11459":{"this":{"__isSmartRef__":true,"id":11410}},"11460":{"timestamp":{"__isSmartRef__":true,"id":11461},"user":"jenslincke","tags":[]},"11461":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:08:29 GMT+0100 (CET)"},"11462":{"varMapping":{"__isSmartRef__":true,"id":11463},"source":"function showFromHandle() {\n if (!this.fromHandle) {\n this.fromHandle = this.makeHandle();\n this.fromHandle.setFill(Color.red)\n this.fromHandle.isFromHandle = true;\n }\n this.fromHandle.openInWorld();\n this.fromHandle.controlPoint = this.controlPoints[0];\n this.fromHandle.setPosition(this.controlPoints[0].getGlobalPos().subPt(pt(5,5)))\n return this.fromHandle\n}","funcProperties":{"__isSmartRef__":true,"id":11464},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11463":{"this":{"__isSmartRef__":true,"id":11410}},"11464":{"timestamp":{"__isSmartRef__":true,"id":11465},"user":"jenslincke","tags":[]},"11465":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:13:03 GMT+0100 (CET)"},"11466":{"varMapping":{"__isSmartRef__":true,"id":11467},"source":"function showToHandle() {\n if (!this.toHandle) {\n this.toHandle = this.makeHandle();\n this.toHandle.setFill(Color.red)\n this.toHandle.isToHandle = true;\n\n }\n this.toHandle.openInWorld();\n this.toHandle.controlPoint = this.controlPoints[1];\n this.toHandle.setPosition(this.controlPoints[1].getGlobalPos().subPt(pt(5,5)))\n return this.toHandle\n}","funcProperties":{"__isSmartRef__":true,"id":11468},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11467":{"this":{"__isSmartRef__":true,"id":11410}},"11468":{"timestamp":{"__isSmartRef__":true,"id":11469},"user":"jenslincke","tags":[]},"11469":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:20:25 GMT+0100 (CET)"},"11470":{"varMapping":{"__isSmartRef__":true,"id":11471},"source":"function reset() {\n if (this.fromHandle) {\n this.fromHandle.remove()\n delete this.fromHandle\n }\n if (this.toHandle) {\n this.toHandle.remove()\n delete this.toHandle\n }\n // this.controlPoints[1].setPos(pt(200,200))\n}","funcProperties":{"__isSmartRef__":true,"id":11472},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11471":{"this":{"__isSmartRef__":true,"id":11410}},"11472":{"timestamp":{"__isSmartRef__":true,"id":11473},"user":"jenslincke","tags":[]},"11473":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:15:00 GMT+0100 (CET)"},"11474":{"varMapping":{"__isSmartRef__":true,"id":11475},"source":"function onDragInHandle(handle, evt) {\n\n var pos = handle.getPositionInWorld();\n var delta = evt.hand.getPosition().subPt(pos);\n handle.moveBy(delta)\n pos = handle.getPositionInWorld();\n if (handle.controlPoint)\n handle.controlPoint.setGlobalPos(pos.addPt(pt(5,5)))\n var morphs = this.owner.morphsContainingPoint(pos)\n morphs = morphs.reject(function(ea) {\n return ea.isWorld || (ea === handle) || (ea === this) || \n (ea === this.owner)\n }, this)\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n this.selectedMorph = morphs.first();\n this.selectedMorphHighlights = show(this.selectedMorph)\n handle.startPos = evt.getPosition();\n}","funcProperties":{"__isSmartRef__":true,"id":11476},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11475":{"this":{"__isSmartRef__":true,"id":11410}},"11476":{"timestamp":{"__isSmartRef__":true,"id":11477},"user":"jenslincke","tags":[]},"11477":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:06:40 GMT+0100 (CET)"},"11478":{"varMapping":{"__isSmartRef__":true,"id":11479},"source":"function onDragStartInHandle(handle, evt) {\n handle.startPos = evt.getPosition()\n}","funcProperties":{"__isSmartRef__":true,"id":11480},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11479":{"this":{"__isSmartRef__":true,"id":11410}},"11480":{"timestamp":{"__isSmartRef__":true,"id":11481},"user":"jenslincke","tags":[]},"11481":{"isSerializedDate":true,"string":"Thu Dec 13 2012 15:51:13 GMT+0100 (CET)"},"11482":{"varMapping":{"__isSmartRef__":true,"id":11483},"source":"function onDragEndInHandle(handle, evt) {\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n \n if (handle.isFromHandle) this.connectFrom(this.selectedMorph)\n if (handle.isToHandle) this.connectTo(this.selectedMorph)\n handle.remove()\n}","funcProperties":{"__isSmartRef__":true,"id":11484},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11483":{"this":{"__isSmartRef__":true,"id":11410}},"11484":{"timestamp":{"__isSmartRef__":true,"id":11485},"user":"jenslincke","tags":[]},"11485":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:44:35 GMT+0100 (CET)"},"11486":{"varMapping":{"__isSmartRef__":true,"id":11487},"source":"function connectFrom(morph) {\n if (morph && morph === this.toMorph) return; // not allowed\n\n this.disconnectMorph(this.fromMorph)\n this.fromMorph = morph;\n this.connectMorph(this.fromMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":11488},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11487":{"this":{"__isSmartRef__":true,"id":11410}},"11488":{"timestamp":{"__isSmartRef__":true,"id":11489},"user":"jenslincke","tags":[]},"11489":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:02:22 GMT+0100 (CET)"},"11490":{"varMapping":{"__isSmartRef__":true,"id":11491},"source":"function connectTo(morph) {\n\n if (morph && morph === this.fromMorph) return; // not allowed\n\n this.disconnectMorph(this.toMorph)\n this.toMorph = morph;\n this.connectMorph(this.toMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":11492},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11491":{"this":{"__isSmartRef__":true,"id":11410}},"11492":{"timestamp":{"__isSmartRef__":true,"id":11493},"user":"jenslincke","tags":[]},"11493":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:02:30 GMT+0100 (CET)"},"11494":{"varMapping":{"__isSmartRef__":true,"id":11495},"source":"function hideToHandle() {\n if (this.toHandle) {\n this.toHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":11496},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11495":{"this":{"__isSmartRef__":true,"id":11410}},"11496":{"timestamp":{"__isSmartRef__":true,"id":11497},"user":"jenslincke","tags":[]},"11497":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:51:59 GMT+0100 (CET)"},"11498":{"varMapping":{"__isSmartRef__":true,"id":11499},"source":"function hideFromHandle() {\n if (this.fromHandle) {\n this.fromHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":11500},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11499":{"this":{"__isSmartRef__":true,"id":11410}},"11500":{"timestamp":{"__isSmartRef__":true,"id":11501},"user":"jenslincke","tags":[]},"11501":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:52:18 GMT+0100 (CET)"},"11502":{"varMapping":{"__isSmartRef__":true,"id":11503},"source":"function updateIntersection(morph, cp) {\n if (!morph) return;\n var intersection = this.intersectMorph(morph)[0];\n if (intersection) {\n cp.setGlobalPos(intersection);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":11504},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11503":{"this":{"__isSmartRef__":true,"id":11410}},"11504":{"timestamp":{"__isSmartRef__":true,"id":11505},"user":"jenslincke","tags":[]},"11505":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:32 GMT+0100 (CET)"},"11506":{"varMapping":{"__isSmartRef__":true,"id":11507},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":11508},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11507":{"this":{"__isSmartRef__":true,"id":11410}},"11508":{"timestamp":{"__isSmartRef__":true,"id":11509},"user":"jenslincke","tags":[]},"11509":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:47:12 GMT+0100 (CET)"},"11510":{"varMapping":{"__isSmartRef__":true,"id":11511},"source":"function intersectMorphLinePoints(morph, a1, a2) {\n var points = this.globalShapePathFromMorph(morph);\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":11512},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11511":{"this":{"__isSmartRef__":true,"id":11410}},"11512":{"timestamp":{"__isSmartRef__":true,"id":11513},"user":"jenslincke","tags":[]},"11513":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:21 GMT+0100 (CET)"},"11514":{"varMapping":{"__isSmartRef__":true,"id":11515},"source":"function intersectMorph(morph) {\n var line = this;\n return this.intersectMorphLinePoints(morph,\n line.controlPoints[0].getGlobalPos(), line.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":11516},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11515":{"this":{"__isSmartRef__":true,"id":11410}},"11516":{"timestamp":{"__isSmartRef__":true,"id":11517},"user":"jenslincke","tags":[]},"11517":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:47 GMT+0100 (CET)"},"11518":{"varMapping":{"__isSmartRef__":true,"id":11519},"source":"function globalShapePathFromMorph(morph) {\n var b = morph.shape.bounds();\n var p1 = morph.worldPoint(b.topLeft()),\n p2 = morph.worldPoint(b.topRight()),\n p3 = morph.worldPoint(b.bottomRight()),\n p4 = morph.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":11520},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11519":{"this":{"__isSmartRef__":true,"id":11410}},"11520":{"timestamp":{"__isSmartRef__":true,"id":11521},"user":"jenslincke","tags":[]},"11521":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:00 GMT+0100 (CET)"},"11522":{"source":{"__isSmartRef__":true,"id":11337},"target":{"__isSmartRef__":true,"id":11410}},"11523":{"sourceObj":{"__isSmartRef__":true,"id":11337},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":11409},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":11524},"dependedBy":{"__isSmartRef__":true,"id":11409},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11524":{"source":{"__isSmartRef__":true,"id":11337},"target":{"__isSmartRef__":true,"id":11409}},"11525":{"sourceObj":{"__isSmartRef__":true,"id":11337},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":11409},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":11526},"dependedBy":{"__isSmartRef__":true,"id":11409},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11526":{"source":{"__isSmartRef__":true,"id":11337},"target":{"__isSmartRef__":true,"id":11409}},"11527":{"sourceObj":{"__isSmartRef__":true,"id":11337},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":11409},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":11528},"dependedBy":{"__isSmartRef__":true,"id":11409},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11528":{"source":{"__isSmartRef__":true,"id":11337},"target":{"__isSmartRef__":true,"id":11409}},"11529":{"sourceObj":{"__isSmartRef__":true,"id":11337},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":11409},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":11530},"dependedBy":{"__isSmartRef__":true,"id":11409},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11530":{"source":{"__isSmartRef__":true,"id":11337},"target":{"__isSmartRef__":true,"id":11409}},"11531":{"d":0.9347623017725522,"a":0.9347623017725522,"f":3485.245045045044,"e":728.5390390390387,"c":0.3552737524570028,"b":-0.3552737524570028,"matrix_":{"__isSmartRef__":true,"id":11532},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"11532":{"a":0.9347623017725522,"b":-0.3552737524570028,"c":0.3552737524570028,"d":0.9347623017725522,"e":728.5390390390387,"f":3485.245045045044,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"11533":{"globalShapePath":{"__isSmartRef__":true,"id":11534},"lineIntersect":{"__isSmartRef__":true,"id":11537},"intersectLine":{"__isSmartRef__":true,"id":11541},"intersectLineMorph":{"__isSmartRef__":true,"id":11544}},"11534":{"varMapping":{"__isSmartRef__":true,"id":11535},"source":"function globalShapePath() {\n var b = this.shape.bounds();\n var p1 = this.worldPoint(b.topLeft()),\n p2 = this.worldPoint(b.topRight()),\n p3 = this.worldPoint(b.bottomRight()),\n p4 = this.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":11536},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11535":{"this":{"__isSmartRef__":true,"id":11337}},"11536":{},"11537":{"varMapping":{"__isSmartRef__":true,"id":11538},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":11539},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11538":{"this":{"__isSmartRef__":true,"id":11337}},"11539":{"timestamp":{"__isSmartRef__":true,"id":11540},"user":"jenslincke","tags":[]},"11540":{"isSerializedDate":true,"string":"Thu Dec 13 2012 13:42:55 GMT+0100 (CET)"},"11541":{"varMapping":{"__isSmartRef__":true,"id":11542},"source":"function intersectLine(a1, a2) {\n var points = this.globalShapePath();\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":11543},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11542":{"this":{"__isSmartRef__":true,"id":11337}},"11543":{},"11544":{"varMapping":{"__isSmartRef__":true,"id":11545},"source":"function intersectLineMorph(m) {\n return this.intersectLine(m.controlPoints[0].getGlobalPos(), m.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":11546},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11545":{"this":{"__isSmartRef__":true,"id":11337}},"11546":{},"11547":{"d":1,"a":1,"f":906.1,"e":107.8,"c":0,"b":0,"matrix_":{"__isSmartRef__":true,"id":11548},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"11548":{"a":1,"b":0,"c":0,"d":1,"e":107.8,"f":906.1,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"11549":{"connect":{"__isSmartRef__":true,"id":11550},"updatePosition":{"__isSmartRef__":true,"id":11554},"updateControlPoint":{"__isSmartRef__":true,"id":11558},"disconnectMorph":{"__isSmartRef__":true,"id":11562},"connectMorph":{"__isSmartRef__":true,"id":11566},"onMouseOver":{"__isSmartRef__":true,"id":11570},"onMouseOut":{"__isSmartRef__":true,"id":11574},"makeHandle":{"__isSmartRef__":true,"id":11582},"showFromHandle":{"__isSmartRef__":true,"id":11586},"showToHandle":{"__isSmartRef__":true,"id":11590},"reset":{"__isSmartRef__":true,"id":11594},"onDragInHandle":{"__isSmartRef__":true,"id":11598},"onDragStartInHandle":{"__isSmartRef__":true,"id":11602},"onDragEndInHandle":{"__isSmartRef__":true,"id":11606},"connectFrom":{"__isSmartRef__":true,"id":11610},"connectTo":{"__isSmartRef__":true,"id":11614},"hideToHandle":{"__isSmartRef__":true,"id":11618},"hideFromHandle":{"__isSmartRef__":true,"id":11622},"updateIntersection":{"__isSmartRef__":true,"id":11626},"lineIntersect":{"__isSmartRef__":true,"id":11630},"intersectMorphLinePoints":{"__isSmartRef__":true,"id":11634},"intersectMorph":{"__isSmartRef__":true,"id":11638},"globalShapePathFromMorph":{"__isSmartRef__":true,"id":11642}},"11550":{"varMapping":{"__isSmartRef__":true,"id":11551},"source":"function connect(morphA, morphB) {\n this.connectFrom(morphA)\n this.connectTo(morphB)\n this.updatePosition()\n}","funcProperties":{"__isSmartRef__":true,"id":11552},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11551":{"this":{"__isSmartRef__":true,"id":11327}},"11552":{"timestamp":{"__isSmartRef__":true,"id":11553},"user":"jenslincke","tags":[]},"11553":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:50:49 GMT+0100 (CET)"},"11554":{"varMapping":{"__isSmartRef__":true,"id":11555},"source":"function updatePosition() {\n this.updateControlPoint(this.controlPoints[0], this.fromMorph)\n this.updateControlPoint(this.controlPoints[1], this.toMorph)\n this.updateIntersection(this.fromMorph, this.controlPoints[0])\n this.updateIntersection(this.toMorph, this.controlPoints[1])\n\n if (this.controlPoints[0].getPos().equalPt(this.controlPoints[1].getPos()))\n this.controlPoints[1].setPos(this.controlPoints[1].getPos().addPt(pt(30,0)))\n\n this.adjustOrigin(this.bounds().extent().scaleBy(0.5))\n \n}","funcProperties":{"__isSmartRef__":true,"id":11556},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11555":{"this":{"__isSmartRef__":true,"id":11327}},"11556":{"timestamp":{"__isSmartRef__":true,"id":11557},"user":"jenslincke","tags":[]},"11557":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:59:26 GMT+0100 (CET)"},"11558":{"varMapping":{"__isSmartRef__":true,"id":11559},"source":"function updateControlPoint(cp, morph) {\n if (!cp || !morph) return;\n cp.setGlobalPos(morph.worldPoint(morph.shape.bounds().center()))\n}","funcProperties":{"__isSmartRef__":true,"id":11560},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11559":{"this":{"__isSmartRef__":true,"id":11327}},"11560":{"timestamp":{"__isSmartRef__":true,"id":11561},"user":"jenslincke","tags":[]},"11561":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:45:56 GMT+0100 (CET)"},"11562":{"varMapping":{"__isSmartRef__":true,"id":11563},"source":"function disconnectMorph(morph) {\n if (!morph) return;\n lively.bindings.disconnect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":11564},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11563":{"this":{"__isSmartRef__":true,"id":11327}},"11564":{"timestamp":{"__isSmartRef__":true,"id":11565},"user":"jenslincke","tags":[]},"11565":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:19:18 GMT+0100 (CET)"},"11566":{"varMapping":{"__isSmartRef__":true,"id":11567},"source":"function connectMorph(morph) {\n if (morph)\n lively.bindings.connect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":11568},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11567":{"this":{"__isSmartRef__":true,"id":11327}},"11568":{"timestamp":{"__isSmartRef__":true,"id":11569},"user":"jenslincke","tags":[]},"11569":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:52:12 GMT+0100 (CET)"},"11570":{"varMapping":{"__isSmartRef__":true,"id":11571},"source":"function onMouseOver(evt) {\n var p = evt.mousePoint.scaleBy(this.world().getScale())\n\n var cp1 = this.controlPoints[0].getGlobalPos();\n if (p.dist(cp1) < 20) {\n this.showFromHandle()\n } else {\n this.hideFromHandle()\n }\n var cp2 = this.controlPoints[1].getGlobalPos();\n if (p.dist(cp2) < 20) {\n this.showToHandle()\n } else {\n this.hideToHandle()\n }\n}","funcProperties":{"__isSmartRef__":true,"id":11572},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11571":{"this":{"__isSmartRef__":true,"id":11327}},"11572":{"timestamp":{"__isSmartRef__":true,"id":11573},"user":"jenslincke","tags":[]},"11573":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:23:03 GMT+0100 (CET)"},"11574":{"varMapping":{"__isSmartRef__":true,"id":11575},"source":"function onMouseOut(evt) {\n // this.hideFromHandle()\n // this.hideToHandle()\n}","funcProperties":{"__isSmartRef__":true,"id":11580},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11575":{"this":{"__isSmartRef__":true,"id":11327},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":11576}},"11576":{"$super":{"__isSmartRef__":true,"id":11577}},"11577":{"varMapping":{"__isSmartRef__":true,"id":11578},"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":11579},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11578":{"obj":{"__isSmartRef__":true,"id":11327},"name":"onMouseOut"},"11579":{},"11580":{"timestamp":{"__isSmartRef__":true,"id":11581},"user":"jenslincke","tags":[]},"11581":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:54:53 GMT+0100 (CET)"},"11582":{"varMapping":{"__isSmartRef__":true,"id":11583},"source":"function makeHandle() {\n var m = lively.morphic.Morph.makeRectangle(0,0,10,10);\n m.disableGrabbing()\n m.enableDragging()\n m.connector = this;\n // move real behavior to a place which is easier to develop\n // do not use bind, because we like late binding \n m.addScript(function onDragStart(evt) {\n this.connector.onDragStartInHandle(this, evt)\n })\n m.addScript(function onDrag(evt) {\n this.connector.onDragInHandle(this, evt)\n })\n m.addScript(function onDragEnd(evt) {\n this.connector.onDragEndInHandle(this, evt)\n })\n m.isEpiMorph = true;\n return m\n}","funcProperties":{"__isSmartRef__":true,"id":11584},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11583":{"this":{"__isSmartRef__":true,"id":11327}},"11584":{"timestamp":{"__isSmartRef__":true,"id":11585},"user":"jenslincke","tags":[]},"11585":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:08:29 GMT+0100 (CET)"},"11586":{"varMapping":{"__isSmartRef__":true,"id":11587},"source":"function showFromHandle() {\n if (!this.fromHandle) {\n this.fromHandle = this.makeHandle();\n this.fromHandle.setFill(Color.red)\n this.fromHandle.isFromHandle = true;\n }\n this.fromHandle.openInWorld();\n this.fromHandle.controlPoint = this.controlPoints[0];\n this.fromHandle.setPosition(this.controlPoints[0].getGlobalPos().subPt(pt(5,5)))\n return this.fromHandle\n}","funcProperties":{"__isSmartRef__":true,"id":11588},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11587":{"this":{"__isSmartRef__":true,"id":11327}},"11588":{"timestamp":{"__isSmartRef__":true,"id":11589},"user":"jenslincke","tags":[]},"11589":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:13:03 GMT+0100 (CET)"},"11590":{"varMapping":{"__isSmartRef__":true,"id":11591},"source":"function showToHandle() {\n if (!this.toHandle) {\n this.toHandle = this.makeHandle();\n this.toHandle.setFill(Color.red)\n this.toHandle.isToHandle = true;\n\n }\n this.toHandle.openInWorld();\n this.toHandle.controlPoint = this.controlPoints[1];\n this.toHandle.setPosition(this.controlPoints[1].getGlobalPos().subPt(pt(5,5)))\n return this.toHandle\n}","funcProperties":{"__isSmartRef__":true,"id":11592},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11591":{"this":{"__isSmartRef__":true,"id":11327}},"11592":{"timestamp":{"__isSmartRef__":true,"id":11593},"user":"jenslincke","tags":[]},"11593":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:20:25 GMT+0100 (CET)"},"11594":{"varMapping":{"__isSmartRef__":true,"id":11595},"source":"function reset() {\n if (this.fromHandle) {\n this.fromHandle.remove()\n delete this.fromHandle\n }\n if (this.toHandle) {\n this.toHandle.remove()\n delete this.toHandle\n }\n // this.controlPoints[1].setPos(pt(200,200))\n}","funcProperties":{"__isSmartRef__":true,"id":11596},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11595":{"this":{"__isSmartRef__":true,"id":11327}},"11596":{"timestamp":{"__isSmartRef__":true,"id":11597},"user":"jenslincke","tags":[]},"11597":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:15:00 GMT+0100 (CET)"},"11598":{"varMapping":{"__isSmartRef__":true,"id":11599},"source":"function onDragInHandle(handle, evt) {\n\n var pos = handle.getPositionInWorld();\n var delta = evt.hand.getPosition().subPt(pos);\n handle.moveBy(delta)\n pos = handle.getPositionInWorld();\n if (handle.controlPoint)\n handle.controlPoint.setGlobalPos(pos.addPt(pt(5,5)))\n var morphs = this.owner.morphsContainingPoint(pos)\n morphs = morphs.reject(function(ea) {\n return ea.isWorld || (ea === handle) || (ea === this) || \n (ea === this.owner)\n }, this)\n this.get('Console').textString = morphs\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n this.selectedMorph = morphs.first();\n this.selectedMorphHighlights = show(this.selectedMorph)\n handle.startPos = evt.getPosition();\n}","funcProperties":{"__isSmartRef__":true,"id":11600},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11599":{"this":{"__isSmartRef__":true,"id":11327}},"11600":{"timestamp":{"__isSmartRef__":true,"id":11601},"user":"jenslincke","tags":[]},"11601":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:09:40 GMT+0100 (CET)"},"11602":{"varMapping":{"__isSmartRef__":true,"id":11603},"source":"function onDragStartInHandle(handle, evt) {\n handle.startPos = evt.getPosition()\n}","funcProperties":{"__isSmartRef__":true,"id":11604},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11603":{"this":{"__isSmartRef__":true,"id":11327}},"11604":{"timestamp":{"__isSmartRef__":true,"id":11605},"user":"jenslincke","tags":[]},"11605":{"isSerializedDate":true,"string":"Thu Dec 13 2012 15:51:13 GMT+0100 (CET)"},"11606":{"varMapping":{"__isSmartRef__":true,"id":11607},"source":"function onDragEndInHandle(handle, evt) {\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n \n if (handle.isFromHandle) this.connectFrom(this.selectedMorph)\n if (handle.isToHandle) this.connectTo(this.selectedMorph)\n handle.remove()\n}","funcProperties":{"__isSmartRef__":true,"id":11608},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11607":{"this":{"__isSmartRef__":true,"id":11327}},"11608":{"timestamp":{"__isSmartRef__":true,"id":11609},"user":"jenslincke","tags":[]},"11609":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:44:35 GMT+0100 (CET)"},"11610":{"varMapping":{"__isSmartRef__":true,"id":11611},"source":"function connectFrom(morph) {\n if (morph === this.toMorph) return; // not allowed\n\n this.disconnectMorph(this.fromMorph)\n this.fromMorph = morph;\n this.connectMorph(this.fromMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":11612},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11611":{"this":{"__isSmartRef__":true,"id":11327}},"11612":{"timestamp":{"__isSmartRef__":true,"id":11613},"user":"jenslincke","tags":[]},"11613":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:57:22 GMT+0100 (CET)"},"11614":{"varMapping":{"__isSmartRef__":true,"id":11615},"source":"function connectTo(morph) {\n\n if (morph === this.fromMorph) return; // not allowed\n\n this.disconnectMorph(this.toMorph)\n this.toMorph = morph;\n this.connectMorph(this.toMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":11616},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11615":{"this":{"__isSmartRef__":true,"id":11327}},"11616":{"timestamp":{"__isSmartRef__":true,"id":11617},"user":"jenslincke","tags":[]},"11617":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:57:14 GMT+0100 (CET)"},"11618":{"varMapping":{"__isSmartRef__":true,"id":11619},"source":"function hideToHandle() {\n if (this.toHandle) {\n this.toHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":11620},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11619":{"this":{"__isSmartRef__":true,"id":11327}},"11620":{"timestamp":{"__isSmartRef__":true,"id":11621},"user":"jenslincke","tags":[]},"11621":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:51:59 GMT+0100 (CET)"},"11622":{"varMapping":{"__isSmartRef__":true,"id":11623},"source":"function hideFromHandle() {\n if (this.fromHandle) {\n this.fromHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":11624},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11623":{"this":{"__isSmartRef__":true,"id":11327}},"11624":{"timestamp":{"__isSmartRef__":true,"id":11625},"user":"jenslincke","tags":[]},"11625":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:52:18 GMT+0100 (CET)"},"11626":{"varMapping":{"__isSmartRef__":true,"id":11627},"source":"function updateIntersection(morph, cp) {\n if (!morph) return;\n var intersection = this.intersectMorph(morph)[0];\n if (intersection) {\n cp.setGlobalPos(intersection);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":11628},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11627":{"this":{"__isSmartRef__":true,"id":11327}},"11628":{"timestamp":{"__isSmartRef__":true,"id":11629},"user":"jenslincke","tags":[]},"11629":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:32 GMT+0100 (CET)"},"11630":{"varMapping":{"__isSmartRef__":true,"id":11631},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":11632},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11631":{"this":{"__isSmartRef__":true,"id":11327}},"11632":{"timestamp":{"__isSmartRef__":true,"id":11633},"user":"jenslincke","tags":[]},"11633":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:47:12 GMT+0100 (CET)"},"11634":{"varMapping":{"__isSmartRef__":true,"id":11635},"source":"function intersectMorphLinePoints(morph, a1, a2) {\n var points = this.globalShapePathFromMorph(morph);\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":11636},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11635":{"this":{"__isSmartRef__":true,"id":11327}},"11636":{"timestamp":{"__isSmartRef__":true,"id":11637},"user":"jenslincke","tags":[]},"11637":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:21 GMT+0100 (CET)"},"11638":{"varMapping":{"__isSmartRef__":true,"id":11639},"source":"function intersectMorph(morph) {\n var line = this;\n return this.intersectMorphLinePoints(morph,\n line.controlPoints[0].getGlobalPos(), line.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":11640},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11639":{"this":{"__isSmartRef__":true,"id":11327}},"11640":{"timestamp":{"__isSmartRef__":true,"id":11641},"user":"jenslincke","tags":[]},"11641":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:47 GMT+0100 (CET)"},"11642":{"varMapping":{"__isSmartRef__":true,"id":11643},"source":"function globalShapePathFromMorph(morph) {\n var b = morph.shape.bounds();\n var p1 = morph.worldPoint(b.topLeft()),\n p2 = morph.worldPoint(b.topRight()),\n p3 = morph.worldPoint(b.bottomRight()),\n p4 = morph.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":11644},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11643":{"this":{"__isSmartRef__":true,"id":11327}},"11644":{"timestamp":{"__isSmartRef__":true,"id":11645},"user":"jenslincke","tags":[]},"11645":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:00 GMT+0100 (CET)"},"11646":{"morph":{"__isSmartRef__":true,"id":11296},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(794.0,3542.4)"},"11647":{"morph":{"__isSmartRef__":true,"id":11296},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(756.5,3518.4)"},"11648":{"morph":{"__isSmartRef__":true,"id":11296},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(719.1,3494.4)"},"11649":{"morph":{"__isSmartRef__":true,"id":11296},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(740.7,3460.7)"},"11650":{"sourceObj":{"__isSmartRef__":true,"id":11296},"sourceAttrName":"name","targetObj":{"__isSmartRef__":true,"id":11271},"targetMethodName":"updateLabel","varMapping":{"__isSmartRef__":true,"id":11651},"visualConnector":{"__isSmartRef__":true,"id":11652},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11651":{"source":{"__isSmartRef__":true,"id":11296},"target":{"__isSmartRef__":true,"id":11271}},"11652":{"submorphs":[{"__isSmartRef__":true,"id":11653}],"scripts":[],"shape":{"__isSmartRef__":true,"id":11660},"eventHandler":{"__isSmartRef__":true,"id":11663},"_ClipMode":"visible","derivationIds":[],"id":"5814672F-102B-41EE-9D91-9FA58B6451FD","__layered_droppingEnabled__":true,"halosEnabled":true,"owner":null,"controlPoints":[{"__isSmartRef__":true,"id":11664},{"__isSmartRef__":true,"id":11665}],"con":{"__isSmartRef__":true,"id":11650},"showsMorphMenu":true,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":11666},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"11653":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":11654},"eventHandler":{"__isSmartRef__":true,"id":11659},"_ClipMode":"visible","derivationIds":[],"id":"01253C2A-18A1-43A8-AA72-260E7FC0929E","__layered_droppingEnabled__":true,"halosEnabled":true,"owner":{"__isSmartRef__":true,"id":11652},"_Rotation":1.3832457846463706,"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","_Position":"lively.pt(259.1,3427.8)"},"11654":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":11655},{"__isSmartRef__":true,"id":11656},{"__isSmartRef__":true,"id":11657},{"__isSmartRef__":true,"id":11658}],"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor","_Fill"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Position":"lively.pt(-12.0,-6.0)","_Extent":"lively.pt(17.0,13.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(0,0,0)"},"11655":{"isAbsolute":true,"x":-11,"y":-5,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"11656":{"isAbsolute":true,"x":-11,"y":7,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"11657":{"isAbsolute":true,"x":5,"y":1,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"11658":{"isAbsolute":true,"x":-11,"y":-5,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"11659":{"morph":{"__isSmartRef__":true,"id":11653},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"11660":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":11661},{"__isSmartRef__":true,"id":11662}],"_BorderWidth":1,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Position":"lively.pt(248.7,3377.0)","_Extent":"lively.pt(10.4,50.8)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"11661":{"isAbsolute":true,"x":249.7,"y":3378,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"11662":{"isAbsolute":true,"x":259.14357977177195,"y":3427.7604139964105,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"11663":{"morph":{"__isSmartRef__":true,"id":11652},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"11664":{"morph":{"__isSmartRef__":true,"id":11652},"index":0,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"11665":{"morph":{"__isSmartRef__":true,"id":11652},"index":1,"marker":{"__isSmartRef__":true,"id":11653},"markerDirection":"prev","__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"11666":{"morphMenuItems":{"__isSmartRef__":true,"id":11667}},"11667":{"varMapping":{"__isSmartRef__":true,"id":11668},"source":"function morphMenuItems() {\n var visualConnector = this, con = this.con, world = $world;\n var items = [\n ['Edit converter', function() {\n var window = lively.bindings.editConnection(con);\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":11673},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11668":{"this":{"__isSmartRef__":true,"id":11652},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":11669}},"11669":{"$super":{"__isSmartRef__":true,"id":11670}},"11670":{"varMapping":{"__isSmartRef__":true,"id":11671},"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":11672},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11671":{"obj":{"__isSmartRef__":true,"id":11652},"name":"morphMenuItems"},"11672":{},"11673":{},"11674":{"sourceObj":{"__isSmartRef__":true,"id":11296},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":11270},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":11675},"dependedBy":{"__isSmartRef__":true,"id":11270},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11675":{"source":{"__isSmartRef__":true,"id":11296},"target":{"__isSmartRef__":true,"id":11270}},"11676":{"sourceObj":{"__isSmartRef__":true,"id":11296},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":11270},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":11677},"dependedBy":{"__isSmartRef__":true,"id":11270},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11677":{"source":{"__isSmartRef__":true,"id":11296},"target":{"__isSmartRef__":true,"id":11270}},"11678":{"sourceObj":{"__isSmartRef__":true,"id":11296},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":11270},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":11679},"dependedBy":{"__isSmartRef__":true,"id":11270},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11679":{"source":{"__isSmartRef__":true,"id":11296},"target":{"__isSmartRef__":true,"id":11270}},"11680":{"sourceObj":{"__isSmartRef__":true,"id":11296},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":11270},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":11681},"dependedBy":{"__isSmartRef__":true,"id":11270},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11681":{"source":{"__isSmartRef__":true,"id":11296},"target":{"__isSmartRef__":true,"id":11270}},"11682":{"sourceObj":{"__isSmartRef__":true,"id":11296},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":11326},"targetMethodName":"alignToMagnet","varMapping":{"__isSmartRef__":true,"id":11683},"dependendConnections":[{"__isSmartRef__":true,"id":11684},{"__isSmartRef__":true,"id":11686},{"__isSmartRef__":true,"id":11688},{"__isSmartRef__":true,"id":11690},{"__isSmartRef__":true,"id":11692},{"__isSmartRef__":true,"id":11694},{"__isSmartRef__":true,"id":11696},{"__isSmartRef__":true,"id":11698}],"oldTransform":{"__isSmartRef__":true,"id":11700},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"11683":{"source":{"__isSmartRef__":true,"id":11296},"target":{"__isSmartRef__":true,"id":11326}},"11684":{"sourceObj":{"__isSmartRef__":true,"id":11296},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":11682},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":11685},"dependedBy":{"__isSmartRef__":true,"id":11682},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11685":{"source":{"__isSmartRef__":true,"id":11296},"target":{"__isSmartRef__":true,"id":11682}},"11686":{"sourceObj":{"__isSmartRef__":true,"id":11296},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":11682},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":11687},"dependedBy":{"__isSmartRef__":true,"id":11682},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11687":{"source":{"__isSmartRef__":true,"id":11296},"target":{"__isSmartRef__":true,"id":11682}},"11688":{"sourceObj":{"__isSmartRef__":true,"id":11296},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":11682},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":11689},"dependedBy":{"__isSmartRef__":true,"id":11682},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11689":{"source":{"__isSmartRef__":true,"id":11296},"target":{"__isSmartRef__":true,"id":11682}},"11690":{"sourceObj":{"__isSmartRef__":true,"id":11296},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":11682},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":11691},"dependedBy":{"__isSmartRef__":true,"id":11682},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11691":{"source":{"__isSmartRef__":true,"id":11296},"target":{"__isSmartRef__":true,"id":11682}},"11692":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":11682},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":11693},"dependedBy":{"__isSmartRef__":true,"id":11682},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11693":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":11682}},"11694":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":11682},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":11695},"dependedBy":{"__isSmartRef__":true,"id":11682},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11695":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":11682}},"11696":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":11682},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":11697},"dependedBy":{"__isSmartRef__":true,"id":11682},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11697":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":11682}},"11698":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":11682},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":11699},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","dependedBy":{"__isSmartRef__":true,"id":11682},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11699":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":11682}},"11700":{"d":0.8419431060646692,"a":0.8419431060646692,"f":71.4,"e":725.3,"c":-0.5395663130238733,"b":0.5395663130238733,"matrix_":{"__isSmartRef__":true,"id":11701},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"11701":{"a":0.8419431060646692,"b":0.5395663130238733,"c":-0.5395663130238733,"d":0.8419431060646692,"e":725.3,"f":71.4,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"11702":{"globalShapePath":{"__isSmartRef__":true,"id":11703},"lineIntersect":{"__isSmartRef__":true,"id":11706},"intersectLine":{"__isSmartRef__":true,"id":11710},"intersectLineMorph":{"__isSmartRef__":true,"id":11713}},"11703":{"varMapping":{"__isSmartRef__":true,"id":11704},"source":"function globalShapePath() {\n var b = this.shape.bounds();\n var p1 = this.worldPoint(b.topLeft()),\n p2 = this.worldPoint(b.topRight()),\n p3 = this.worldPoint(b.bottomRight()),\n p4 = this.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":11705},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11704":{"this":{"__isSmartRef__":true,"id":11296}},"11705":{},"11706":{"varMapping":{"__isSmartRef__":true,"id":11707},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":11708},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11707":{"this":{"__isSmartRef__":true,"id":11296}},"11708":{"timestamp":{"__isSmartRef__":true,"id":11709},"user":"jenslincke","tags":[]},"11709":{"isSerializedDate":true,"string":"Thu Dec 13 2012 13:42:55 GMT+0100 (CET)"},"11710":{"varMapping":{"__isSmartRef__":true,"id":11711},"source":"function intersectLine(a1, a2) {\n var points = this.globalShapePath();\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":11712},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11711":{"this":{"__isSmartRef__":true,"id":11296}},"11712":{},"11713":{"varMapping":{"__isSmartRef__":true,"id":11714},"source":"function intersectLineMorph(m) {\n return this.intersectLine(m.controlPoints[0].getGlobalPos(), m.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":11715},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11714":{"this":{"__isSmartRef__":true,"id":11296}},"11715":{},"11716":{"updateLabel":{"__isSmartRef__":true,"id":11717},"renameOwner":{"__isSmartRef__":true,"id":11720}},"11717":{"varMapping":{"__isSmartRef__":true,"id":11718},"source":"function updateLabel() {\n\t// observe name changes in owner\n\tif (this.owner !== this.oldOwner) {\n\t\tif (this.oldOwner)\n\t\t\tdisconnect(this.oldOwner, 'name', this, 'updateLabel')\n\t\tif (this.owner)\n\t\t\tconnect(this.owner, 'name', this, 'updateLabel')\n\t\tthis.oldOwner = this.owner\n\t}\n\tvar name = (this.owner ? this.owner.name : \"no owner\")\n\tif (this.textString != name)\n\tthis.setTextString(name)\n}","funcProperties":{"__isSmartRef__":true,"id":11719},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11718":{"this":{"__isSmartRef__":true,"id":11271}},"11719":{},"11720":{"varMapping":{"__isSmartRef__":true,"id":11721},"source":"function renameOwner(name) {\n\tif (this.owner && this.owner.name != name) {\n\t\talertOK(\"renamed \" + this.owner + \" to \" + name)\n\t\tthis.owner.setName(name);\n\t}\n}","funcProperties":{"__isSmartRef__":true,"id":11722},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11721":{"this":{"__isSmartRef__":true,"id":11271}},"11722":{},"11723":{"source":{"__isSmartRef__":true,"id":11271},"target":{"__isSmartRef__":true,"id":11652}},"11724":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":11270},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":11725},"dependedBy":{"__isSmartRef__":true,"id":11270},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11725":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":11270}},"11726":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":11270},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":11727},"dependedBy":{"__isSmartRef__":true,"id":11270},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11727":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":11270}},"11728":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":11270},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":11729},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","dependedBy":{"__isSmartRef__":true,"id":11270},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11729":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":11270}},"11730":{"d":0.8419431060646688,"a":0.8419431060646688,"f":121.16041399641061,"e":734.7435797717719,"c":-0.539566313023873,"b":0.539566313023873,"matrix_":{"__isSmartRef__":true,"id":11731},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"11731":{"a":0.8419431060646688,"b":0.539566313023873,"c":-0.539566313023873,"d":0.8419431060646688,"e":734.7435797717719,"f":121.16041399641061,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"11732":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":11270}},"11733":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":11734},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":12196},"dependedBy":{"__isSmartRef__":true,"id":11734},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11734":{"sourceObj":{"__isSmartRef__":true,"id":11735},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":12116},"targetMethodName":"realignConnection","varMapping":{"__isSmartRef__":true,"id":12187},"dependendConnections":[{"__isSmartRef__":true,"id":11743},{"__isSmartRef__":true,"id":11745},{"__isSmartRef__":true,"id":11747},{"__isSmartRef__":true,"id":11749},{"__isSmartRef__":true,"id":12138},{"__isSmartRef__":true,"id":12140},{"__isSmartRef__":true,"id":12142},{"__isSmartRef__":true,"id":12144},{"__isSmartRef__":true,"id":11733},{"__isSmartRef__":true,"id":12188},{"__isSmartRef__":true,"id":12190},{"__isSmartRef__":true,"id":12192}],"oldTransform":{"__isSmartRef__":true,"id":12194},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"11735":{"submorphs":[],"scripts":[],"id":"A56651CA-C186-459B-B592-CE972755ACC5","shape":{"__isSmartRef__":true,"id":11736},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":180.8018403394826,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":19,"name":"NameLabel2","partsBinMetaInfo":{"__isSmartRef__":true,"id":11737},"textChunks":[{"__isSmartRef__":true,"id":11739}],"charsReplaced":"A1","lastFindLoc":2,"prevScroll":[0,0],"attributeConnections":[{"__isSmartRef__":true,"id":11741},{"__isSmartRef__":true,"id":11742},{"__isSmartRef__":true,"id":11734},{"__isSmartRef__":true,"id":11743},{"__isSmartRef__":true,"id":11745},{"__isSmartRef__":true,"id":11747},{"__isSmartRef__":true,"id":11749}],"doNotSerialize":["$$owner","$$savedTextString","$$_Position","$$_Scale","$$_Rotation"],"doNotCopyProperties":["$$owner","$$savedTextString","$$_Position","$$_Scale","$$_Rotation"],"isInputLine":true,"savedTextString":"A","eventHandler":{"__isSmartRef__":true,"id":11751},"derivationIds":[7027,"331C6367-0699-4BD6-9916-ABA82517453B","BEAA7850-FEFB-4AFD-9E06-730FF35D99A4","559B0B8A-5C01-4133-88B2-0D08385E23F6","BE195383-D309-4B6E-A6B0-79A6112B4011","E323F75A-232F-4712-9A03-20C8FD574C9A","E6E38336-AA2D-4F75-80C1-B1617DD8544E","DAFCD826-DF9B-4DEF-B4D7-59AAED8D199D","3999CB16-D9E3-4D28-A617-9B093624E8AC","24C6A462-5AF8-4580-9777-8F5696841AF0","38DF0DD5-01B1-4481-B32C-B1595F8042DF","6D969508-F1F5-4E9D-A211-8F66FCA4DA80"],"_WhiteSpaceHandling":"pre-wrap","_ClipMode":"visible","moved":true,"isBeingDragged":false,"_WordBreak":"break-all","magnets":[{"__isSmartRef__":true,"id":11752},{"__isSmartRef__":true,"id":11753},{"__isSmartRef__":true,"id":11754},{"__isSmartRef__":true,"id":11755},{"__isSmartRef__":true,"id":11756},{"__isSmartRef__":true,"id":11757},{"__isSmartRef__":true,"id":11758},{"__isSmartRef__":true,"id":11759}],"_PreviousBorderWidth":1,"owner":{"__isSmartRef__":true,"id":11760},"oldOwner":{"__isSmartRef__":true,"id":11760},"_Rotation":0,"_Scale":0.9999999999999997,"__serializedExpressions__":["_Position","textColor","distanceToDragEvent","_TextColor"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":12180},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(34.8,36.8)","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(31.1,-9.9)","_TextColor":"Color.rgb(255,143,0)"},"11736":{"fill":null,"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(42.8,29.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"11737":{"migrationLevel":2,"comment":"Label that shows the name of a morph. Updates automatically.","partName":"NameLabel","lastModifiedDate":{"__isSmartRef__":true,"id":11738},"revisionOnLoad":140039,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"11738":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (CEST)"},"11739":{"style":{"__isSmartRef__":true,"id":11740},"chunkOwner":{"__isSmartRef__":true,"id":11735},"_id":"_1379","storedString":"A1","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"11740":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"11741":{"sourceObj":{"__isSmartRef__":true,"id":11735},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":11735},"targetMethodName":"updateLabel","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11742":{"sourceObj":{"__isSmartRef__":true,"id":11735},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":11735},"targetMethodName":"renameOwner","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11743":{"sourceObj":{"__isSmartRef__":true,"id":11735},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":11734},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":11744},"dependedBy":{"__isSmartRef__":true,"id":11734},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11744":{"source":{"__isSmartRef__":true,"id":11735},"target":{"__isSmartRef__":true,"id":11734}},"11745":{"sourceObj":{"__isSmartRef__":true,"id":11735},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":11734},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":11746},"dependedBy":{"__isSmartRef__":true,"id":11734},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11746":{"source":{"__isSmartRef__":true,"id":11735},"target":{"__isSmartRef__":true,"id":11734}},"11747":{"sourceObj":{"__isSmartRef__":true,"id":11735},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":11734},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":11748},"dependedBy":{"__isSmartRef__":true,"id":11734},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11748":{"source":{"__isSmartRef__":true,"id":11735},"target":{"__isSmartRef__":true,"id":11734}},"11749":{"sourceObj":{"__isSmartRef__":true,"id":11735},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":11734},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":11750},"dependedBy":{"__isSmartRef__":true,"id":11734},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11750":{"source":{"__isSmartRef__":true,"id":11735},"target":{"__isSmartRef__":true,"id":11734}},"11751":{"morph":{"__isSmartRef__":true,"id":11735},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"11752":{"morph":{"__isSmartRef__":true,"id":11735},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(771.7,3476.8)"},"11753":{"morph":{"__isSmartRef__":true,"id":11735},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(789.7,3488.3)"},"11754":{"morph":{"__isSmartRef__":true,"id":11735},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(807.7,3499.9)"},"11755":{"morph":{"__isSmartRef__":true,"id":11735},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(799.9,3512.1)"},"11756":{"morph":{"__isSmartRef__":true,"id":11735},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(792.1,3524.3)"},"11757":{"morph":{"__isSmartRef__":true,"id":11735},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(774.0,3512.8)"},"11758":{"morph":{"__isSmartRef__":true,"id":11735},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(756.0,3501.2)"},"11759":{"morph":{"__isSmartRef__":true,"id":11735},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(763.9,3489.0)"},"11760":{"submorphs":[{"__isSmartRef__":true,"id":11735}],"scripts":[],"id":"A2599C68-18C8-45FC-A9A1-7B42E2492769","shape":{"__isSmartRef__":true,"id":11761},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"A1","partsBinMetaInfo":{"__isSmartRef__":true,"id":11762},"eventHandler":{"__isSmartRef__":true,"id":11780},"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","BBAFB862-93AE-4F89-BCFF-9F1C67B7FE4C","7EC17E78-593A-4CC8-B7E3-859BCBBFE785","FDB06D4A-9F4E-4B8C-A67C-671A9583EFE8","1C80FDE1-05C0-4148-9AD8-33C88667084C","5059E383-6BE3-4AD3-A9C4-89DA9D8D5E99","5B810AFE-E692-4EB4-A695-ABB4A95CEA39","BFFEF617-9B97-45D4-A541-8E33A6A17485","A10BBA48-4AD1-425A-AC7B-2F5515CE56F5","319DCFA5-FBA0-4E93-825A-584A580A412F","1A7DC4D8-6C49-4243-8B1D-04CED44FD759","37281932-6BFC-4796-9330-CDFA7FB46F54"],"partTests":{"__isSmartRef__":true,"id":11781},"_ClipMode":"visible","moved":true,"isBeingDragged":false,"magnets":[{"__isSmartRef__":true,"id":11786},{"__isSmartRef__":true,"id":11787},{"__isSmartRef__":true,"id":11788},{"__isSmartRef__":true,"id":11789},{"__isSmartRef__":true,"id":12110},{"__isSmartRef__":true,"id":12111},{"__isSmartRef__":true,"id":12112},{"__isSmartRef__":true,"id":12113}],"attributeConnections":[{"__isSmartRef__":true,"id":12114},{"__isSmartRef__":true,"id":12138},{"__isSmartRef__":true,"id":12140},{"__isSmartRef__":true,"id":12142},{"__isSmartRef__":true,"id":12144},{"__isSmartRef__":true,"id":12146},{"__isSmartRef__":true,"id":12148},{"__isSmartRef__":true,"id":12150},{"__isSmartRef__":true,"id":12152},{"__isSmartRef__":true,"id":12154}],"doNotSerialize":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"doNotCopyProperties":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"isCopyMorphRef":true,"morphRefId":1,"prevScroll":[0,0],"_Scale":0.9999999999999996,"_Rotation":0.5699219218563105,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":12166},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","distanceToDragEvent":"lively.pt(35.0,-16.3)","_Position":"lively.pt(725.3,71.4)"},"11761":{"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(89.0,80.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgba(204,204,204,0.5)","_Padding":"lively.rect(0,0,0,0)"},"11762":{"partsSpaceName":"PartsBin/Basic","comment":"A simple box morph. A really orange one. Its amazing what you can build out of simple boxes.... Who needs stars when you got orange rectangles!","migrationLevel":4,"partName":"Rectangle","changes":[{"__isSmartRef__":true,"id":11763},{"__isSmartRef__":true,"id":11765},{"__isSmartRef__":true,"id":11767},{"__isSmartRef__":true,"id":11769},{"__isSmartRef__":true,"id":11771},{"__isSmartRef__":true,"id":11773},{"__isSmartRef__":true,"id":11775},{"__isSmartRef__":true,"id":11777}],"lastModifiedDate":{"__isSmartRef__":true,"id":11779},"revisionOnLoad":184624,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"11763":{"date":{"__isSmartRef__":true,"id":11764},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"11764":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"11765":{"date":{"__isSmartRef__":true,"id":11766},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"11766":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"11767":{"date":{"__isSmartRef__":true,"id":11768},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"11768":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"11769":{"date":{"__isSmartRef__":true,"id":11770},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"11770":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"11771":{"date":{"__isSmartRef__":true,"id":11772},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"11772":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"11773":{"date":{"__isSmartRef__":true,"id":11774},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"11774":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"11775":{"date":{"__isSmartRef__":true,"id":11776},"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8"},"11776":{"isSerializedDate":true,"string":"Mon Jun 18 2012 19:35:08 GMT+0200 (CEST)"},"11777":{"date":{"__isSmartRef__":true,"id":11778},"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205"},"11778":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:35:51 GMT+0100 (CET)"},"11779":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:33:25 GMT+0100 (CET)"},"11780":{"morph":{"__isSmartRef__":true,"id":11760},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"11781":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":11782}},"11782":{"test01IsMorph":{"__isSmartRef__":true,"id":11783}},"11783":{"varMapping":{"__isSmartRef__":true,"id":11784},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":11785},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11784":{"this":{"__isSmartRef__":true,"id":11781}},"11785":{},"11786":{"morph":{"__isSmartRef__":true,"id":11760},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(762.2,3427.0)"},"11787":{"morph":{"__isSmartRef__":true,"id":11760},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(799.7,3451.1)"},"11788":{"morph":{"__isSmartRef__":true,"id":11760},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(837.2,3475.1)"},"11789":{"morph":{"__isSmartRef__":true,"id":11760},"connectedControlPoints":[{"__isSmartRef__":true,"id":11790}],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(815.6,3508.7)"},"11790":{"morph":{"__isSmartRef__":true,"id":11791},"index":0,"connectedMagnet":{"__isSmartRef__":true,"id":11789},"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"11791":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":11792},"id":"E083C82B-2BC4-42CB-B3A2-773909175FCB","eventHandler":{"__isSmartRef__":true,"id":11795},"__layered_droppingEnabled__":true,"halosEnabled":true,"isBeingDragged":false,"controlPoints":[{"__isSmartRef__":true,"id":11790},{"__isSmartRef__":true,"id":11796}],"showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":11797},"name":"Line4","derivationIds":[731,"5E6BD741-9C99-47B9-95C1-7A028178DB17","A8D5C37A-F23F-47FE-8DE2-211CE4484A4F","F722069B-8602-4E8D-BE3F-92A1E0C0EF28","D5ED19F9-968E-4C7E-9936-69F2735A813F","A9E370BC-F208-425C-BFFC-F8D6BB52E11F","4E431641-D056-46CB-B2A8-6626382EF423"],"_ClipMode":"visible","controlPointsHalos":[],"prevScroll":[0,0],"grabbingEnabled":false,"moved":true,"#startLetters":"controlPoints[0]","fromMorph":{"__isSmartRef__":true,"id":11801},"update":{"__isSmartRef__":true,"id":12011},"isCopyMorphRef":true,"morphRefId":2,"selectedMorph":{"__isSmartRef__":true,"id":11801},"selectedMorphHighlights":[],"_Scale":1,"_Rotation":0,"owner":null,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":12013},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","distanceToDragEvent":"lively.pt(295.7,-20.8)","_Position":"lively.pt(376.1,57.6)"},"11792":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":11793},{"__isSmartRef__":true,"id":11794}],"_ClipMode":"visible","_BorderWidth":3.1119999999999997,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Padding","_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(50.5,3.2)","_Extent":"lively.pt(114.5,3494.5)","_BorderColor":"Color.rgb(161,161,161)"},"11793":{"isAbsolute":true,"x":0,"y":0,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"11794":{"isAbsolute":true,"x":52.46197348862387,"y":5.223542983087555,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"11795":{"morph":{"__isSmartRef__":true,"id":11791},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"11796":{"morph":{"__isSmartRef__":true,"id":11791},"index":1,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"11797":{"requiredModules":[],"migrationLevel":4,"partsSpaceName":"PartsBin/Jens/","comment":"a line","partName":"Connector","lastModifiedDate":{"__isSmartRef__":true,"id":11798},"revisionOnLoad":186528,"changes":[{"__isSmartRef__":true,"id":11799}],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"11798":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:18 GMT+0100 (CET)"},"11799":{"date":{"__isSmartRef__":true,"id":11800},"author":"jenslincke","message":"no comment","id":"28165CED-C8C5-4B8E-9655-645E3F5099BB"},"11800":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:42 GMT+0100 (CET)"},"11801":{"submorphs":[{"__isSmartRef__":true,"id":11802}],"scripts":[],"id":"7D787261-FDA4-4DCD-ACA3-699C8F2DB8DC","shape":{"__isSmartRef__":true,"id":11826},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"A","partsBinMetaInfo":{"__isSmartRef__":true,"id":11827},"eventHandler":{"__isSmartRef__":true,"id":11845},"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","BBAFB862-93AE-4F89-BCFF-9F1C67B7FE4C","7EC17E78-593A-4CC8-B7E3-859BCBBFE785","FDB06D4A-9F4E-4B8C-A67C-671A9583EFE8","1C80FDE1-05C0-4148-9AD8-33C88667084C","5059E383-6BE3-4AD3-A9C4-89DA9D8D5E99","5B810AFE-E692-4EB4-A695-ABB4A95CEA39","BFFEF617-9B97-45D4-A541-8E33A6A17485","A10BBA48-4AD1-425A-AC7B-2F5515CE56F5"],"partTests":{"__isSmartRef__":true,"id":11846},"_ClipMode":"visible","moved":true,"isBeingDragged":false,"magnets":[{"__isSmartRef__":true,"id":11851},{"__isSmartRef__":true,"id":11852},{"__isSmartRef__":true,"id":11853},{"__isSmartRef__":true,"id":11854},{"__isSmartRef__":true,"id":11855},{"__isSmartRef__":true,"id":11856},{"__isSmartRef__":true,"id":11857},{"__isSmartRef__":true,"id":11858}],"attributeConnections":[{"__isSmartRef__":true,"id":11859},{"__isSmartRef__":true,"id":11861},{"__isSmartRef__":true,"id":11863},{"__isSmartRef__":true,"id":11865},{"__isSmartRef__":true,"id":11867},{"__isSmartRef__":true,"id":11869},{"__isSmartRef__":true,"id":11873},{"__isSmartRef__":true,"id":11987},{"__isSmartRef__":true,"id":11989},{"__isSmartRef__":true,"id":11991},{"__isSmartRef__":true,"id":11993}],"doNotSerialize":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"doNotCopyProperties":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"isCopyMorphRef":true,"morphRefId":1,"prevScroll":[0,0],"_Scale":0.9999999999999998,"_Rotation":-0.3632069088060458,"owner":null,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":11997},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","distanceToDragEvent":"lively.pt(89.3,-51.8)","_Position":"lively.pt(691.6,129.6)"},"11802":{"submorphs":[],"scripts":[],"id":"4BDF3799-4F08-4112-BD4C-91BAB858A860","shape":{"__isSmartRef__":true,"id":11803},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":180.8018403394826,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":19,"name":"NameLabel2","partsBinMetaInfo":{"__isSmartRef__":true,"id":11804},"textChunks":[{"__isSmartRef__":true,"id":11806}],"charsReplaced":"C1","lastFindLoc":2,"prevScroll":[0,0],"attributeConnections":[{"__isSmartRef__":true,"id":11808},{"__isSmartRef__":true,"id":11809}],"doNotSerialize":["$$owner","$$savedTextString"],"doNotCopyProperties":["$$owner","$$savedTextString"],"isInputLine":true,"savedTextString":"A","eventHandler":{"__isSmartRef__":true,"id":11810},"derivationIds":[7027,"331C6367-0699-4BD6-9916-ABA82517453B","BEAA7850-FEFB-4AFD-9E06-730FF35D99A4","559B0B8A-5C01-4133-88B2-0D08385E23F6","BE195383-D309-4B6E-A6B0-79A6112B4011","E323F75A-232F-4712-9A03-20C8FD574C9A","E6E38336-AA2D-4F75-80C1-B1617DD8544E","DAFCD826-DF9B-4DEF-B4D7-59AAED8D199D","3999CB16-D9E3-4D28-A617-9B093624E8AC"],"_WhiteSpaceHandling":"pre-wrap","_ClipMode":"visible","moved":true,"isBeingDragged":false,"_WordBreak":"break-all","magnets":[{"__isSmartRef__":true,"id":11811},{"__isSmartRef__":true,"id":11812},{"__isSmartRef__":true,"id":11813},{"__isSmartRef__":true,"id":11814},{"__isSmartRef__":true,"id":11815},{"__isSmartRef__":true,"id":11816},{"__isSmartRef__":true,"id":11817},{"__isSmartRef__":true,"id":11818}],"_PreviousBorderWidth":1,"owner":{"__isSmartRef__":true,"id":11801},"oldOwner":{"__isSmartRef__":true,"id":11801},"priorSelectionRange":[1,1],"_Rotation":0,"_Scale":0.9999999999999997,"__serializedExpressions__":["textColor","distanceToDragEvent","_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":11819},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(31.1,-9.9)","_TextColor":"Color.rgb(255,143,0)","_Position":"lively.pt(34.8,36.8)"},"11803":{"fill":null,"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(42.8,29.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"11804":{"migrationLevel":2,"comment":"Label that shows the name of a morph. Updates automatically.","partName":"NameLabel","lastModifiedDate":{"__isSmartRef__":true,"id":11805},"revisionOnLoad":140039,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"11805":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (CEST)"},"11806":{"style":{"__isSmartRef__":true,"id":11807},"chunkOwner":{"__isSmartRef__":true,"id":11802},"_id":"_22384","storedString":"A","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"11807":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"11808":{"sourceObj":{"__isSmartRef__":true,"id":11802},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":11802},"targetMethodName":"updateLabel","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11809":{"sourceObj":{"__isSmartRef__":true,"id":11802},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":11802},"targetMethodName":"renameOwner","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11810":{"morph":{"__isSmartRef__":true,"id":11802},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"11811":{"morph":{"__isSmartRef__":true,"id":11802},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(726.1,3497.3)"},"11812":{"morph":{"__isSmartRef__":true,"id":11802},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(746.1,3489.7)"},"11813":{"morph":{"__isSmartRef__":true,"id":11802},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(766.1,3482.1)"},"11814":{"morph":{"__isSmartRef__":true,"id":11802},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(771.3,3495.6)"},"11815":{"morph":{"__isSmartRef__":true,"id":11802},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(776.4,3509.2)"},"11816":{"morph":{"__isSmartRef__":true,"id":11802},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(756.4,3516.8)"},"11817":{"morph":{"__isSmartRef__":true,"id":11802},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(736.4,3524.4)"},"11818":{"morph":{"__isSmartRef__":true,"id":11802},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(731.2,3510.8)"},"11819":{"updateLabel":{"__isSmartRef__":true,"id":11820},"renameOwner":{"__isSmartRef__":true,"id":11823}},"11820":{"varMapping":{"__isSmartRef__":true,"id":11821},"source":"function updateLabel() {\n\t// observe name changes in owner\n\tif (this.owner !== this.oldOwner) {\n\t\tif (this.oldOwner)\n\t\t\tdisconnect(this.oldOwner, 'name', this, 'updateLabel')\n\t\tif (this.owner)\n\t\t\tconnect(this.owner, 'name', this, 'updateLabel')\n\t\tthis.oldOwner = this.owner\n\t}\n\tvar name = (this.owner ? this.owner.name : \"no owner\")\n\tif (this.textString != name)\n\tthis.setTextString(name)\n}","funcProperties":{"__isSmartRef__":true,"id":11822},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11821":{"this":{"__isSmartRef__":true,"id":11802}},"11822":{},"11823":{"varMapping":{"__isSmartRef__":true,"id":11824},"source":"function renameOwner(name) {\n\tif (this.owner && this.owner.name != name) {\n\t\talertOK(\"renamed \" + this.owner + \" to \" + name)\n\t\tthis.owner.setName(name);\n\t}\n}","funcProperties":{"__isSmartRef__":true,"id":11825},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11824":{"this":{"__isSmartRef__":true,"id":11802}},"11825":{},"11826":{"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(116.7,82.3)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgba(204,204,204,0.5)","_Padding":"lively.rect(0,0,0,0)"},"11827":{"partsSpaceName":"PartsBin/Basic","comment":"A simple box morph. A really orange one. Its amazing what you can build out of simple boxes.... Who needs stars when you got orange rectangles!","migrationLevel":4,"partName":"Rectangle","changes":[{"__isSmartRef__":true,"id":11828},{"__isSmartRef__":true,"id":11830},{"__isSmartRef__":true,"id":11832},{"__isSmartRef__":true,"id":11834},{"__isSmartRef__":true,"id":11836},{"__isSmartRef__":true,"id":11838},{"__isSmartRef__":true,"id":11840},{"__isSmartRef__":true,"id":11842}],"lastModifiedDate":{"__isSmartRef__":true,"id":11844},"revisionOnLoad":184624,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"11828":{"date":{"__isSmartRef__":true,"id":11829},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"11829":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"11830":{"date":{"__isSmartRef__":true,"id":11831},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"11831":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"11832":{"date":{"__isSmartRef__":true,"id":11833},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"11833":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"11834":{"date":{"__isSmartRef__":true,"id":11835},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"11835":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"11836":{"date":{"__isSmartRef__":true,"id":11837},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"11837":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"11838":{"date":{"__isSmartRef__":true,"id":11839},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"11839":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"11840":{"date":{"__isSmartRef__":true,"id":11841},"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8"},"11841":{"isSerializedDate":true,"string":"Mon Jun 18 2012 19:35:08 GMT+0200 (CEST)"},"11842":{"date":{"__isSmartRef__":true,"id":11843},"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205"},"11843":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:35:51 GMT+0100 (CET)"},"11844":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:33:25 GMT+0100 (CET)"},"11845":{"morph":{"__isSmartRef__":true,"id":11801},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"11846":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":11847}},"11847":{"test01IsMorph":{"__isSmartRef__":true,"id":11848}},"11848":{"varMapping":{"__isSmartRef__":true,"id":11849},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":11850},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11849":{"this":{"__isSmartRef__":true,"id":11846}},"11850":{},"11851":{"morph":{"__isSmartRef__":true,"id":11801},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(680.5,3475.2)"},"11852":{"morph":{"__isSmartRef__":true,"id":11801},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(735.0,3454.5)"},"11853":{"morph":{"__isSmartRef__":true,"id":11801},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(789.6,3433.8)"},"11854":{"morph":{"__isSmartRef__":true,"id":11801},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(804.2,3472.2)"},"11855":{"morph":{"__isSmartRef__":true,"id":11801},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(818.8,3510.7)"},"11856":{"morph":{"__isSmartRef__":true,"id":11801},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(764.3,3531.4)"},"11857":{"morph":{"__isSmartRef__":true,"id":11801},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(709.7,3552.2)"},"11858":{"morph":{"__isSmartRef__":true,"id":11801},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(695.1,3513.7)"},"11859":{"sourceObj":{"__isSmartRef__":true,"id":11801},"sourceAttrName":"name","targetObj":{"__isSmartRef__":true,"id":11802},"targetMethodName":"updateLabel","varMapping":{"__isSmartRef__":true,"id":11860},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11860":{"source":{"__isSmartRef__":true,"id":11801},"target":{"__isSmartRef__":true,"id":11802}},"11861":{"sourceObj":{"__isSmartRef__":true,"id":11801},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":11791},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":11862},"dependendConnections":[{"__isSmartRef__":true,"id":11863},{"__isSmartRef__":true,"id":11865},{"__isSmartRef__":true,"id":11867},{"__isSmartRef__":true,"id":11869}],"oldTransform":{"__isSmartRef__":true,"id":11871},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"11862":{"source":{"__isSmartRef__":true,"id":11801},"target":{"__isSmartRef__":true,"id":11791}},"11863":{"sourceObj":{"__isSmartRef__":true,"id":11801},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":11861},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":11864},"dependedBy":{"__isSmartRef__":true,"id":11861},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11864":{"source":{"__isSmartRef__":true,"id":11801},"target":{"__isSmartRef__":true,"id":11861}},"11865":{"sourceObj":{"__isSmartRef__":true,"id":11801},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":11861},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":11866},"dependedBy":{"__isSmartRef__":true,"id":11861},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11866":{"source":{"__isSmartRef__":true,"id":11801},"target":{"__isSmartRef__":true,"id":11861}},"11867":{"sourceObj":{"__isSmartRef__":true,"id":11801},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":11861},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":11868},"dependedBy":{"__isSmartRef__":true,"id":11861},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11868":{"source":{"__isSmartRef__":true,"id":11801},"target":{"__isSmartRef__":true,"id":11861}},"11869":{"sourceObj":{"__isSmartRef__":true,"id":11801},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":11861},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":11870},"dependedBy":{"__isSmartRef__":true,"id":11861},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11870":{"source":{"__isSmartRef__":true,"id":11801},"target":{"__isSmartRef__":true,"id":11861}},"11871":{"d":0.9347623017725522,"a":0.9347623017725522,"f":3485.245045045044,"e":728.5390390390387,"c":0.3552737524570028,"b":-0.3552737524570028,"matrix_":{"__isSmartRef__":true,"id":11872},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"11872":{"a":0.9347623017725522,"b":-0.3552737524570028,"c":0.3552737524570028,"d":0.9347623017725522,"e":728.5390390390387,"f":3485.245045045044,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"11873":{"sourceObj":{"__isSmartRef__":true,"id":11801},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":11874},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":11986},"dependendConnections":[{"__isSmartRef__":true,"id":11987},{"__isSmartRef__":true,"id":11989},{"__isSmartRef__":true,"id":11991},{"__isSmartRef__":true,"id":11993}],"oldTransform":{"__isSmartRef__":true,"id":11995},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"11874":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":11875},"id":"4809CC50-2A92-4A4F-9D0D-829B6BA12A0B","eventHandler":{"__isSmartRef__":true,"id":11878},"__layered_droppingEnabled__":true,"halosEnabled":true,"isBeingDragged":false,"controlPoints":[{"__isSmartRef__":true,"id":11879},{"__isSmartRef__":true,"id":11880}],"showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":11881},"name":"Connector1","derivationIds":[731,"5E6BD741-9C99-47B9-95C1-7A028178DB17","A8D5C37A-F23F-47FE-8DE2-211CE4484A4F","F722069B-8602-4E8D-BE3F-92A1E0C0EF28","D5ED19F9-968E-4C7E-9936-69F2735A813F","A9E370BC-F208-425C-BFFC-F8D6BB52E11F","4E431641-D056-46CB-B2A8-6626382EF423"],"_ClipMode":"visible","controlPointsHalos":[],"prevScroll":[0,0],"grabbingEnabled":false,"moved":true,"#startLetters":"controlPoints[0]","fromMorph":{"__isSmartRef__":true,"id":11801},"toMorph":{"__isSmartRef__":true,"id":3202},"update":{"__isSmartRef__":true,"id":11887},"isCopyMorphRef":true,"morphRefId":2,"selectedMorph":{"__isSmartRef__":true,"id":3202},"selectedMorphHighlights":[],"owner":null,"_Rotation":0,"_Scale":1,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":11889},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","distanceToDragEvent":"lively.pt(295.7,-20.8)","_Position":"lively.pt(10527.5,52997.9)"},"11875":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":11876},{"__isSmartRef__":true,"id":11877}],"_ClipMode":"visible","_BorderWidth":3.1119999999999997,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Padding","_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(-75.9,-6.9)","_Extent":"lively.pt(151.7,13.9)","_BorderColor":"Color.rgb(161,161,161)"},"11876":{"isAbsolute":true,"x":74.86198803712648,"y":-4.949983532278566,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"11877":{"isAbsolute":true,"x":-73.86198803712614,"y":5.949983532282204,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"11878":{"morph":{"__isSmartRef__":true,"id":11874},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"11879":{"morph":{"__isSmartRef__":true,"id":11874},"index":0,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"11880":{"morph":{"__isSmartRef__":true,"id":11874},"index":1,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"11881":{"requiredModules":[],"migrationLevel":4,"partsSpaceName":"PartsBin/Jens/","comment":"Yes, I think I got it again: Powerful and nice connectors.\nThis time 100 % Part only!","partName":"Connector","lastModifiedDate":{"__isSmartRef__":true,"id":11882},"revisionOnLoad":186829,"changes":[{"__isSmartRef__":true,"id":11883},{"__isSmartRef__":true,"id":11885}],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"11882":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:04:50 GMT+0100 (CET)"},"11883":{"date":{"__isSmartRef__":true,"id":11884},"author":"jenslincke","message":"no comment","id":"28165CED-C8C5-4B8E-9655-645E3F5099BB"},"11884":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:42 GMT+0100 (CET)"},"11885":{"date":{"__isSmartRef__":true,"id":11886},"author":"jenslincke","message":"no comment","id":"117C964B-9768-48F2-8EC8-D4328478198F"},"11886":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:05:07 GMT+0100 (CET)"},"11887":{"d":1,"a":1,"f":906.1,"e":107.8,"c":0,"b":0,"matrix_":{"__isSmartRef__":true,"id":11888},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"11888":{"a":1,"b":0,"c":0,"d":1,"e":107.8,"f":906.1,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"11889":{"connect":{"__isSmartRef__":true,"id":11890},"updatePosition":{"__isSmartRef__":true,"id":11894},"updateControlPoint":{"__isSmartRef__":true,"id":11898},"disconnectMorph":{"__isSmartRef__":true,"id":11902},"connectMorph":{"__isSmartRef__":true,"id":11906},"onMouseOver":{"__isSmartRef__":true,"id":11910},"onMouseOut":{"__isSmartRef__":true,"id":11914},"makeHandle":{"__isSmartRef__":true,"id":11922},"showFromHandle":{"__isSmartRef__":true,"id":11926},"showToHandle":{"__isSmartRef__":true,"id":11930},"reset":{"__isSmartRef__":true,"id":11934},"onDragInHandle":{"__isSmartRef__":true,"id":11938},"onDragStartInHandle":{"__isSmartRef__":true,"id":11942},"onDragEndInHandle":{"__isSmartRef__":true,"id":11946},"connectFrom":{"__isSmartRef__":true,"id":11950},"connectTo":{"__isSmartRef__":true,"id":11954},"hideToHandle":{"__isSmartRef__":true,"id":11958},"hideFromHandle":{"__isSmartRef__":true,"id":11962},"updateIntersection":{"__isSmartRef__":true,"id":11966},"lineIntersect":{"__isSmartRef__":true,"id":11970},"intersectMorphLinePoints":{"__isSmartRef__":true,"id":11974},"intersectMorph":{"__isSmartRef__":true,"id":11978},"globalShapePathFromMorph":{"__isSmartRef__":true,"id":11982}},"11890":{"varMapping":{"__isSmartRef__":true,"id":11891},"source":"function connect(morphA, morphB) {\n this.connectFrom(morphA)\n this.connectTo(morphB)\n this.updatePosition()\n}","funcProperties":{"__isSmartRef__":true,"id":11892},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11891":{"this":{"__isSmartRef__":true,"id":11874}},"11892":{"timestamp":{"__isSmartRef__":true,"id":11893},"user":"jenslincke","tags":[]},"11893":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:50:49 GMT+0100 (CET)"},"11894":{"varMapping":{"__isSmartRef__":true,"id":11895},"source":"function updatePosition() {\n this.updateControlPoint(this.controlPoints[0], this.fromMorph)\n this.updateControlPoint(this.controlPoints[1], this.toMorph)\n this.updateIntersection(this.fromMorph, this.controlPoints[0])\n this.updateIntersection(this.toMorph, this.controlPoints[1])\n\n this.adjustOrigin(this.bounds().extent().scaleBy(0.5))\n}","funcProperties":{"__isSmartRef__":true,"id":11896},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11895":{"this":{"__isSmartRef__":true,"id":11874}},"11896":{"timestamp":{"__isSmartRef__":true,"id":11897},"user":"jenslincke","tags":[]},"11897":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:06:20 GMT+0100 (CET)"},"11898":{"varMapping":{"__isSmartRef__":true,"id":11899},"source":"function updateControlPoint(cp, morph) {\n if (!cp || !morph) return;\n cp.setGlobalPos(morph.worldPoint(morph.shape.bounds().center()))\n}","funcProperties":{"__isSmartRef__":true,"id":11900},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11899":{"this":{"__isSmartRef__":true,"id":11874}},"11900":{"timestamp":{"__isSmartRef__":true,"id":11901},"user":"jenslincke","tags":[]},"11901":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:45:56 GMT+0100 (CET)"},"11902":{"varMapping":{"__isSmartRef__":true,"id":11903},"source":"function disconnectMorph(morph) {\n if (!morph) return;\n lively.bindings.disconnect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":11904},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11903":{"this":{"__isSmartRef__":true,"id":11874}},"11904":{"timestamp":{"__isSmartRef__":true,"id":11905},"user":"jenslincke","tags":[]},"11905":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:19:18 GMT+0100 (CET)"},"11906":{"varMapping":{"__isSmartRef__":true,"id":11907},"source":"function connectMorph(morph) {\n if (morph)\n lively.bindings.connect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":11908},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11907":{"this":{"__isSmartRef__":true,"id":11874}},"11908":{"timestamp":{"__isSmartRef__":true,"id":11909},"user":"jenslincke","tags":[]},"11909":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:52:12 GMT+0100 (CET)"},"11910":{"varMapping":{"__isSmartRef__":true,"id":11911},"source":"function onMouseOver(evt) {\n var p = evt.mousePoint.scaleBy(this.world().getScale())\n\n var cp1 = this.controlPoints[0].getGlobalPos();\n if (p.dist(cp1) < 20) {\n this.showFromHandle()\n } else {\n this.hideFromHandle()\n }\n var cp2 = this.controlPoints[1].getGlobalPos();\n if (p.dist(cp2) < 20) {\n this.showToHandle()\n } else {\n this.hideToHandle()\n }\n}","funcProperties":{"__isSmartRef__":true,"id":11912},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11911":{"this":{"__isSmartRef__":true,"id":11874}},"11912":{"timestamp":{"__isSmartRef__":true,"id":11913},"user":"jenslincke","tags":[]},"11913":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:23:03 GMT+0100 (CET)"},"11914":{"varMapping":{"__isSmartRef__":true,"id":11915},"source":"function onMouseOut(evt) {\n // this.hideFromHandle()\n // this.hideToHandle()\n}","funcProperties":{"__isSmartRef__":true,"id":11920},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11915":{"this":{"__isSmartRef__":true,"id":11874},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":11916}},"11916":{"$super":{"__isSmartRef__":true,"id":11917}},"11917":{"varMapping":{"__isSmartRef__":true,"id":11918},"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":11919},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11918":{"obj":{"__isSmartRef__":true,"id":11874},"name":"onMouseOut"},"11919":{},"11920":{"timestamp":{"__isSmartRef__":true,"id":11921},"user":"jenslincke","tags":[]},"11921":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:54:53 GMT+0100 (CET)"},"11922":{"varMapping":{"__isSmartRef__":true,"id":11923},"source":"function makeHandle() {\n var m = lively.morphic.Morph.makeRectangle(0,0,10,10);\n m.disableGrabbing()\n m.enableDragging()\n m.connector = this;\n // move real behavior to a place which is easier to develop\n // do not use bind, because we like late binding \n m.addScript(function onDragStart(evt) {\n this.connector.onDragStartInHandle(this, evt)\n })\n m.addScript(function onDrag(evt) {\n this.connector.onDragInHandle(this, evt)\n })\n m.addScript(function onDragEnd(evt) {\n this.connector.onDragEndInHandle(this, evt)\n })\n m.isEpiMorph = true;\n return m\n}","funcProperties":{"__isSmartRef__":true,"id":11924},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11923":{"this":{"__isSmartRef__":true,"id":11874}},"11924":{"timestamp":{"__isSmartRef__":true,"id":11925},"user":"jenslincke","tags":[]},"11925":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:08:29 GMT+0100 (CET)"},"11926":{"varMapping":{"__isSmartRef__":true,"id":11927},"source":"function showFromHandle() {\n if (!this.fromHandle) {\n this.fromHandle = this.makeHandle();\n this.fromHandle.setFill(Color.red)\n this.fromHandle.isFromHandle = true;\n }\n this.fromHandle.openInWorld();\n this.fromHandle.controlPoint = this.controlPoints[0];\n this.fromHandle.setPosition(this.controlPoints[0].getGlobalPos().subPt(pt(5,5)))\n return this.fromHandle\n}","funcProperties":{"__isSmartRef__":true,"id":11928},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11927":{"this":{"__isSmartRef__":true,"id":11874}},"11928":{"timestamp":{"__isSmartRef__":true,"id":11929},"user":"jenslincke","tags":[]},"11929":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:13:03 GMT+0100 (CET)"},"11930":{"varMapping":{"__isSmartRef__":true,"id":11931},"source":"function showToHandle() {\n if (!this.toHandle) {\n this.toHandle = this.makeHandle();\n this.toHandle.setFill(Color.red)\n this.toHandle.isToHandle = true;\n\n }\n this.toHandle.openInWorld();\n this.toHandle.controlPoint = this.controlPoints[1];\n this.toHandle.setPosition(this.controlPoints[1].getGlobalPos().subPt(pt(5,5)))\n return this.toHandle\n}","funcProperties":{"__isSmartRef__":true,"id":11932},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11931":{"this":{"__isSmartRef__":true,"id":11874}},"11932":{"timestamp":{"__isSmartRef__":true,"id":11933},"user":"jenslincke","tags":[]},"11933":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:20:25 GMT+0100 (CET)"},"11934":{"varMapping":{"__isSmartRef__":true,"id":11935},"source":"function reset() {\n if (this.fromHandle) {\n this.fromHandle.remove()\n delete this.fromHandle\n }\n if (this.toHandle) {\n this.toHandle.remove()\n delete this.toHandle\n }\n // this.controlPoints[1].setPos(pt(200,200))\n}","funcProperties":{"__isSmartRef__":true,"id":11936},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11935":{"this":{"__isSmartRef__":true,"id":11874}},"11936":{"timestamp":{"__isSmartRef__":true,"id":11937},"user":"jenslincke","tags":[]},"11937":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:15:00 GMT+0100 (CET)"},"11938":{"varMapping":{"__isSmartRef__":true,"id":11939},"source":"function onDragInHandle(handle, evt) {\n\n var pos = handle.getPositionInWorld();\n var delta = evt.hand.getPosition().subPt(pos);\n handle.moveBy(delta)\n pos = handle.getPositionInWorld();\n if (handle.controlPoint)\n handle.controlPoint.setGlobalPos(pos.addPt(pt(5,5)))\n var morphs = this.owner.morphsContainingPoint(pos)\n morphs = morphs.reject(function(ea) {\n return ea.isWorld || (ea === handle) || (ea === this) || \n (ea === this.owner)\n }, this)\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n this.selectedMorph = morphs.first();\n this.selectedMorphHighlights = show(this.selectedMorph)\n handle.startPos = evt.getPosition();\n}","funcProperties":{"__isSmartRef__":true,"id":11940},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11939":{"this":{"__isSmartRef__":true,"id":11874}},"11940":{"timestamp":{"__isSmartRef__":true,"id":11941},"user":"jenslincke","tags":[]},"11941":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:06:40 GMT+0100 (CET)"},"11942":{"varMapping":{"__isSmartRef__":true,"id":11943},"source":"function onDragStartInHandle(handle, evt) {\n handle.startPos = evt.getPosition()\n}","funcProperties":{"__isSmartRef__":true,"id":11944},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11943":{"this":{"__isSmartRef__":true,"id":11874}},"11944":{"timestamp":{"__isSmartRef__":true,"id":11945},"user":"jenslincke","tags":[]},"11945":{"isSerializedDate":true,"string":"Thu Dec 13 2012 15:51:13 GMT+0100 (CET)"},"11946":{"varMapping":{"__isSmartRef__":true,"id":11947},"source":"function onDragEndInHandle(handle, evt) {\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n \n if (handle.isFromHandle) this.connectFrom(this.selectedMorph)\n if (handle.isToHandle) this.connectTo(this.selectedMorph)\n handle.remove()\n}","funcProperties":{"__isSmartRef__":true,"id":11948},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11947":{"this":{"__isSmartRef__":true,"id":11874}},"11948":{"timestamp":{"__isSmartRef__":true,"id":11949},"user":"jenslincke","tags":[]},"11949":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:44:35 GMT+0100 (CET)"},"11950":{"varMapping":{"__isSmartRef__":true,"id":11951},"source":"function connectFrom(morph) {\n if (morph && morph === this.toMorph) return; // not allowed\n\n this.disconnectMorph(this.fromMorph)\n this.fromMorph = morph;\n this.connectMorph(this.fromMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":11952},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11951":{"this":{"__isSmartRef__":true,"id":11874}},"11952":{"timestamp":{"__isSmartRef__":true,"id":11953},"user":"jenslincke","tags":[]},"11953":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:02:22 GMT+0100 (CET)"},"11954":{"varMapping":{"__isSmartRef__":true,"id":11955},"source":"function connectTo(morph) {\n\n if (morph && morph === this.fromMorph) return; // not allowed\n\n this.disconnectMorph(this.toMorph)\n this.toMorph = morph;\n this.connectMorph(this.toMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":11956},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11955":{"this":{"__isSmartRef__":true,"id":11874}},"11956":{"timestamp":{"__isSmartRef__":true,"id":11957},"user":"jenslincke","tags":[]},"11957":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:02:30 GMT+0100 (CET)"},"11958":{"varMapping":{"__isSmartRef__":true,"id":11959},"source":"function hideToHandle() {\n if (this.toHandle) {\n this.toHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":11960},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11959":{"this":{"__isSmartRef__":true,"id":11874}},"11960":{"timestamp":{"__isSmartRef__":true,"id":11961},"user":"jenslincke","tags":[]},"11961":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:51:59 GMT+0100 (CET)"},"11962":{"varMapping":{"__isSmartRef__":true,"id":11963},"source":"function hideFromHandle() {\n if (this.fromHandle) {\n this.fromHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":11964},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11963":{"this":{"__isSmartRef__":true,"id":11874}},"11964":{"timestamp":{"__isSmartRef__":true,"id":11965},"user":"jenslincke","tags":[]},"11965":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:52:18 GMT+0100 (CET)"},"11966":{"varMapping":{"__isSmartRef__":true,"id":11967},"source":"function updateIntersection(morph, cp) {\n if (!morph) return;\n var intersection = this.intersectMorph(morph)[0];\n if (intersection) {\n cp.setGlobalPos(intersection);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":11968},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11967":{"this":{"__isSmartRef__":true,"id":11874}},"11968":{"timestamp":{"__isSmartRef__":true,"id":11969},"user":"jenslincke","tags":[]},"11969":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:32 GMT+0100 (CET)"},"11970":{"varMapping":{"__isSmartRef__":true,"id":11971},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":11972},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11971":{"this":{"__isSmartRef__":true,"id":11874}},"11972":{"timestamp":{"__isSmartRef__":true,"id":11973},"user":"jenslincke","tags":[]},"11973":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:47:12 GMT+0100 (CET)"},"11974":{"varMapping":{"__isSmartRef__":true,"id":11975},"source":"function intersectMorphLinePoints(morph, a1, a2) {\n var points = this.globalShapePathFromMorph(morph);\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":11976},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11975":{"this":{"__isSmartRef__":true,"id":11874}},"11976":{"timestamp":{"__isSmartRef__":true,"id":11977},"user":"jenslincke","tags":[]},"11977":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:21 GMT+0100 (CET)"},"11978":{"varMapping":{"__isSmartRef__":true,"id":11979},"source":"function intersectMorph(morph) {\n var line = this;\n return this.intersectMorphLinePoints(morph,\n line.controlPoints[0].getGlobalPos(), line.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":11980},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11979":{"this":{"__isSmartRef__":true,"id":11874}},"11980":{"timestamp":{"__isSmartRef__":true,"id":11981},"user":"jenslincke","tags":[]},"11981":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:47 GMT+0100 (CET)"},"11982":{"varMapping":{"__isSmartRef__":true,"id":11983},"source":"function globalShapePathFromMorph(morph) {\n var b = morph.shape.bounds();\n var p1 = morph.worldPoint(b.topLeft()),\n p2 = morph.worldPoint(b.topRight()),\n p3 = morph.worldPoint(b.bottomRight()),\n p4 = morph.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":11984},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11983":{"this":{"__isSmartRef__":true,"id":11874}},"11984":{"timestamp":{"__isSmartRef__":true,"id":11985},"user":"jenslincke","tags":[]},"11985":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:00 GMT+0100 (CET)"},"11986":{"source":{"__isSmartRef__":true,"id":11801},"target":{"__isSmartRef__":true,"id":11874}},"11987":{"sourceObj":{"__isSmartRef__":true,"id":11801},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":11873},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":11988},"dependedBy":{"__isSmartRef__":true,"id":11873},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11988":{"source":{"__isSmartRef__":true,"id":11801},"target":{"__isSmartRef__":true,"id":11873}},"11989":{"sourceObj":{"__isSmartRef__":true,"id":11801},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":11873},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":11990},"dependedBy":{"__isSmartRef__":true,"id":11873},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11990":{"source":{"__isSmartRef__":true,"id":11801},"target":{"__isSmartRef__":true,"id":11873}},"11991":{"sourceObj":{"__isSmartRef__":true,"id":11801},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":11873},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":11992},"dependedBy":{"__isSmartRef__":true,"id":11873},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11992":{"source":{"__isSmartRef__":true,"id":11801},"target":{"__isSmartRef__":true,"id":11873}},"11993":{"sourceObj":{"__isSmartRef__":true,"id":11801},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":11873},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":11994},"dependedBy":{"__isSmartRef__":true,"id":11873},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"11994":{"source":{"__isSmartRef__":true,"id":11801},"target":{"__isSmartRef__":true,"id":11873}},"11995":{"d":0.9347623017725522,"a":0.9347623017725522,"f":3485.245045045044,"e":728.5390390390387,"c":0.3552737524570028,"b":-0.3552737524570028,"matrix_":{"__isSmartRef__":true,"id":11996},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"11996":{"a":0.9347623017725522,"b":-0.3552737524570028,"c":0.3552737524570028,"d":0.9347623017725522,"e":728.5390390390387,"f":3485.245045045044,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"11997":{"globalShapePath":{"__isSmartRef__":true,"id":11998},"lineIntersect":{"__isSmartRef__":true,"id":12001},"intersectLine":{"__isSmartRef__":true,"id":12005},"intersectLineMorph":{"__isSmartRef__":true,"id":12008}},"11998":{"varMapping":{"__isSmartRef__":true,"id":11999},"source":"function globalShapePath() {\n var b = this.shape.bounds();\n var p1 = this.worldPoint(b.topLeft()),\n p2 = this.worldPoint(b.topRight()),\n p3 = this.worldPoint(b.bottomRight()),\n p4 = this.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":12000},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"11999":{"this":{"__isSmartRef__":true,"id":11801}},"12000":{},"12001":{"varMapping":{"__isSmartRef__":true,"id":12002},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":12003},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12002":{"this":{"__isSmartRef__":true,"id":11801}},"12003":{"timestamp":{"__isSmartRef__":true,"id":12004},"user":"jenslincke","tags":[]},"12004":{"isSerializedDate":true,"string":"Thu Dec 13 2012 13:42:55 GMT+0100 (CET)"},"12005":{"varMapping":{"__isSmartRef__":true,"id":12006},"source":"function intersectLine(a1, a2) {\n var points = this.globalShapePath();\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":12007},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12006":{"this":{"__isSmartRef__":true,"id":11801}},"12007":{},"12008":{"varMapping":{"__isSmartRef__":true,"id":12009},"source":"function intersectLineMorph(m) {\n return this.intersectLine(m.controlPoints[0].getGlobalPos(), m.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":12010},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12009":{"this":{"__isSmartRef__":true,"id":11801}},"12010":{},"12011":{"d":1,"a":1,"f":906.1,"e":107.8,"c":0,"b":0,"matrix_":{"__isSmartRef__":true,"id":12012},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"12012":{"a":1,"b":0,"c":0,"d":1,"e":107.8,"f":906.1,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"12013":{"connect":{"__isSmartRef__":true,"id":12014},"updatePosition":{"__isSmartRef__":true,"id":12018},"updateControlPoint":{"__isSmartRef__":true,"id":12022},"disconnectMorph":{"__isSmartRef__":true,"id":12026},"connectMorph":{"__isSmartRef__":true,"id":12030},"onMouseOver":{"__isSmartRef__":true,"id":12034},"onMouseOut":{"__isSmartRef__":true,"id":12038},"makeHandle":{"__isSmartRef__":true,"id":12046},"showFromHandle":{"__isSmartRef__":true,"id":12050},"showToHandle":{"__isSmartRef__":true,"id":12054},"reset":{"__isSmartRef__":true,"id":12058},"onDragInHandle":{"__isSmartRef__":true,"id":12062},"onDragStartInHandle":{"__isSmartRef__":true,"id":12066},"onDragEndInHandle":{"__isSmartRef__":true,"id":12070},"connectFrom":{"__isSmartRef__":true,"id":12074},"connectTo":{"__isSmartRef__":true,"id":12078},"hideToHandle":{"__isSmartRef__":true,"id":12082},"hideFromHandle":{"__isSmartRef__":true,"id":12086},"updateIntersection":{"__isSmartRef__":true,"id":12090},"lineIntersect":{"__isSmartRef__":true,"id":12094},"intersectMorphLinePoints":{"__isSmartRef__":true,"id":12098},"intersectMorph":{"__isSmartRef__":true,"id":12102},"globalShapePathFromMorph":{"__isSmartRef__":true,"id":12106}},"12014":{"varMapping":{"__isSmartRef__":true,"id":12015},"source":"function connect(morphA, morphB) {\n this.connectFrom(morphA)\n this.connectTo(morphB)\n this.updatePosition()\n}","funcProperties":{"__isSmartRef__":true,"id":12016},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12015":{"this":{"__isSmartRef__":true,"id":11791}},"12016":{"timestamp":{"__isSmartRef__":true,"id":12017},"user":"jenslincke","tags":[]},"12017":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:50:49 GMT+0100 (CET)"},"12018":{"varMapping":{"__isSmartRef__":true,"id":12019},"source":"function updatePosition() {\n this.updateControlPoint(this.controlPoints[0], this.fromMorph)\n this.updateControlPoint(this.controlPoints[1], this.toMorph)\n this.updateIntersection(this.fromMorph, this.controlPoints[0])\n this.updateIntersection(this.toMorph, this.controlPoints[1])\n\n if (this.controlPoints[0].getPos().equalPt(this.controlPoints[1].getPos()))\n this.controlPoints[1].setPos(this.controlPoints[1].getPos().addPt(pt(30,0)))\n\n this.adjustOrigin(this.bounds().extent().scaleBy(0.5))\n \n}","funcProperties":{"__isSmartRef__":true,"id":12020},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12019":{"this":{"__isSmartRef__":true,"id":11791}},"12020":{"timestamp":{"__isSmartRef__":true,"id":12021},"user":"jenslincke","tags":[]},"12021":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:59:26 GMT+0100 (CET)"},"12022":{"varMapping":{"__isSmartRef__":true,"id":12023},"source":"function updateControlPoint(cp, morph) {\n if (!cp || !morph) return;\n cp.setGlobalPos(morph.worldPoint(morph.shape.bounds().center()))\n}","funcProperties":{"__isSmartRef__":true,"id":12024},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12023":{"this":{"__isSmartRef__":true,"id":11791}},"12024":{"timestamp":{"__isSmartRef__":true,"id":12025},"user":"jenslincke","tags":[]},"12025":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:45:56 GMT+0100 (CET)"},"12026":{"varMapping":{"__isSmartRef__":true,"id":12027},"source":"function disconnectMorph(morph) {\n if (!morph) return;\n lively.bindings.disconnect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":12028},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12027":{"this":{"__isSmartRef__":true,"id":11791}},"12028":{"timestamp":{"__isSmartRef__":true,"id":12029},"user":"jenslincke","tags":[]},"12029":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:19:18 GMT+0100 (CET)"},"12030":{"varMapping":{"__isSmartRef__":true,"id":12031},"source":"function connectMorph(morph) {\n if (morph)\n lively.bindings.connect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":12032},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12031":{"this":{"__isSmartRef__":true,"id":11791}},"12032":{"timestamp":{"__isSmartRef__":true,"id":12033},"user":"jenslincke","tags":[]},"12033":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:52:12 GMT+0100 (CET)"},"12034":{"varMapping":{"__isSmartRef__":true,"id":12035},"source":"function onMouseOver(evt) {\n var p = evt.mousePoint.scaleBy(this.world().getScale())\n\n var cp1 = this.controlPoints[0].getGlobalPos();\n if (p.dist(cp1) < 20) {\n this.showFromHandle()\n } else {\n this.hideFromHandle()\n }\n var cp2 = this.controlPoints[1].getGlobalPos();\n if (p.dist(cp2) < 20) {\n this.showToHandle()\n } else {\n this.hideToHandle()\n }\n}","funcProperties":{"__isSmartRef__":true,"id":12036},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12035":{"this":{"__isSmartRef__":true,"id":11791}},"12036":{"timestamp":{"__isSmartRef__":true,"id":12037},"user":"jenslincke","tags":[]},"12037":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:23:03 GMT+0100 (CET)"},"12038":{"varMapping":{"__isSmartRef__":true,"id":12039},"source":"function onMouseOut(evt) {\n // this.hideFromHandle()\n // this.hideToHandle()\n}","funcProperties":{"__isSmartRef__":true,"id":12044},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12039":{"this":{"__isSmartRef__":true,"id":11791},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":12040}},"12040":{"$super":{"__isSmartRef__":true,"id":12041}},"12041":{"varMapping":{"__isSmartRef__":true,"id":12042},"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":12043},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12042":{"obj":{"__isSmartRef__":true,"id":11791},"name":"onMouseOut"},"12043":{},"12044":{"timestamp":{"__isSmartRef__":true,"id":12045},"user":"jenslincke","tags":[]},"12045":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:54:53 GMT+0100 (CET)"},"12046":{"varMapping":{"__isSmartRef__":true,"id":12047},"source":"function makeHandle() {\n var m = lively.morphic.Morph.makeRectangle(0,0,10,10);\n m.disableGrabbing()\n m.enableDragging()\n m.connector = this;\n // move real behavior to a place which is easier to develop\n // do not use bind, because we like late binding \n m.addScript(function onDragStart(evt) {\n this.connector.onDragStartInHandle(this, evt)\n })\n m.addScript(function onDrag(evt) {\n this.connector.onDragInHandle(this, evt)\n })\n m.addScript(function onDragEnd(evt) {\n this.connector.onDragEndInHandle(this, evt)\n })\n m.isEpiMorph = true;\n return m\n}","funcProperties":{"__isSmartRef__":true,"id":12048},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12047":{"this":{"__isSmartRef__":true,"id":11791}},"12048":{"timestamp":{"__isSmartRef__":true,"id":12049},"user":"jenslincke","tags":[]},"12049":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:08:29 GMT+0100 (CET)"},"12050":{"varMapping":{"__isSmartRef__":true,"id":12051},"source":"function showFromHandle() {\n if (!this.fromHandle) {\n this.fromHandle = this.makeHandle();\n this.fromHandle.setFill(Color.red)\n this.fromHandle.isFromHandle = true;\n }\n this.fromHandle.openInWorld();\n this.fromHandle.controlPoint = this.controlPoints[0];\n this.fromHandle.setPosition(this.controlPoints[0].getGlobalPos().subPt(pt(5,5)))\n return this.fromHandle\n}","funcProperties":{"__isSmartRef__":true,"id":12052},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12051":{"this":{"__isSmartRef__":true,"id":11791}},"12052":{"timestamp":{"__isSmartRef__":true,"id":12053},"user":"jenslincke","tags":[]},"12053":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:13:03 GMT+0100 (CET)"},"12054":{"varMapping":{"__isSmartRef__":true,"id":12055},"source":"function showToHandle() {\n if (!this.toHandle) {\n this.toHandle = this.makeHandle();\n this.toHandle.setFill(Color.red)\n this.toHandle.isToHandle = true;\n\n }\n this.toHandle.openInWorld();\n this.toHandle.controlPoint = this.controlPoints[1];\n this.toHandle.setPosition(this.controlPoints[1].getGlobalPos().subPt(pt(5,5)))\n return this.toHandle\n}","funcProperties":{"__isSmartRef__":true,"id":12056},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12055":{"this":{"__isSmartRef__":true,"id":11791}},"12056":{"timestamp":{"__isSmartRef__":true,"id":12057},"user":"jenslincke","tags":[]},"12057":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:20:25 GMT+0100 (CET)"},"12058":{"varMapping":{"__isSmartRef__":true,"id":12059},"source":"function reset() {\n if (this.fromHandle) {\n this.fromHandle.remove()\n delete this.fromHandle\n }\n if (this.toHandle) {\n this.toHandle.remove()\n delete this.toHandle\n }\n // this.controlPoints[1].setPos(pt(200,200))\n}","funcProperties":{"__isSmartRef__":true,"id":12060},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12059":{"this":{"__isSmartRef__":true,"id":11791}},"12060":{"timestamp":{"__isSmartRef__":true,"id":12061},"user":"jenslincke","tags":[]},"12061":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:15:00 GMT+0100 (CET)"},"12062":{"varMapping":{"__isSmartRef__":true,"id":12063},"source":"function onDragInHandle(handle, evt) {\n\n var pos = handle.getPositionInWorld();\n var delta = evt.hand.getPosition().subPt(pos);\n handle.moveBy(delta)\n pos = handle.getPositionInWorld();\n if (handle.controlPoint)\n handle.controlPoint.setGlobalPos(pos.addPt(pt(5,5)))\n var morphs = this.owner.morphsContainingPoint(pos)\n morphs = morphs.reject(function(ea) {\n return ea.isWorld || (ea === handle) || (ea === this) || \n (ea === this.owner)\n }, this)\n this.get('Console').textString = morphs\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n this.selectedMorph = morphs.first();\n this.selectedMorphHighlights = show(this.selectedMorph)\n handle.startPos = evt.getPosition();\n}","funcProperties":{"__isSmartRef__":true,"id":12064},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12063":{"this":{"__isSmartRef__":true,"id":11791}},"12064":{"timestamp":{"__isSmartRef__":true,"id":12065},"user":"jenslincke","tags":[]},"12065":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:09:40 GMT+0100 (CET)"},"12066":{"varMapping":{"__isSmartRef__":true,"id":12067},"source":"function onDragStartInHandle(handle, evt) {\n handle.startPos = evt.getPosition()\n}","funcProperties":{"__isSmartRef__":true,"id":12068},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12067":{"this":{"__isSmartRef__":true,"id":11791}},"12068":{"timestamp":{"__isSmartRef__":true,"id":12069},"user":"jenslincke","tags":[]},"12069":{"isSerializedDate":true,"string":"Thu Dec 13 2012 15:51:13 GMT+0100 (CET)"},"12070":{"varMapping":{"__isSmartRef__":true,"id":12071},"source":"function onDragEndInHandle(handle, evt) {\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n \n if (handle.isFromHandle) this.connectFrom(this.selectedMorph)\n if (handle.isToHandle) this.connectTo(this.selectedMorph)\n handle.remove()\n}","funcProperties":{"__isSmartRef__":true,"id":12072},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12071":{"this":{"__isSmartRef__":true,"id":11791}},"12072":{"timestamp":{"__isSmartRef__":true,"id":12073},"user":"jenslincke","tags":[]},"12073":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:44:35 GMT+0100 (CET)"},"12074":{"varMapping":{"__isSmartRef__":true,"id":12075},"source":"function connectFrom(morph) {\n if (morph === this.toMorph) return; // not allowed\n\n this.disconnectMorph(this.fromMorph)\n this.fromMorph = morph;\n this.connectMorph(this.fromMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":12076},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12075":{"this":{"__isSmartRef__":true,"id":11791}},"12076":{"timestamp":{"__isSmartRef__":true,"id":12077},"user":"jenslincke","tags":[]},"12077":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:57:22 GMT+0100 (CET)"},"12078":{"varMapping":{"__isSmartRef__":true,"id":12079},"source":"function connectTo(morph) {\n\n if (morph === this.fromMorph) return; // not allowed\n\n this.disconnectMorph(this.toMorph)\n this.toMorph = morph;\n this.connectMorph(this.toMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":12080},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12079":{"this":{"__isSmartRef__":true,"id":11791}},"12080":{"timestamp":{"__isSmartRef__":true,"id":12081},"user":"jenslincke","tags":[]},"12081":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:57:14 GMT+0100 (CET)"},"12082":{"varMapping":{"__isSmartRef__":true,"id":12083},"source":"function hideToHandle() {\n if (this.toHandle) {\n this.toHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":12084},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12083":{"this":{"__isSmartRef__":true,"id":11791}},"12084":{"timestamp":{"__isSmartRef__":true,"id":12085},"user":"jenslincke","tags":[]},"12085":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:51:59 GMT+0100 (CET)"},"12086":{"varMapping":{"__isSmartRef__":true,"id":12087},"source":"function hideFromHandle() {\n if (this.fromHandle) {\n this.fromHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":12088},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12087":{"this":{"__isSmartRef__":true,"id":11791}},"12088":{"timestamp":{"__isSmartRef__":true,"id":12089},"user":"jenslincke","tags":[]},"12089":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:52:18 GMT+0100 (CET)"},"12090":{"varMapping":{"__isSmartRef__":true,"id":12091},"source":"function updateIntersection(morph, cp) {\n if (!morph) return;\n var intersection = this.intersectMorph(morph)[0];\n if (intersection) {\n cp.setGlobalPos(intersection);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":12092},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12091":{"this":{"__isSmartRef__":true,"id":11791}},"12092":{"timestamp":{"__isSmartRef__":true,"id":12093},"user":"jenslincke","tags":[]},"12093":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:32 GMT+0100 (CET)"},"12094":{"varMapping":{"__isSmartRef__":true,"id":12095},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":12096},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12095":{"this":{"__isSmartRef__":true,"id":11791}},"12096":{"timestamp":{"__isSmartRef__":true,"id":12097},"user":"jenslincke","tags":[]},"12097":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:47:12 GMT+0100 (CET)"},"12098":{"varMapping":{"__isSmartRef__":true,"id":12099},"source":"function intersectMorphLinePoints(morph, a1, a2) {\n var points = this.globalShapePathFromMorph(morph);\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":12100},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12099":{"this":{"__isSmartRef__":true,"id":11791}},"12100":{"timestamp":{"__isSmartRef__":true,"id":12101},"user":"jenslincke","tags":[]},"12101":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:21 GMT+0100 (CET)"},"12102":{"varMapping":{"__isSmartRef__":true,"id":12103},"source":"function intersectMorph(morph) {\n var line = this;\n return this.intersectMorphLinePoints(morph,\n line.controlPoints[0].getGlobalPos(), line.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":12104},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12103":{"this":{"__isSmartRef__":true,"id":11791}},"12104":{"timestamp":{"__isSmartRef__":true,"id":12105},"user":"jenslincke","tags":[]},"12105":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:47 GMT+0100 (CET)"},"12106":{"varMapping":{"__isSmartRef__":true,"id":12107},"source":"function globalShapePathFromMorph(morph) {\n var b = morph.shape.bounds();\n var p1 = morph.worldPoint(b.topLeft()),\n p2 = morph.worldPoint(b.topRight()),\n p3 = morph.worldPoint(b.bottomRight()),\n p4 = morph.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":12108},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12107":{"this":{"__isSmartRef__":true,"id":11791}},"12108":{"timestamp":{"__isSmartRef__":true,"id":12109},"user":"jenslincke","tags":[]},"12109":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:00 GMT+0100 (CET)"},"12110":{"morph":{"__isSmartRef__":true,"id":11760},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(794.0,3542.4)"},"12111":{"morph":{"__isSmartRef__":true,"id":11760},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(756.5,3518.4)"},"12112":{"morph":{"__isSmartRef__":true,"id":11760},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(719.1,3494.4)"},"12113":{"morph":{"__isSmartRef__":true,"id":11760},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(740.7,3460.7)"},"12114":{"sourceObj":{"__isSmartRef__":true,"id":11760},"sourceAttrName":"name","targetObj":{"__isSmartRef__":true,"id":11735},"targetMethodName":"updateLabel","varMapping":{"__isSmartRef__":true,"id":12115},"visualConnector":{"__isSmartRef__":true,"id":12116},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"12115":{"source":{"__isSmartRef__":true,"id":11760},"target":{"__isSmartRef__":true,"id":11735}},"12116":{"submorphs":[{"__isSmartRef__":true,"id":12117}],"scripts":[],"shape":{"__isSmartRef__":true,"id":12124},"eventHandler":{"__isSmartRef__":true,"id":12127},"_ClipMode":"visible","derivationIds":[],"id":"5814672F-102B-41EE-9D91-9FA58B6451FD","__layered_droppingEnabled__":true,"halosEnabled":true,"owner":null,"controlPoints":[{"__isSmartRef__":true,"id":12128},{"__isSmartRef__":true,"id":12129}],"con":{"__isSmartRef__":true,"id":12114},"showsMorphMenu":true,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":12130},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"12117":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":12118},"eventHandler":{"__isSmartRef__":true,"id":12123},"_ClipMode":"visible","derivationIds":[],"id":"01253C2A-18A1-43A8-AA72-260E7FC0929E","__layered_droppingEnabled__":true,"halosEnabled":true,"owner":{"__isSmartRef__":true,"id":12116},"_Rotation":1.3832457846463706,"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","_Position":"lively.pt(259.1,3427.8)"},"12118":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":12119},{"__isSmartRef__":true,"id":12120},{"__isSmartRef__":true,"id":12121},{"__isSmartRef__":true,"id":12122}],"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor","_Fill"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Position":"lively.pt(-12.0,-6.0)","_Extent":"lively.pt(17.0,13.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(0,0,0)"},"12119":{"isAbsolute":true,"x":-11,"y":-5,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"12120":{"isAbsolute":true,"x":-11,"y":7,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"12121":{"isAbsolute":true,"x":5,"y":1,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"12122":{"isAbsolute":true,"x":-11,"y":-5,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"12123":{"morph":{"__isSmartRef__":true,"id":12117},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"12124":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":12125},{"__isSmartRef__":true,"id":12126}],"_BorderWidth":1,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Position":"lively.pt(248.7,3377.0)","_Extent":"lively.pt(10.4,50.8)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"12125":{"isAbsolute":true,"x":249.7,"y":3378,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"12126":{"isAbsolute":true,"x":259.14357977177195,"y":3427.7604139964105,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"12127":{"morph":{"__isSmartRef__":true,"id":12116},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"12128":{"morph":{"__isSmartRef__":true,"id":12116},"index":0,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"12129":{"morph":{"__isSmartRef__":true,"id":12116},"index":1,"marker":{"__isSmartRef__":true,"id":12117},"markerDirection":"prev","__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"12130":{"morphMenuItems":{"__isSmartRef__":true,"id":12131}},"12131":{"varMapping":{"__isSmartRef__":true,"id":12132},"source":"function morphMenuItems() {\n var visualConnector = this, con = this.con, world = $world;\n var items = [\n ['Edit converter', function() {\n var window = lively.bindings.editConnection(con);\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":12137},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12132":{"this":{"__isSmartRef__":true,"id":12116},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":12133}},"12133":{"$super":{"__isSmartRef__":true,"id":12134}},"12134":{"varMapping":{"__isSmartRef__":true,"id":12135},"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":12136},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12135":{"obj":{"__isSmartRef__":true,"id":12116},"name":"morphMenuItems"},"12136":{},"12137":{},"12138":{"sourceObj":{"__isSmartRef__":true,"id":11760},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":11734},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":12139},"dependedBy":{"__isSmartRef__":true,"id":11734},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"12139":{"source":{"__isSmartRef__":true,"id":11760},"target":{"__isSmartRef__":true,"id":11734}},"12140":{"sourceObj":{"__isSmartRef__":true,"id":11760},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":11734},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":12141},"dependedBy":{"__isSmartRef__":true,"id":11734},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"12141":{"source":{"__isSmartRef__":true,"id":11760},"target":{"__isSmartRef__":true,"id":11734}},"12142":{"sourceObj":{"__isSmartRef__":true,"id":11760},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":11734},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":12143},"dependedBy":{"__isSmartRef__":true,"id":11734},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"12143":{"source":{"__isSmartRef__":true,"id":11760},"target":{"__isSmartRef__":true,"id":11734}},"12144":{"sourceObj":{"__isSmartRef__":true,"id":11760},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":11734},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":12145},"dependedBy":{"__isSmartRef__":true,"id":11734},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"12145":{"source":{"__isSmartRef__":true,"id":11760},"target":{"__isSmartRef__":true,"id":11734}},"12146":{"sourceObj":{"__isSmartRef__":true,"id":11760},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":11790},"targetMethodName":"alignToMagnet","varMapping":{"__isSmartRef__":true,"id":12147},"dependendConnections":[{"__isSmartRef__":true,"id":12148},{"__isSmartRef__":true,"id":12150},{"__isSmartRef__":true,"id":12152},{"__isSmartRef__":true,"id":12154},{"__isSmartRef__":true,"id":12156},{"__isSmartRef__":true,"id":12158},{"__isSmartRef__":true,"id":12160},{"__isSmartRef__":true,"id":12162}],"oldTransform":{"__isSmartRef__":true,"id":12164},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"12147":{"source":{"__isSmartRef__":true,"id":11760},"target":{"__isSmartRef__":true,"id":11790}},"12148":{"sourceObj":{"__isSmartRef__":true,"id":11760},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":12146},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":12149},"dependedBy":{"__isSmartRef__":true,"id":12146},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"12149":{"source":{"__isSmartRef__":true,"id":11760},"target":{"__isSmartRef__":true,"id":12146}},"12150":{"sourceObj":{"__isSmartRef__":true,"id":11760},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":12146},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":12151},"dependedBy":{"__isSmartRef__":true,"id":12146},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"12151":{"source":{"__isSmartRef__":true,"id":11760},"target":{"__isSmartRef__":true,"id":12146}},"12152":{"sourceObj":{"__isSmartRef__":true,"id":11760},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":12146},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":12153},"dependedBy":{"__isSmartRef__":true,"id":12146},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"12153":{"source":{"__isSmartRef__":true,"id":11760},"target":{"__isSmartRef__":true,"id":12146}},"12154":{"sourceObj":{"__isSmartRef__":true,"id":11760},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":12146},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":12155},"dependedBy":{"__isSmartRef__":true,"id":12146},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"12155":{"source":{"__isSmartRef__":true,"id":11760},"target":{"__isSmartRef__":true,"id":12146}},"12156":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":12146},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":12157},"dependedBy":{"__isSmartRef__":true,"id":12146},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"12157":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":12146}},"12158":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":12146},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":12159},"dependedBy":{"__isSmartRef__":true,"id":12146},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"12159":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":12146}},"12160":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":12146},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":12161},"dependedBy":{"__isSmartRef__":true,"id":12146},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"12161":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":12146}},"12162":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":12146},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":12163},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","dependedBy":{"__isSmartRef__":true,"id":12146},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"12163":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":12146}},"12164":{"d":0.8419431060646692,"a":0.8419431060646692,"f":71.4,"e":725.3,"c":-0.5395663130238733,"b":0.5395663130238733,"matrix_":{"__isSmartRef__":true,"id":12165},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"12165":{"a":0.8419431060646692,"b":0.5395663130238733,"c":-0.5395663130238733,"d":0.8419431060646692,"e":725.3,"f":71.4,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"12166":{"globalShapePath":{"__isSmartRef__":true,"id":12167},"lineIntersect":{"__isSmartRef__":true,"id":12170},"intersectLine":{"__isSmartRef__":true,"id":12174},"intersectLineMorph":{"__isSmartRef__":true,"id":12177}},"12167":{"varMapping":{"__isSmartRef__":true,"id":12168},"source":"function globalShapePath() {\n var b = this.shape.bounds();\n var p1 = this.worldPoint(b.topLeft()),\n p2 = this.worldPoint(b.topRight()),\n p3 = this.worldPoint(b.bottomRight()),\n p4 = this.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":12169},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12168":{"this":{"__isSmartRef__":true,"id":11760}},"12169":{},"12170":{"varMapping":{"__isSmartRef__":true,"id":12171},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":12172},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12171":{"this":{"__isSmartRef__":true,"id":11760}},"12172":{"timestamp":{"__isSmartRef__":true,"id":12173},"user":"jenslincke","tags":[]},"12173":{"isSerializedDate":true,"string":"Thu Dec 13 2012 13:42:55 GMT+0100 (CET)"},"12174":{"varMapping":{"__isSmartRef__":true,"id":12175},"source":"function intersectLine(a1, a2) {\n var points = this.globalShapePath();\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":12176},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12175":{"this":{"__isSmartRef__":true,"id":11760}},"12176":{},"12177":{"varMapping":{"__isSmartRef__":true,"id":12178},"source":"function intersectLineMorph(m) {\n return this.intersectLine(m.controlPoints[0].getGlobalPos(), m.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":12179},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12178":{"this":{"__isSmartRef__":true,"id":11760}},"12179":{},"12180":{"updateLabel":{"__isSmartRef__":true,"id":12181},"renameOwner":{"__isSmartRef__":true,"id":12184}},"12181":{"varMapping":{"__isSmartRef__":true,"id":12182},"source":"function updateLabel() {\n\t// observe name changes in owner\n\tif (this.owner !== this.oldOwner) {\n\t\tif (this.oldOwner)\n\t\t\tdisconnect(this.oldOwner, 'name', this, 'updateLabel')\n\t\tif (this.owner)\n\t\t\tconnect(this.owner, 'name', this, 'updateLabel')\n\t\tthis.oldOwner = this.owner\n\t}\n\tvar name = (this.owner ? this.owner.name : \"no owner\")\n\tif (this.textString != name)\n\tthis.setTextString(name)\n}","funcProperties":{"__isSmartRef__":true,"id":12183},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12182":{"this":{"__isSmartRef__":true,"id":11735}},"12183":{},"12184":{"varMapping":{"__isSmartRef__":true,"id":12185},"source":"function renameOwner(name) {\n\tif (this.owner && this.owner.name != name) {\n\t\talertOK(\"renamed \" + this.owner + \" to \" + name)\n\t\tthis.owner.setName(name);\n\t}\n}","funcProperties":{"__isSmartRef__":true,"id":12186},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12185":{"this":{"__isSmartRef__":true,"id":11735}},"12186":{},"12187":{"source":{"__isSmartRef__":true,"id":11735},"target":{"__isSmartRef__":true,"id":12116}},"12188":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":11734},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":12189},"dependedBy":{"__isSmartRef__":true,"id":11734},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"12189":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":11734}},"12190":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":11734},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":12191},"dependedBy":{"__isSmartRef__":true,"id":11734},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"12191":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":11734}},"12192":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":11734},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":12193},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","dependedBy":{"__isSmartRef__":true,"id":11734},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"12193":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":11734}},"12194":{"d":0.8419431060646688,"a":0.8419431060646688,"f":121.16041399641061,"e":734.7435797717719,"c":-0.539566313023873,"b":0.539566313023873,"matrix_":{"__isSmartRef__":true,"id":12195},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"12195":{"a":0.8419431060646688,"b":0.539566313023873,"c":-0.539566313023873,"d":0.8419431060646688,"e":734.7435797717719,"f":121.16041399641061,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"12196":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":11734}},"12197":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":12198},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":12651},"dependedBy":{"__isSmartRef__":true,"id":12198},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"12198":{"sourceObj":{"__isSmartRef__":true,"id":12199},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":12321},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":12642},"dependendConnections":[{"__isSmartRef__":true,"id":12259},{"__isSmartRef__":true,"id":12261},{"__isSmartRef__":true,"id":12263},{"__isSmartRef__":true,"id":12265},{"__isSmartRef__":true,"id":12197},{"__isSmartRef__":true,"id":12643},{"__isSmartRef__":true,"id":12645},{"__isSmartRef__":true,"id":12647}],"oldTransform":{"__isSmartRef__":true,"id":12649},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"12199":{"submorphs":[{"__isSmartRef__":true,"id":12200}],"scripts":[],"id":"9639C9FE-A9FC-469D-BB7A-506109040E43","shape":{"__isSmartRef__":true,"id":12224},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":12225},"eventHandler":{"__isSmartRef__":true,"id":12243},"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","BBAFB862-93AE-4F89-BCFF-9F1C67B7FE4C","7EC17E78-593A-4CC8-B7E3-859BCBBFE785","FDB06D4A-9F4E-4B8C-A67C-671A9583EFE8","1C80FDE1-05C0-4148-9AD8-33C88667084C","5059E383-6BE3-4AD3-A9C4-89DA9D8D5E99","5B810AFE-E692-4EB4-A695-ABB4A95CEA39","BFFEF617-9B97-45D4-A541-8E33A6A17485","A10BBA48-4AD1-425A-AC7B-2F5515CE56F5","7D787261-FDA4-4DCD-ACA3-699C8F2DB8DC","97C9C828-276E-4A55-9AEB-CD501E41C6EE"],"partTests":{"__isSmartRef__":true,"id":12244},"_ClipMode":"visible","moved":true,"isBeingDragged":false,"magnets":[{"__isSmartRef__":true,"id":12249},{"__isSmartRef__":true,"id":12250},{"__isSmartRef__":true,"id":12251},{"__isSmartRef__":true,"id":12252},{"__isSmartRef__":true,"id":12253},{"__isSmartRef__":true,"id":12254},{"__isSmartRef__":true,"id":12255},{"__isSmartRef__":true,"id":12256}],"attributeConnections":[{"__isSmartRef__":true,"id":12257},{"__isSmartRef__":true,"id":12198},{"__isSmartRef__":true,"id":12259},{"__isSmartRef__":true,"id":12261},{"__isSmartRef__":true,"id":12263},{"__isSmartRef__":true,"id":12265},{"__isSmartRef__":true,"id":12267},{"__isSmartRef__":true,"id":12269},{"__isSmartRef__":true,"id":12271},{"__isSmartRef__":true,"id":12273},{"__isSmartRef__":true,"id":12275},{"__isSmartRef__":true,"id":12287},{"__isSmartRef__":true,"id":12289},{"__isSmartRef__":true,"id":12291},{"__isSmartRef__":true,"id":12293},{"__isSmartRef__":true,"id":12295}],"doNotSerialize":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"doNotCopyProperties":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"isCopyMorphRef":true,"morphRefId":2,"prevScroll":[0,0],"name":"C1","_Scale":0.9999999999999959,"_Rotation":0.01251870772763443,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":12307},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","distanceToDragEvent":"lively.pt(89.3,-51.8)","_Position":"lively.pt(314.7,146.7)"},"12200":{"submorphs":[],"scripts":[],"id":"5FB3E369-33DB-4941-90AC-CF09A6FACC9B","shape":{"__isSmartRef__":true,"id":12201},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":180.8018403394826,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":19,"name":"NameLabel2","partsBinMetaInfo":{"__isSmartRef__":true,"id":12202},"textChunks":[{"__isSmartRef__":true,"id":12204}],"charsReplaced":"A1","lastFindLoc":2,"prevScroll":[0,0],"attributeConnections":[{"__isSmartRef__":true,"id":12206},{"__isSmartRef__":true,"id":12207}],"doNotSerialize":["$$owner","$$savedTextString"],"doNotCopyProperties":["$$owner","$$savedTextString"],"isInputLine":true,"savedTextString":"C","eventHandler":{"__isSmartRef__":true,"id":12208},"derivationIds":[7027,"331C6367-0699-4BD6-9916-ABA82517453B","BEAA7850-FEFB-4AFD-9E06-730FF35D99A4","559B0B8A-5C01-4133-88B2-0D08385E23F6","BE195383-D309-4B6E-A6B0-79A6112B4011","E323F75A-232F-4712-9A03-20C8FD574C9A","E6E38336-AA2D-4F75-80C1-B1617DD8544E","DAFCD826-DF9B-4DEF-B4D7-59AAED8D199D","3999CB16-D9E3-4D28-A617-9B093624E8AC","4BDF3799-4F08-4112-BD4C-91BAB858A860","A83F9838-A18C-4684-AF56-0FD0927F27B0"],"_WhiteSpaceHandling":"pre-wrap","_ClipMode":"visible","moved":true,"isBeingDragged":false,"_WordBreak":"break-all","magnets":[{"__isSmartRef__":true,"id":12209},{"__isSmartRef__":true,"id":12210},{"__isSmartRef__":true,"id":12211},{"__isSmartRef__":true,"id":12212},{"__isSmartRef__":true,"id":12213},{"__isSmartRef__":true,"id":12214},{"__isSmartRef__":true,"id":12215},{"__isSmartRef__":true,"id":12216}],"_PreviousBorderWidth":1,"owner":{"__isSmartRef__":true,"id":12199},"oldOwner":{"__isSmartRef__":true,"id":12199},"previousSelection":[0,2],"_Rotation":0,"_Scale":0.9999999999999992,"__serializedExpressions__":["textColor","distanceToDragEvent","_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":12217},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(29.8,-16.3)","_TextColor":"Color.rgb(255,143,0)","_Position":"lively.pt(15.0,6.3)"},"12201":{"fill":null,"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(42.8,29.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"12202":{"migrationLevel":2,"comment":"Label that shows the name of a morph. Updates automatically.","partName":"NameLabel","lastModifiedDate":{"__isSmartRef__":true,"id":12203},"revisionOnLoad":140039,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"12203":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (CEST)"},"12204":{"style":{"__isSmartRef__":true,"id":12205},"chunkOwner":{"__isSmartRef__":true,"id":12200},"_id":"_328","storedString":"C1","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"12205":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"12206":{"sourceObj":{"__isSmartRef__":true,"id":12200},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":12200},"targetMethodName":"updateLabel","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"12207":{"sourceObj":{"__isSmartRef__":true,"id":12200},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":12200},"targetMethodName":"renameOwner","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"12208":{"morph":{"__isSmartRef__":true,"id":12200},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"12209":{"morph":{"__isSmartRef__":true,"id":12200},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(366.5,3508.8)"},"12210":{"morph":{"__isSmartRef__":true,"id":12200},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(387.9,3509.1)"},"12211":{"morph":{"__isSmartRef__":true,"id":12200},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(409.3,3509.3)"},"12212":{"morph":{"__isSmartRef__":true,"id":12200},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(409.1,3523.8)"},"12213":{"morph":{"__isSmartRef__":true,"id":12200},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(409.0,3538.3)"},"12214":{"morph":{"__isSmartRef__":true,"id":12200},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(387.6,3538.1)"},"12215":{"morph":{"__isSmartRef__":true,"id":12200},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(366.2,3537.8)"},"12216":{"morph":{"__isSmartRef__":true,"id":12200},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(366.3,3523.3)"},"12217":{"updateLabel":{"__isSmartRef__":true,"id":12218},"renameOwner":{"__isSmartRef__":true,"id":12221}},"12218":{"varMapping":{"__isSmartRef__":true,"id":12219},"source":"function updateLabel() {\n\t// observe name changes in owner\n\tif (this.owner !== this.oldOwner) {\n\t\tif (this.oldOwner)\n\t\t\tdisconnect(this.oldOwner, 'name', this, 'updateLabel')\n\t\tif (this.owner)\n\t\t\tconnect(this.owner, 'name', this, 'updateLabel')\n\t\tthis.oldOwner = this.owner\n\t}\n\tvar name = (this.owner ? this.owner.name : \"no owner\")\n\tif (this.textString != name)\n\tthis.setTextString(name)\n}","funcProperties":{"__isSmartRef__":true,"id":12220},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12219":{"this":{"__isSmartRef__":true,"id":12200}},"12220":{},"12221":{"varMapping":{"__isSmartRef__":true,"id":12222},"source":"function renameOwner(name) {\n\tif (this.owner && this.owner.name != name) {\n\t\talertOK(\"renamed \" + this.owner + \" to \" + name)\n\t\tthis.owner.setName(name);\n\t}\n}","funcProperties":{"__isSmartRef__":true,"id":12223},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12222":{"this":{"__isSmartRef__":true,"id":12200}},"12223":{},"12224":{"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(133.7,34.2)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgba(204,204,204,0.5)","_Padding":"lively.rect(0,0,0,0)"},"12225":{"partsSpaceName":"PartsBin/Basic","comment":"A simple box morph. A really orange one. Its amazing what you can build out of simple boxes.... Who needs stars when you got orange rectangles!","migrationLevel":4,"partName":"Rectangle","changes":[{"__isSmartRef__":true,"id":12226},{"__isSmartRef__":true,"id":12228},{"__isSmartRef__":true,"id":12230},{"__isSmartRef__":true,"id":12232},{"__isSmartRef__":true,"id":12234},{"__isSmartRef__":true,"id":12236},{"__isSmartRef__":true,"id":12238},{"__isSmartRef__":true,"id":12240}],"lastModifiedDate":{"__isSmartRef__":true,"id":12242},"revisionOnLoad":184624,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"12226":{"date":{"__isSmartRef__":true,"id":12227},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"12227":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"12228":{"date":{"__isSmartRef__":true,"id":12229},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"12229":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"12230":{"date":{"__isSmartRef__":true,"id":12231},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"12231":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"12232":{"date":{"__isSmartRef__":true,"id":12233},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"12233":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"12234":{"date":{"__isSmartRef__":true,"id":12235},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"12235":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"12236":{"date":{"__isSmartRef__":true,"id":12237},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"12237":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"12238":{"date":{"__isSmartRef__":true,"id":12239},"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8"},"12239":{"isSerializedDate":true,"string":"Mon Jun 18 2012 19:35:08 GMT+0200 (CEST)"},"12240":{"date":{"__isSmartRef__":true,"id":12241},"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205"},"12241":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:35:51 GMT+0100 (CET)"},"12242":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:33:25 GMT+0100 (CET)"},"12243":{"morph":{"__isSmartRef__":true,"id":12199},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"12244":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":12245}},"12245":{"test01IsMorph":{"__isSmartRef__":true,"id":12246}},"12246":{"varMapping":{"__isSmartRef__":true,"id":12247},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":12248},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12247":{"this":{"__isSmartRef__":true,"id":12244}},"12248":{},"12249":{"morph":{"__isSmartRef__":true,"id":12199},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(351.6,3502.3)"},"12250":{"morph":{"__isSmartRef__":true,"id":12199},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(418.4,3503.1)"},"12251":{"morph":{"__isSmartRef__":true,"id":12199},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(485.3,3504.0)"},"12252":{"morph":{"__isSmartRef__":true,"id":12199},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(485.1,3521.1)"},"12253":{"morph":{"__isSmartRef__":true,"id":12199},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(484.9,3538.2)"},"12254":{"morph":{"__isSmartRef__":true,"id":12199},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(418.0,3537.3)"},"12255":{"morph":{"__isSmartRef__":true,"id":12199},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(351.2,3536.5)"},"12256":{"morph":{"__isSmartRef__":true,"id":12199},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(351.4,3519.4)"},"12257":{"sourceObj":{"__isSmartRef__":true,"id":12199},"sourceAttrName":"name","targetObj":{"__isSmartRef__":true,"id":12200},"targetMethodName":"updateLabel","varMapping":{"__isSmartRef__":true,"id":12258},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"12258":{"source":{"__isSmartRef__":true,"id":12199},"target":{"__isSmartRef__":true,"id":12200}},"12259":{"sourceObj":{"__isSmartRef__":true,"id":12199},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":12198},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":12260},"dependedBy":{"__isSmartRef__":true,"id":12198},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"12260":{"source":{"__isSmartRef__":true,"id":12199},"target":{"__isSmartRef__":true,"id":12198}},"12261":{"sourceObj":{"__isSmartRef__":true,"id":12199},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":12198},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":12262},"dependedBy":{"__isSmartRef__":true,"id":12198},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"12262":{"source":{"__isSmartRef__":true,"id":12199},"target":{"__isSmartRef__":true,"id":12198}},"12263":{"sourceObj":{"__isSmartRef__":true,"id":12199},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":12198},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":12264},"dependedBy":{"__isSmartRef__":true,"id":12198},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"12264":{"source":{"__isSmartRef__":true,"id":12199},"target":{"__isSmartRef__":true,"id":12198}},"12265":{"sourceObj":{"__isSmartRef__":true,"id":12199},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":12198},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":12266},"dependedBy":{"__isSmartRef__":true,"id":12198},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"12266":{"source":{"__isSmartRef__":true,"id":12199},"target":{"__isSmartRef__":true,"id":12198}},"12267":{"sourceObj":{"__isSmartRef__":true,"id":12199},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":3413},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":12268},"dependendConnections":[{"__isSmartRef__":true,"id":12269},{"__isSmartRef__":true,"id":12271},{"__isSmartRef__":true,"id":12273},{"__isSmartRef__":true,"id":12275},{"__isSmartRef__":true,"id":12277},{"__isSmartRef__":true,"id":12279},{"__isSmartRef__":true,"id":12281},{"__isSmartRef__":true,"id":12283}],"oldTransform":{"__isSmartRef__":true,"id":12285},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"12268":{"source":{"__isSmartRef__":true,"id":12199},"target":{"__isSmartRef__":true,"id":3413}},"12269":{"sourceObj":{"__isSmartRef__":true,"id":12199},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":12267},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":12270},"dependedBy":{"__isSmartRef__":true,"id":12267},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"12270":{"source":{"__isSmartRef__":true,"id":12199},"target":{"__isSmartRef__":true,"id":12267}},"12271":{"sourceObj":{"__isSmartRef__":true,"id":12199},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":12267},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":12272},"dependedBy":{"__isSmartRef__":true,"id":12267},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"12272":{"source":{"__isSmartRef__":true,"id":12199},"target":{"__isSmartRef__":true,"id":12267}},"12273":{"sourceObj":{"__isSmartRef__":true,"id":12199},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":12267},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":12274},"dependedBy":{"__isSmartRef__":true,"id":12267},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"12274":{"source":{"__isSmartRef__":true,"id":12199},"target":{"__isSmartRef__":true,"id":12267}},"12275":{"sourceObj":{"__isSmartRef__":true,"id":12199},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":12267},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":12276},"dependedBy":{"__isSmartRef__":true,"id":12267},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"12276":{"source":{"__isSmartRef__":true,"id":12199},"target":{"__isSmartRef__":true,"id":12267}},"12277":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":12267},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":12278},"dependedBy":{"__isSmartRef__":true,"id":12267},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"12278":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":12267}},"12279":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":12267},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":12280},"dependedBy":{"__isSmartRef__":true,"id":12267},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"12280":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":12267}},"12281":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":12267},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":12282},"dependedBy":{"__isSmartRef__":true,"id":12267},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"12282":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":12267}},"12283":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":12267},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":12284},"dependedBy":{"__isSmartRef__":true,"id":12267},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"12284":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":12267}},"12285":{"d":0.9999216420017616,"a":0.9999216420017616,"f":146.7,"e":314.7,"c":-0.012518380745633573,"b":0.012518380745633573,"matrix_":{"__isSmartRef__":true,"id":12286},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"12286":{"a":0.9999216420017616,"b":0.012518380745633573,"c":-0.012518380745633573,"d":0.9999216420017616,"e":314.7,"f":146.7,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"12287":{"sourceObj":{"__isSmartRef__":true,"id":12199},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":3590},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":12288},"dependendConnections":[{"__isSmartRef__":true,"id":12289},{"__isSmartRef__":true,"id":12291},{"__isSmartRef__":true,"id":12293},{"__isSmartRef__":true,"id":12295},{"__isSmartRef__":true,"id":12297},{"__isSmartRef__":true,"id":12299},{"__isSmartRef__":true,"id":12301},{"__isSmartRef__":true,"id":12303}],"oldTransform":{"__isSmartRef__":true,"id":12305},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"12288":{"source":{"__isSmartRef__":true,"id":12199},"target":{"__isSmartRef__":true,"id":3590}},"12289":{"sourceObj":{"__isSmartRef__":true,"id":12199},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":12287},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":12290},"dependedBy":{"__isSmartRef__":true,"id":12287},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"12290":{"source":{"__isSmartRef__":true,"id":12199},"target":{"__isSmartRef__":true,"id":12287}},"12291":{"sourceObj":{"__isSmartRef__":true,"id":12199},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":12287},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":12292},"dependedBy":{"__isSmartRef__":true,"id":12287},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"12292":{"source":{"__isSmartRef__":true,"id":12199},"target":{"__isSmartRef__":true,"id":12287}},"12293":{"sourceObj":{"__isSmartRef__":true,"id":12199},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":12287},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":12294},"dependedBy":{"__isSmartRef__":true,"id":12287},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"12294":{"source":{"__isSmartRef__":true,"id":12199},"target":{"__isSmartRef__":true,"id":12287}},"12295":{"sourceObj":{"__isSmartRef__":true,"id":12199},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":12287},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":12296},"dependedBy":{"__isSmartRef__":true,"id":12287},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"12296":{"source":{"__isSmartRef__":true,"id":12199},"target":{"__isSmartRef__":true,"id":12287}},"12297":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":12287},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":12298},"dependedBy":{"__isSmartRef__":true,"id":12287},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"12298":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":12287}},"12299":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":12287},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":12300},"dependedBy":{"__isSmartRef__":true,"id":12287},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"12300":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":12287}},"12301":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":12287},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":12302},"dependedBy":{"__isSmartRef__":true,"id":12287},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"12302":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":12287}},"12303":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":12287},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":12304},"dependedBy":{"__isSmartRef__":true,"id":12287},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"12304":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":12287}},"12305":{"d":0.9999216420017616,"a":0.9999216420017616,"f":146.7,"e":314.7,"c":-0.012518380745633573,"b":0.012518380745633573,"matrix_":{"__isSmartRef__":true,"id":12306},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"12306":{"a":0.9999216420017616,"b":0.012518380745633573,"c":-0.012518380745633573,"d":0.9999216420017616,"e":314.7,"f":146.7,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"12307":{"globalShapePath":{"__isSmartRef__":true,"id":12308},"lineIntersect":{"__isSmartRef__":true,"id":12311},"intersectLine":{"__isSmartRef__":true,"id":12315},"intersectLineMorph":{"__isSmartRef__":true,"id":12318}},"12308":{"varMapping":{"__isSmartRef__":true,"id":12309},"source":"function globalShapePath() {\n var b = this.shape.bounds();\n var p1 = this.worldPoint(b.topLeft()),\n p2 = this.worldPoint(b.topRight()),\n p3 = this.worldPoint(b.bottomRight()),\n p4 = this.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":12310},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12309":{"this":{"__isSmartRef__":true,"id":12199}},"12310":{},"12311":{"varMapping":{"__isSmartRef__":true,"id":12312},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":12313},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12312":{"this":{"__isSmartRef__":true,"id":12199}},"12313":{"timestamp":{"__isSmartRef__":true,"id":12314},"user":"jenslincke","tags":[]},"12314":{"isSerializedDate":true,"string":"Thu Dec 13 2012 13:42:55 GMT+0100 (CET)"},"12315":{"varMapping":{"__isSmartRef__":true,"id":12316},"source":"function intersectLine(a1, a2) {\n var points = this.globalShapePath();\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":12317},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12316":{"this":{"__isSmartRef__":true,"id":12199}},"12317":{},"12318":{"varMapping":{"__isSmartRef__":true,"id":12319},"source":"function intersectLineMorph(m) {\n return this.intersectLine(m.controlPoints[0].getGlobalPos(), m.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":12320},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12319":{"this":{"__isSmartRef__":true,"id":12199}},"12320":{},"12321":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":12322},"id":"4809CC50-2A92-4A4F-9D0D-829B6BA12A0B","eventHandler":{"__isSmartRef__":true,"id":12325},"__layered_droppingEnabled__":true,"halosEnabled":true,"isBeingDragged":false,"controlPoints":[{"__isSmartRef__":true,"id":12326},{"__isSmartRef__":true,"id":12327}],"showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":12328},"name":"Connector1","derivationIds":[731,"5E6BD741-9C99-47B9-95C1-7A028178DB17","A8D5C37A-F23F-47FE-8DE2-211CE4484A4F","F722069B-8602-4E8D-BE3F-92A1E0C0EF28","D5ED19F9-968E-4C7E-9936-69F2735A813F","A9E370BC-F208-425C-BFFC-F8D6BB52E11F","4E431641-D056-46CB-B2A8-6626382EF423"],"_ClipMode":"visible","controlPointsHalos":[],"prevScroll":[0,0],"grabbingEnabled":false,"moved":true,"#startLetters":"controlPoints[0]","fromMorph":{"__isSmartRef__":true,"id":12334},"toMorph":{"__isSmartRef__":true,"id":12199},"update":{"__isSmartRef__":true,"id":12543},"isCopyMorphRef":true,"morphRefId":2,"selectedMorph":{"__isSmartRef__":true,"id":12199},"selectedMorphHighlights":[],"owner":null,"_Rotation":0,"_Scale":1,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":12545},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","distanceToDragEvent":"lively.pt(295.7,-20.8)","_Position":"lively.pt(10527.5,52997.9)"},"12322":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":12323},{"__isSmartRef__":true,"id":12324}],"_ClipMode":"visible","_BorderWidth":3.1119999999999997,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Padding","_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(-75.9,-6.9)","_Extent":"lively.pt(151.7,13.9)","_BorderColor":"Color.rgb(161,161,161)"},"12323":{"isAbsolute":true,"x":74.86198803712648,"y":-4.949983532278566,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"12324":{"isAbsolute":true,"x":-73.86198803712614,"y":5.949983532282204,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"12325":{"morph":{"__isSmartRef__":true,"id":12321},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"12326":{"morph":{"__isSmartRef__":true,"id":12321},"index":0,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"12327":{"morph":{"__isSmartRef__":true,"id":12321},"index":1,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"12328":{"requiredModules":[],"migrationLevel":4,"partsSpaceName":"PartsBin/Jens/","comment":"Yes, I think I got it again: Powerful and nice connectors.\nThis time 100 % Part only!","partName":"Connector","lastModifiedDate":{"__isSmartRef__":true,"id":12329},"revisionOnLoad":186829,"changes":[{"__isSmartRef__":true,"id":12330},{"__isSmartRef__":true,"id":12332}],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"12329":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:04:50 GMT+0100 (CET)"},"12330":{"date":{"__isSmartRef__":true,"id":12331},"author":"jenslincke","message":"no comment","id":"28165CED-C8C5-4B8E-9655-645E3F5099BB"},"12331":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:42 GMT+0100 (CET)"},"12332":{"date":{"__isSmartRef__":true,"id":12333},"author":"jenslincke","message":"no comment","id":"117C964B-9768-48F2-8EC8-D4328478198F"},"12333":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:05:07 GMT+0100 (CET)"},"12334":{"submorphs":[{"__isSmartRef__":true,"id":12335}],"scripts":[],"id":"7D787261-FDA4-4DCD-ACA3-699C8F2DB8DC","shape":{"__isSmartRef__":true,"id":12359},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"A","partsBinMetaInfo":{"__isSmartRef__":true,"id":12360},"eventHandler":{"__isSmartRef__":true,"id":12378},"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","BBAFB862-93AE-4F89-BCFF-9F1C67B7FE4C","7EC17E78-593A-4CC8-B7E3-859BCBBFE785","FDB06D4A-9F4E-4B8C-A67C-671A9583EFE8","1C80FDE1-05C0-4148-9AD8-33C88667084C","5059E383-6BE3-4AD3-A9C4-89DA9D8D5E99","5B810AFE-E692-4EB4-A695-ABB4A95CEA39","BFFEF617-9B97-45D4-A541-8E33A6A17485","A10BBA48-4AD1-425A-AC7B-2F5515CE56F5"],"partTests":{"__isSmartRef__":true,"id":12379},"_ClipMode":"visible","moved":true,"isBeingDragged":false,"magnets":[{"__isSmartRef__":true,"id":12384},{"__isSmartRef__":true,"id":12385},{"__isSmartRef__":true,"id":12386},{"__isSmartRef__":true,"id":12387},{"__isSmartRef__":true,"id":12388},{"__isSmartRef__":true,"id":12389},{"__isSmartRef__":true,"id":12390},{"__isSmartRef__":true,"id":12391}],"attributeConnections":[{"__isSmartRef__":true,"id":12392},{"__isSmartRef__":true,"id":12394},{"__isSmartRef__":true,"id":12507},{"__isSmartRef__":true,"id":12509},{"__isSmartRef__":true,"id":12511},{"__isSmartRef__":true,"id":12513},{"__isSmartRef__":true,"id":12517},{"__isSmartRef__":true,"id":12519},{"__isSmartRef__":true,"id":12521},{"__isSmartRef__":true,"id":12523},{"__isSmartRef__":true,"id":12525}],"doNotSerialize":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"doNotCopyProperties":["$$name","$$_Position","$$_Scale","$$_Rotation","$$owner"],"isCopyMorphRef":true,"morphRefId":1,"prevScroll":[0,0],"_Scale":0.9999999999999998,"_Rotation":-0.3632069088060458,"owner":null,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":12529},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","distanceToDragEvent":"lively.pt(89.3,-51.8)","_Position":"lively.pt(691.6,129.6)"},"12335":{"submorphs":[],"scripts":[],"id":"4BDF3799-4F08-4112-BD4C-91BAB858A860","shape":{"__isSmartRef__":true,"id":12336},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":180.8018403394826,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":19,"name":"NameLabel2","partsBinMetaInfo":{"__isSmartRef__":true,"id":12337},"textChunks":[{"__isSmartRef__":true,"id":12339}],"charsReplaced":"C1","lastFindLoc":2,"prevScroll":[0,0],"attributeConnections":[{"__isSmartRef__":true,"id":12341},{"__isSmartRef__":true,"id":12342}],"doNotSerialize":["$$owner","$$savedTextString"],"doNotCopyProperties":["$$owner","$$savedTextString"],"isInputLine":true,"savedTextString":"A","eventHandler":{"__isSmartRef__":true,"id":12343},"derivationIds":[7027,"331C6367-0699-4BD6-9916-ABA82517453B","BEAA7850-FEFB-4AFD-9E06-730FF35D99A4","559B0B8A-5C01-4133-88B2-0D08385E23F6","BE195383-D309-4B6E-A6B0-79A6112B4011","E323F75A-232F-4712-9A03-20C8FD574C9A","E6E38336-AA2D-4F75-80C1-B1617DD8544E","DAFCD826-DF9B-4DEF-B4D7-59AAED8D199D","3999CB16-D9E3-4D28-A617-9B093624E8AC"],"_WhiteSpaceHandling":"pre-wrap","_ClipMode":"visible","moved":true,"isBeingDragged":false,"_WordBreak":"break-all","magnets":[{"__isSmartRef__":true,"id":12344},{"__isSmartRef__":true,"id":12345},{"__isSmartRef__":true,"id":12346},{"__isSmartRef__":true,"id":12347},{"__isSmartRef__":true,"id":12348},{"__isSmartRef__":true,"id":12349},{"__isSmartRef__":true,"id":12350},{"__isSmartRef__":true,"id":12351}],"_PreviousBorderWidth":1,"owner":{"__isSmartRef__":true,"id":12334},"oldOwner":{"__isSmartRef__":true,"id":12334},"priorSelectionRange":[1,1],"_Rotation":0,"_Scale":0.9999999999999997,"__serializedExpressions__":["textColor","distanceToDragEvent","_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":12352},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(31.1,-9.9)","_TextColor":"Color.rgb(255,143,0)","_Position":"lively.pt(34.8,36.8)"},"12336":{"fill":null,"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(42.8,29.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"12337":{"migrationLevel":2,"comment":"Label that shows the name of a morph. Updates automatically.","partName":"NameLabel","lastModifiedDate":{"__isSmartRef__":true,"id":12338},"revisionOnLoad":140039,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"12338":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (CEST)"},"12339":{"style":{"__isSmartRef__":true,"id":12340},"chunkOwner":{"__isSmartRef__":true,"id":12335},"_id":"_22384","storedString":"A","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"12340":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"12341":{"sourceObj":{"__isSmartRef__":true,"id":12335},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":12335},"targetMethodName":"updateLabel","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"12342":{"sourceObj":{"__isSmartRef__":true,"id":12335},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":12335},"targetMethodName":"renameOwner","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"12343":{"morph":{"__isSmartRef__":true,"id":12335},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"12344":{"morph":{"__isSmartRef__":true,"id":12335},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(726.1,3497.3)"},"12345":{"morph":{"__isSmartRef__":true,"id":12335},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(746.1,3489.7)"},"12346":{"morph":{"__isSmartRef__":true,"id":12335},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(766.1,3482.1)"},"12347":{"morph":{"__isSmartRef__":true,"id":12335},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(771.3,3495.6)"},"12348":{"morph":{"__isSmartRef__":true,"id":12335},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(776.4,3509.2)"},"12349":{"morph":{"__isSmartRef__":true,"id":12335},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(756.4,3516.8)"},"12350":{"morph":{"__isSmartRef__":true,"id":12335},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(736.4,3524.4)"},"12351":{"morph":{"__isSmartRef__":true,"id":12335},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(731.2,3510.8)"},"12352":{"updateLabel":{"__isSmartRef__":true,"id":12353},"renameOwner":{"__isSmartRef__":true,"id":12356}},"12353":{"varMapping":{"__isSmartRef__":true,"id":12354},"source":"function updateLabel() {\n\t// observe name changes in owner\n\tif (this.owner !== this.oldOwner) {\n\t\tif (this.oldOwner)\n\t\t\tdisconnect(this.oldOwner, 'name', this, 'updateLabel')\n\t\tif (this.owner)\n\t\t\tconnect(this.owner, 'name', this, 'updateLabel')\n\t\tthis.oldOwner = this.owner\n\t}\n\tvar name = (this.owner ? this.owner.name : \"no owner\")\n\tif (this.textString != name)\n\tthis.setTextString(name)\n}","funcProperties":{"__isSmartRef__":true,"id":12355},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12354":{"this":{"__isSmartRef__":true,"id":12335}},"12355":{},"12356":{"varMapping":{"__isSmartRef__":true,"id":12357},"source":"function renameOwner(name) {\n\tif (this.owner && this.owner.name != name) {\n\t\talertOK(\"renamed \" + this.owner + \" to \" + name)\n\t\tthis.owner.setName(name);\n\t}\n}","funcProperties":{"__isSmartRef__":true,"id":12358},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12357":{"this":{"__isSmartRef__":true,"id":12335}},"12358":{},"12359":{"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(116.7,82.3)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgba(204,204,204,0.5)","_Padding":"lively.rect(0,0,0,0)"},"12360":{"partsSpaceName":"PartsBin/Basic","comment":"A simple box morph. A really orange one. Its amazing what you can build out of simple boxes.... Who needs stars when you got orange rectangles!","migrationLevel":4,"partName":"Rectangle","changes":[{"__isSmartRef__":true,"id":12361},{"__isSmartRef__":true,"id":12363},{"__isSmartRef__":true,"id":12365},{"__isSmartRef__":true,"id":12367},{"__isSmartRef__":true,"id":12369},{"__isSmartRef__":true,"id":12371},{"__isSmartRef__":true,"id":12373},{"__isSmartRef__":true,"id":12375}],"lastModifiedDate":{"__isSmartRef__":true,"id":12377},"revisionOnLoad":184624,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"12361":{"date":{"__isSmartRef__":true,"id":12362},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"12362":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"12363":{"date":{"__isSmartRef__":true,"id":12364},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"12364":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"12365":{"date":{"__isSmartRef__":true,"id":12366},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"12366":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"12367":{"date":{"__isSmartRef__":true,"id":12368},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"12368":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"12369":{"date":{"__isSmartRef__":true,"id":12370},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"12370":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"12371":{"date":{"__isSmartRef__":true,"id":12372},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"12372":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"12373":{"date":{"__isSmartRef__":true,"id":12374},"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8"},"12374":{"isSerializedDate":true,"string":"Mon Jun 18 2012 19:35:08 GMT+0200 (CEST)"},"12375":{"date":{"__isSmartRef__":true,"id":12376},"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205"},"12376":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:35:51 GMT+0100 (CET)"},"12377":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:33:25 GMT+0100 (CET)"},"12378":{"morph":{"__isSmartRef__":true,"id":12334},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"12379":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":12380}},"12380":{"test01IsMorph":{"__isSmartRef__":true,"id":12381}},"12381":{"varMapping":{"__isSmartRef__":true,"id":12382},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":12383},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12382":{"this":{"__isSmartRef__":true,"id":12379}},"12383":{},"12384":{"morph":{"__isSmartRef__":true,"id":12334},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(680.5,3475.2)"},"12385":{"morph":{"__isSmartRef__":true,"id":12334},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(735.0,3454.5)"},"12386":{"morph":{"__isSmartRef__":true,"id":12334},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(789.6,3433.8)"},"12387":{"morph":{"__isSmartRef__":true,"id":12334},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(804.2,3472.2)"},"12388":{"morph":{"__isSmartRef__":true,"id":12334},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(818.8,3510.7)"},"12389":{"morph":{"__isSmartRef__":true,"id":12334},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(764.3,3531.4)"},"12390":{"morph":{"__isSmartRef__":true,"id":12334},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(709.7,3552.2)"},"12391":{"morph":{"__isSmartRef__":true,"id":12334},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(695.1,3513.7)"},"12392":{"sourceObj":{"__isSmartRef__":true,"id":12334},"sourceAttrName":"name","targetObj":{"__isSmartRef__":true,"id":12335},"targetMethodName":"updateLabel","varMapping":{"__isSmartRef__":true,"id":12393},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"12393":{"source":{"__isSmartRef__":true,"id":12334},"target":{"__isSmartRef__":true,"id":12335}},"12394":{"sourceObj":{"__isSmartRef__":true,"id":12334},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":12395},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":12506},"dependendConnections":[{"__isSmartRef__":true,"id":12507},{"__isSmartRef__":true,"id":12509},{"__isSmartRef__":true,"id":12511},{"__isSmartRef__":true,"id":12513}],"oldTransform":{"__isSmartRef__":true,"id":12515},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"12395":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":12396},"id":"E083C82B-2BC4-42CB-B3A2-773909175FCB","eventHandler":{"__isSmartRef__":true,"id":12399},"__layered_droppingEnabled__":true,"halosEnabled":true,"isBeingDragged":false,"controlPoints":[{"__isSmartRef__":true,"id":12400},{"__isSmartRef__":true,"id":12402}],"showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":12403},"name":"Line4","derivationIds":[731,"5E6BD741-9C99-47B9-95C1-7A028178DB17","A8D5C37A-F23F-47FE-8DE2-211CE4484A4F","F722069B-8602-4E8D-BE3F-92A1E0C0EF28","D5ED19F9-968E-4C7E-9936-69F2735A813F","A9E370BC-F208-425C-BFFC-F8D6BB52E11F","4E431641-D056-46CB-B2A8-6626382EF423"],"_ClipMode":"visible","controlPointsHalos":[],"prevScroll":[0,0],"grabbingEnabled":false,"moved":true,"#startLetters":"controlPoints[0]","fromMorph":{"__isSmartRef__":true,"id":12334},"update":{"__isSmartRef__":true,"id":12407},"isCopyMorphRef":true,"morphRefId":2,"selectedMorph":{"__isSmartRef__":true,"id":12334},"selectedMorphHighlights":[],"_Scale":1,"_Rotation":0,"owner":null,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":12409},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","distanceToDragEvent":"lively.pt(295.7,-20.8)","_Position":"lively.pt(376.1,57.6)"},"12396":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":12397},{"__isSmartRef__":true,"id":12398}],"_ClipMode":"visible","_BorderWidth":3.1119999999999997,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Padding","_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(50.5,3.2)","_Extent":"lively.pt(114.5,3494.5)","_BorderColor":"Color.rgb(161,161,161)"},"12397":{"isAbsolute":true,"x":169.07530894382566,"y":3055.815142117727,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"12398":{"isAbsolute":true,"x":52.46197348862387,"y":5.223542983087555,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"12399":{"morph":{"__isSmartRef__":true,"id":12395},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"12400":{"morph":{"__isSmartRef__":true,"id":12395},"index":0,"connectedMagnet":{"__isSmartRef__":true,"id":12401},"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"12401":{"morph":{"__isSmartRef__":true,"id":2999},"connectedControlPoints":[{"__isSmartRef__":true,"id":12400}],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(164.0,3496.7)"},"12402":{"morph":{"__isSmartRef__":true,"id":12395},"index":1,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"12403":{"requiredModules":[],"migrationLevel":4,"partsSpaceName":"PartsBin/Jens/","comment":"a line","partName":"Connector","lastModifiedDate":{"__isSmartRef__":true,"id":12404},"revisionOnLoad":186528,"changes":[{"__isSmartRef__":true,"id":12405}],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"12404":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:18 GMT+0100 (CET)"},"12405":{"date":{"__isSmartRef__":true,"id":12406},"author":"jenslincke","message":"no comment","id":"28165CED-C8C5-4B8E-9655-645E3F5099BB"},"12406":{"isSerializedDate":true,"string":"Thu Dec 13 2012 09:54:42 GMT+0100 (CET)"},"12407":{"d":1,"a":1,"f":906.1,"e":107.8,"c":0,"b":0,"matrix_":{"__isSmartRef__":true,"id":12408},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"12408":{"a":1,"b":0,"c":0,"d":1,"e":107.8,"f":906.1,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"12409":{"connect":{"__isSmartRef__":true,"id":12410},"updatePosition":{"__isSmartRef__":true,"id":12414},"updateControlPoint":{"__isSmartRef__":true,"id":12418},"disconnectMorph":{"__isSmartRef__":true,"id":12422},"connectMorph":{"__isSmartRef__":true,"id":12426},"onMouseOver":{"__isSmartRef__":true,"id":12430},"onMouseOut":{"__isSmartRef__":true,"id":12434},"makeHandle":{"__isSmartRef__":true,"id":12442},"showFromHandle":{"__isSmartRef__":true,"id":12446},"showToHandle":{"__isSmartRef__":true,"id":12450},"reset":{"__isSmartRef__":true,"id":12454},"onDragInHandle":{"__isSmartRef__":true,"id":12458},"onDragStartInHandle":{"__isSmartRef__":true,"id":12462},"onDragEndInHandle":{"__isSmartRef__":true,"id":12466},"connectFrom":{"__isSmartRef__":true,"id":12470},"connectTo":{"__isSmartRef__":true,"id":12474},"hideToHandle":{"__isSmartRef__":true,"id":12478},"hideFromHandle":{"__isSmartRef__":true,"id":12482},"updateIntersection":{"__isSmartRef__":true,"id":12486},"lineIntersect":{"__isSmartRef__":true,"id":12490},"intersectMorphLinePoints":{"__isSmartRef__":true,"id":12494},"intersectMorph":{"__isSmartRef__":true,"id":12498},"globalShapePathFromMorph":{"__isSmartRef__":true,"id":12502}},"12410":{"varMapping":{"__isSmartRef__":true,"id":12411},"source":"function connect(morphA, morphB) {\n this.connectFrom(morphA)\n this.connectTo(morphB)\n this.updatePosition()\n}","funcProperties":{"__isSmartRef__":true,"id":12412},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12411":{"this":{"__isSmartRef__":true,"id":12395}},"12412":{"timestamp":{"__isSmartRef__":true,"id":12413},"user":"jenslincke","tags":[]},"12413":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:50:49 GMT+0100 (CET)"},"12414":{"varMapping":{"__isSmartRef__":true,"id":12415},"source":"function updatePosition() {\n this.updateControlPoint(this.controlPoints[0], this.fromMorph)\n this.updateControlPoint(this.controlPoints[1], this.toMorph)\n this.updateIntersection(this.fromMorph, this.controlPoints[0])\n this.updateIntersection(this.toMorph, this.controlPoints[1])\n\n if (this.controlPoints[0].getPos().equalPt(this.controlPoints[1].getPos()))\n this.controlPoints[1].setPos(this.controlPoints[1].getPos().addPt(pt(30,0)))\n\n this.adjustOrigin(this.bounds().extent().scaleBy(0.5))\n \n}","funcProperties":{"__isSmartRef__":true,"id":12416},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12415":{"this":{"__isSmartRef__":true,"id":12395}},"12416":{"timestamp":{"__isSmartRef__":true,"id":12417},"user":"jenslincke","tags":[]},"12417":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:59:26 GMT+0100 (CET)"},"12418":{"varMapping":{"__isSmartRef__":true,"id":12419},"source":"function updateControlPoint(cp, morph) {\n if (!cp || !morph) return;\n cp.setGlobalPos(morph.worldPoint(morph.shape.bounds().center()))\n}","funcProperties":{"__isSmartRef__":true,"id":12420},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12419":{"this":{"__isSmartRef__":true,"id":12395}},"12420":{"timestamp":{"__isSmartRef__":true,"id":12421},"user":"jenslincke","tags":[]},"12421":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:45:56 GMT+0100 (CET)"},"12422":{"varMapping":{"__isSmartRef__":true,"id":12423},"source":"function disconnectMorph(morph) {\n if (!morph) return;\n lively.bindings.disconnect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":12424},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12423":{"this":{"__isSmartRef__":true,"id":12395}},"12424":{"timestamp":{"__isSmartRef__":true,"id":12425},"user":"jenslincke","tags":[]},"12425":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:19:18 GMT+0100 (CET)"},"12426":{"varMapping":{"__isSmartRef__":true,"id":12427},"source":"function connectMorph(morph) {\n if (morph)\n lively.bindings.connect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":12428},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12427":{"this":{"__isSmartRef__":true,"id":12395}},"12428":{"timestamp":{"__isSmartRef__":true,"id":12429},"user":"jenslincke","tags":[]},"12429":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:52:12 GMT+0100 (CET)"},"12430":{"varMapping":{"__isSmartRef__":true,"id":12431},"source":"function onMouseOver(evt) {\n var p = evt.mousePoint.scaleBy(this.world().getScale())\n\n var cp1 = this.controlPoints[0].getGlobalPos();\n if (p.dist(cp1) < 20) {\n this.showFromHandle()\n } else {\n this.hideFromHandle()\n }\n var cp2 = this.controlPoints[1].getGlobalPos();\n if (p.dist(cp2) < 20) {\n this.showToHandle()\n } else {\n this.hideToHandle()\n }\n}","funcProperties":{"__isSmartRef__":true,"id":12432},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12431":{"this":{"__isSmartRef__":true,"id":12395}},"12432":{"timestamp":{"__isSmartRef__":true,"id":12433},"user":"jenslincke","tags":[]},"12433":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:23:03 GMT+0100 (CET)"},"12434":{"varMapping":{"__isSmartRef__":true,"id":12435},"source":"function onMouseOut(evt) {\n // this.hideFromHandle()\n // this.hideToHandle()\n}","funcProperties":{"__isSmartRef__":true,"id":12440},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12435":{"this":{"__isSmartRef__":true,"id":12395},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":12436}},"12436":{"$super":{"__isSmartRef__":true,"id":12437}},"12437":{"varMapping":{"__isSmartRef__":true,"id":12438},"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":12439},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12438":{"obj":{"__isSmartRef__":true,"id":12395},"name":"onMouseOut"},"12439":{},"12440":{"timestamp":{"__isSmartRef__":true,"id":12441},"user":"jenslincke","tags":[]},"12441":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:54:53 GMT+0100 (CET)"},"12442":{"varMapping":{"__isSmartRef__":true,"id":12443},"source":"function makeHandle() {\n var m = lively.morphic.Morph.makeRectangle(0,0,10,10);\n m.disableGrabbing()\n m.enableDragging()\n m.connector = this;\n // move real behavior to a place which is easier to develop\n // do not use bind, because we like late binding \n m.addScript(function onDragStart(evt) {\n this.connector.onDragStartInHandle(this, evt)\n })\n m.addScript(function onDrag(evt) {\n this.connector.onDragInHandle(this, evt)\n })\n m.addScript(function onDragEnd(evt) {\n this.connector.onDragEndInHandle(this, evt)\n })\n m.isEpiMorph = true;\n return m\n}","funcProperties":{"__isSmartRef__":true,"id":12444},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12443":{"this":{"__isSmartRef__":true,"id":12395}},"12444":{"timestamp":{"__isSmartRef__":true,"id":12445},"user":"jenslincke","tags":[]},"12445":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:08:29 GMT+0100 (CET)"},"12446":{"varMapping":{"__isSmartRef__":true,"id":12447},"source":"function showFromHandle() {\n if (!this.fromHandle) {\n this.fromHandle = this.makeHandle();\n this.fromHandle.setFill(Color.red)\n this.fromHandle.isFromHandle = true;\n }\n this.fromHandle.openInWorld();\n this.fromHandle.controlPoint = this.controlPoints[0];\n this.fromHandle.setPosition(this.controlPoints[0].getGlobalPos().subPt(pt(5,5)))\n return this.fromHandle\n}","funcProperties":{"__isSmartRef__":true,"id":12448},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12447":{"this":{"__isSmartRef__":true,"id":12395}},"12448":{"timestamp":{"__isSmartRef__":true,"id":12449},"user":"jenslincke","tags":[]},"12449":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:13:03 GMT+0100 (CET)"},"12450":{"varMapping":{"__isSmartRef__":true,"id":12451},"source":"function showToHandle() {\n if (!this.toHandle) {\n this.toHandle = this.makeHandle();\n this.toHandle.setFill(Color.red)\n this.toHandle.isToHandle = true;\n\n }\n this.toHandle.openInWorld();\n this.toHandle.controlPoint = this.controlPoints[1];\n this.toHandle.setPosition(this.controlPoints[1].getGlobalPos().subPt(pt(5,5)))\n return this.toHandle\n}","funcProperties":{"__isSmartRef__":true,"id":12452},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12451":{"this":{"__isSmartRef__":true,"id":12395}},"12452":{"timestamp":{"__isSmartRef__":true,"id":12453},"user":"jenslincke","tags":[]},"12453":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:20:25 GMT+0100 (CET)"},"12454":{"varMapping":{"__isSmartRef__":true,"id":12455},"source":"function reset() {\n if (this.fromHandle) {\n this.fromHandle.remove()\n delete this.fromHandle\n }\n if (this.toHandle) {\n this.toHandle.remove()\n delete this.toHandle\n }\n // this.controlPoints[1].setPos(pt(200,200))\n}","funcProperties":{"__isSmartRef__":true,"id":12456},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12455":{"this":{"__isSmartRef__":true,"id":12395}},"12456":{"timestamp":{"__isSmartRef__":true,"id":12457},"user":"jenslincke","tags":[]},"12457":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:15:00 GMT+0100 (CET)"},"12458":{"varMapping":{"__isSmartRef__":true,"id":12459},"source":"function onDragInHandle(handle, evt) {\n\n var pos = handle.getPositionInWorld();\n var delta = evt.hand.getPosition().subPt(pos);\n handle.moveBy(delta)\n pos = handle.getPositionInWorld();\n if (handle.controlPoint)\n handle.controlPoint.setGlobalPos(pos.addPt(pt(5,5)))\n var morphs = this.owner.morphsContainingPoint(pos)\n morphs = morphs.reject(function(ea) {\n return ea.isWorld || (ea === handle) || (ea === this) || \n (ea === this.owner)\n }, this)\n this.get('Console').textString = morphs\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n this.selectedMorph = morphs.first();\n this.selectedMorphHighlights = show(this.selectedMorph)\n handle.startPos = evt.getPosition();\n}","funcProperties":{"__isSmartRef__":true,"id":12460},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12459":{"this":{"__isSmartRef__":true,"id":12395}},"12460":{"timestamp":{"__isSmartRef__":true,"id":12461},"user":"jenslincke","tags":[]},"12461":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:09:40 GMT+0100 (CET)"},"12462":{"varMapping":{"__isSmartRef__":true,"id":12463},"source":"function onDragStartInHandle(handle, evt) {\n handle.startPos = evt.getPosition()\n}","funcProperties":{"__isSmartRef__":true,"id":12464},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12463":{"this":{"__isSmartRef__":true,"id":12395}},"12464":{"timestamp":{"__isSmartRef__":true,"id":12465},"user":"jenslincke","tags":[]},"12465":{"isSerializedDate":true,"string":"Thu Dec 13 2012 15:51:13 GMT+0100 (CET)"},"12466":{"varMapping":{"__isSmartRef__":true,"id":12467},"source":"function onDragEndInHandle(handle, evt) {\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n \n if (handle.isFromHandle) this.connectFrom(this.selectedMorph)\n if (handle.isToHandle) this.connectTo(this.selectedMorph)\n handle.remove()\n}","funcProperties":{"__isSmartRef__":true,"id":12468},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12467":{"this":{"__isSmartRef__":true,"id":12395}},"12468":{"timestamp":{"__isSmartRef__":true,"id":12469},"user":"jenslincke","tags":[]},"12469":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:44:35 GMT+0100 (CET)"},"12470":{"varMapping":{"__isSmartRef__":true,"id":12471},"source":"function connectFrom(morph) {\n if (morph === this.toMorph) return; // not allowed\n\n this.disconnectMorph(this.fromMorph)\n this.fromMorph = morph;\n this.connectMorph(this.fromMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":12472},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12471":{"this":{"__isSmartRef__":true,"id":12395}},"12472":{"timestamp":{"__isSmartRef__":true,"id":12473},"user":"jenslincke","tags":[]},"12473":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:57:22 GMT+0100 (CET)"},"12474":{"varMapping":{"__isSmartRef__":true,"id":12475},"source":"function connectTo(morph) {\n\n if (morph === this.fromMorph) return; // not allowed\n\n this.disconnectMorph(this.toMorph)\n this.toMorph = morph;\n this.connectMorph(this.toMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":12476},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12475":{"this":{"__isSmartRef__":true,"id":12395}},"12476":{"timestamp":{"__isSmartRef__":true,"id":12477},"user":"jenslincke","tags":[]},"12477":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:57:14 GMT+0100 (CET)"},"12478":{"varMapping":{"__isSmartRef__":true,"id":12479},"source":"function hideToHandle() {\n if (this.toHandle) {\n this.toHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":12480},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12479":{"this":{"__isSmartRef__":true,"id":12395}},"12480":{"timestamp":{"__isSmartRef__":true,"id":12481},"user":"jenslincke","tags":[]},"12481":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:51:59 GMT+0100 (CET)"},"12482":{"varMapping":{"__isSmartRef__":true,"id":12483},"source":"function hideFromHandle() {\n if (this.fromHandle) {\n this.fromHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":12484},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12483":{"this":{"__isSmartRef__":true,"id":12395}},"12484":{"timestamp":{"__isSmartRef__":true,"id":12485},"user":"jenslincke","tags":[]},"12485":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:52:18 GMT+0100 (CET)"},"12486":{"varMapping":{"__isSmartRef__":true,"id":12487},"source":"function updateIntersection(morph, cp) {\n if (!morph) return;\n var intersection = this.intersectMorph(morph)[0];\n if (intersection) {\n cp.setGlobalPos(intersection);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":12488},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12487":{"this":{"__isSmartRef__":true,"id":12395}},"12488":{"timestamp":{"__isSmartRef__":true,"id":12489},"user":"jenslincke","tags":[]},"12489":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:32 GMT+0100 (CET)"},"12490":{"varMapping":{"__isSmartRef__":true,"id":12491},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":12492},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12491":{"this":{"__isSmartRef__":true,"id":12395}},"12492":{"timestamp":{"__isSmartRef__":true,"id":12493},"user":"jenslincke","tags":[]},"12493":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:47:12 GMT+0100 (CET)"},"12494":{"varMapping":{"__isSmartRef__":true,"id":12495},"source":"function intersectMorphLinePoints(morph, a1, a2) {\n var points = this.globalShapePathFromMorph(morph);\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":12496},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12495":{"this":{"__isSmartRef__":true,"id":12395}},"12496":{"timestamp":{"__isSmartRef__":true,"id":12497},"user":"jenslincke","tags":[]},"12497":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:21 GMT+0100 (CET)"},"12498":{"varMapping":{"__isSmartRef__":true,"id":12499},"source":"function intersectMorph(morph) {\n var line = this;\n return this.intersectMorphLinePoints(morph,\n line.controlPoints[0].getGlobalPos(), line.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":12500},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12499":{"this":{"__isSmartRef__":true,"id":12395}},"12500":{"timestamp":{"__isSmartRef__":true,"id":12501},"user":"jenslincke","tags":[]},"12501":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:47 GMT+0100 (CET)"},"12502":{"varMapping":{"__isSmartRef__":true,"id":12503},"source":"function globalShapePathFromMorph(morph) {\n var b = morph.shape.bounds();\n var p1 = morph.worldPoint(b.topLeft()),\n p2 = morph.worldPoint(b.topRight()),\n p3 = morph.worldPoint(b.bottomRight()),\n p4 = morph.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":12504},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12503":{"this":{"__isSmartRef__":true,"id":12395}},"12504":{"timestamp":{"__isSmartRef__":true,"id":12505},"user":"jenslincke","tags":[]},"12505":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:00 GMT+0100 (CET)"},"12506":{"source":{"__isSmartRef__":true,"id":12334},"target":{"__isSmartRef__":true,"id":12395}},"12507":{"sourceObj":{"__isSmartRef__":true,"id":12334},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":12394},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":12508},"dependedBy":{"__isSmartRef__":true,"id":12394},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"12508":{"source":{"__isSmartRef__":true,"id":12334},"target":{"__isSmartRef__":true,"id":12394}},"12509":{"sourceObj":{"__isSmartRef__":true,"id":12334},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":12394},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":12510},"dependedBy":{"__isSmartRef__":true,"id":12394},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"12510":{"source":{"__isSmartRef__":true,"id":12334},"target":{"__isSmartRef__":true,"id":12394}},"12511":{"sourceObj":{"__isSmartRef__":true,"id":12334},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":12394},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":12512},"dependedBy":{"__isSmartRef__":true,"id":12394},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"12512":{"source":{"__isSmartRef__":true,"id":12334},"target":{"__isSmartRef__":true,"id":12394}},"12513":{"sourceObj":{"__isSmartRef__":true,"id":12334},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":12394},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":12514},"dependedBy":{"__isSmartRef__":true,"id":12394},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"12514":{"source":{"__isSmartRef__":true,"id":12334},"target":{"__isSmartRef__":true,"id":12394}},"12515":{"d":0.9347623017725522,"a":0.9347623017725522,"f":3485.245045045044,"e":728.5390390390387,"c":0.3552737524570028,"b":-0.3552737524570028,"matrix_":{"__isSmartRef__":true,"id":12516},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"12516":{"a":0.9347623017725522,"b":-0.3552737524570028,"c":0.3552737524570028,"d":0.9347623017725522,"e":728.5390390390387,"f":3485.245045045044,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"12517":{"sourceObj":{"__isSmartRef__":true,"id":12334},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":12321},"targetMethodName":"updatePosition","varMapping":{"__isSmartRef__":true,"id":12518},"dependendConnections":[{"__isSmartRef__":true,"id":12519},{"__isSmartRef__":true,"id":12521},{"__isSmartRef__":true,"id":12523},{"__isSmartRef__":true,"id":12525}],"oldTransform":{"__isSmartRef__":true,"id":12527},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"12518":{"source":{"__isSmartRef__":true,"id":12334},"target":{"__isSmartRef__":true,"id":12321}},"12519":{"sourceObj":{"__isSmartRef__":true,"id":12334},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":12517},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":12520},"dependedBy":{"__isSmartRef__":true,"id":12517},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"12520":{"source":{"__isSmartRef__":true,"id":12334},"target":{"__isSmartRef__":true,"id":12517}},"12521":{"sourceObj":{"__isSmartRef__":true,"id":12334},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":12517},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":12522},"dependedBy":{"__isSmartRef__":true,"id":12517},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"12522":{"source":{"__isSmartRef__":true,"id":12334},"target":{"__isSmartRef__":true,"id":12517}},"12523":{"sourceObj":{"__isSmartRef__":true,"id":12334},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":12517},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":12524},"dependedBy":{"__isSmartRef__":true,"id":12517},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"12524":{"source":{"__isSmartRef__":true,"id":12334},"target":{"__isSmartRef__":true,"id":12517}},"12525":{"sourceObj":{"__isSmartRef__":true,"id":12334},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":12517},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":12526},"dependedBy":{"__isSmartRef__":true,"id":12517},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"12526":{"source":{"__isSmartRef__":true,"id":12334},"target":{"__isSmartRef__":true,"id":12517}},"12527":{"d":0.9347623017725522,"a":0.9347623017725522,"f":3485.245045045044,"e":728.5390390390387,"c":0.3552737524570028,"b":-0.3552737524570028,"matrix_":{"__isSmartRef__":true,"id":12528},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"12528":{"a":0.9347623017725522,"b":-0.3552737524570028,"c":0.3552737524570028,"d":0.9347623017725522,"e":728.5390390390387,"f":3485.245045045044,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"12529":{"globalShapePath":{"__isSmartRef__":true,"id":12530},"lineIntersect":{"__isSmartRef__":true,"id":12533},"intersectLine":{"__isSmartRef__":true,"id":12537},"intersectLineMorph":{"__isSmartRef__":true,"id":12540}},"12530":{"varMapping":{"__isSmartRef__":true,"id":12531},"source":"function globalShapePath() {\n var b = this.shape.bounds();\n var p1 = this.worldPoint(b.topLeft()),\n p2 = this.worldPoint(b.topRight()),\n p3 = this.worldPoint(b.bottomRight()),\n p4 = this.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":12532},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12531":{"this":{"__isSmartRef__":true,"id":12334}},"12532":{},"12533":{"varMapping":{"__isSmartRef__":true,"id":12534},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":12535},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12534":{"this":{"__isSmartRef__":true,"id":12334}},"12535":{"timestamp":{"__isSmartRef__":true,"id":12536},"user":"jenslincke","tags":[]},"12536":{"isSerializedDate":true,"string":"Thu Dec 13 2012 13:42:55 GMT+0100 (CET)"},"12537":{"varMapping":{"__isSmartRef__":true,"id":12538},"source":"function intersectLine(a1, a2) {\n var points = this.globalShapePath();\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":12539},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12538":{"this":{"__isSmartRef__":true,"id":12334}},"12539":{},"12540":{"varMapping":{"__isSmartRef__":true,"id":12541},"source":"function intersectLineMorph(m) {\n return this.intersectLine(m.controlPoints[0].getGlobalPos(), m.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":12542},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12541":{"this":{"__isSmartRef__":true,"id":12334}},"12542":{},"12543":{"d":1,"a":1,"f":906.1,"e":107.8,"c":0,"b":0,"matrix_":{"__isSmartRef__":true,"id":12544},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"12544":{"a":1,"b":0,"c":0,"d":1,"e":107.8,"f":906.1,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"12545":{"connect":{"__isSmartRef__":true,"id":12546},"updatePosition":{"__isSmartRef__":true,"id":12550},"updateControlPoint":{"__isSmartRef__":true,"id":12554},"disconnectMorph":{"__isSmartRef__":true,"id":12558},"connectMorph":{"__isSmartRef__":true,"id":12562},"onMouseOver":{"__isSmartRef__":true,"id":12566},"onMouseOut":{"__isSmartRef__":true,"id":12570},"makeHandle":{"__isSmartRef__":true,"id":12578},"showFromHandle":{"__isSmartRef__":true,"id":12582},"showToHandle":{"__isSmartRef__":true,"id":12586},"reset":{"__isSmartRef__":true,"id":12590},"onDragInHandle":{"__isSmartRef__":true,"id":12594},"onDragStartInHandle":{"__isSmartRef__":true,"id":12598},"onDragEndInHandle":{"__isSmartRef__":true,"id":12602},"connectFrom":{"__isSmartRef__":true,"id":12606},"connectTo":{"__isSmartRef__":true,"id":12610},"hideToHandle":{"__isSmartRef__":true,"id":12614},"hideFromHandle":{"__isSmartRef__":true,"id":12618},"updateIntersection":{"__isSmartRef__":true,"id":12622},"lineIntersect":{"__isSmartRef__":true,"id":12626},"intersectMorphLinePoints":{"__isSmartRef__":true,"id":12630},"intersectMorph":{"__isSmartRef__":true,"id":12634},"globalShapePathFromMorph":{"__isSmartRef__":true,"id":12638}},"12546":{"varMapping":{"__isSmartRef__":true,"id":12547},"source":"function connect(morphA, morphB) {\n this.connectFrom(morphA)\n this.connectTo(morphB)\n this.updatePosition()\n}","funcProperties":{"__isSmartRef__":true,"id":12548},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12547":{"this":{"__isSmartRef__":true,"id":12321}},"12548":{"timestamp":{"__isSmartRef__":true,"id":12549},"user":"jenslincke","tags":[]},"12549":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:50:49 GMT+0100 (CET)"},"12550":{"varMapping":{"__isSmartRef__":true,"id":12551},"source":"function updatePosition() {\n this.updateControlPoint(this.controlPoints[0], this.fromMorph)\n this.updateControlPoint(this.controlPoints[1], this.toMorph)\n this.updateIntersection(this.fromMorph, this.controlPoints[0])\n this.updateIntersection(this.toMorph, this.controlPoints[1])\n\n this.adjustOrigin(this.bounds().extent().scaleBy(0.5))\n}","funcProperties":{"__isSmartRef__":true,"id":12552},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12551":{"this":{"__isSmartRef__":true,"id":12321}},"12552":{"timestamp":{"__isSmartRef__":true,"id":12553},"user":"jenslincke","tags":[]},"12553":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:06:20 GMT+0100 (CET)"},"12554":{"varMapping":{"__isSmartRef__":true,"id":12555},"source":"function updateControlPoint(cp, morph) {\n if (!cp || !morph) return;\n cp.setGlobalPos(morph.worldPoint(morph.shape.bounds().center()))\n}","funcProperties":{"__isSmartRef__":true,"id":12556},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12555":{"this":{"__isSmartRef__":true,"id":12321}},"12556":{"timestamp":{"__isSmartRef__":true,"id":12557},"user":"jenslincke","tags":[]},"12557":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:45:56 GMT+0100 (CET)"},"12558":{"varMapping":{"__isSmartRef__":true,"id":12559},"source":"function disconnectMorph(morph) {\n if (!morph) return;\n lively.bindings.disconnect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":12560},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12559":{"this":{"__isSmartRef__":true,"id":12321}},"12560":{"timestamp":{"__isSmartRef__":true,"id":12561},"user":"jenslincke","tags":[]},"12561":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:19:18 GMT+0100 (CET)"},"12562":{"varMapping":{"__isSmartRef__":true,"id":12563},"source":"function connectMorph(morph) {\n if (morph)\n lively.bindings.connect(morph, 'globalTransform', this, 'updatePosition')\n}","funcProperties":{"__isSmartRef__":true,"id":12564},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12563":{"this":{"__isSmartRef__":true,"id":12321}},"12564":{"timestamp":{"__isSmartRef__":true,"id":12565},"user":"jenslincke","tags":[]},"12565":{"isSerializedDate":true,"string":"Thu Dec 13 2012 11:52:12 GMT+0100 (CET)"},"12566":{"varMapping":{"__isSmartRef__":true,"id":12567},"source":"function onMouseOver(evt) {\n var p = evt.mousePoint.scaleBy(this.world().getScale())\n\n var cp1 = this.controlPoints[0].getGlobalPos();\n if (p.dist(cp1) < 20) {\n this.showFromHandle()\n } else {\n this.hideFromHandle()\n }\n var cp2 = this.controlPoints[1].getGlobalPos();\n if (p.dist(cp2) < 20) {\n this.showToHandle()\n } else {\n this.hideToHandle()\n }\n}","funcProperties":{"__isSmartRef__":true,"id":12568},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12567":{"this":{"__isSmartRef__":true,"id":12321}},"12568":{"timestamp":{"__isSmartRef__":true,"id":12569},"user":"jenslincke","tags":[]},"12569":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:23:03 GMT+0100 (CET)"},"12570":{"varMapping":{"__isSmartRef__":true,"id":12571},"source":"function onMouseOut(evt) {\n // this.hideFromHandle()\n // this.hideToHandle()\n}","funcProperties":{"__isSmartRef__":true,"id":12576},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12571":{"this":{"__isSmartRef__":true,"id":12321},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":12572}},"12572":{"$super":{"__isSmartRef__":true,"id":12573}},"12573":{"varMapping":{"__isSmartRef__":true,"id":12574},"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":12575},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12574":{"obj":{"__isSmartRef__":true,"id":12321},"name":"onMouseOut"},"12575":{},"12576":{"timestamp":{"__isSmartRef__":true,"id":12577},"user":"jenslincke","tags":[]},"12577":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:54:53 GMT+0100 (CET)"},"12578":{"varMapping":{"__isSmartRef__":true,"id":12579},"source":"function makeHandle() {\n var m = lively.morphic.Morph.makeRectangle(0,0,10,10);\n m.disableGrabbing()\n m.enableDragging()\n m.connector = this;\n // move real behavior to a place which is easier to develop\n // do not use bind, because we like late binding \n m.addScript(function onDragStart(evt) {\n this.connector.onDragStartInHandle(this, evt)\n })\n m.addScript(function onDrag(evt) {\n this.connector.onDragInHandle(this, evt)\n })\n m.addScript(function onDragEnd(evt) {\n this.connector.onDragEndInHandle(this, evt)\n })\n m.isEpiMorph = true;\n return m\n}","funcProperties":{"__isSmartRef__":true,"id":12580},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12579":{"this":{"__isSmartRef__":true,"id":12321}},"12580":{"timestamp":{"__isSmartRef__":true,"id":12581},"user":"jenslincke","tags":[]},"12581":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:08:29 GMT+0100 (CET)"},"12582":{"varMapping":{"__isSmartRef__":true,"id":12583},"source":"function showFromHandle() {\n if (!this.fromHandle) {\n this.fromHandle = this.makeHandle();\n this.fromHandle.setFill(Color.red)\n this.fromHandle.isFromHandle = true;\n }\n this.fromHandle.openInWorld();\n this.fromHandle.controlPoint = this.controlPoints[0];\n this.fromHandle.setPosition(this.controlPoints[0].getGlobalPos().subPt(pt(5,5)))\n return this.fromHandle\n}","funcProperties":{"__isSmartRef__":true,"id":12584},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12583":{"this":{"__isSmartRef__":true,"id":12321}},"12584":{"timestamp":{"__isSmartRef__":true,"id":12585},"user":"jenslincke","tags":[]},"12585":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:13:03 GMT+0100 (CET)"},"12586":{"varMapping":{"__isSmartRef__":true,"id":12587},"source":"function showToHandle() {\n if (!this.toHandle) {\n this.toHandle = this.makeHandle();\n this.toHandle.setFill(Color.red)\n this.toHandle.isToHandle = true;\n\n }\n this.toHandle.openInWorld();\n this.toHandle.controlPoint = this.controlPoints[1];\n this.toHandle.setPosition(this.controlPoints[1].getGlobalPos().subPt(pt(5,5)))\n return this.toHandle\n}","funcProperties":{"__isSmartRef__":true,"id":12588},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12587":{"this":{"__isSmartRef__":true,"id":12321}},"12588":{"timestamp":{"__isSmartRef__":true,"id":12589},"user":"jenslincke","tags":[]},"12589":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:20:25 GMT+0100 (CET)"},"12590":{"varMapping":{"__isSmartRef__":true,"id":12591},"source":"function reset() {\n if (this.fromHandle) {\n this.fromHandle.remove()\n delete this.fromHandle\n }\n if (this.toHandle) {\n this.toHandle.remove()\n delete this.toHandle\n }\n // this.controlPoints[1].setPos(pt(200,200))\n}","funcProperties":{"__isSmartRef__":true,"id":12592},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12591":{"this":{"__isSmartRef__":true,"id":12321}},"12592":{"timestamp":{"__isSmartRef__":true,"id":12593},"user":"jenslincke","tags":[]},"12593":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:15:00 GMT+0100 (CET)"},"12594":{"varMapping":{"__isSmartRef__":true,"id":12595},"source":"function onDragInHandle(handle, evt) {\n\n var pos = handle.getPositionInWorld();\n var delta = evt.hand.getPosition().subPt(pos);\n handle.moveBy(delta)\n pos = handle.getPositionInWorld();\n if (handle.controlPoint)\n handle.controlPoint.setGlobalPos(pos.addPt(pt(5,5)))\n var morphs = this.owner.morphsContainingPoint(pos)\n morphs = morphs.reject(function(ea) {\n return ea.isWorld || (ea === handle) || (ea === this) || \n (ea === this.owner)\n }, this)\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n this.selectedMorph = morphs.first();\n this.selectedMorphHighlights = show(this.selectedMorph)\n handle.startPos = evt.getPosition();\n}","funcProperties":{"__isSmartRef__":true,"id":12596},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12595":{"this":{"__isSmartRef__":true,"id":12321}},"12596":{"timestamp":{"__isSmartRef__":true,"id":12597},"user":"jenslincke","tags":[]},"12597":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:06:40 GMT+0100 (CET)"},"12598":{"varMapping":{"__isSmartRef__":true,"id":12599},"source":"function onDragStartInHandle(handle, evt) {\n handle.startPos = evt.getPosition()\n}","funcProperties":{"__isSmartRef__":true,"id":12600},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12599":{"this":{"__isSmartRef__":true,"id":12321}},"12600":{"timestamp":{"__isSmartRef__":true,"id":12601},"user":"jenslincke","tags":[]},"12601":{"isSerializedDate":true,"string":"Thu Dec 13 2012 15:51:13 GMT+0100 (CET)"},"12602":{"varMapping":{"__isSmartRef__":true,"id":12603},"source":"function onDragEndInHandle(handle, evt) {\n if (this.selectedMorphHighlights) \n this.selectedMorphHighlights.invoke('remove')\n \n if (handle.isFromHandle) this.connectFrom(this.selectedMorph)\n if (handle.isToHandle) this.connectTo(this.selectedMorph)\n handle.remove()\n}","funcProperties":{"__isSmartRef__":true,"id":12604},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12603":{"this":{"__isSmartRef__":true,"id":12321}},"12604":{"timestamp":{"__isSmartRef__":true,"id":12605},"user":"jenslincke","tags":[]},"12605":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:44:35 GMT+0100 (CET)"},"12606":{"varMapping":{"__isSmartRef__":true,"id":12607},"source":"function connectFrom(morph) {\n if (morph && morph === this.toMorph) return; // not allowed\n\n this.disconnectMorph(this.fromMorph)\n this.fromMorph = morph;\n this.connectMorph(this.fromMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":12608},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12607":{"this":{"__isSmartRef__":true,"id":12321}},"12608":{"timestamp":{"__isSmartRef__":true,"id":12609},"user":"jenslincke","tags":[]},"12609":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:02:22 GMT+0100 (CET)"},"12610":{"varMapping":{"__isSmartRef__":true,"id":12611},"source":"function connectTo(morph) {\n\n if (morph && morph === this.fromMorph) return; // not allowed\n\n this.disconnectMorph(this.toMorph)\n this.toMorph = morph;\n this.connectMorph(this.toMorph)\n}","funcProperties":{"__isSmartRef__":true,"id":12612},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12611":{"this":{"__isSmartRef__":true,"id":12321}},"12612":{"timestamp":{"__isSmartRef__":true,"id":12613},"user":"jenslincke","tags":[]},"12613":{"isSerializedDate":true,"string":"Thu Dec 13 2012 18:02:30 GMT+0100 (CET)"},"12614":{"varMapping":{"__isSmartRef__":true,"id":12615},"source":"function hideToHandle() {\n if (this.toHandle) {\n this.toHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":12616},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12615":{"this":{"__isSmartRef__":true,"id":12321}},"12616":{"timestamp":{"__isSmartRef__":true,"id":12617},"user":"jenslincke","tags":[]},"12617":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:51:59 GMT+0100 (CET)"},"12618":{"varMapping":{"__isSmartRef__":true,"id":12619},"source":"function hideFromHandle() {\n if (this.fromHandle) {\n this.fromHandle.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":12620},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12619":{"this":{"__isSmartRef__":true,"id":12321}},"12620":{"timestamp":{"__isSmartRef__":true,"id":12621},"user":"jenslincke","tags":[]},"12621":{"isSerializedDate":true,"string":"Thu Dec 13 2012 16:52:18 GMT+0100 (CET)"},"12622":{"varMapping":{"__isSmartRef__":true,"id":12623},"source":"function updateIntersection(morph, cp) {\n if (!morph) return;\n var intersection = this.intersectMorph(morph)[0];\n if (intersection) {\n cp.setGlobalPos(intersection);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":12624},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12623":{"this":{"__isSmartRef__":true,"id":12321}},"12624":{"timestamp":{"__isSmartRef__":true,"id":12625},"user":"jenslincke","tags":[]},"12625":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:32 GMT+0100 (CET)"},"12626":{"varMapping":{"__isSmartRef__":true,"id":12627},"source":"function lineIntersect(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":12628},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12627":{"this":{"__isSmartRef__":true,"id":12321}},"12628":{"timestamp":{"__isSmartRef__":true,"id":12629},"user":"jenslincke","tags":[]},"12629":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:47:12 GMT+0100 (CET)"},"12630":{"varMapping":{"__isSmartRef__":true,"id":12631},"source":"function intersectMorphLinePoints(morph, a1, a2) {\n var points = this.globalShapePathFromMorph(morph);\n var intersections = [];\n points.inject(points.last(), function(last, ea) {\n var p = this.lineIntersect(a1, a2, last, ea)\n if (p) intersections.push(p)\n return ea\n }, this)\n return intersections\n}","funcProperties":{"__isSmartRef__":true,"id":12632},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12631":{"this":{"__isSmartRef__":true,"id":12321}},"12632":{"timestamp":{"__isSmartRef__":true,"id":12633},"user":"jenslincke","tags":[]},"12633":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:21 GMT+0100 (CET)"},"12634":{"varMapping":{"__isSmartRef__":true,"id":12635},"source":"function intersectMorph(morph) {\n var line = this;\n return this.intersectMorphLinePoints(morph,\n line.controlPoints[0].getGlobalPos(), line.controlPoints[1].getGlobalPos())\n}","funcProperties":{"__isSmartRef__":true,"id":12636},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12635":{"this":{"__isSmartRef__":true,"id":12321}},"12636":{"timestamp":{"__isSmartRef__":true,"id":12637},"user":"jenslincke","tags":[]},"12637":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:51:47 GMT+0100 (CET)"},"12638":{"varMapping":{"__isSmartRef__":true,"id":12639},"source":"function globalShapePathFromMorph(morph) {\n var b = morph.shape.bounds();\n var p1 = morph.worldPoint(b.topLeft()),\n p2 = morph.worldPoint(b.topRight()),\n p3 = morph.worldPoint(b.bottomRight()),\n p4 = morph.worldPoint(b.bottomLeft());\n return [p1, p2, p3, p4]\n}","funcProperties":{"__isSmartRef__":true,"id":12640},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12639":{"this":{"__isSmartRef__":true,"id":12321}},"12640":{"timestamp":{"__isSmartRef__":true,"id":12641},"user":"jenslincke","tags":[]},"12641":{"isSerializedDate":true,"string":"Thu Dec 13 2012 17:53:00 GMT+0100 (CET)"},"12642":{"source":{"__isSmartRef__":true,"id":12199},"target":{"__isSmartRef__":true,"id":12321}},"12643":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":12198},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":12644},"dependedBy":{"__isSmartRef__":true,"id":12198},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"12644":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":12198}},"12645":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":12198},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":12646},"dependedBy":{"__isSmartRef__":true,"id":12198},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"12646":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":12198}},"12647":{"sourceObj":{"__isSmartRef__":true,"id":2945},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":12198},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":12648},"dependedBy":{"__isSmartRef__":true,"id":12198},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"12648":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":12198}},"12649":{"d":0.9999216420017616,"a":0.9999216420017616,"f":146.7,"e":314.7,"c":-0.012518380745633573,"b":0.012518380745633573,"matrix_":{"__isSmartRef__":true,"id":12650},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"12650":{"a":0.9999216420017616,"b":0.012518380745633573,"c":-0.012518380745633573,"d":0.9999216420017616,"e":314.7,"f":146.7,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"12651":{"source":{"__isSmartRef__":true,"id":2945},"target":{"__isSmartRef__":true,"id":12198}},"12652":{"intersects":{"__isSmartRef__":true,"id":12653}},"12653":{"varMapping":{"__isSmartRef__":true,"id":12654},"source":"function intersects(a1, a2, b1, b2){\n // inspired by http://stackoverflow.com/questions/3746274/line-intersection-with-aabb-rectangle\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(b.scaleBy(t));\n}","funcProperties":{"__isSmartRef__":true,"id":12655},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12654":{"this":{"__isSmartRef__":true,"id":2945}},"12655":{},"12656":{"submorphs":[{"__isSmartRef__":true,"id":12657}],"scripts":[],"id":"37919BD3-1E50-4C5B-BA67-F4C78DBA67D8","shape":{"__isSmartRef__":true,"id":12835},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":120.695652,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":11,"name":"SpecialSyntaxWorkspace4","partsBinMetaInfo":{"__isSmartRef__":true,"id":12836},"textChunks":[{"__isSmartRef__":true,"id":12856},{"__isSmartRef__":true,"id":12858},{"__isSmartRef__":true,"id":12860},{"__isSmartRef__":true,"id":12862},{"__isSmartRef__":true,"id":12864},{"__isSmartRef__":true,"id":12866}],"charsReplaced":"","lastFindLoc":158,"prevScroll":[0,0],"eventHandler":{"__isSmartRef__":true,"id":12868},"_ClipMode":"visible","derivationIds":[355,"1EB1674F-8BF2-419B-B054-86129ED70335","63698904-DC05-4341-A9B6-5CC4A219CD04","F6A714BA-4735-41ED-8A2A-45CB153FBDF8","00EF5BDE-A6C1-4CDC-AAFD-8DB7D6C920A9","31625624-9A8F-4797-9CEB-6E0AC4E70EA8","D1F11C50-0C91-47DF-A055-1EA602857957","F2B8E6AA-6248-4340-A65D-FC05BD3AC6EC","2EFE11FE-5B9F-4624-8C5B-F77B7A7826DE","8D4DCE34-6A61-4C28-A1B9-9E1A5220FAA9","489C99AA-CF42-43E9-A1DC-91BD465A36BA","ECC37F8B-17AA-4111-97F2-7FD93AEDE97D"],"_WhiteSpaceHandling":"pre-wrap","_MinTextWidth":120.695652,"_MinTextHeight":null,"isBeingDragged":false,"moved":true,"magnets":[{"__isSmartRef__":true,"id":12869},{"__isSmartRef__":true,"id":12870},{"__isSmartRef__":true,"id":12871},{"__isSmartRef__":true,"id":12872},{"__isSmartRef__":true,"id":12873},{"__isSmartRef__":true,"id":12874},{"__isSmartRef__":true,"id":12875},{"__isSmartRef__":true,"id":12876}],"syntaxHighlightingWhileTyping":true,"attributeConnections":[{"__isSmartRef__":true,"id":12877}],"doNotSerialize":["$$textString","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors","parseErrors"],"doNotCopyProperties":["$$textString"],"_lastSyntaxHighlightTime":11,"_WordBreak":"break-all","savedTextString":"this.addScript(function intersects(v1, v2){\n var a1 = v1[0],\n a2 = v1[1],\n b1 = v2[0],\n b2 = v2[1];\n\n var b = a2.subPt(a1);\n var d = b2.subPt(b1);\n var bDotDPerp = b.x * d.y - b.y * d.x;\n\n // if b dot d == 0, it means the lines are parallel so have infinite intersection points\n if (bDotDPerp == 0)\n return null;\n\n var c = b1.subPt(a1);\n var t = (c.x * d.y - c.y * d.x) / bDotDPerp;\n if (t < 0 || t > 1)\n return null;\n\n var u = (c.x * b.y - c.y * b.x) / bDotDPerp;\n if (u < 0 || u > 1)\n return null;\n\n return a1.addPt(t * b);\n})\n\nthis.intersects(#Line1.vertices(), #Line2.vertices())\n\n\n\n","target":{"__isSmartRef__":true,"id":2945},"layout":{"__isSmartRef__":true,"id":12879},"owner":{"__isSmartRef__":true,"id":0},"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","textColor","_Padding","distanceToDragEvent"],"textString":"#Line.controlPoints\n\n#Line.connect(#A, #B)\n\n\n#A.copy().attributeConnections\n\n#B.copy().attributeConnections.length // 25\n#C.copy().attributeConnections.length\n","priorSelectionRange":[42,75],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":12880},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(40.0,3227.1)","textColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(5,5,0,0)","distanceToDragEvent":"lively.pt(305.4,-41.1)"},"12657":{"submorphs":[{"__isSmartRef__":true,"id":12658},{"__isSmartRef__":true,"id":12673}],"scripts":[],"id":"F296FD21-99B1-430F-9951-D0E6894B1D19","shape":{"__isSmartRef__":true,"id":12684},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":12690},"lighterFill":{"__isSmartRef__":true,"id":12695},"label":{"__isSmartRef__":true,"id":12658},"name":"MagnifierButton1","showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":12700},"attributeConnections":[{"__isSmartRef__":true,"id":12703}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"eventHandler":{"__isSmartRef__":true,"id":12704},"derivationIds":[2588,"22797D34-67DE-4A06-81F0-4DF0A87ADBBC","81CB4C12-BCF0-4097-8B6D-D9419046367A","0767A57D-9BB2-48C6-9654-753D2B9D00A6","42871246-6725-4E41-A2C1-5A5BCF041097","BCE6E775-B5DF-4D6B-9F06-CDC02C1B1D0F","797EC165-A639-42D9-A059-669F6BEB92A7","FA498EFD-E50E-4CE0-9FA8-9AE2E8AE9580","4B68C371-CB37-45B4-910A-611E5FFC23DD","94E374B9-7ED4-4E39-96F1-6FD4E7AC3428","34D63515-7CC7-43FB-B7BB-87AFCA377D63","7E0B172C-0AF5-4C6E-B184-25A8FAE4FAB8","12239D52-D3D3-4713-BC3E-F0B95C488CB7","72559D92-4616-45A9-A0F2-72BA4147C0FB","E86C7328-AF24-4881-84AF-B7C7CEFEAE14","22D731CF-38F0-41CC-B125-74D2842ED847","B58A1A30-782E-4675-A276-2C01D35BEC70","ACEABA6D-071C-46C2-A325-BE30189AA45F","686443AE-DCDC-4998-8A39-48BC57D64FDC","8D660766-7C93-404C-9D92-B12CBF59A3CE","20DF1A18-6F2B-4D66-9110-75EB343C3C61","6295FA32-B7AA-4C61-BF03-5E69084C8FE8","72BEBA6F-7C26-47B6-AED2-253F02E48DE5","4C8C2413-A44D-4F57-8D6E-044435019381","8481867E-257F-45A2-BBB7-D82E20C8F62F","74A7AFD5-B248-4B24-81F4-525DA976B262"],"_ClipMode":"visible","highlightRectangle":{"__isSmartRef__":true,"id":12705},"isPressed":false,"owner":{"__isSmartRef__":true,"id":12656},"prevScroll":[0,0],"layout":{"__isSmartRef__":true,"id":12781},"magnets":[{"__isSmartRef__":true,"id":12782},{"__isSmartRef__":true,"id":12783},{"__isSmartRef__":true,"id":12784},{"__isSmartRef__":true,"id":12785},{"__isSmartRef__":true,"id":12786},{"__isSmartRef__":true,"id":12787},{"__isSmartRef__":true,"id":12788},{"__isSmartRef__":true,"id":12789}],"_Rotation":0,"_Scale":0.9920279440699439,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":12790},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(784.4,-5.0)","distanceToDragEvent":"lively.pt(39.2,-13.1)"},"12658":{"submorphs":[],"scripts":[],"id":"7F6F9751-A03F-493D-AAD2-87B223CC656A","shape":{"__isSmartRef__":true,"id":12659},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":false,"_FontFamily":"Helvetica","registeredForMouseEvents":true,"_MaxTextWidth":24,"_MaxTextHeight":null,"textStyle":null,"owner":{"__isSmartRef__":true,"id":12657},"isLabel":true,"eventsAreIgnored":true,"_ClipMode":"hidden","textChunks":[{"__isSmartRef__":true,"id":12660},{"__isSmartRef__":true,"id":12662}],"_Align":"center","eventHandler":{"__isSmartRef__":true,"id":12664},"_HandStyle":"default","_PointerEvents":"none","derivationIds":[2589,"024C5ADE-C4CF-4E8E-BEC5-F93AD4839702","A2CC4D56-B9D8-4A48-B6FF-DDDD85ACDC2E","5AC5C4DE-00B0-43DB-B7F1-765674CE818B","750A11C6-766E-4B48-AE32-D71DE811EB4A","66A7B56E-A94E-44AE-8AED-C0C1B07554D4","CA8596D3-2D4F-453B-BE1B-DCEC8F85389B","4D7DC32F-79CB-4AF8-8B21-AB4F1809D4A8","439DE430-7651-470E-97D8-00E7F96B04DA","DAC920E6-217B-4515-AC09-2F9DCBA7375C","BD48C003-0502-451D-B6AA-7369FF3D1030","C3B8F4EA-3F44-47F4-B569-A0D5AB263BA0","BF7F0FA3-3F2A-4EEF-9687-BE2B0635DF13","3D7AEAC1-C9DD-4941-BA46-16F6783F5699","E04A78F9-3D6E-403F-BA8D-2583FCFFCE53","47E1F29B-6896-467D-8654-CA18929AE57A","509D86FF-5400-4374-BE79-90F0A7E3E90C","C7E53EE0-065A-4C59-8D13-311566722BB7","BA078BAC-7263-4B10-AFD3-3C4EA0DD8707","BCFE28D1-A115-453E-9116-EECC8FE1D50F","A354FF2E-BD85-429A-97C2-254D6033F50C","B26A73EB-9EB9-4CB0-89AF-FEE10445E3EA","ED910382-D586-4EC1-BD77-5E8DD759BDB4","F6E9EDE5-A210-4ABB-ABE1-2086939E8554","6EADE3A3-1659-445F-8623-E2F7EC070EBF","843CFD2F-3356-4569-81B7-9BF70FDD6005"],"_MinTextWidth":24,"_MinTextHeight":null,"_FontSize":10,"_WordBreak":"break-all","magnets":[{"__isSmartRef__":true,"id":12665},{"__isSmartRef__":true,"id":12666},{"__isSmartRef__":true,"id":12667},{"__isSmartRef__":true,"id":12668},{"__isSmartRef__":true,"id":12669},{"__isSmartRef__":true,"id":12670},{"__isSmartRef__":true,"id":12671},{"__isSmartRef__":true,"id":12672}],"__serializedExpressions__":["_Position","padding","_Padding","_TextColor"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(0.0,0.0)","padding":"lively.rect(5,5,0,0)","_Padding":"lively.rect(0,0,0,0)","_TextColor":"Color.rgb(0,0,0)"},"12659":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(64.2,21.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,3,0,0)"},"12660":{"style":{"__isSmartRef__":true,"id":12661},"chunkOwner":{"__isSmartRef__":true,"id":12658},"storedString":"","_id":"_1372","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"12661":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"12662":{"style":{"__isSmartRef__":true,"id":12663},"chunkOwner":{"__isSmartRef__":true,"id":12658},"storedString":"","_id":"_1373","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"12663":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"12664":{"morph":{"__isSmartRef__":true,"id":12658},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"12665":{"morph":{"__isSmartRef__":true,"id":12658},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(821.3,3643.0)"},"12666":{"morph":{"__isSmartRef__":true,"id":12658},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(853.1,3643.0)"},"12667":{"morph":{"__isSmartRef__":true,"id":12658},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(885.0,3643.0)"},"12668":{"morph":{"__isSmartRef__":true,"id":12658},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(885.0,3653.4)"},"12669":{"morph":{"__isSmartRef__":true,"id":12658},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(885.0,3663.8)"},"12670":{"morph":{"__isSmartRef__":true,"id":12658},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(853.1,3663.8)"},"12671":{"morph":{"__isSmartRef__":true,"id":12658},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(821.3,3663.8)"},"12672":{"morph":{"__isSmartRef__":true,"id":12658},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(821.3,3653.4)"},"12673":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":12674},"derivationIds":[null,"29E543E0-AE93-493A-A694-FC1C330D0544","F0366E4C-E97F-4C77-BEE4-340A0668ADD5","347F6028-5092-4F54-9A34-3EFF3FF0B815","BF7387E7-BCD7-4A5B-B9D2-C14ECF59EFCA","85BA370B-966E-41F7-8C2F-F3A926EC2AA2","1652172B-339A-43A1-9589-70E68B35A28E","705524F7-129B-4102-834E-2A1A45985BB5","5707DF70-CD77-4D53-96ED-5A0AEB227FB7","257E62CE-C668-4317-B5B7-8D394BDC3F6C","2DD4BEA5-E85A-4CD0-953E-9EB2E0735654","BB96B696-7BD4-44C4-9D60-B1551B89D6FA","FCAABC48-FBAF-4E12-8BC9-AC4ACB5A167B","EB81C4D7-5BD8-4DAC-BD70-8675E2338AAC","1DBAE3FF-B2F6-4348-8E06-81139C138D6E","49E7D450-EF74-4E94-B33B-B888D952F3BD","F0B267C4-54BA-4E6F-BFDD-4B047F4FF41A","36B8611D-B449-4F6E-8D0F-B5FD6406D45D","779DB518-01BD-4D32-AD65-BFED801E5D06","F47D501C-3750-4F0D-A2E1-E1B9CDA8368C","5DEBC468-2070-496D-A3DA-1A5C54BBBC41","1DB6E59C-CCC0-45D1-B3DA-6B2ECCE90296","7C4EE8E8-7D96-4792-A66A-5F5A65A5DBAC","533280D6-95D6-4CB0-AFD1-B348BC73D57B","E06ADBFC-0EDA-4456-94FF-0BBEBE21AE2A"],"id":"8A5ABE41-A22B-45EB-B0D4-094CFE6D935E","eventHandler":{"__isSmartRef__":true,"id":12675},"_ClipMode":"visible","__layered_droppingEnabled__":true,"halosEnabled":true,"owner":{"__isSmartRef__":true,"id":12657},"name":"leftpointing_magnifying_glass.png","isBeingDragged":false,"showsHalos":false,"eventsAreDisabled":true,"_HandStyle":"default","_PointerEvents":"none","magnets":[{"__isSmartRef__":true,"id":12676},{"__isSmartRef__":true,"id":12677},{"__isSmartRef__":true,"id":12678},{"__isSmartRef__":true,"id":12679},{"__isSmartRef__":true,"id":12680},{"__isSmartRef__":true,"id":12681},{"__isSmartRef__":true,"id":12682},{"__isSmartRef__":true,"id":12683}],"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__LivelyClassName__":"lively.morphic.Image","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(-3.0,0.0)","distanceToDragEvent":"lively.pt(39.9,-9.0)"},"12674":{"_ImageURL":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAACXBIWXMAAAABAAAAAQBPJcTWAAAALnRFWHRUaXRsZQBMRUZULVBPSU5USU5HIE1BR05JRllJTkcgR0xBU1MgKFUrMUY1MEQpw88haQAAABV0RVh0QXV0aG9yAEFuZHJldyBNYXJjdXNl5zc3gwAAAC90RVh0U29mdHdhcmUAaW5mby5maWxlZm9ybWF0LmRhdGEuVW5pY29kZVBuZ1NlcnZsZXRoAX8wAAAAQ3RFWHREZXNjcmlwdGlvbgBodHRwOi8vd3d3LmZpbGVmb3JtYXQuaW5mby9pbmZvL3VuaWNvZGUvMWY1MGQvaW5kZXguaHRtk2hNQgAAADt0RVh0Q29weXJpZ2h0AGh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LW5jLXNhLzIuMC9siJKDAAAIDklEQVR42u1daWxVRRQeCi0tIqCAQCTIUtEIGlk0ilqEkEbiQhSKGAyCooIIggsiQuMWZNGwVMUFNIhKZBMobZClgK1FwAU3wIpSREDcUFZFEM/JOzf3vPHet9ze1/eYe77k+zNzl5nz3ZlzZntPKYFAcHojDXimmKH6cQbwZuBM4HLgx8A9wBPAU8BjwJ3ADcDFwMnArsCaYjr/0BB4DwlwjAwfL38DzgX2AdYWk3pDJnAM8E/NuN8BpwEHAq8DXgpsCswANgN2APak/BeBu7T7sQX1A9YQE8fuDwYAf2BG/JrEaefxmSjaeOAO9syNwBwxd2Q0o/7fMhr6h8Fx+oBIX346cATwF/aON6Qbc0ZH4G4y0lHgOGAdD8/Be/KAs4AFwKsdrqkHnAA8Tu8rAzYWCWz0Bh5hraKTT11fL+AH1FXlA8/SrsEu61fmW9qLFEqNAv5LRsEw9twEvKMzcAvwJ3LoHG2AW+n9B4HdgixGHhNjiccuKlbUp9aC7yoGnqflraa8A8C2QRTjMvIVaITyKI61BjnkqiILWEjvPAwcxvLqAj+nvAqH7s1oNAfupcpjeNskhnvQOQ/xYfxQCziHRVl3sjxsNfspvYSuNR4Ywn5ClT5CA7lYkUPRU0YVy4CivkVlOE7TKxa6AP+ivKlBEORe9nUO8XD/QhWay6oqmlK3dYoirTYs70FK/wd4ocli1KVIByu7XXmb9BsOPEmj76riSfZxbAM2oPQMmqLB9GUmC/I0M8AtHp9xCd3/rM8fCHISy+vH0ruaOi3Coyqv6ETPKPSpXEOZ4X9XoSl+y89sovTNJgoyklW8rw8+aKFP5apFo3SrbMNcWsnFpgmylkU19R3yY4mc0mk0j88Z62PZ5jHDV7DQugE5dkx/3CQxzlb2qt6aCF1HtJH6BHoGju4v97F8+Sp8zeRGlldCaZtMEmQAq+zICL5hpUvrwfXy19gzZvhcvj6aILNZ3ij2ETQzRZA3WWU7RrgOfQsu05YCnyLxcFS9h91fTlMgfqKdJsg6lteBpQ8wRZASVqmmUa7txvwEJ/qe8SoxGxYymK+wpnMsNGHpxviRbVShkzEatAb5iEHUSrqzQVuiUMkMf5IFGWnM/71giiAHqEL7U7iMf2gtkk/B7/M51E4qMlklvzwNymgxl+VvobQPTRCkMavkDpaelkJlbOkgyDUsv0LZu19Oe/A++BBLvyIB0ZJX9HIQhHdZBymt1BQfso9V1Jorag28PUXKN8tBkHqUV4elLTJFkM9YpVqzllOcAmXDiG6vJsZhlt+Kpc80RZBiF2eJK4fZSS5bd4fWUcTyc1n6Y6YIMpVVii+LTgFOTHLZNjoIMpTlT2fpXUwRpIcKn021gHuwcDN0ss525Cnn3fIt2DXfK3vPljGbHtK1gdcFmkNdkYTK4gz0Tgcxytg1fI6rUBkGvubA54Ta0lTFK9VYFhS/xKV18PEHX3MfYpogfPUND9DwuamFlP5oNZXlZRcxlmsDWutsCl/aNQYZWhfBnTlOceNsLq459E1wyyhwEeNvFb7ZusClrEbhNlbJoyp8Y3UejehxPWS08v/MBrbIlcr92BvfwZit7KMKOC3f3FRBcBC2mRlBnz0dpOzN17gvqrdP7+2p7PkoJz7Hrq2pCfeqMhzXasbI1/KHa/m4Y93reRFcU1mrIh8IXaLCJzpnsLyfKRozHrNZpbFF9NHyx2pGw2tWAZ8H3gW8UjmvvWdSlIQb3raq6Kdzp6vwBbOhWn5/FRCggy9lFcdN1521ax5Q0Y9B41o7nkn8Rv1/gSkS0T/crb0vV4Uv465UAUNjLerCkfAN2jUXKef19apwnYP4AynK4tfNU6m1ZlMtaK/stQZrLXu0Q6g6OIpTjoVfAK/Xnp1GDp1fhy0th1rwHLqmEbXYHkEQJYcGitwouG2onoPx0Ne8q+yDmtGIs8lPUFCgH/Q5R4XPQlt8nfKzKB9/ouNHLT/ddFEw7t+uGQbPko90GY+gOHgcoRc5+YeBj1DY3JPyGrq8qy6JdMhBDAyz8azhZLq2JRuP4HE3a6f8KhNH7k4Dt9UORqoE3qGqfiAUo7L7lX1kjfMd4H0UHGTTFMpLzH8VUAS3iN2znsQ1GugvprCvkvMYdSFouBYxPu98FdoKusblmZXUoiz0J1FuYgPUfCrXAof7S4MgimXIRVH8wwHq5vBLna9Cs8ULyEgVWrCg8zAJ79TtjGDXjSMx5kd4Fk7XB+a3uq5Sob1QfoW86JzxR2zcjjyj3/mKTafUpCAi2nPLVcB+QA379YdoGuWEBxEwars1hujIOpZQQS1jWhzvKXeIDAOBRhT+YgQ2kcYK71NLwgOauAKJ50jwpFW8J2jHKHvLKwYBuENmVxyibAiqKIlCOkVY1g8HZHkQ5SOXeTaBR9RW9vT7agp34xVlo4jiL7KoG0TjriCR4hVlk0r8EYrAtZQiZa+14wx1qzhF2Syi+C+K5VOWko8RUVJIlPc8irIhKCP6ZItSqeJbh8kSU/qHDCbKMuZT4hFlrpgxcaIUUcuJR5TdYsLEiFLIQuLMOESZJOZLnCjLyMhrabqkZRRR1qsArDQmW5SlZOxPVWhJ2E2UNRJlVQ/wi19CRv9WhXbJoCh8zb+IujVBNYqymIyPP55ZxsQoVvK78kkBrp28rXVThSJGcoE7YZ5RoTMlc8SBpw7kj2IEAoFAIBAIBAKBQCAQCAQCgUAgEAgEAoFAIBAIBAKBQCAQCAQCgSAZ+A+0ucC4BysctgAAAABJRU5ErkJggg==","_NodeClass":["image"],"_NodeId":"29E543E0-AE93-493A-A694-FC1C330D0544","attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"isLoaded":true,"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Image","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(29.0,29.0)","_Padding":"lively.rect(0,0,0,0)"},"12675":{"morph":{"__isSmartRef__":true,"id":12673},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"12676":{"morph":{"__isSmartRef__":true,"id":12673},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(818.3,3643.0)"},"12677":{"morph":{"__isSmartRef__":true,"id":12673},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(832.7,3643.0)"},"12678":{"morph":{"__isSmartRef__":true,"id":12673},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(847.1,3643.0)"},"12679":{"morph":{"__isSmartRef__":true,"id":12673},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(847.1,3657.4)"},"12680":{"morph":{"__isSmartRef__":true,"id":12673},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(847.1,3671.8)"},"12681":{"morph":{"__isSmartRef__":true,"id":12673},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(832.7,3671.8)"},"12682":{"morph":{"__isSmartRef__":true,"id":12673},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(818.3,3671.8)"},"12683":{"morph":{"__isSmartRef__":true,"id":12673},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(818.3,3657.4)"},"12684":{"_BorderWidth":1.1840000000000002,"_Fill":{"__isSmartRef__":true,"id":12685},"_BorderRadius":5.2,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(64.2,21.0)","_BorderColor":"Color.rgb(214,214,214)","_Padding":"lively.rect(0,0,0,0)"},"12685":{"stops":[{"__isSmartRef__":true,"id":12686},{"__isSmartRef__":true,"id":12687},{"__isSmartRef__":true,"id":12688},{"__isSmartRef__":true,"id":12689}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"12686":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"12687":{"offset":0.3,"__serializedExpressions__":["color"],"color":"Color.rgb(221,221,221)"},"12688":{"offset":0.7,"__serializedExpressions__":["color"],"color":"Color.rgb(221,221,221)"},"12689":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(204,204,204)"},"12690":{"stops":[{"__isSmartRef__":true,"id":12691},{"__isSmartRef__":true,"id":12692},{"__isSmartRef__":true,"id":12693},{"__isSmartRef__":true,"id":12694}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"12691":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"12692":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"12693":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"12694":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(240,240,240)"},"12695":{"stops":[{"__isSmartRef__":true,"id":12696},{"__isSmartRef__":true,"id":12697},{"__isSmartRef__":true,"id":12698},{"__isSmartRef__":true,"id":12699}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"12696":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"12697":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"12698":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"12699":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"12700":{"partsSpaceName":"PartsBin/Inputs","migrationLevel":4,"partName":"ScriptableButton","comment":"Has a script that is called on button press","changes":[{"__isSmartRef__":true,"id":12701}],"revisionOnLoad":154251,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"12701":{"date":{"__isSmartRef__":true,"id":12702},"author":"robertkrahn","message":"no comment","id":"0366C0A2-0C8E-4AEB-AAC3-120434134545"},"12702":{"isSerializedDate":true,"string":"Sat Apr 21 2012 14:10:10 GMT+0200 (CEST)"},"12703":{"sourceObj":{"__isSmartRef__":true,"id":12657},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":12657},"targetMethodName":"onFire","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"12704":{"morph":{"__isSmartRef__":true,"id":12657},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"12705":{"submorphs":[],"scripts":[],"id":"364FF344-E489-461B-BC8C-ED45E4823ED4","shape":{"__isSmartRef__":true,"id":12706},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"HighlightRectangle","partsBinMetaInfo":{"__isSmartRef__":true,"id":12707},"eventHandler":{"__isSmartRef__":true,"id":12748},"doNotSerialize":[],"doNotCopyProperties":[],"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","6FECB598-D130-4242-BF1B-E18767608129","0B23F218-078F-4912-A262-31B957885F41","C56BA290-B836-4946-B4EF-DBB6FBA2368C","61176BAF-CFE6-4F2C-9F0A-971AAD6595A1","CB4127B2-0AA5-4B50-9978-F1FF39924A82","113050BB-CF0E-4193-91C6-9C25FC857EE8","EFF939E4-317B-4662-943F-77A6E6F65BD0","AA288E7F-3972-4F0D-87DD-61E4BD9C9C97","903E8C60-1158-42D5-85D2-DF134DA6CEC1","28FD6210-A549-4A11-9178-04E77FF556C0","B3312E29-D786-469F-865E-91FD69475A52","D947A1C1-DCBE-4485-A33D-DF549F6978E0","56CE0E60-45BE-43FF-9C6C-296D8AC326B6","CC61E3F8-8C8D-4F24-A591-023D3C88DEC8"],"partTests":{"__isSmartRef__":true,"id":12749},"_ClipMode":"visible","moved":true,"isBeingDragged":false,"prevScroll":[0,0],"#startLetters":"","eventsAreDisabled":false,"_HandStyle":"default","_PointerEvents":"auto","_Rotation":0,"_Scale":1.0060210561262526,"owner":null,"magnifierButton":{"__isSmartRef__":true,"id":12657},"attributeConnections":[{"__isSmartRef__":true,"id":12754},{"__isSmartRef__":true,"id":12756},{"__isSmartRef__":true,"id":12758}],"isMetaTool":true,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":12760},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(36.9,2967.6)","distanceToDragEvent":"lively.pt(44.0,-14.0)"},"12706":{"_BorderWidth":0,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":0.2597,"_BorderStyle":"hidden","__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(847.0,231.0)","_BorderColor":"Color.rgb(204,0,0)","_Fill":"Color.rgb(58,0,255)","_Padding":"lively.rect(0,0,0,0)"},"12707":{"partsSpaceName":"PartsBin/Tools","comment":"A rectangle which highlights the object under the first hand of the world","migrationLevel":4,"partName":"HighlightRectangle","changes":[{"__isSmartRef__":true,"id":12708},{"__isSmartRef__":true,"id":12710},{"__isSmartRef__":true,"id":12712},{"__isSmartRef__":true,"id":12714},{"__isSmartRef__":true,"id":12716},{"__isSmartRef__":true,"id":12718},{"__isSmartRef__":true,"id":12720},{"__isSmartRef__":true,"id":12722},{"__isSmartRef__":true,"id":12724},{"__isSmartRef__":true,"id":12726},{"__isSmartRef__":true,"id":12728},{"__isSmartRef__":true,"id":12730},{"__isSmartRef__":true,"id":12732},{"__isSmartRef__":true,"id":12734},{"__isSmartRef__":true,"id":12736},{"__isSmartRef__":true,"id":12738},{"__isSmartRef__":true,"id":12740},{"__isSmartRef__":true,"id":12742},{"__isSmartRef__":true,"id":12744},{"__isSmartRef__":true,"id":12746}],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"12708":{"date":{"__isSmartRef__":true,"id":12709},"author":"timfelgentreff","message":"no comment","id":"3DB7DB40-210A-4BED-91FD-9287005703EC"},"12709":{"isSerializedDate":true,"string":"Thu May 24 2012 17:04:54 GMT+0200 (CEST)"},"12710":{"date":{"__isSmartRef__":true,"id":12711},"author":"tessi","message":"no comment","id":"23D7AA12-66A9-4C3B-B494-131256C291AC"},"12711":{"isSerializedDate":true,"string":"Thu May 24 2012 16:57:13 GMT+0200 (CEST)"},"12712":{"date":{"__isSmartRef__":true,"id":12713},"author":"tessi","message":"no comment","id":"2C30B7CA-388F-4F51-B4CF-A2E50E381148"},"12713":{"isSerializedDate":true,"string":"Thu May 24 2012 16:23:11 GMT+0200 (CEST)"},"12714":{"date":{"__isSmartRef__":true,"id":12715},"author":"tessi","message":"diable events","id":"7C1F71A3-FDAC-470A-B9A9-E1F2C9FEF18E"},"12715":{"isSerializedDate":true,"string":"Thu May 24 2012 14:46:08 GMT+0200 (CEST)"},"12716":{"date":{"__isSmartRef__":true,"id":12717},"author":"tessi","message":"no comment","id":"01996A33-11BC-4C15-96D7-B7D219E2E961"},"12717":{"isSerializedDate":true,"string":"Thu May 24 2012 14:39:50 GMT+0200 (CEST)"},"12718":{"date":{"__isSmartRef__":true,"id":12719},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"12719":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"12720":{"date":{"__isSmartRef__":true,"id":12721},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"12721":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"12722":{"date":{"__isSmartRef__":true,"id":12723},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"12723":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"12724":{"date":{"__isSmartRef__":true,"id":12725},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"12725":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"12726":{"date":{"__isSmartRef__":true,"id":12727},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"12727":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"12728":{"date":{"__isSmartRef__":true,"id":12729},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"12729":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"12730":{"date":{"__isSmartRef__":true,"id":12731},"author":"tessi","message":"no comment","id":"4B982A01-25B3-455A-848D-89C2C3C471D7"},"12731":{"isSerializedDate":true,"string":"Thu May 24 2012 13:58:01 GMT+0200 (CEST)"},"12732":{"date":{"__isSmartRef__":true,"id":12733},"author":"tessi","message":"no comment","id":"2FD6CB7B-3BC7-4666-98B4-AACF1001954D"},"12733":{"isSerializedDate":true,"string":"Thu May 24 2012 14:07:32 GMT+0200 (CEST)"},"12734":{"date":{"__isSmartRef__":true,"id":12735},"author":"tessi","message":"no comment","id":"09CF5ECF-2C87-4B66-A164-39848628596F"},"12735":{"isSerializedDate":true,"string":"Thu May 24 2012 15:34:59 GMT+0200 (CEST)"},"12736":{"date":{"__isSmartRef__":true,"id":12737},"author":"tessi","message":"no comment","id":"252A3EB5-DB00-4CF9-BF38-2927DD1C5229"},"12737":{"isSerializedDate":true,"string":"Thu May 24 2012 16:34:29 GMT+0200 (CEST)"},"12738":{"date":{"__isSmartRef__":true,"id":12739},"author":"tessi","message":"no comment","id":"81534551-62C1-4FC9-96CB-A5AC6642CA1E"},"12739":{"isSerializedDate":true,"string":"Thu May 24 2012 16:45:49 GMT+0200 (CEST)"},"12740":{"date":{"__isSmartRef__":true,"id":12741},"author":"tessi","message":"no comment","id":"5125DE3A-D50E-4621-8490-F3A9D99C2C4C"},"12741":{"isSerializedDate":true,"string":"Thu May 24 2012 16:47:20 GMT+0200 (CEST)"},"12742":{"date":{"__isSmartRef__":true,"id":12743},"author":"tessi","message":"no comment","id":"C81A2FBF-CB0B-4A0B-9D63-F9AEDFCB5DA6"},"12743":{"isSerializedDate":true,"string":"Thu May 24 2012 16:51:06 GMT+0200 (CEST)"},"12744":{"date":{"__isSmartRef__":true,"id":12745},"author":"tessi","message":"no comment","id":"DC8EF5EC-7563-45B6-816D-20E2DC218525"},"12745":{"isSerializedDate":true,"string":"Thu May 24 2012 16:52:10 GMT+0200 (CEST)"},"12746":{"date":{"__isSmartRef__":true,"id":12747},"author":"timfelgentreff","message":"no comment","id":"E7515DFB-DE7D-4E1F-A2C3-85166DCE4942"},"12747":{"isSerializedDate":true,"string":"Thu May 24 2012 16:59:39 GMT+0200 (CEST)"},"12748":{"morph":{"__isSmartRef__":true,"id":12705},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"12749":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":12750}},"12750":{"test01IsMorph":{"__isSmartRef__":true,"id":12751}},"12751":{"varMapping":{"__isSmartRef__":true,"id":12752},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":12753},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12752":{"this":{"__isSmartRef__":true,"id":12749}},"12753":{},"12754":{"sourceObj":{"__isSmartRef__":true,"id":12705},"sourceAttrName":"onMouseMove","targetObj":{"__isSmartRef__":true,"id":12705},"targetMethodName":"updateOnMove","varMapping":{"__isSmartRef__":true,"id":12755},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"12755":{"source":{"__isSmartRef__":true,"id":12705},"target":{"__isSmartRef__":true,"id":12705}},"12756":{"sourceObj":{"__isSmartRef__":true,"id":12705},"sourceAttrName":"onMouseUp","targetObj":{"__isSmartRef__":true,"id":12657},"targetMethodName":"removeHighlighting","varMapping":{"__isSmartRef__":true,"id":12757},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"12757":{"source":{"__isSmartRef__":true,"id":12705},"target":{"__isSmartRef__":true,"id":12657}},"12758":{"sourceObj":{"__isSmartRef__":true,"id":12705},"sourceAttrName":"onMouseUp","targetObj":{"__isSmartRef__":true,"id":12657},"targetMethodName":"setTarget","varMapping":{"__isSmartRef__":true,"id":12759},"converterString":"function () {\n return this.sourceObj.morphUnderCursor();\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"12759":{"source":{"__isSmartRef__":true,"id":12705},"target":{"__isSmartRef__":true,"id":12657}},"12760":{"update":{"__isSmartRef__":true,"id":12761},"updateOnMove":{"__isSmartRef__":true,"id":12765},"bringToFront":{"__isSmartRef__":true,"id":12769},"morphUnderCursor":{"__isSmartRef__":true,"id":12777}},"12761":{"varMapping":{"__isSmartRef__":true,"id":12762},"source":"function update(morphUnderCursor) {\n if (!morphUnderCursor) return;\n if (morphUnderCursor === this.magnifierButton ||\n this.magnifierButton.submorphs.include(morphUnderCursor)) {\n morphToHighlight = this.magnifierButton.currentTarget();\n } else {\n morphToHighlight = morphUnderCursor;\n }\n\n if (morphToHighlight && morphToHighlight.world()) {\n this.setPosition(morphToHighlight.getPositionInWorld());\n this.setExtent(morphToHighlight.getExtent());\n }\n}","funcProperties":{"__isSmartRef__":true,"id":12763},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12762":{"this":{"__isSmartRef__":true,"id":12705}},"12763":{"timestamp":{"__isSmartRef__":true,"id":12764},"user":"jenslincke","tags":[]},"12764":{"isSerializedDate":true,"string":"Thu Dec 13 2012 10:44:50 GMT+0100 (CET)"},"12765":{"varMapping":{"__isSmartRef__":true,"id":12766},"source":"function updateOnMove() {\n this.update(this.morphUnderCursor());\n this.bringToFront();\n}","funcProperties":{"__isSmartRef__":true,"id":12767},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12766":{"this":{"__isSmartRef__":true,"id":12705}},"12767":{"timestamp":{"__isSmartRef__":true,"id":12768},"user":"lauritz","tags":[]},"12768":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:18:33 GMT+0200 (CEST)"},"12769":{"varMapping":{"__isSmartRef__":true,"id":12770},"source":"function bringToFront() {\n this.renderContext().morphNode.style.zIndex= 1000;\n}","funcProperties":{"__isSmartRef__":true,"id":12775},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12770":{"this":{"__isSmartRef__":true,"id":12705},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":12771}},"12771":{"$super":{"__isSmartRef__":true,"id":12772}},"12772":{"varMapping":{"__isSmartRef__":true,"id":12773},"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":12774},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12773":{"obj":{"__isSmartRef__":true,"id":12705},"name":"bringToFront"},"12774":{},"12775":{"timestamp":{"__isSmartRef__":true,"id":12776},"user":"lauritz","tags":[]},"12776":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:12:09 GMT+0200 (CEST)"},"12777":{"varMapping":{"__isSmartRef__":true,"id":12778},"source":"function morphUnderCursor() {\n var that = this,\n world = lively.morphic.World.current();\n var result = world.morphsContainingPoint(world.firstHand().getPosition()).detect(\n function(ea) {\n return !ea.isPlaceholder &&\n !ea.isHalo &&\n !ea.isWorld &&\n (!ea.owner || !ea.owner.isHalo) &&\n !(ea === that);\n });\n if (result == world) \n return null;\n else\n return result;\n}","funcProperties":{"__isSmartRef__":true,"id":12779},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12778":{"this":{"__isSmartRef__":true,"id":12705}},"12779":{"timestamp":{"__isSmartRef__":true,"id":12780},"user":"jenslincke","tags":[]},"12780":{"isSerializedDate":true,"string":"Thu Dec 13 2012 10:44:22 GMT+0100 (CET)"},"12781":{"moveHorizontal":true},"12782":{"morph":{"__isSmartRef__":true,"id":12657},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(821.3,3643.0)"},"12783":{"morph":{"__isSmartRef__":true,"id":12657},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(853.1,3643.0)"},"12784":{"morph":{"__isSmartRef__":true,"id":12657},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(885.0,3643.0)"},"12785":{"morph":{"__isSmartRef__":true,"id":12657},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(885.0,3653.4)"},"12786":{"morph":{"__isSmartRef__":true,"id":12657},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(885.0,3663.8)"},"12787":{"morph":{"__isSmartRef__":true,"id":12657},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(853.1,3663.8)"},"12788":{"morph":{"__isSmartRef__":true,"id":12657},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(821.3,3663.8)"},"12789":{"morph":{"__isSmartRef__":true,"id":12657},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(821.3,3653.4)"},"12790":{"onFire":{"__isSmartRef__":true,"id":12791},"removeHighlighting":{"__isSmartRef__":true,"id":12795},"onMouseMove":{"__isSmartRef__":true,"id":12799},"onMouseOut":{"__isSmartRef__":true,"id":12807},"reset":{"__isSmartRef__":true,"id":12815},"isTracking":{"__isSmartRef__":true,"id":12819},"isHighlighting":{"__isSmartRef__":true,"id":12823},"currentTarget":{"__isSmartRef__":true,"id":12827},"setTarget":{"__isSmartRef__":true,"id":12831}},"12791":{"varMapping":{"__isSmartRef__":true,"id":12792},"source":"function onFire() {\n var hand = lively.morphic.World.current().firstHand(),\n highlight = this.highlightRectangle,\n that = this;\n\n if (this.isTracking()) {\n this.removeHighlighting();\n } else {\n this.world().addMorph(highlight);\n hand.highlightConnection = connect(hand, \"scrollFocusMorph\", highlight, \"update\");\n highlight.bringToFront();\n if (!this.currentTarget() || !this.currentTarget().world()) {\n highlight.setExtent(pt(0,0));\n }\n }\n}","funcProperties":{"__isSmartRef__":true,"id":12793},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12792":{"this":{"__isSmartRef__":true,"id":12657}},"12793":{"timestamp":{"__isSmartRef__":true,"id":12794},"user":"lauritz","tags":[]},"12794":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:40:51 GMT+0200 (CEST)"},"12795":{"varMapping":{"__isSmartRef__":true,"id":12796},"source":"function removeHighlighting() {\n var hand = this.world().firstHand();\n \n if (this.highlightRectangle) {\n this.highlightRectangle.remove();\n }\n \n hand.attributeConnections.removeAt(\n hand.attributeConnections.indexOf(hand.highlightConnection));\n hand.highlightConnection = null;\n}","funcProperties":{"__isSmartRef__":true,"id":12797},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12796":{"this":{"__isSmartRef__":true,"id":12657}},"12797":{"timestamp":{"__isSmartRef__":true,"id":12798},"user":"lauritz","tags":[]},"12798":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:20:30 GMT+0200 (CEST)"},"12799":{"varMapping":{"__isSmartRef__":true,"id":12800},"source":"function onMouseMove(evt) {\n var target = this.currentTarget();\n if (target && target.world() && !this.isHighlighting()) {\n this.highlightRectangle.update(target);\n this.world().addMorph(this.highlightRectangle);\n this.highlightRectangle.bringToFront();\n this.targetHighlight = this.highlightRectangle;\n }\n}","funcProperties":{"__isSmartRef__":true,"id":12805},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12800":{"this":{"__isSmartRef__":true,"id":12657},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":12801}},"12801":{"$super":{"__isSmartRef__":true,"id":12802}},"12802":{"varMapping":{"__isSmartRef__":true,"id":12803},"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":12804},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12803":{"obj":{"__isSmartRef__":true,"id":12657},"name":"onMouseMove"},"12804":{},"12805":{"timestamp":{"__isSmartRef__":true,"id":12806},"user":"lauritz","tags":[]},"12806":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:25:52 GMT+0200 (CEST)"},"12807":{"varMapping":{"__isSmartRef__":true,"id":12808},"source":"function onMouseOut() {\n if (this.isHighlighting()) {\n if (!this.isTracking()) {\n this.targetHighlight.remove();\n }\n delete this.targetHighlight;\n }\n}","funcProperties":{"__isSmartRef__":true,"id":12813},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12808":{"this":{"__isSmartRef__":true,"id":12657},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":12809}},"12809":{"$super":{"__isSmartRef__":true,"id":12810}},"12810":{"varMapping":{"__isSmartRef__":true,"id":12811},"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":12812},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12811":{"obj":{"__isSmartRef__":true,"id":12657},"name":"onMouseOut"},"12812":{},"12813":{"timestamp":{"__isSmartRef__":true,"id":12814},"user":"lauritz","tags":[]},"12814":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:21:57 GMT+0200 (CEST)"},"12815":{"varMapping":{"__isSmartRef__":true,"id":12816},"source":"function reset() {\n this.highlightRectangle.attributeConnections = [];\n \n var r = this.highlightRectangle;\n r.isMetaTool = true;\n disconnectAll(r)\n connect(r, \"onMouseMove\", this.highlightRectangle, \"updateOnMove\")\n connect(r, \"onMouseUp\", this, \"removeHighlighting\")\n connect(r, \"onMouseUp\", this, \"setTarget\",\n {converter: function () {\n return this.sourceObj.morphUnderCursor();\n }\n })\n}","funcProperties":{"__isSmartRef__":true,"id":12817},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12816":{"this":{"__isSmartRef__":true,"id":12657}},"12817":{"timestamp":{"__isSmartRef__":true,"id":12818},"user":"jenslincke","tags":[]},"12818":{"isSerializedDate":true,"string":"Thu Dec 13 2012 10:39:09 GMT+0100 (CET)"},"12819":{"varMapping":{"__isSmartRef__":true,"id":12820},"source":"function isTracking() {\n return !!this.world().firstHand().highlightConnection;\n}","funcProperties":{"__isSmartRef__":true,"id":12821},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12820":{"this":{"__isSmartRef__":true,"id":12657}},"12821":{"timestamp":{"__isSmartRef__":true,"id":12822},"user":"lauritz","tags":[]},"12822":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:11:25 GMT+0200 (CEST)"},"12823":{"varMapping":{"__isSmartRef__":true,"id":12824},"source":"function isHighlighting() {\n return !!this.targetHighlight;\n}","funcProperties":{"__isSmartRef__":true,"id":12825},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12824":{"this":{"__isSmartRef__":true,"id":12657}},"12825":{"timestamp":{"__isSmartRef__":true,"id":12826},"user":"lauritz","tags":[]},"12826":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:11:22 GMT+0200 (CEST)"},"12827":{"varMapping":{"__isSmartRef__":true,"id":12828},"source":"function currentTarget() {\n return this.owner.target;\n}","funcProperties":{"__isSmartRef__":true,"id":12829},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12828":{"this":{"__isSmartRef__":true,"id":12657}},"12829":{"timestamp":{"__isSmartRef__":true,"id":12830},"user":"lauritz","tags":[]},"12830":{"isSerializedDate":true,"string":"Wed Jun 06 2012 18:26:02 GMT+0200 (CEST)"},"12831":{"varMapping":{"__isSmartRef__":true,"id":12832},"source":"function setTarget(obj) {\n this.owner.setTarget(obj)\n}","funcProperties":{"__isSmartRef__":true,"id":12833},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12832":{"this":{"__isSmartRef__":true,"id":12657}},"12833":{"timestamp":{"__isSmartRef__":true,"id":12834},"user":"jenslincke","tags":[]},"12834":{"isSerializedDate":true,"string":"Thu Dec 13 2012 10:27:04 GMT+0100 (CET)"},"12835":{"fill":null,"_BorderWidth":0,"_ClipMode":"visible","_BorderRadius":17.78,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding","_Fill"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(2.0,18.0)","_Extent":"lively.pt(847.0,174.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(4,2,0,0)","_Fill":"Color.rgb(223,249,127)"},"12836":{"partsSpaceName":"PartsBin/Jens","migrationLevel":4,"comment":"a simple text morph","partName":"SpecialSyntaxWorkspace","changes":[{"__isSmartRef__":true,"id":12837},{"__isSmartRef__":true,"id":12839},{"__isSmartRef__":true,"id":12841},{"__isSmartRef__":true,"id":12843},{"__isSmartRef__":true,"id":12845},{"__isSmartRef__":true,"id":12847},{"__isSmartRef__":true,"id":12849},{"__isSmartRef__":true,"id":12851},{"__isSmartRef__":true,"id":12853}],"revisionOnLoad":186537,"lastModifiedDate":{"__isSmartRef__":true,"id":12855},"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"12837":{"date":{"__isSmartRef__":true,"id":12838},"author":"robertkrahn","message":"text click was broken?","id":"9D065E14-9653-4B2A-9A2E-3AD84EBBC3E0"},"12838":{"isSerializedDate":true,"string":"Sat Apr 21 2012 16:30:30 GMT+0200 (CEST)"},"12839":{"date":{"__isSmartRef__":true,"id":12840},"author":"undefined","message":"Set the inset as: this.setPadding(Rectangle.inset(4,2)). This gives it a more pleasing appearance with a border, and also makes it easier to select near the bounds.","id":"BD5B0E4C-4830-4863-A013-35BB66D5AD6F"},"12840":{"isSerializedDate":true,"string":"Mon Feb 27 2012 06:20:38 GMT+0100 (CET)"},"12841":{"date":{"__isSmartRef__":true,"id":12842},"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"0F4DE333-A551-4961-B29D-70270977EBEF"},"12842":{"isSerializedDate":true,"string":"Sat Apr 21 2012 07:31:43 GMT+0200 (CEST)"},"12843":{"date":{"__isSmartRef__":true,"id":12844},"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"785D95BD-7858-43EB-90E6-A1C085E2F2B9"},"12844":{"isSerializedDate":true,"string":"Sat Apr 21 2012 07:32:09 GMT+0200 (CEST)"},"12845":{"date":{"__isSmartRef__":true,"id":12846},"author":"timfelgentreff","message":"better text","id":"B904F9AC-6EA0-4A8A-83C9-AFC85AADC194"},"12846":{"isSerializedDate":true,"string":"Tue May 08 2012 14:18:18 GMT+0200 (CEST)"},"12847":{"date":{"__isSmartRef__":true,"id":12848},"author":"jenslincke","message":"no comment","id":"FBFBFDA1-7B2B-4E09-B7EC-270BD1E20D91"},"12848":{"isSerializedDate":true,"string":"Tue Dec 11 2012 12:05:06 GMT+0100 (CET)"},"12849":{"date":{"__isSmartRef__":true,"id":12850},"author":"jenslincke","message":"no comment","id":"4867AA9B-8A78-46E2-A531-138A243E78F9"},"12850":{"isSerializedDate":true,"string":"Tue Dec 11 2012 12:07:25 GMT+0100 (CET)"},"12851":{"date":{"__isSmartRef__":true,"id":12852},"author":"jenslincke","message":"no comment","id":"E9F4BC8B-D5C2-42F9-A1D1-E7D3843A9A3B"},"12852":{"isSerializedDate":true,"string":"Thu Dec 13 2012 10:14:18 GMT+0100 (CET)"},"12853":{"date":{"__isSmartRef__":true,"id":12854},"author":"jenslincke","message":"no comment","id":"5A416C80-0936-40FE-B19A-D8B3AB3E243C"},"12854":{"isSerializedDate":true,"string":"Thu Dec 13 2012 10:29:08 GMT+0100 (CET)"},"12855":{"isSerializedDate":true,"string":"Thu Dec 13 2012 10:28:45 GMT+0100 (CET)"},"12856":{"style":{"__isSmartRef__":true,"id":12857},"chunkOwner":{"__isSmartRef__":true,"id":12656},"_id":"_12","storedString":"#Line.controlPoints\n\n#Line.connect(#A, #B)\n\n\n","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"12857":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"12858":{"_id":"_323","style":{"__isSmartRef__":true,"id":12859},"chunkOwner":{"__isSmartRef__":true,"id":12656},"storedString":"#A.copy().attributeConnections\n\n#B.copy().attributeConnections.length ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"12859":{"color":"rgb(0,0,0)","backgroundColor":"rgb(223,249,127)","fontFamily":"Arial,sans-serif","fontSize":"15px","fontWeight":"normal","textAlign":"start","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"12860":{"_id":"_324","style":{"__isSmartRef__":true,"id":12861},"chunkOwner":{"__isSmartRef__":true,"id":12656},"storedString":"//","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"12861":{"color":"rgb(128,0,0)","backgroundColor":"rgb(223,249,127)","fontFamily":"Arial,sans-serif","fontSize":"15px","fontWeight":"normal","textAlign":"start","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"12862":{"_id":"_325","style":{"__isSmartRef__":true,"id":12863},"chunkOwner":{"__isSmartRef__":true,"id":12656},"storedString":" 25","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"12863":{"color":"rgb(0,128,0)","backgroundColor":"rgb(223,249,127)","fontFamily":"Arial,sans-serif","fontSize":"15px","fontWeight":"normal","textAlign":"start","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"12864":{"_id":"_326","style":{"__isSmartRef__":true,"id":12865},"chunkOwner":{"__isSmartRef__":true,"id":12656},"storedString":"\n#C.copy().attributeConnections.length","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"12865":{"color":"rgb(0,0,0)","backgroundColor":"rgb(223,249,127)","fontFamily":"Arial,sans-serif","fontSize":"15px","fontWeight":"normal","textAlign":"start","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"12866":{"_id":"_327","style":{"__isSmartRef__":true,"id":12867},"chunkOwner":{"__isSmartRef__":true,"id":12656},"storedString":"\n","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"12867":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"12868":{"morph":{"__isSmartRef__":true,"id":12656},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"12869":{"morph":{"__isSmartRef__":true,"id":12656},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(36.9,3648.0)"},"12870":{"morph":{"__isSmartRef__":true,"id":12656},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(460.4,3648.0)"},"12871":{"morph":{"__isSmartRef__":true,"id":12656},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(883.9,3648.0)"},"12872":{"morph":{"__isSmartRef__":true,"id":12656},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(883.9,3684.0)"},"12873":{"morph":{"__isSmartRef__":true,"id":12656},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(883.9,3720.0)"},"12874":{"morph":{"__isSmartRef__":true,"id":12656},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(460.4,3720.0)"},"12875":{"morph":{"__isSmartRef__":true,"id":12656},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(36.9,3720.0)"},"12876":{"morph":{"__isSmartRef__":true,"id":12656},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(36.9,3684.0)"},"12877":{"sourceObj":{"__isSmartRef__":true,"id":12656},"sourceAttrName":"textString","targetObj":{"__isSmartRef__":true,"id":12656},"targetMethodName":"highlightSyntaxDebounced","varMapping":{"__isSmartRef__":true,"id":12878},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"12878":{"source":{"__isSmartRef__":true,"id":12656},"target":{"__isSmartRef__":true,"id":12656}},"12879":{"adjustForNewBounds":true},"12880":{"boundEval":{"__isSmartRef__":true,"id":12881},"getDoitContext":{"__isSmartRef__":true,"id":12889},"setTarget":{"__isSmartRef__":true,"id":12897}},"12881":{"varMapping":{"__isSmartRef__":true,"id":12882},"source":"function boundEval(str) {\n // Some little (Tim calls it ugly) funny preprocessor Macros\n str = str.replace(/#([A-Za-z][A-Za-z0-9]*)/g, \"this.get('$1')\")\n // alertOK(\"eval \" + str)\n return $super(str)\n}","funcProperties":{"__isSmartRef__":true,"id":12887},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12882":{"this":{"__isSmartRef__":true,"id":12656},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":12883}},"12883":{"$super":{"__isSmartRef__":true,"id":12884}},"12884":{"varMapping":{"__isSmartRef__":true,"id":12885},"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":12886},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12885":{"obj":{"__isSmartRef__":true,"id":12656},"name":"boundEval"},"12886":{},"12887":{"timestamp":{"__isSmartRef__":true,"id":12888},"user":"jenslincke","tags":[]},"12888":{"isSerializedDate":true,"string":"Wed Dec 12 2012 11:22:45 GMT+0100 (CET)"},"12889":{"varMapping":{"__isSmartRef__":true,"id":12890},"source":"function getDoitContext() {\n return this.target\n}","funcProperties":{"__isSmartRef__":true,"id":12895},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12890":{"this":{"__isSmartRef__":true,"id":12656},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":12891}},"12891":{"$super":{"__isSmartRef__":true,"id":12892}},"12892":{"varMapping":{"__isSmartRef__":true,"id":12893},"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":12894},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12893":{"obj":{"__isSmartRef__":true,"id":12656},"name":"getDoitContext"},"12894":{},"12895":{"timestamp":{"__isSmartRef__":true,"id":12896},"user":"jenslincke","tags":[]},"12896":{"isSerializedDate":true,"string":"Thu Dec 13 2012 10:17:05 GMT+0100 (CET)"},"12897":{"varMapping":{"__isSmartRef__":true,"id":12898},"source":"function setTarget(obj) {\n this.target= obj\n}","funcProperties":{"__isSmartRef__":true,"id":12899},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12898":{"this":{"__isSmartRef__":true,"id":12656}},"12899":{"timestamp":{"__isSmartRef__":true,"id":12900},"user":"jenslincke","tags":[]},"12900":{"isSerializedDate":true,"string":"Thu Dec 13 2012 10:22:59 GMT+0100 (CET)"},"12901":{"submorphs":[],"scripts":[],"id":"9879599D-56C8-4D20-86C9-A6D7661226E0","shape":{"__isSmartRef__":true,"id":12902},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":760.695652,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":14,"name":"Text9","partsBinMetaInfo":{"__isSmartRef__":true,"id":12903},"textChunks":[{"__isSmartRef__":true,"id":12914},{"__isSmartRef__":true,"id":12916}],"charsReplaced":"Damn it, I just remembered that this implementation of connectors shows that maybe our motivation for structural scoping in the ContextJS Paper [Lincke2011OIC] is void now. I build a new connector only using a Line as a start. I did not customize the handles but replaced them with new ones. This means that I had to reimplement some dragging behavior in theses objects. But I was also more free to implement custom behavior. ","lastFindLoc":95,"prevScroll":[0,0],"eventHandler":{"__isSmartRef__":true,"id":12918},"_ClipMode":"visible","derivationIds":[355,"1EB1674F-8BF2-419B-B054-86129ED70335","63698904-DC05-4341-A9B6-5CC4A219CD04","F6A714BA-4735-41ED-8A2A-45CB153FBDF8","5848BD12-8F39-45F4-958F-07FC46FFCFCE","4B322E37-76CC-450D-9DC9-7710369468AB","D06C2F6F-EA61-45E6-8FB4-D472093ACBEB","3D3ADD27-BDDA-4E54-81E3-36C63DF33F17","0826AA77-D517-4719-A157-43A1F7A4B819","9B343BD1-82DC-44F7-B586-DD2E32B667EC","26CC07BF-6781-4E2B-BD35-CD02401CAA46","A788456B-27DA-4731-AFA2-3CC11F05A677"],"_WhiteSpaceHandling":"pre-wrap","_MinTextWidth":760.695652,"_MinTextHeight":null,"isBeingDragged":false,"moved":true,"magnets":[{"__isSmartRef__":true,"id":12919},{"__isSmartRef__":true,"id":12920},{"__isSmartRef__":true,"id":12921},{"__isSmartRef__":true,"id":12922},{"__isSmartRef__":true,"id":12923},{"__isSmartRef__":true,"id":12924},{"__isSmartRef__":true,"id":12925},{"__isSmartRef__":true,"id":12926}],"owner":{"__isSmartRef__":true,"id":0},"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","textColor","_Padding","distanceToDragEvent"],"priorSelectionRange":[13,0],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":12927},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(42.0,3431.1)","textColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(5,5,0,0)","distanceToDragEvent":"lively.pt(572.7,-16.4)"},"12902":{"fill":null,"_BorderWidth":0,"_ClipMode":"visible","__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(847.0,48.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(4,2,0,0)"},"12903":{"partsSpaceName":"PartsBin/Basic","migrationLevel":4,"comment":"a simple text morph","partName":"Text","changes":[{"__isSmartRef__":true,"id":12904},{"__isSmartRef__":true,"id":12906},{"__isSmartRef__":true,"id":12908},{"__isSmartRef__":true,"id":12910},{"__isSmartRef__":true,"id":12912}],"revisionOnLoad":160159,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"12904":{"date":{"__isSmartRef__":true,"id":12905},"author":"robertkrahn","message":"text click was broken?","id":"9D065E14-9653-4B2A-9A2E-3AD84EBBC3E0"},"12905":{"isSerializedDate":true,"string":"Sat Apr 21 2012 16:30:30 GMT+0200 (CEST)"},"12906":{"date":{"__isSmartRef__":true,"id":12907},"author":"undefined","message":"Set the inset as: this.setPadding(Rectangle.inset(4,2)). This gives it a more pleasing appearance with a border, and also makes it easier to select near the bounds.","id":"BD5B0E4C-4830-4863-A013-35BB66D5AD6F"},"12907":{"isSerializedDate":true,"string":"Mon Feb 27 2012 06:20:38 GMT+0100 (CET)"},"12908":{"date":{"__isSmartRef__":true,"id":12909},"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"0F4DE333-A551-4961-B29D-70270977EBEF"},"12909":{"isSerializedDate":true,"string":"Sat Apr 21 2012 07:31:43 GMT+0200 (CEST)"},"12910":{"date":{"__isSmartRef__":true,"id":12911},"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"785D95BD-7858-43EB-90E6-A1C085E2F2B9"},"12911":{"isSerializedDate":true,"string":"Sat Apr 21 2012 07:32:09 GMT+0200 (CEST)"},"12912":{"date":{"__isSmartRef__":true,"id":12913},"author":"timfelgentreff","message":"better text","id":"B904F9AC-6EA0-4A8A-83C9-AFC85AADC194"},"12913":{"isSerializedDate":true,"string":"Tue May 08 2012 14:18:18 GMT+0200 (CEST)"},"12914":{"style":{"__isSmartRef__":true,"id":12915},"morph":{"__isSmartRef__":true,"id":12901},"chunkOwner":{"__isSmartRef__":true,"id":12901},"storedString":"Open Problem:","_id":"_65","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"12915":{"fontWeight":"bold","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"12916":{"_id":"_335","style":{"__isSmartRef__":true,"id":12917},"chunkOwner":{"__isSmartRef__":true,"id":12901},"storedString":" OK, we have to serioulsly GC attributeConnections.... and br more thorough with cleaning up!","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"12917":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"12918":{"morph":{"__isSmartRef__":true,"id":12901},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"12919":{"morph":{"__isSmartRef__":true,"id":12901},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(38.9,3752.0)"},"12920":{"morph":{"__isSmartRef__":true,"id":12901},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(462.4,3752.0)"},"12921":{"morph":{"__isSmartRef__":true,"id":12901},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(885.9,3752.0)"},"12922":{"morph":{"__isSmartRef__":true,"id":12901},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(885.9,3809.0)"},"12923":{"morph":{"__isSmartRef__":true,"id":12901},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(885.9,3866.0)"},"12924":{"morph":{"__isSmartRef__":true,"id":12901},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(462.4,3866.0)"},"12925":{"morph":{"__isSmartRef__":true,"id":12901},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(38.9,3866.0)"},"12926":{"morph":{"__isSmartRef__":true,"id":12901},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(38.9,3809.0)"},"12927":{"doSave":{"__isSmartRef__":true,"id":12928}},"12928":{"varMapping":{"__isSmartRef__":true,"id":12929},"source":"function doSave() {\n $world.saveWorld()\n}","funcProperties":{"__isSmartRef__":true,"id":12934},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12929":{"this":{"__isSmartRef__":true,"id":12901},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":12930}},"12930":{"$super":{"__isSmartRef__":true,"id":12931}},"12931":{"varMapping":{"__isSmartRef__":true,"id":12932},"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":12933},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12932":{"obj":{"__isSmartRef__":true,"id":12901},"name":"doSave"},"12933":{},"12934":{"timestamp":{"__isSmartRef__":true,"id":12935},"user":"jenslincke","tags":[]},"12935":{"isSerializedDate":true,"string":"Fri Nov 16 2012 14:44:36 GMT+0100 (CET)"},"12936":{"submorphs":[],"scripts":[{"__isSmartRef__":true,"id":12937}],"id":"15F1A6F8-CE09-4703-8290-12F780F83BDB","shape":{"__isSmartRef__":true,"id":12938},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"CheapWorldLayout","partsBinMetaInfo":{"__isSmartRef__":true,"id":12939},"eventHandler":{"__isSmartRef__":true,"id":12973},"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","BBAFB862-93AE-4F89-BCFF-9F1C67B7FE4C","7EC17E78-593A-4CC8-B7E3-859BCBBFE785","BAE1478B-CB11-41E8-A432-8728CEA1E8B9","2EF4FF97-F02E-411E-AF1A-7151C9D582FA","3BDF678D-D961-43BA-939C-471EB892052F","00EA2971-F34B-4A4A-9862-9E232C36D082","208CB01E-E1F6-4F05-9D28-FA2C18DC1347","57AFF9A8-76B6-45A0-8582-329FD27C90C5","3AB13E2C-FA1C-49FF-B9E0-105037BD7EC9","4339E88D-5CE2-4555-A739-2E2289C39984"],"partTests":{"__isSmartRef__":true,"id":12974},"_ClipMode":"visible","moved":true,"isBeingDragged":false,"isLayouting":true,"prevScroll":[0,0],"grabbingEnabled":false,"magnets":[{"__isSmartRef__":true,"id":12979},{"__isSmartRef__":true,"id":12980},{"__isSmartRef__":true,"id":12981},{"__isSmartRef__":true,"id":12982},{"__isSmartRef__":true,"id":12983},{"__isSmartRef__":true,"id":12984},{"__isSmartRef__":true,"id":12985},{"__isSmartRef__":true,"id":12986}],"isMetaTool":true,"#startLetters":"regis","draggingEnabled":true,"eventsAreDisabled":false,"_HandStyle":"default","_PointerEvents":"auto","morphsToMove":null,"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","distanceToDragEvent","prevDragPos"],"owner":{"__isSmartRef__":true,"id":0},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":12987},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(42.0,31.0)","distanceToDragEvent":"lively.pt(269.0,-13.0)","prevDragPos":"lively.pt(279.3,39.0)"},"12937":{"target":{"__isSmartRef__":true,"id":12936},"selector":"layoutWorld","args":[],"stopped":false,"tickTime":500,"suspended":false,"__LivelyClassName__":"lively.morphic.TargetScript","__SourceModuleName__":"Global.lively.morphic.Core"},"12938":{"_BorderWidth":0,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":0.4523,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(397.0,12.0)","_BorderColor":"Color.rgb(159,159,159)","_Fill":"Color.rgb(204,204,204)","_Padding":"lively.rect(0,0,0,0)"},"12939":{"comment":"A very direct and cheap world layouting:\n\n- layouts all the morphs on the left ( < 100px) in vertical order\n","migrationLevel":4,"partName":"CheapWorldLayout","changes":[{"__isSmartRef__":true,"id":12940},{"__isSmartRef__":true,"id":12942},{"__isSmartRef__":true,"id":12944},{"__isSmartRef__":true,"id":12946},{"__isSmartRef__":true,"id":12948},{"__isSmartRef__":true,"id":12950},{"__isSmartRef__":true,"id":12952},{"__isSmartRef__":true,"id":12954},{"__isSmartRef__":true,"id":12956},{"__isSmartRef__":true,"id":12958},{"__isSmartRef__":true,"id":12960},{"__isSmartRef__":true,"id":12962},{"__isSmartRef__":true,"id":12964},{"__isSmartRef__":true,"id":12966},{"__isSmartRef__":true,"id":12968},{"__isSmartRef__":true,"id":12970}],"lastModifiedDate":{"__isSmartRef__":true,"id":12972},"revisionOnLoad":200894,"partsSpaceName":"PartsBin/Jens/","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"12940":{"date":{"__isSmartRef__":true,"id":12941},"author":"jenslincke","message":"fixes origin bug","id":"6D65B2EB-4222-4AC5-8244-5D3581FCE017"},"12941":{"isSerializedDate":true,"string":"Thu Mar 14 2013 23:03:58 GMT+0100 (CET)"},"12942":{"date":{"__isSmartRef__":true,"id":12943},"author":"jenslincke","message":"no comment","id":"2EDE0A52-4B4A-4971-8005-F20EBD8737F7"},"12943":{"isSerializedDate":true,"string":"Wed Dec 12 2012 11:09:39 GMT+0100 (CET)"},"12944":{"date":{"__isSmartRef__":true,"id":12945},"author":"jenslincke","message":"no comment","id":"BC03E03B-5F5A-4955-8F8E-A6CC8426C612"},"12945":{"isSerializedDate":true,"string":"Wed Dec 12 2012 11:05:45 GMT+0100 (CET)"},"12946":{"date":{"__isSmartRef__":true,"id":12947},"author":"jenslincke","message":"no comment","id":"6AD89AC6-0BAE-4B1C-8C60-664562056C10"},"12947":{"isSerializedDate":true,"string":"Thu Dec 06 2012 13:53:14 GMT+0100 (CET)"},"12948":{"date":{"__isSmartRef__":true,"id":12949},"author":"jenslincke","message":"no comment","id":"EA1B8910-1E9A-4884-A9B5-44DAE3DC4178"},"12949":{"isSerializedDate":true,"string":"Thu Dec 06 2012 13:28:30 GMT+0100 (CET)"},"12950":{"date":{"__isSmartRef__":true,"id":12951},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"12951":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"12952":{"date":{"__isSmartRef__":true,"id":12953},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"12953":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"12954":{"date":{"__isSmartRef__":true,"id":12955},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"12955":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"12956":{"date":{"__isSmartRef__":true,"id":12957},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"12957":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"12958":{"date":{"__isSmartRef__":true,"id":12959},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"12959":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"12960":{"date":{"__isSmartRef__":true,"id":12961},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"12961":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"12962":{"date":{"__isSmartRef__":true,"id":12963},"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8"},"12963":{"isSerializedDate":true,"string":"Mon Jun 18 2012 19:35:08 GMT+0200 (CEST)"},"12964":{"date":{"__isSmartRef__":true,"id":12965},"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205"},"12965":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:35:51 GMT+0100 (CET)"},"12966":{"date":{"__isSmartRef__":true,"id":12967},"author":"jenslincke","message":"no comment","id":"BDAAAA01-CAD5-49DE-8600-140BED885FE1"},"12967":{"isSerializedDate":true,"string":"Wed Dec 05 2012 17:59:50 GMT+0100 (CET)"},"12968":{"date":{"__isSmartRef__":true,"id":12969},"author":"jenslincke","message":"no comment","id":"D84CC710-005C-4B1F-AD64-DCD4DF6B563E"},"12969":{"isSerializedDate":true,"string":"Thu Mar 14 2013 23:12:02 GMT+0100 (CET)"},"12970":{"date":{"__isSmartRef__":true,"id":12971},"author":"jenslincke","message":"no comment","id":"94090062-9157-4AA9-96F2-492EAD3602BE"},"12971":{"isSerializedDate":true,"string":"Wed Oct 02 2013 10:35:55 GMT+0200 (CEST)"},"12972":{"isSerializedDate":true,"string":"Wed Oct 02 2013 10:33:09 GMT+0200 (CEST)"},"12973":{"morph":{"__isSmartRef__":true,"id":12936},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"12974":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":12975}},"12975":{"test01IsMorph":{"__isSmartRef__":true,"id":12976}},"12976":{"varMapping":{"__isSmartRef__":true,"id":12977},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":12978},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12977":{"this":{"__isSmartRef__":true,"id":12974}},"12978":{},"12979":{"morph":{"__isSmartRef__":true,"id":12936},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(39.0,38.0)"},"12980":{"morph":{"__isSmartRef__":true,"id":12936},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(219.0,38.0)"},"12981":{"morph":{"__isSmartRef__":true,"id":12936},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(399.0,38.0)"},"12982":{"morph":{"__isSmartRef__":true,"id":12936},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(399.0,45.0)"},"12983":{"morph":{"__isSmartRef__":true,"id":12936},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(399.0,52.0)"},"12984":{"morph":{"__isSmartRef__":true,"id":12936},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(219.0,52.0)"},"12985":{"morph":{"__isSmartRef__":true,"id":12936},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(39.0,52.0)"},"12986":{"morph":{"__isSmartRef__":true,"id":12936},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(39.0,45.0)"},"12987":{"layoutWorld":{"__isSmartRef__":true,"id":12988},"startLayouting":{"__isSmartRef__":true,"id":12992},"stopLayouting":{"__isSmartRef__":true,"id":12996},"reset":{"__isSmartRef__":true,"id":13000},"onDragStart":{"__isSmartRef__":true,"id":13004},"onDrag":{"__isSmartRef__":true,"id":13012},"onDragEnd":{"__isSmartRef__":true,"id":13020},"findMorphsToLayout":{"__isSmartRef__":true,"id":13028},"toggleLayouting":{"__isSmartRef__":true,"id":13032},"onDoubleClick":{"__isSmartRef__":true,"id":13036}},"12988":{"varMapping":{"__isSmartRef__":true,"id":12989},"source":"function layoutWorld() {\n var space = pt(0,this.getExtent().y);\n this.findMorphsToLayout().inject(this.bounds().bottomLeft().addPt(space),\n function(lastPos, ea) {\n ea.align(ea.bounds().topLeft(), lastPos);\n return ea.bounds().bottomLeft().addPt(space)\n }, this)\n var halos = this.world().currentHaloTarget &&\n this.world().currentHaloTarget.halos;\n if (halos)\n halos.invoke('alignAtTarget')\n}","funcProperties":{"__isSmartRef__":true,"id":12990},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12989":{"this":{"__isSmartRef__":true,"id":12936}},"12990":{"timestamp":{"__isSmartRef__":true,"id":12991},"user":"jenslincke","tags":[]},"12991":{"isSerializedDate":true,"string":"Tue Mar 05 2013 18:13:04 GMT+0100 (CET)"},"12992":{"varMapping":{"__isSmartRef__":true,"id":12993},"source":"function startLayouting() {\n this.isLayouting = true;\n this.startStepping(500, \"layoutWorld\")\n}","funcProperties":{"__isSmartRef__":true,"id":12994},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12993":{"this":{"__isSmartRef__":true,"id":12936}},"12994":{"timestamp":{"__isSmartRef__":true,"id":12995},"user":"jenslincke","tags":[]},"12995":{"isSerializedDate":true,"string":"Thu Dec 06 2012 12:02:28 GMT+0100 (CET)"},"12996":{"varMapping":{"__isSmartRef__":true,"id":12997},"source":"function stopLayouting() {\n this.isLayouting = false;\n this.stopStepping()\n}","funcProperties":{"__isSmartRef__":true,"id":12998},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"12997":{"this":{"__isSmartRef__":true,"id":12936}},"12998":{"timestamp":{"__isSmartRef__":true,"id":12999},"user":"jenslincke","tags":[]},"12999":{"isSerializedDate":true,"string":"Thu Dec 06 2012 12:01:10 GMT+0100 (CET)"},"13000":{"varMapping":{"__isSmartRef__":true,"id":13001},"source":"function reset() {\n this.isMetaTool = true\n this.enableDragging();\n\n\n // this.registerForMouseEvents()\n \n}","funcProperties":{"__isSmartRef__":true,"id":13002},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"13001":{"this":{"__isSmartRef__":true,"id":12936}},"13002":{"timestamp":{"__isSmartRef__":true,"id":13003},"user":"jenslincke","tags":[]},"13003":{"isSerializedDate":true,"string":"Wed Dec 12 2012 10:41:59 GMT+0100 (CET)"},"13004":{"varMapping":{"__isSmartRef__":true,"id":13005},"source":"function onDragStart(evt) {\n this.prevDragPos = evt.getPosition();\n this.morphsToMove = this.findMorphsToLayout();\n}","funcProperties":{"__isSmartRef__":true,"id":13010},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"13005":{"this":{"__isSmartRef__":true,"id":12936},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":13006}},"13006":{"$super":{"__isSmartRef__":true,"id":13007}},"13007":{"varMapping":{"__isSmartRef__":true,"id":13008},"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":13009},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"13008":{"obj":{"__isSmartRef__":true,"id":12936},"name":"onDragStart"},"13009":{},"13010":{"timestamp":{"__isSmartRef__":true,"id":13011},"user":"jenslincke","tags":[]},"13011":{"isSerializedDate":true,"string":"Wed Dec 12 2012 10:44:54 GMT+0100 (CET)"},"13012":{"varMapping":{"__isSmartRef__":true,"id":13013},"source":"function onDrag(evt) {\n var delta = evt.getPosition().subPt(this.prevDragPos)\n this.moveBy(delta)\n this.prevDragPos = evt.getPosition();\n this.morphsToMove.forEach(function(ea) {\n ea.moveBy(delta)\n })\n}","funcProperties":{"__isSmartRef__":true,"id":13018},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"13013":{"this":{"__isSmartRef__":true,"id":12936},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":13014}},"13014":{"$super":{"__isSmartRef__":true,"id":13015}},"13015":{"varMapping":{"__isSmartRef__":true,"id":13016},"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":13017},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"13016":{"obj":{"__isSmartRef__":true,"id":12936},"name":"onDrag"},"13017":{},"13018":{"timestamp":{"__isSmartRef__":true,"id":13019},"user":"jenslincke","tags":[]},"13019":{"isSerializedDate":true,"string":"Wed Dec 12 2012 10:45:21 GMT+0100 (CET)"},"13020":{"varMapping":{"__isSmartRef__":true,"id":13021},"source":"function onDragEnd() {\n this.morphsToMove = null;\n}","funcProperties":{"__isSmartRef__":true,"id":13026},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"13021":{"this":{"__isSmartRef__":true,"id":12936},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":13022}},"13022":{"$super":{"__isSmartRef__":true,"id":13023}},"13023":{"varMapping":{"__isSmartRef__":true,"id":13024},"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":13025},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"13024":{"obj":{"__isSmartRef__":true,"id":12936},"name":"onDragEnd"},"13025":{},"13026":{"timestamp":{"__isSmartRef__":true,"id":13027},"user":"jenslincke","tags":[]},"13027":{"isSerializedDate":true,"string":"Wed Dec 12 2012 10:44:37 GMT+0100 (CET)"},"13028":{"varMapping":{"__isSmartRef__":true,"id":13029},"source":"function findMorphsToLayout() {\n var target = this.owner;\n var halos = this.world().currentHaloTarget && this.world().currentHaloTarget.halos;\n // check if dragging etc...\n if (halos && halos.detect(function(ea) {\n return ea.infoLabel && ea.infoLabel.owner\n })){\n return [];\n }\n return target.submorphs.select(function(ea) {\n return (ea.bounds().topLeft().x <= this.bounds().right()) &&\n (this.bounds().left() - 100 <= ea.bounds().left()) &&\n (this.bounds().top() <= ea.bounds().top()) \n }, this).reject(function(ea) {\n return ea.isEpiMorph || (ea instanceof lively.morphic.HandMorph) \n || ea == this\n || ea.isMetaTool\n || ea instanceof lively.morphic.Window\n }, this).sortBy(function(ea) {\n return ea.bounds().topLeft().y\n })\n}","funcProperties":{"__isSmartRef__":true,"id":13030},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"13029":{"this":{"__isSmartRef__":true,"id":12936}},"13030":{"timestamp":{"__isSmartRef__":true,"id":13031},"user":"jenslincke","tags":[]},"13031":{"isSerializedDate":true,"string":"Thu Mar 14 2013 23:11:41 GMT+0100 (CET)"},"13032":{"varMapping":{"__isSmartRef__":true,"id":13033},"source":"function toggleLayouting() {\n if (this.isLayouting) {\n this.stopLayouting()\n this.setFill(Color.red)\n } else {\n this.startLayouting()\n this.setFill(Color.gray)\n }\n}","funcProperties":{"__isSmartRef__":true,"id":13034},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"13033":{"this":{"__isSmartRef__":true,"id":12936}},"13034":{"timestamp":{"__isSmartRef__":true,"id":13035},"user":"jenslincke","tags":[]},"13035":{"isSerializedDate":true,"string":"Wed Dec 12 2012 11:04:24 GMT+0100 (CET)"},"13036":{"varMapping":{"__isSmartRef__":true,"id":13037},"source":"function onDoubleClick(evt) {\n \n if (evt.isLeftMouseButtonDown()) {\n this.toggleLayouting()\n }\n}","funcProperties":{"__isSmartRef__":true,"id":13038},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"13037":{"this":{"__isSmartRef__":true,"id":12936}},"13038":{"timestamp":{"__isSmartRef__":true,"id":13039},"user":"jenslincke","tags":[]},"13039":{"isSerializedDate":true,"string":"Wed Oct 02 2013 10:35:20 GMT+0200 (CEST)"},"13040":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":13041},"id":2,"eventHandler":{"__isSmartRef__":true,"id":13042},"__layered_droppingEnabled__":false,"halosEnabled":false,"_world":{"__isSmartRef__":true,"id":0},"eventsAreIgnored":true,"_HandStyle":"default","_PointerEvents":"none","carriesGrabbedMorphs":false,"lastScrollTime":1382714902751,"_ClipMode":"visible","doNotSerialize":["$$scrollFocusMorph"],"doNotCopyProperties":["$$scrollFocusMorph"],"highlightConnection":null,"_Scale":1,"_Rotation":0,"owner":{"__isSmartRef__":true,"id":0},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.HandMorph","__SourceModuleName__":"Global.lively.morphic.Events","withLayers":["Global.NoMagnetsLayer"],"_Position":"lively.pt(1117.1,585.6)"},"13041":{"_ClipMode":"visible","__serializedExpressions__":["_Position","_Extent","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(2.0,2.0)","_Fill":"Color.rgb(204,0,0)","_Padding":"lively.rect(0,0,0,0)"},"13042":{"morph":{"__isSmartRef__":true,"id":13040},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"13043":{"_ClipMode":"visible","__serializedExpressions__":["_Position","_Extent","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(3000.0,6000.0)","_Fill":"Color.rgb(255,255,255)","_Padding":"lively.rect(0,0,0,0)"},"13044":{"morph":{"__isSmartRef__":true,"id":0},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"13045":{"name":"Local code","__LivelyClassName__":"ChangeSet","__SourceModuleName__":"Global.lively.ChangeSet"},"13046":{"submorphs":[{"__isSmartRef__":true,"id":13047}],"scripts":[],"id":"8D27EF6B-C210-48B6-946B-E3754AC442A1","shape":{"__isSmartRef__":true,"id":13058},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"LoadingMorph","partsBinMetaInfo":{"__isSmartRef__":true,"id":13059},"eventHandler":{"__isSmartRef__":true,"id":13159},"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","0C359AB4-E7FF-46F2-B050-E84944AAC865"],"isBeingDragged":false,"layout":{"__isSmartRef__":true,"id":13160},"prevScroll":[0,0],"moved":true,"headRevision":146469,"_ClipMode":"visible","_Rotation":0,"_Scale":1,"isMetaTool":true,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":13161},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)","distanceToDragEvent":"lively.pt(171.0,-13.0)"},"13047":{"submorphs":[{"__isSmartRef__":true,"id":13048}],"scripts":[],"shape":{"__isSmartRef__":true,"id":13054},"id":"B6B97921-1CD2-45AE-A7A0-E1D8801F391B","eventHandler":{"__isSmartRef__":true,"id":13055},"__layered_droppingEnabled__":true,"halosEnabled":true,"name":"ProgressIndicator","showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":13056},"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","B1D109CF-D403-4B0A-988D-50F79586DAC1"],"owner":{"__isSmartRef__":true,"id":13046},"isBeingDragged":false,"layout":{"__isSmartRef__":true,"id":13057},"prevScroll":[0,0],"_ClipMode":"visible","_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__LivelyClassName__":"lively.morphic.Image","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(113.5,81.0)","distanceToDragEvent":"lively.pt(39.0,-11.0)"},"13048":{"submorphs":[],"scripts":[],"id":"3C9E1FD5-0124-4547-A1C9-9EF9B0021C4E","shape":{"__isSmartRef__":true,"id":13049},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":257,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":14,"name":"loadedMorphName","partsBinMetaInfo":{"__isSmartRef__":true,"id":13050},"textChunks":[{"__isSmartRef__":true,"id":13051}],"charsReplaced":"MorphName","lastFindLoc":18,"prevScroll":[0,0],"eventHandler":{"__isSmartRef__":true,"id":13053},"_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","08EA4866-65F7-416E-810F-77F2E719663A"],"_WhiteSpaceHandling":"pre-wrap","owner":{"__isSmartRef__":true,"id":13047},"_MinTextWidth":257,"_MinTextHeight":null,"previousSelection":[6,6],"_Align":"center","isBeingDragged":false,"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","textColor","_Padding","distanceToDragEvent"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(-109.0,38.0)","textColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(5,5,0,0)","distanceToDragEvent":"lively.pt(179.0,-11.0)"},"13049":{"fill":null,"_BorderWidth":0,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(257.0,22.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"13050":{"partsSpaceName":"PartsBin/Basic","migrationLevel":4,"comment":"a simple text morph","partName":"Text","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"13051":{"style":{"__isSmartRef__":true,"id":13052},"chunkOwner":{"__isSmartRef__":true,"id":13048},"storedString":"loading part","_id":"_4371","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"13052":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"13053":{"morph":{"__isSmartRef__":true,"id":13048},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"13054":{"_ImageURL":"data:image/gif;base64,R0lGODlhEAAQAPIAAP///wAAAMLCwkJCQgAAAGJiYoKCgpKSkiH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCgAAACwAAAAAEAAQAAADMwi63P4wyklrE2MIOggZnAdOmGYJRbExwroUmcG2LmDEwnHQLVsYOd2mBzkYDAdKa+dIAAAh+QQJCgAAACwAAAAAEAAQAAADNAi63P5OjCEgG4QMu7DmikRxQlFUYDEZIGBMRVsaqHwctXXf7WEYB4Ag1xjihkMZsiUkKhIAIfkECQoAAAAsAAAAABAAEAAAAzYIujIjK8pByJDMlFYvBoVjHA70GU7xSUJhmKtwHPAKzLO9HMaoKwJZ7Rf8AYPDDzKpZBqfvwQAIfkECQoAAAAsAAAAABAAEAAAAzMIumIlK8oyhpHsnFZfhYumCYUhDAQxRIdhHBGqRoKw0R8DYlJd8z0fMDgsGo/IpHI5TAAAIfkECQoAAAAsAAAAABAAEAAAAzIIunInK0rnZBTwGPNMgQwmdsNgXGJUlIWEuR5oWUIpz8pAEAMe6TwfwyYsGo/IpFKSAAAh+QQJCgAAACwAAAAAEAAQAAADMwi6IMKQORfjdOe82p4wGccc4CEuQradylesojEMBgsUc2G7sDX3lQGBMLAJibufbSlKAAAh+QQJCgAAACwAAAAAEAAQAAADMgi63P7wCRHZnFVdmgHu2nFwlWCI3WGc3TSWhUFGxTAUkGCbtgENBMJAEJsxgMLWzpEAACH5BAkKAAAALAAAAAAQABAAAAMyCLrc/jDKSatlQtScKdceCAjDII7HcQ4EMTCpyrCuUBjCYRgHVtqlAiB1YhiCnlsRkAAAOwAAAAAAAAAAAA==","attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"isLoaded":true,"_ClipMode":"visible","_BorderWidth":0,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Image","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(31.0,31.0)","_Padding":"lively.rect(0,0,0,0)"},"13055":{"morph":{"__isSmartRef__":true,"id":13047},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"13056":{"partName":"ProgressIndicator","requiredModules":[],"migrationLevel":2,"partsSpaceName":"PartsBin/Widgets/","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"13057":{"centeredHorizontal":true,"centeredVertical":true},"13058":{"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":8.515,"_Opacity":0.8146,"_BorderStyle":"solid","__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(266.0,223.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(214,214,214)","_Padding":"lively.rect(0,0,0,0)"},"13059":{"partsSpaceName":"PartsBin/iPadWidgets","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":13060},{"__isSmartRef__":true,"id":13062},{"__isSmartRef__":true,"id":13064},{"__isSmartRef__":true,"id":13066},{"__isSmartRef__":true,"id":13068},{"__isSmartRef__":true,"id":13070},{"__isSmartRef__":true,"id":13072},{"__isSmartRef__":true,"id":13074},{"__isSmartRef__":true,"id":13076},{"__isSmartRef__":true,"id":13078},{"__isSmartRef__":true,"id":13080},{"__isSmartRef__":true,"id":13082},{"__isSmartRef__":true,"id":13084},{"__isSmartRef__":true,"id":13086},{"__isSmartRef__":true,"id":13088},{"__isSmartRef__":true,"id":13090},{"__isSmartRef__":true,"id":13092},{"__isSmartRef__":true,"id":13094},{"__isSmartRef__":true,"id":13096},{"__isSmartRef__":true,"id":13098},{"__isSmartRef__":true,"id":13100},{"__isSmartRef__":true,"id":13102},{"__isSmartRef__":true,"id":13104},{"__isSmartRef__":true,"id":13106},{"__isSmartRef__":true,"id":13108},{"__isSmartRef__":true,"id":13110},{"__isSmartRef__":true,"id":13112},{"__isSmartRef__":true,"id":13114},{"__isSmartRef__":true,"id":13116},{"__isSmartRef__":true,"id":13118},{"__isSmartRef__":true,"id":13120},{"__isSmartRef__":true,"id":13122},{"__isSmartRef__":true,"id":13124},{"__isSmartRef__":true,"id":13126},{"__isSmartRef__":true,"id":13128},{"__isSmartRef__":true,"id":13130},{"__isSmartRef__":true,"id":13132},{"__isSmartRef__":true,"id":13134},{"__isSmartRef__":true,"id":13136},{"__isSmartRef__":true,"id":13138},{"__isSmartRef__":true,"id":13140},{"__isSmartRef__":true,"id":13142},{"__isSmartRef__":true,"id":13144},{"__isSmartRef__":true,"id":13146},{"__isSmartRef__":true,"id":13148},{"__isSmartRef__":true,"id":13150},{"__isSmartRef__":true,"id":13152},{"__isSmartRef__":true,"id":13154},{"__isSmartRef__":true,"id":13156}],"lastModifiedDate":{"__isSmartRef__":true,"id":13158},"revisionOnLoad":194364,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"13060":{"date":{"__isSmartRef__":true,"id":13061},"author":"sstamm","message":"","id":"1C1391AE-5722-4707-BE52-F0094FC56829"},"13061":{"isSerializedDate":true,"string":"Wed Feb 22 2012 14:02:04 GMT+0100 (CET)"},"13062":{"date":{"__isSmartRef__":true,"id":13063},"author":"sstamm","message":"","id":"663F147A-9084-4AC3-81A7-1E7BA6547F08"},"13063":{"isSerializedDate":true,"string":"Wed Feb 22 2012 12:43:10 GMT+0100 (CET)"},"13064":{"date":{"__isSmartRef__":true,"id":13065},"author":"sstamm","message":"","id":"F72B746E-B170-4EFB-9074-5E8770640B8A"},"13065":{"isSerializedDate":true,"string":"Wed Feb 22 2012 12:36:14 GMT+0100 (CET)"},"13066":{"date":{"__isSmartRef__":true,"id":13067},"author":"sstamm","message":"","id":"568D2EFD-C535-43AE-8944-6D8B967129F5"},"13067":{"isSerializedDate":true,"string":"Wed Feb 22 2012 12:23:04 GMT+0100 (CET)"},"13068":{"date":{"__isSmartRef__":true,"id":13069},"author":"sstamm","message":"","id":"AB2484A6-0707-4E13-845E-F0A5F48BBA3D"},"13069":{"isSerializedDate":true,"string":"Wed Feb 22 2012 11:59:45 GMT+0100 (CET)"},"13070":{"date":{"__isSmartRef__":true,"id":13071},"author":"sstamm","message":"","id":"97D20633-F76C-46A5-A32A-FFE9BC83CAB3"},"13071":{"isSerializedDate":true,"string":"Wed Feb 22 2012 11:59:10 GMT+0100 (CET)"},"13072":{"date":{"__isSmartRef__":true,"id":13073},"author":"sstamm","message":"","id":"8A697DF5-9A45-4A84-B709-9719BF55083E"},"13073":{"isSerializedDate":true,"string":"Wed Feb 22 2012 11:56:54 GMT+0100 (CET)"},"13074":{"date":{"__isSmartRef__":true,"id":13075},"author":"sstamm","message":"","id":"F2157D66-1571-4B9A-B325-6FA96488260F"},"13075":{"isSerializedDate":true,"string":"Wed Feb 22 2012 11:51:05 GMT+0100 (CET)"},"13076":{"date":{"__isSmartRef__":true,"id":13077},"author":"sstamm","message":"","id":"E5E808CA-06AB-47DC-A9C9-CA7967591545"},"13077":{"isSerializedDate":true,"string":"Wed Feb 22 2012 11:47:19 GMT+0100 (CET)"},"13078":{"date":{"__isSmartRef__":true,"id":13079},"author":"sstamm","message":"","id":"009DC4E0-23CA-485A-A796-801AA0F75049"},"13079":{"isSerializedDate":true,"string":"Wed Feb 22 2012 11:46:25 GMT+0100 (CET)"},"13080":{"date":{"__isSmartRef__":true,"id":13081},"author":"sstamm","message":"","id":"C0CE1397-6E2E-4E8C-AEFF-9017E24BB7E4"},"13081":{"isSerializedDate":true,"string":"Wed Feb 22 2012 11:45:05 GMT+0100 (CET)"},"13082":{"date":{"__isSmartRef__":true,"id":13083},"author":"sstamm","message":"","id":"FFE16986-548D-4AC2-A627-CF6416282BC4"},"13083":{"isSerializedDate":true,"string":"Wed Feb 22 2012 11:37:15 GMT+0100 (CET)"},"13084":{"date":{"__isSmartRef__":true,"id":13085},"author":"sstamm","message":"","id":"57213D63-7147-4057-ADC9-30994443B066"},"13085":{"isSerializedDate":true,"string":"Wed Feb 22 2012 11:35:29 GMT+0100 (CET)"},"13086":{"date":{"__isSmartRef__":true,"id":13087},"author":"sstamm","message":"","id":"75A31364-B380-4312-BB5B-F8F2DA1CE824"},"13087":{"isSerializedDate":true,"string":"Wed Feb 22 2012 11:31:52 GMT+0100 (CET)"},"13088":{"date":{"__isSmartRef__":true,"id":13089},"author":"sstamm","message":"","id":"5AA50B7E-7D33-44C4-807B-BF1ABA31D530"},"13089":{"isSerializedDate":true,"string":"Wed Feb 22 2012 11:14:10 GMT+0100 (CET)"},"13090":{"date":{"__isSmartRef__":true,"id":13091},"author":"sstamm","message":"","id":"BCDCC505-534C-45E5-9BB2-5238959A5AD0"},"13091":{"isSerializedDate":true,"string":"Wed Feb 22 2012 11:02:56 GMT+0100 (CET)"},"13092":{"date":{"__isSmartRef__":true,"id":13093},"author":"sstamm","message":"","id":"890D14F4-E89D-4E05-BFB9-875D6AB6C765"},"13093":{"isSerializedDate":true,"string":"Wed Feb 22 2012 11:01:50 GMT+0100 (CET)"},"13094":{"date":{"__isSmartRef__":true,"id":13095},"author":"sstamm","message":"","id":"B6FE0805-0D24-4267-8238-8B332352617E"},"13095":{"isSerializedDate":true,"string":"Wed Feb 22 2012 10:55:44 GMT+0100 (CET)"},"13096":{"date":{"__isSmartRef__":true,"id":13097},"author":"sstamm","message":"callbacks are working","id":"9348260A-3B55-4659-BC85-440BFBD98EA4"},"13097":{"isSerializedDate":true,"string":"Fri Feb 10 2012 09:45:55 GMT+0100 (CET)"},"13098":{"date":{"__isSmartRef__":true,"id":13099},"author":"sstamm","message":"made it more opaque","id":"1B84264C-2822-407F-A58F-19217BCD2762"},"13099":{"isSerializedDate":true,"string":"Wed Feb 08 2012 11:41:50 GMT+0100 (CET)"},"13100":{"date":{"__isSmartRef__":true,"id":13101},"author":"sstamm","message":"","id":"0FB41D7D-2A52-4782-814B-A66C24FCE569"},"13101":{"isSerializedDate":true,"string":"Tue Feb 07 2012 11:13:49 GMT+0100 (CET)"},"13102":{"date":{"__isSmartRef__":true,"id":13103},"author":"sstamm","message":"","id":"A0C2D7C1-04AF-493A-A7D7-70750F7D3E2F"},"13103":{"isSerializedDate":true,"string":"Thu Feb 02 2012 17:22:07 GMT+0100 (CET)"},"13104":{"date":{"__isSmartRef__":true,"id":13105},"author":"sstamm","message":"trollolol","id":"F6CFAD78-AC72-4DE2-9F38-79776C2E9462"},"13105":{"isSerializedDate":true,"string":"Thu Feb 02 2012 14:55:14 GMT+0100 (CET)"},"13106":{"date":{"__isSmartRef__":true,"id":13107},"author":"sstamm","message":"should be centered now","id":"EE366B4D-C272-477F-8C28-4EAE5A7EC7CB"},"13107":{"isSerializedDate":true,"string":"Thu Feb 02 2012 14:54:35 GMT+0100 (CET)"},"13108":{"date":{"__isSmartRef__":true,"id":13109},"author":"sstamm","message":"initial commit","id":"8920D925-DD16-4667-B8C7-FB74D78C2424"},"13109":{"isSerializedDate":true,"string":"Thu Feb 02 2012 13:26:01 GMT+0100 (CET)"},"13110":{"date":{"__isSmartRef__":true,"id":13111},"author":"sstamm","message":"changed text morph name","id":"80E88A3C-5AF3-48F2-A600-710877630997"},"13111":{"isSerializedDate":true,"string":"Thu Feb 02 2012 14:04:01 GMT+0100 (CET)"},"13112":{"date":{"__isSmartRef__":true,"id":13113},"author":"sstamm","message":"added loading script","id":"EE9B8F4D-1F03-4232-82E6-794046974F8F"},"13113":{"isSerializedDate":true,"string":"Thu Feb 02 2012 14:28:30 GMT+0100 (CET)"},"13114":{"date":{"__isSmartRef__":true,"id":13115},"author":"sstamm","message":"added disconnection","id":"11F19267-924E-4087-99ED-998245576BD2"},"13115":{"isSerializedDate":true,"string":"Thu Feb 02 2012 14:32:58 GMT+0100 (CET)"},"13116":{"date":{"__isSmartRef__":true,"id":13117},"author":"sstamm","message":"removed connections before deletion","id":"35A88218-6864-4D52-83A2-BFF7B9A6907C"},"13117":{"isSerializedDate":true,"string":"Thu Feb 02 2012 14:41:00 GMT+0100 (CET)"},"13118":{"date":{"__isSmartRef__":true,"id":13119},"author":"sstamm","message":"now able to load parts by name and category as well as per partItem","id":"F36A5782-461D-4813-95F8-0207990A261C"},"13119":{"isSerializedDate":true,"string":"Thu Feb 02 2012 15:24:30 GMT+0100 (CET)"},"13120":{"date":{"__isSmartRef__":true,"id":13121},"author":"sstamm","message":"now with round corners","id":"F42C39CB-CC37-467D-BF10-D362241F047E"},"13121":{"isSerializedDate":true,"string":"Thu Feb 02 2012 15:26:23 GMT+0100 (CET)"},"13122":{"date":{"__isSmartRef__":true,"id":13123},"author":"sstamm","message":"loadingMorph is sync now","id":"12ACFFC9-BA53-4A2A-ABD4-894A5ECE1145"},"13123":{"isSerializedDate":true,"string":"Thu Feb 02 2012 15:48:04 GMT+0100 (CET)"},"13124":{"date":{"__isSmartRef__":true,"id":13125},"author":"sstamm","message":"display the loadingMorph in new thread","id":"2BA51E30-F02B-4AF0-B3BE-52DD4ED522CC"},"13125":{"isSerializedDate":true,"string":"Thu Feb 02 2012 15:53:49 GMT+0100 (CET)"},"13126":{"date":{"__isSmartRef__":true,"id":13127},"author":"sstamm","message":"","id":"DF0AE4EA-1B08-4556-8BBE-E6488F23B8A3"},"13127":{"isSerializedDate":true,"string":"Thu Feb 02 2012 16:49:48 GMT+0100 (CET)"},"13128":{"date":{"__isSmartRef__":true,"id":13129},"author":"sstamm","message":"","id":"220821B3-C589-41C9-A324-8E7E6D9D6CEB"},"13129":{"isSerializedDate":true,"string":"Thu Feb 02 2012 16:58:43 GMT+0100 (CET)"},"13130":{"date":{"__isSmartRef__":true,"id":13131},"author":"sstamm","message":"","id":"DEBFACE2-7EC5-4A86-AD46-5A0A88A73707"},"13131":{"isSerializedDate":true,"string":"Thu Feb 02 2012 17:04:28 GMT+0100 (CET)"},"13132":{"date":{"__isSmartRef__":true,"id":13133},"author":"sstamm","message":"load request in new thread if loading should be async","id":"18282D28-D6D4-48C9-A508-6E3244449BD8"},"13133":{"isSerializedDate":true,"string":"Tue Feb 07 2012 11:10:27 GMT+0100 (CET)"},"13134":{"date":{"__isSmartRef__":true,"id":13135},"author":"sstamm","message":"added benchmarking output","id":"249CFF90-DDF5-4A83-9759-0289E96D7D58"},"13135":{"isSerializedDate":true,"string":"Tue Feb 07 2012 11:31:50 GMT+0100 (CET)"},"13136":{"date":{"__isSmartRef__":true,"id":13137},"author":"sstamm","message":"","id":"882082E1-29B6-418D-9B8B-672729D60619"},"13137":{"isSerializedDate":true,"string":"Tue Feb 07 2012 11:38:26 GMT+0100 (CET)"},"13138":{"date":{"__isSmartRef__":true,"id":13139},"author":"sstamm","message":"","id":"5179AEF9-E19F-4B0C-BBD8-556C5687988A"},"13139":{"isSerializedDate":true,"string":"Tue Feb 07 2012 11:44:11 GMT+0100 (CET)"},"13140":{"date":{"__isSmartRef__":true,"id":13141},"author":"sstamm","message":"","id":"1159C5B4-724E-4124-9D7B-5CD5DC4A8EE3"},"13141":{"isSerializedDate":true,"string":"Tue Feb 07 2012 11:48:14 GMT+0100 (CET)"},"13142":{"date":{"__isSmartRef__":true,"id":13143},"author":"sstamm","message":"","id":"2A718D1F-1036-41D6-999A-336F2B14E65D"},"13143":{"isSerializedDate":true,"string":"Tue Feb 07 2012 11:49:47 GMT+0100 (CET)"},"13144":{"date":{"__isSmartRef__":true,"id":13145},"author":"sstamm","message":"","id":"EB6BDD0C-7EEC-4124-B77F-2F106A601538"},"13145":{"isSerializedDate":true,"string":"Tue Feb 07 2012 11:59:48 GMT+0100 (CET)"},"13146":{"date":{"__isSmartRef__":true,"id":13147},"author":"sstamm","message":"","id":"63EC8D07-AB6A-450A-BB84-9B4D37E03647"},"13147":{"isSerializedDate":true,"string":"Tue Feb 07 2012 12:02:33 GMT+0100 (CET)"},"13148":{"date":{"__isSmartRef__":true,"id":13149},"author":"sstamm","message":"","id":"19CE12E4-5AA5-48DC-B1D1-B0EB0EDF1CB9"},"13149":{"isSerializedDate":true,"string":"Tue Feb 07 2012 12:03:42 GMT+0100 (CET)"},"13150":{"date":{"__isSmartRef__":true,"id":13151},"author":"sstamm","message":"first attempt to introduce callback functions to part loading","id":"22BD0B95-8948-411A-A56E-AD7CBE445F1D"},"13151":{"isSerializedDate":true,"string":"Thu Feb 09 2012 20:20:11 GMT+0100 (CET)"},"13152":{"date":{"__isSmartRef__":true,"id":13153},"author":"sstamm","message":"","id":"A216DFD2-9D1F-4E62-A22F-6B5472823E1B"},"13153":{"isSerializedDate":true,"string":"Fri Mar 16 2012 15:37:34 GMT+0100 (CET)"},"13154":{"date":{"__isSmartRef__":true,"id":13155},"author":"sstamm","message":"","id":"464E723A-08DC-433C-AA5C-CEC850DBAF0B"},"13155":{"isSerializedDate":true,"string":"Fri Mar 16 2012 15:42:29 GMT+0100 (CET)"},"13156":{"date":{"__isSmartRef__":true,"id":13157},"author":"jenslincke","message":"make it a meta tool","id":"8406E1E5-C48F-4F03-AC17-81AABDE9235E"},"13157":{"isSerializedDate":true,"string":"Fri Mar 22 2013 14:56:05 GMT+0100 (CET)"},"13158":{"isSerializedDate":true,"string":"Fri Mar 22 2013 14:54:35 GMT+0100 (CET)"},"13159":{"morph":{"__isSmartRef__":true,"id":13046},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"13160":{"adjustForNewBounds":true},"13161":{"loadPart":{"__isSmartRef__":true,"id":13162},"loadFinished":{"__isSmartRef__":true,"id":13166},"loadPartByName":{"__isSmartRef__":true,"id":13170}},"13162":{"varMapping":{"__isSmartRef__":true,"id":13163},"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":13164},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"13163":{"this":{"__isSmartRef__":true,"id":13046}},"13164":{"timestamp":{"__isSmartRef__":true,"id":13165},"user":"sstamm","tags":[]},"13165":{"isSerializedDate":true,"string":"Fri Mar 16 2012 15:42:18 GMT+0100 (CET)"},"13166":{"varMapping":{"__isSmartRef__":true,"id":13167},"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":13168},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"13167":{"this":{"__isSmartRef__":true,"id":13046}},"13168":{"timestamp":{"__isSmartRef__":true,"id":13169},"user":"sstamm","tags":[]},"13169":{"isSerializedDate":true,"string":"Wed Feb 22 2012 14:01:53 GMT+0100 (CET)"},"13170":{"varMapping":{"__isSmartRef__":true,"id":13171},"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":13172},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"13171":{"this":{"__isSmartRef__":true,"id":13046}},"13172":{"timestamp":{"__isSmartRef__":true,"id":13173},"user":"sstamm","tags":[]},"13173":{"isSerializedDate":true,"string":"Thu Feb 02 2012 17:03:18 GMT+0100 (CET)"},"13174":{"protocol":"http:","hostname":"lively-kernel.org","pathname":"/repository/webwerkstatt/demos/LineConnection.xhtml","__LivelyClassName__":"URL","__SourceModuleName__":"Global.lively.Network"},"13175":{"sourceObj":{"__isSmartRef__":true,"id":0},"sourceAttrName":"savedWorldAsURL","targetObj":{"__isSmartRef__":true,"id":0},"targetMethodName":"visitNewPageAfterSaveAs","varMapping":{"__isSmartRef__":true,"id":13176},"updaterString":"function ($upd, v) {\n if (v && v.toString() !== URL.source.toString()) { $upd(v); }\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"13176":{"source":{"__isSmartRef__":true,"id":0},"target":{"__isSmartRef__":true,"id":0}},"13177":{"isSerializedDate":true,"string":"Fri Oct 25 2013 17:27:40 GMT+0200 (CEST)"},"13178":{"clipboardData":{"__isSmartRef__":true,"id":13179},"cancelBubble":false,"returnValue":false,"defaultPrevented":true,"timeStamp":1382714783797,"cancelable":true,"bubbles":true,"eventPhase":0,"currentTarget":null,"type":"paste","hasLivelyPatch":true,"isMouseEvent":false,"isKeyboardEvent":false,"world":{"__isSmartRef__":true,"id":0},"hand":{"__isSmartRef__":true,"id":13040},"__serializedExpressions__":["mousePoint"],"isStopped":true,"mousePoint":"lively.pt(0.0,0.0)"},"13179":{"items":{"__isSmartRef__":true,"id":13180},"files":{"__isSmartRef__":true,"id":13181},"types":null,"effectAllowed":"uninitialized","dropEffect":"none"},"13180":{"length":0},"13181":{"length":0},"13182":{"rules":[{"__isSmartRef__":true,"id":13183},{"__isSmartRef__":true,"id":13185}],"originMorph":{"__isSmartRef__":true,"id":0},"__LivelyClassName__":"lively.morphic.StyleSheet","__SourceModuleName__":"Global.lively.morphic.StyleSheetRepresentation"},"13183":{"declarations":[{"__isSmartRef__":true,"id":13184}],"styleSheet":{"__isSmartRef__":true,"id":13182},"selector":".Window","__LivelyClassName__":"lively.morphic.StyleSheetRule","__SourceModuleName__":"Global.lively.morphic.StyleSheetRepresentation"},"13184":{"values":["none"],"rule":{"__isSmartRef__":true,"id":13183},"property":"box-shadow","priority":false,"__LivelyClassName__":"lively.morphic.StyleSheetDeclaration","__SourceModuleName__":"Global.lively.morphic.StyleSheetRepresentation"},"13185":{"declarations":[{"__isSmartRef__":true,"id":13186}],"styleSheet":{"__isSmartRef__":true,"id":13182},"selector":".Window.highlighted","__LivelyClassName__":"lively.morphic.StyleSheetRule","__SourceModuleName__":"Global.lively.morphic.StyleSheetRepresentation"},"13186":{"values":["none"],"rule":{"__isSmartRef__":true,"id":13185},"property":"box-shadow","priority":false,"__LivelyClassName__":"lively.morphic.StyleSheetDeclaration","__SourceModuleName__":"Global.lively.morphic.StyleSheetRepresentation"},"isSimplifiedRegistry":true}}]]>