{"id":0,"registry":{"0":{"submorphs":[{"__isSmartRef__":true,"id":1},{"__isSmartRef__":true,"id":24},{"__isSmartRef__":true,"id":39},{"__isSmartRef__":true,"id":52},{"__isSmartRef__":true,"id":65}],"scripts":[],"id":4014,"shape":{"__isSmartRef__":true,"id":80},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"_Position":{"__isSmartRef__":true,"id":86},"showsHalos":false,"name":"ObjectDiffer","partsBinMetaInfo":{"__isSmartRef__":true,"id":87},"__SourceModuleName__":"Global.lively.morphic.Core","_Rotation":0,"_Scale":1.0030070150310633,"doNotSerialize":["objectA","objectB"],"exclude":["owner","_renderContext","eventHandler"],"excludeList":["owner","_renderContext","eventHandler"],"renderContextTable":{"__isSmartRef__":true,"id":88},"eventHandler":{"__isSmartRef__":true,"id":89},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":90},"__LivelyClassName__":"lively.morphic.Box","withLayers":["ScriptListUpdateLayer"]},"1":{"submorphs":[],"scripts":[],"id":4015,"shape":{"__isSmartRef__":true,"id":2},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"_Padding":{"__isSmartRef__":true,"id":8},"_ClipMode":"auto","fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":true,"_FontFamily":"Helvetica","_Position":{"__isSmartRef__":true,"id":9},"_MaxTextWidth":634.6916134571445,"_MaxTextHeight":90.67223536161418,"textChunks":[{"__isSmartRef__":true,"id":10}],"owner":{"__isSmartRef__":true,"id":0},"layout":{"__isSmartRef__":true,"id":12},"showsHalos":false,"_Rotation":0,"_Scale":0.9970019999999998,"priorSelectionRange":[238,238],"charsReplaced":"","lastFindLoc":4,"doitContext":{"__isSmartRef__":true,"id":0},"savedTextString":"    // enter object names, expand the exclude list where needed and press CMD+s\nthis.excludeList = [\"owner\", \"_renderContext\", \"eventHandler\"];\nthis.objectA = $morph(\"ObjectSerializationGraph\")\nthis.objectB = $morph(\"ObjectSerializationGraph1\")","__SourceModuleName__":"Global.lively.morphic.TextCore","prevScroll":[0,0],"name":"Text","priorExtent":{"__isSmartRef__":true,"id":13},"renderContextTable":{"__isSmartRef__":true,"id":14},"eventHandler":{"__isSmartRef__":true,"id":15},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":16},"__LivelyClassName__":"lively.morphic.Text"},"2":{"_Position":{"__isSmartRef__":true,"id":3},"_Extent":{"__isSmartRef__":true,"id":4},"_BorderWidth":2,"_BorderColor":{"__isSmartRef__":true,"id":5},"_Fill":{"__isSmartRef__":true,"id":6},"__SourceModuleName__":"Global.lively.morphic.Shapes","renderContextTable":{"__isSmartRef__":true,"id":7},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"3":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"4":{"x":634.6916134571445,"y":90.67223536161418,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"5":{"r":0,"g":0,"b":0,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"6":{"r":0.95,"g":0.95,"b":0.95,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global"},"7":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML"},"8":{"x":2,"y":1,"width":0,"height":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Rectangle"},"9":{"x":19.01498999999997,"y":389.9490339999999,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"10":{"style":{"__isSmartRef__":true,"id":11},"morph":{"__isSmartRef__":true,"id":1},"__SourceModuleName__":"Global.lively.morphic.TextCore","chunkOwner":{"__isSmartRef__":true,"id":1},"storedString":"// enter object names, expand the exclude list where needed and press CMD+s\nthis.excludeList = [\"owner\", \"_renderContext\", \"eventHandler\"];\nthis.objectA = $morph(\"objectA\")\nthis.objectB = $morph(\"objectB\")","__LivelyClassName__":"lively.morphic.TextChunk"},"11":{"__SourceModuleName__":"Global.lively.morphic.TextCore","__LivelyClassName__":"lively.morphic.TextEmphasis"},"12":{"resizeWidth":true,"resizeHeight":true},"13":{"x":634.6916134571445,"y":90.67223536161418,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"14":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","triggerEvent":"triggerEventHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","setOrigin":"setOriginHTML","setClipMode":"setClipModeHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","updateText":"updateTextHTML","setTextExtent":"setTextExtentHTML","setMaxTextWidth":"setMaxTextWidthHTML","setMaxTextHeight":"setMaxTextHeightHTML","getTextExtent":"getTextExtentHTML","getTextString":"getTextStringHTML","ignoreTextEvents":"ignoreTextEventsHTML","enableTextEvents":"enableTextEventsHTML","setFontFamily":"setFontFamilyHTML","setFontSize":"setFontSizeHTML","setTextColor":"setTextColorHTML","setPadding":"setPaddingHTML","setAlign":"setAlignHTML","setVerticalAlign":"setVerticalAlignHTML","setDisplay":"setDisplayHTML","setWhiteSpaceHandling":"setWhiteSpaceHandlingHTML"},"15":{"morph":{"__isSmartRef__":true,"id":1},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"16":{"doSave":{"__isSmartRef__":true,"id":17}},"17":{"varMapping":{"__isSmartRef__":true,"id":18},"source":"function doSave() {\n\t$super();\n\tthis.tryBoundEval(this.textString)\n\tthis.owner.updateDiffList()\n}","funcProperties":{"__isSmartRef__":true,"id":23},"__SourceModuleName__":"Global","__LivelyClassName__":"lively.Closure"},"18":{"this":{"__isSmartRef__":true,"id":1},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":19}},"19":{"$super":{"__isSmartRef__":true,"id":20}},"20":{"varMapping":{"__isSmartRef__":true,"id":21},"source":"function () {\n\t\t\t\ttry {\n\t\t\t\t\treturn obj.constructor.prototype[name].apply(obj, arguments)\n\t\t\t\t} catch(e) {\n\t\t\t\t\talert('Error in $super call: ' + e + '\\n' + e.stack);\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t}","funcProperties":{"__isSmartRef__":true,"id":22},"__SourceModuleName__":"Global","__LivelyClassName__":"lively.Closure"},"21":{"obj":{"__isSmartRef__":true,"id":1},"name":"doSave"},"22":{},"23":{},"24":{"submorphs":[],"scripts":[],"id":4016,"shape":{"__isSmartRef__":true,"id":25},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"_Padding":{"__isSmartRef__":true,"id":31},"_ClipMode":"auto","fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":true,"_FontFamily":"Helvetica","_Position":{"__isSmartRef__":true,"id":32},"priorExtent":{"__isSmartRef__":true,"id":33},"_MaxTextWidth":727,"_MaxTextHeight":317,"textChunks":[{"__isSmartRef__":true,"id":34}],"owner":{"__isSmartRef__":true,"id":0},"layout":{"__isSmartRef__":true,"id":36},"priorSelectionRange":[0,70],"showsHalos":false,"_Rotation":0,"_Scale":0.9970019999999998,"name":"diffOutput","prevScroll":[0,443],"__SourceModuleName__":"Global.lively.morphic.TextCore","savedTextString":"Oops!, Something went wrong.\nRangeError: Maximum call stack size exceeded","renderContextTable":{"__isSmartRef__":true,"id":37},"eventHandler":{"__isSmartRef__":true,"id":38},"__LivelyClassName__":"lively.morphic.Text"},"25":{"_Position":{"__isSmartRef__":true,"id":26},"_Extent":{"__isSmartRef__":true,"id":27},"_BorderWidth":2,"_BorderColor":{"__isSmartRef__":true,"id":28},"_Fill":{"__isSmartRef__":true,"id":29},"__SourceModuleName__":"Global.lively.morphic.Shapes","renderContextTable":{"__isSmartRef__":true,"id":30},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"26":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"27":{"x":727,"y":317,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"28":{"r":0,"g":0,"b":0,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"29":{"r":0.95,"g":0.95,"b":0.95,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global"},"30":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML"},"31":{"x":2,"y":1,"width":0,"height":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Rectangle"},"32":{"x":23.92804799999999,"y":55.832111999999995,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"33":{"x":727,"y":317,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"34":{"style":{"__isSmartRef__":true,"id":35},"morph":{"__isSmartRef__":true,"id":24},"__SourceModuleName__":"Global.lively.morphic.TextCore","chunkOwner":{"__isSmartRef__":true,"id":24},"storedString":"","__LivelyClassName__":"lively.morphic.TextChunk"},"35":{"__SourceModuleName__":"Global.lively.morphic.TextCore","__LivelyClassName__":"lively.morphic.TextEmphasis"},"36":{"resizeWidth":true,"resizeHeight":true},"37":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","triggerEvent":"triggerEventHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","setOrigin":"setOriginHTML","setClipMode":"setClipModeHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","updateText":"updateTextHTML","setTextExtent":"setTextExtentHTML","setMaxTextWidth":"setMaxTextWidthHTML","setMaxTextHeight":"setMaxTextHeightHTML","getTextExtent":"getTextExtentHTML","getTextString":"getTextStringHTML","ignoreTextEvents":"ignoreTextEventsHTML","enableTextEvents":"enableTextEventsHTML","setFontFamily":"setFontFamilyHTML","setFontSize":"setFontSizeHTML","setTextColor":"setTextColorHTML","setPadding":"setPaddingHTML","setAlign":"setAlignHTML","setVerticalAlign":"setVerticalAlignHTML","setDisplay":"setDisplayHTML","setWhiteSpaceHandling":"setWhiteSpaceHandlingHTML"},"38":{"morph":{"__isSmartRef__":true,"id":24},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"39":{"submorphs":[],"scripts":[],"id":4017,"shape":{"__isSmartRef__":true,"id":40},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_Position":{"__isSmartRef__":true,"id":45},"_MaxTextWidth":420.6374871865854,"_MaxTextHeight":null,"textColor":{"__isSmartRef__":true,"id":43},"showsHalos":false,"_FontSize":12,"__SourceModuleName__":"Global.lively.morphic.TextCore","_Rotation":0,"name":"Text","partsBinMetaInfo":{"__isSmartRef__":true,"id":46},"textChunks":[{"__isSmartRef__":true,"id":47}],"charsReplaced":"Not So Simple Object Differ","lastFindLoc":1,"priorSelectionRange":[0,0],"prevScroll":[0,0],"_Scale":1,"owner":{"__isSmartRef__":true,"id":0},"_ClipMode":"visible","priorExtent":{"__isSmartRef__":true,"id":49},"renderContextTable":{"__isSmartRef__":true,"id":50},"eventHandler":{"__isSmartRef__":true,"id":51},"__LivelyClassName__":"lively.morphic.Text"},"40":{"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":{"__isSmartRef__":true,"id":41},"_Extent":{"__isSmartRef__":true,"id":42},"_BorderWidth":0,"_BorderColor":{"__isSmartRef__":true,"id":43},"renderContextTable":{"__isSmartRef__":true,"id":44},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"41":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"42":{"x":420.6374871865854,"y":18,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"43":{"r":0,"g":0,"b":0,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"44":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML"},"45":{"x":20.985009999999136,"y":17.970019999999636,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"46":{"partsSpaceName":"PartsBin/NewWorld","__SourceModuleName__":"Global.lively.PartsBin","migrationLevel":1,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo"},"47":{"style":{"__isSmartRef__":true,"id":48},"morph":{"__isSmartRef__":true,"id":39},"__SourceModuleName__":"Global.lively.morphic.TextCore","chunkOwner":{"__isSmartRef__":true,"id":39},"storedString":"Not So Simple Object Differ","__LivelyClassName__":"lively.morphic.TextChunk"},"48":{"__SourceModuleName__":"Global.lively.morphic.TextCore","__LivelyClassName__":"lively.morphic.TextEmphasis"},"49":{"x":420.6374871865854,"y":18,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"50":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","triggerEvent":"triggerEventHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","setOrigin":"setOriginHTML","setClipMode":"setClipModeHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","updateText":"updateTextHTML","setTextExtent":"setTextExtentHTML","setMaxTextWidth":"setMaxTextWidthHTML","setMaxTextHeight":"setMaxTextHeightHTML","getTextExtent":"getTextExtentHTML","getTextString":"getTextStringHTML","ignoreTextEvents":"ignoreTextEventsHTML","enableTextEvents":"enableTextEventsHTML","setFontFamily":"setFontFamilyHTML","setFontSize":"setFontSizeHTML","setTextColor":"setTextColorHTML","setPadding":"setPaddingHTML","setAlign":"setAlignHTML","setVerticalAlign":"setVerticalAlignHTML","setDisplay":"setDisplayHTML","setWhiteSpaceHandling":"setWhiteSpaceHandlingHTML"},"51":{"morph":{"__isSmartRef__":true,"id":39},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"52":{"submorphs":[],"scripts":[],"id":4018,"shape":{"__isSmartRef__":true,"id":53},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_Position":{"__isSmartRef__":true,"id":58},"_MaxTextWidth":72.63748718658542,"_MaxTextHeight":null,"textColor":{"__isSmartRef__":true,"id":56},"showsHalos":false,"_FontSize":12,"__SourceModuleName__":"Global.lively.morphic.TextCore","_Rotation":0,"name":"Text1","partsBinMetaInfo":{"__isSmartRef__":true,"id":59},"textChunks":[{"__isSmartRef__":true,"id":60}],"charsReplaced":"","lastFindLoc":5,"priorSelectionRange":[8,8],"prevScroll":[0,0],"_Scale":1,"_ClipMode":"visible","priorExtent":{"__isSmartRef__":true,"id":62},"owner":{"__isSmartRef__":true,"id":0},"renderContextTable":{"__isSmartRef__":true,"id":63},"eventHandler":{"__isSmartRef__":true,"id":64},"__LivelyClassName__":"lively.morphic.Text"},"53":{"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":{"__isSmartRef__":true,"id":54},"_Extent":{"__isSmartRef__":true,"id":55},"_BorderWidth":0,"_BorderColor":{"__isSmartRef__":true,"id":56},"renderContextTable":{"__isSmartRef__":true,"id":57},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"54":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"55":{"x":72.63748718658542,"y":36,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"56":{"r":0,"g":0,"b":0,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"57":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML"},"58":{"x":669.0363099999992,"y":388.8547639999996,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"59":{"partsSpaceName":"PartsBin/NewWorld","__SourceModuleName__":"Global.lively.PartsBin","migrationLevel":1,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo"},"60":{"style":{"__isSmartRef__":true,"id":61},"morph":{"__isSmartRef__":true,"id":52},"__SourceModuleName__":"Global.lively.morphic.TextCore","chunkOwner":{"__isSmartRef__":true,"id":52},"storedString":"Max.\nDepth:","__LivelyClassName__":"lively.morphic.TextChunk"},"61":{"__SourceModuleName__":"Global.lively.morphic.TextCore","__LivelyClassName__":"lively.morphic.TextEmphasis"},"62":{"x":72.63748718658542,"y":36,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"63":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","triggerEvent":"triggerEventHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","setOrigin":"setOriginHTML","setClipMode":"setClipModeHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","updateText":"updateTextHTML","setTextExtent":"setTextExtentHTML","setMaxTextWidth":"setMaxTextWidthHTML","setMaxTextHeight":"setMaxTextHeightHTML","getTextExtent":"getTextExtentHTML","getTextString":"getTextStringHTML","ignoreTextEvents":"ignoreTextEventsHTML","enableTextEvents":"enableTextEventsHTML","setFontFamily":"setFontFamilyHTML","setFontSize":"setFontSizeHTML","setTextColor":"setTextColorHTML","setPadding":"setPaddingHTML","setAlign":"setAlignHTML","setVerticalAlign":"setVerticalAlignHTML","setDisplay":"setDisplayHTML","setWhiteSpaceHandling":"setWhiteSpaceHandlingHTML"},"64":{"morph":{"__isSmartRef__":true,"id":52},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"65":{"submorphs":[],"scripts":[],"id":4019,"shape":{"__isSmartRef__":true,"id":66},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"_Padding":{"__isSmartRef__":true,"id":72},"_ClipMode":"auto","fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":true,"_FontFamily":"Helvetica","_Position":{"__isSmartRef__":true,"id":73},"priorExtent":{"__isSmartRef__":true,"id":74},"_MaxTextWidth":55,"_MaxTextHeight":45,"textChunks":[{"__isSmartRef__":true,"id":75}],"layout":{"__isSmartRef__":true,"id":77},"priorSelectionRange":[0,1],"showsHalos":false,"_Rotation":0,"_Scale":0.9970019999999998,"name":"depthInput","prevScroll":[0,0],"__SourceModuleName__":"Global.lively.morphic.TextCore","savedTextString":"8","owner":{"__isSmartRef__":true,"id":0},"charsReplaced":"    ","lastFindLoc":0,"renderContextTable":{"__isSmartRef__":true,"id":78},"eventHandler":{"__isSmartRef__":true,"id":79},"__LivelyClassName__":"lively.morphic.Text"},"66":{"_Position":{"__isSmartRef__":true,"id":67},"_Extent":{"__isSmartRef__":true,"id":68},"_BorderWidth":2,"_BorderColor":{"__isSmartRef__":true,"id":69},"_Fill":{"__isSmartRef__":true,"id":70},"__SourceModuleName__":"Global.lively.morphic.Shapes","renderContextTable":{"__isSmartRef__":true,"id":71},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"67":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"68":{"x":55,"y":45,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"69":{"r":0,"g":0,"b":0,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"70":{"r":0.95,"g":0.95,"b":0.95,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global"},"71":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML"},"72":{"x":2,"y":1,"width":0,"height":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Rectangle"},"73":{"x":667.9913399999999,"y":430.70486399999993,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"74":{"x":55,"y":45,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"75":{"style":{"__isSmartRef__":true,"id":76},"morph":{"__isSmartRef__":true,"id":65},"__SourceModuleName__":"Global.lively.morphic.TextCore","chunkOwner":{"__isSmartRef__":true,"id":65},"storedString":"5","__LivelyClassName__":"lively.morphic.TextChunk"},"76":{"__SourceModuleName__":"Global.lively.morphic.TextCore","__LivelyClassName__":"lively.morphic.TextEmphasis"},"77":{"resizeWidth":true,"resizeHeight":true},"78":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","triggerEvent":"triggerEventHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","setOrigin":"setOriginHTML","setClipMode":"setClipModeHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML","updateText":"updateTextHTML","setTextExtent":"setTextExtentHTML","setMaxTextWidth":"setMaxTextWidthHTML","setMaxTextHeight":"setMaxTextHeightHTML","getTextExtent":"getTextExtentHTML","getTextString":"getTextStringHTML","ignoreTextEvents":"ignoreTextEventsHTML","enableTextEvents":"enableTextEventsHTML","setFontFamily":"setFontFamilyHTML","setFontSize":"setFontSizeHTML","setTextColor":"setTextColorHTML","setPadding":"setPaddingHTML","setAlign":"setAlignHTML","setVerticalAlign":"setVerticalAlignHTML","setDisplay":"setDisplayHTML","setWhiteSpaceHandling":"setWhiteSpaceHandlingHTML"},"79":{"morph":{"__isSmartRef__":true,"id":65},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"80":{"position":{"__isSmartRef__":true,"id":81},"_Extent":{"__isSmartRef__":true,"id":82},"_BorderWidth":1,"_BorderColor":{"__isSmartRef__":true,"id":83},"_Fill":{"__isSmartRef__":true,"id":84},"__SourceModuleName__":"Global.lively.morphic.Shapes","_BorderRadius":0,"renderContextTable":{"__isSmartRef__":true,"id":85},"_BorderStyle":"solid","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"81":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"82":{"x":775.0237211159056,"y":497.19077795230106,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"83":{"r":0,"g":0,"b":0,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"84":{"r":0.662,"g":0.662,"b":0.662,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global"},"85":{"init":"initHTML","appendShape":"renderHTML","setPosition":"setPositionHTML","setExtent":"setExtentHTML","setFill":"setFillHTML","setBorderColor":"setBorderColorHTML","setBorderWidth":"setBorderWidthHTML","setStrokeOpacity":"setStrokeOpacityHTML","setBorderRadius":"setBorderRadiusHTML","setBorderStyle":"setBorderStyleHTML","setOpacity":"setOpacityHTML"},"86":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"87":{"partsSpaceName":"PartsBin/Debugging/","__SourceModuleName__":"Global.lively.PartsBin","migrationLevel":2,"partName":"ObjectDiffer","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo"},"88":{"replaceRenderContext":"replaceRenderContextHTML","init":"initHTML","append":"appendHTML","remove":"removeHTML","triggerEvent":"triggerEventHTML","setPosition":"setPositionHTML","setRotation":"setRotationHTML","setExtent":"setExtentHTML","setScale":"setScaleHTML","setVisible":"setVisibleHTML","setOrigin":"setOriginHTML","setClipMode":"setClipModeHTML","setHandStyle":"setHandStyleHTML","setPointerEvents":"setPointerEventsHTML"},"89":{"morph":{"__isSmartRef__":true,"id":0},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"90":{"diffobjects":{"__isSmartRef__":true,"id":91},"updateDiffList":{"__isSmartRef__":true,"id":94},"reset":{"__isSmartRef__":true,"id":97},"prettyPrintDiff":{"__isSmartRef__":true,"id":100}},"91":{"varMapping":{"__isSmartRef__":true,"id":92},"source":"function diffobjects(a, b) {\n\n    module(\"martin.Persistence\").load(true);\n\n    var output = this.get('diffOutput'), t, d;\n    var from = 0, to = 0;\n    var depth = this.get('depthInput').textString * 1;\n\n    output.setTextString('Computing difference.');\n\n    try {\n    \n        d = new JSONDiffer({'exclude': this.excludeList, 'depth': depth}).diff(a, b);\n        t = d.newWorldGetRichText();\n\n    } catch(e) {\n\n        t = [ {\n            textContent: 'Oops!, Something went wrong.\\n',\n            style: {color: Color.red}\n        }, {\n            textContent: e,\n            style: {color: Color.red}\n        } ];\n\n    } finally {\n\n        output.setTextString(t.pluck('textContent').join(''));\n\n        t.forEach(function(ea) {\n            if (!ea.textContent) return;\n            to += ea.textContent.length;\n            output.emphasize(ea.style, from, to);\n            from = to;\n        })\n    }\n\n    return t;\n}","funcProperties":{"__isSmartRef__":true,"id":93},"__SourceModuleName__":"Global","__LivelyClassName__":"lively.Closure"},"92":{"this":{"__isSmartRef__":true,"id":0}},"93":{},"94":{"varMapping":{"__isSmartRef__":true,"id":95},"source":"function updateDiffList() {\n\tif (!this.objectA || !this.objectB ) {\n\t\talert(\"set objectA and objectB first\");\n\t\treturn\n\t};\n\tthis.diffobjects(this.objectA, this.objectB);\n}","funcProperties":{"__isSmartRef__":true,"id":96},"__SourceModuleName__":"Global","__LivelyClassName__":"lively.Closure"},"95":{"this":{"__isSmartRef__":true,"id":0}},"96":{},"97":{"varMapping":{"__isSmartRef__":true,"id":98},"source":"function reset() {\n\tthis.get('diffOutput').setTextString('');\n\tthis.get('depthInput').setTextString('5');\n\tthis.get('Text').setTextString([\n\t\t'// enter object names, expand the exclude list where needed and press CMD+s',\n\t\t'this.excludeList = [\"owner\", \"_renderContext\", \"eventHandler\"];',\n\t\t'this.objectA = $morph(\"objectA\")',\n\t\t'this.objectB = $morph(\"objectB\")'\n\t].join(\"\\n\"))\n\tthis.doNotSerialize = ['objectA', 'objectB']\n}","funcProperties":{"__isSmartRef__":true,"id":99},"__SourceModuleName__":"Global","__LivelyClassName__":"lively.Closure"},"98":{"this":{"__isSmartRef__":true,"id":0}},"99":{},"100":{"varMapping":{"__isSmartRef__":true,"id":101},"source":"function prettyPrintDiff(diff, indentation) {\n\tindentation = indentation || 0;\n\n\tvar x, y, f, i = \"\", result;\n\n\tfor(x=0; x<indentation; x++)\n\t\ti += \"\\t\";\n\n\tswitch(typeof diff) {\n\tcase \"object\":\n\n\t\tf = true;\n\t\tfor(x in diff) {\n\t\t\tif(!diff.hasOwnProperty(x)) continue;\n\n\t\t\tswitch(x) {\n\n\t\t\tcase JSONDiffer.ADDED:\n\t\t\t\tfor(y in diff[x]) {\n\t\t\t\t\tif(!diff[x].hasOwnProperty(y)) continue;\n\n\t\t\t\t\tresult.push(i + \"+ \" + y);\n\t\t\t\t\tresult.concat(this.prettyPrintDiff(diff[x][y], indentation+1));\n\t\t\t\t\tf = false;\n\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase JSONDiffer.CHANGED:\n\t\t\t\tfor(y in diff[x]) {\n\t\t\t\t\tif(!diff[x].hasOwnProperty(y)) continue;\n\n\t\t\t\t\tresult.push(i + y);\n\t\t\t\t\tresult.concat(this.prettyPrintDiff(diff[x][y], indentation+1));\n\t\t\t\t\tf = false;\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase JSONDiffer.REMOVED:\n\t\t\t\tfor(y in diff[x]) {\n\n\t\t\t\t\tresult.push(i + \"- \" + y);\n\t\t\t\t\tresult.concat(this.prettyPrintDiff(\"---\", indentation+1));\n\t\t\t\t\tf = false;\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\tresult.push(i + x);\n\t\t\t\tresult.concat(this.prettyPrintDiff(diff[x], indentation+1));\n\t\t\t}\n\n\t\t\tf = false;\n\t\t}\n\n\t\treturn result;\n\n\tdefault:\n\t\treturn [JSON.stringify(diff)];\n\t}\n}","funcProperties":{"__isSmartRef__":true,"id":102},"__SourceModuleName__":"Global","__LivelyClassName__":"lively.Closure"},"101":{"this":{"__isSmartRef__":true,"id":0}},"102":{},"isSimplifiedRegistry":true}}