{"id":0,"registry":{"0":{"submorphs":[{"__isSmartRef__":true,"id":1}],"scripts":[],"id":"D6D9317E-2A24-4DF1-B215-43A4904F8F47","shape":{"__isSmartRef__":true,"id":27},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"SlideTemplate","partsBinMetaInfo":{"__isSmartRef__":true,"id":28},"eventHandler":{"__isSmartRef__":true,"id":55},"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","BD8BECDB-A9A1-4009-B433-C925F0AFCCFC","F2677A9D-5855-4DF2-B248-94545B34B762","D52188B3-7DC0-410E-96B1-50892AC00A37","6575457B-734F-4449-94E9-08A5A5412CAC","D089F7E0-731E-4D8F-9B1A-714D6A4938D0","42ED7D5C-FA86-489A-8C4D-7F85EE4670EB","53EDECEC-76E9-4770-800B-E0AD23921D1A","EC4BA45F-1E0D-41BE-8FA2-057FB2F2C7C0","AC0BEDAF-F187-441D-A366-2EC06E796002","23A0A1A3-44E9-46AE-8720-78AD1B576C56","D2CC7301-C6FA-4591-A288-5D4D9CB6D101","DCC6A217-9DD8-4B93-BFB2-7E209B00B88C"],"partTests":{"__isSmartRef__":true,"id":56},"_ClipMode":"visible","moved":true,"isBeingDragged":false,"_Rotation":0,"_Scale":1,"image":{"__isSmartRef__":true,"id":61},"__serializedExpressions__":["_Position","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":65},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)","distanceToDragEvent":"lively.pt(691.0,-16.0)"},"1":{"submorphs":[],"scripts":[],"id":"2D96F799-C435-4F59-BE55-C9093B737FC6","shape":{"__isSmartRef__":true,"id":2},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":120.695652,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":40,"name":"Title","partsBinMetaInfo":{"__isSmartRef__":true,"id":3},"textChunks":[{"__isSmartRef__":true,"id":13}],"charsReplaced":"Lively Presentation Template","lastFindLoc":28,"prevScroll":[0,0],"eventHandler":{"__isSmartRef__":true,"id":15},"_ClipMode":"visible","derivationIds":[355,"1EB1674F-8BF2-419B-B054-86129ED70335","63698904-DC05-4341-A9B6-5CC4A219CD04","F6A714BA-4735-41ED-8A2A-45CB153FBDF8","F1D26890-7392-487D-B5DE-97C772B4E79E","59440FC5-E676-4B9B-A828-C150A05765C0","021D41A0-C172-475A-9F8B-E57A555FCA49","B4A7EA65-15D9-49D0-99E9-5B627D39B0C7","2B575298-A1E4-474F-A10D-0EC166AFDBDA","3407BCF3-1062-4E46-94EC-5A70D24B7868","63F29640-2868-4B22-8DC0-A15352CAD608","87A15FDA-8123-4388-8E86-C6B73B654C57","71CBD303-C850-49E6-B024-2DA61DFF1C90","1A1E7518-295D-40CF-BF7E-A641801D5699"],"_WhiteSpaceHandling":"pre-wrap","_MinTextWidth":120.695652,"_MinTextHeight":null,"previousSelection":[0,0],"isBeingDragged":false,"moved":true,"layout":{"__isSmartRef__":true,"id":16},"owner":{"__isSmartRef__":true,"id":0},"_Align":"center","_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","textColor","_Padding","distanceToDragEvent","_TextColor"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":17},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(215.6,33.0)","textColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(5,5,0,0)","distanceToDragEvent":"lively.pt(394.4,-17.0)","_TextColor":"Color.rgb(0,0,0)"},"2":{"fill":null,"_BorderWidth":0,"_ClipMode":"visible","_Fill":null,"_BorderRadius":0,"_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(589.7,72.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(4,2,0,0)"},"3":{"partsSpaceName":"PartsBin/Presentation","migrationLevel":8,"comment":"A slide title, with a hook to do indexing.","partName":"Title","changes":[{"__isSmartRef__":true,"id":4},{"__isSmartRef__":true,"id":5},{"__isSmartRef__":true,"id":6},{"__isSmartRef__":true,"id":7},{"__isSmartRef__":true,"id":8},{"__isSmartRef__":true,"id":9},{"__isSmartRef__":true,"id":10},{"__isSmartRef__":true,"id":11},{"__isSmartRef__":true,"id":12}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Sun Nov 23 2014 12:55:08 GMT-0800 (PST)\")"},"4":{"author":"robertkrahn","message":"resizeWidth = true","id":"E402462A-7AB2-487B-82BD-A3369C1C1F75","__serializedExpressions__":["date"],"date":"new Date(\"Sat Apr 05 2014 01:58:52 GMT-0700 (PDT)\")"},"5":{"author":"jenslincke","message":"no comment","id":"9E495E1B-6E6D-4A89-9F9E-85AF618DC598","__serializedExpressions__":["date"],"date":"new Date(\"Tue Mar 12 2013 10:36:22 GMT-0700 (PDT)\")"},"6":{"author":"robertkrahn","message":"text click was broken?","id":"9D065E14-9653-4B2A-9A2E-3AD84EBBC3E0","__serializedExpressions__":["date"],"date":"new Date(\"Sat Apr 21 2012 07:30:30 GMT-0700 (PDT)\")"},"7":{"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","__serializedExpressions__":["date"],"date":"new Date(\"Sun Feb 26 2012 21:20:38 GMT-0800 (PST)\")"},"8":{"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"0F4DE333-A551-4961-B29D-70270977EBEF","__serializedExpressions__":["date"],"date":"new Date(\"Fri Apr 20 2012 22:31:43 GMT-0700 (PDT)\")"},"9":{"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"785D95BD-7858-43EB-90E6-A1C085E2F2B9","__serializedExpressions__":["date"],"date":"new Date(\"Fri Apr 20 2012 22:32:09 GMT-0700 (PDT)\")"},"10":{"author":"timfelgentreff","message":"better text","id":"B904F9AC-6EA0-4A8A-83C9-AFC85AADC194","__serializedExpressions__":["date"],"date":"new Date(\"Tue May 08 2012 05:18:18 GMT-0700 (PDT)\")"},"11":{"author":"jenslincke","message":"no comment","id":"A3BA0C1E-7E83-43BF-9EC6-4F4BB3835D62","__serializedExpressions__":["date"],"date":"new Date(\"Tue Mar 12 2013 09:31:56 GMT-0700 (PDT)\")"},"12":{"author":"rick","message":"no comment","id":"D6140411-76F1-4988-AC6B-9C17799AA4B0","__serializedExpressions__":["date"],"date":"new Date(\"Sun Nov 23 2014 12:55:05 GMT-0800 (PST)\")"},"13":{"style":{"__isSmartRef__":true,"id":14},"morph":{"__isSmartRef__":true,"id":1},"chunkOwner":{"__isSmartRef__":true,"id":1},"storedString":"Slide Title","_id":"_100","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"14":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"15":{"morph":{"__isSmartRef__":true,"id":1},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"16":{"resizeWidth":true},"17":{"getPageIndexTerm":{"__isSmartRef__":true,"id":18},"setPageIndexTerm":{"__isSmartRef__":true,"id":21},"clearPageIndexTerm":{"__isSmartRef__":true,"id":24}},"18":{"varMapping":{"__isSmartRef__":true,"id":19},"source":"function getPageIndexTerm() {\n    if (!this.pageIndexTerm) {\n        return this.getTextString()\n    }\n    return this.pageIndexTerm;\n}","funcProperties":{"__isSmartRef__":true,"id":20},"__LivelyClassName__":"lively.Closure"},"19":{"this":{"__isSmartRef__":true,"id":1}},"20":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Sun Nov 23 2014 12:51:52 GMT-0800 (PST)\")"},"21":{"varMapping":{"__isSmartRef__":true,"id":22},"source":"function setPageIndexTerm(aString) {\n   this.pageIndexTerm = aString;\n}","funcProperties":{"__isSmartRef__":true,"id":23},"__LivelyClassName__":"lively.Closure"},"22":{"this":{"__isSmartRef__":true,"id":1}},"23":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Sun Nov 23 2014 12:52:34 GMT-0800 (PST)\")"},"24":{"varMapping":{"__isSmartRef__":true,"id":25},"source":"function clearPageIndexTerm() {\n    this.pageIndexTerm = null;\n    \n}","funcProperties":{"__isSmartRef__":true,"id":26},"__LivelyClassName__":"lively.Closure"},"25":{"this":{"__isSmartRef__":true,"id":1}},"26":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Sun Nov 23 2014 12:52:54 GMT-0800 (PST)\")"},"27":{"_BorderWidth":2.5,"_ClipMode":"visible","_BorderRadius":15,"_Opacity":1,"_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(1024.0,768.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(238,238,238)","_Padding":"lively.rect(0,0,0,0)"},"28":{"partsSpaceName":"PartsBin/Presentation/","comment":"A template slide to be used with the presentation","migrationLevel":9,"partName":"SlideTemplate","changes":[{"__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},{"__isSmartRef__":true,"id":36},{"__isSmartRef__":true,"id":37},{"__isSmartRef__":true,"id":38},{"__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},{"__isSmartRef__":true,"id":47},{"__isSmartRef__":true,"id":48},{"__isSmartRef__":true,"id":49},{"__isSmartRef__":true,"id":50},{"__isSmartRef__":true,"id":51},{"__isSmartRef__":true,"id":52},{"__isSmartRef__":true,"id":53},{"__isSmartRef__":true,"id":54}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Mon Dec 01 2014 09:17:34 GMT-0800 (PST)\")"},"29":{"author":"rick","message":"no comment","id":"EA9B1A13-2911-48AB-942E-6895277F6D14","__serializedExpressions__":["date"],"date":"new Date(\"Sun Nov 30 2014 15:17:27 GMT-0800 (PST)\")"},"30":{"author":"rick","message":"no comment","id":"BB3417B4-D037-4CF6-A189-AB90423126D0","__serializedExpressions__":["date"],"date":"new Date(\"Mon Nov 24 2014 09:06:08 GMT-0800 (PST)\")"},"31":{"author":"rick","message":"no comment","id":"B5209D58-DBAE-4D61-88A6-EA55F98ECBFE","__serializedExpressions__":["date"],"date":"new Date(\"Sun Nov 23 2014 18:26:07 GMT-0800 (PST)\")"},"32":{"author":"robertkrahn","message":"no comment","id":"FBBB9C99-B61C-4D5F-8750-6E2987DF0C9C","__serializedExpressions__":["date"],"date":"new Date(\"Thu Jun 20 2013 15:16:24 GMT-0700 (PDT)\")"},"33":{"author":"robertkrahn","message":"no comment","id":"67FD74CD-7AE4-4050-ADC7-4DF73804258D","__serializedExpressions__":["date"],"date":"new Date(\"Thu May 30 2013 00:18:06 GMT-0700 (PDT)\")"},"34":{"author":"jenslincke","message":"no comment","id":"AEB2F41B-2C88-4BBA-8875-93CD17CBA1C8","__serializedExpressions__":["date"],"date":"new Date(\"Wed Jan 23 2013 03:57:18 GMT-0800 (PST)\")"},"35":{"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23","__serializedExpressions__":["date"],"date":"new Date(\"Thu May 03 2012 06:51:36 GMT-0700 (PDT)\")"},"36":{"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC","__serializedExpressions__":["date"],"date":"new Date(\"Thu May 03 2012 06:51:30 GMT-0700 (PDT)\")"},"37":{"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2","__serializedExpressions__":["date"],"date":"new Date(\"Wed Mar 14 2012 02:53:45 GMT-0700 (PDT)\")"},"38":{"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B","__serializedExpressions__":["date"],"date":"new Date(\"Fri Feb 24 2012 17:59:09 GMT-0800 (PST)\")"},"39":{"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7","__serializedExpressions__":["date"],"date":"new Date(\"Wed Mar 14 2012 02:42:26 GMT-0700 (PDT)\")"},"40":{"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350","__serializedExpressions__":["date"],"date":"new Date(\"Mon Apr 09 2012 04:42:07 GMT-0700 (PDT)\")"},"41":{"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8","__serializedExpressions__":["date"],"date":"new Date(\"Mon Jun 18 2012 10:35:08 GMT-0700 (PDT)\")"},"42":{"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205","__serializedExpressions__":["date"],"date":"new Date(\"Thu Nov 22 2012 01:35:51 GMT-0800 (PST)\")"},"43":{"author":"jenslincke","message":"no comment","id":"A4B86A7E-A398-4C29-BEE0-4AA045ABABD2","__serializedExpressions__":["date"],"date":"new Date(\"Fri Jan 18 2013 07:42:31 GMT-0800 (PST)\")"},"44":{"author":"jenslincke","message":"added legend","id":"7ADA3049-56C1-4D32-874B-F664A79DDB20","__serializedExpressions__":["date"],"date":"new Date(\"Fri Jan 18 2013 07:47:05 GMT-0800 (PST)\")"},"45":{"author":"SAPLivelyScreen","message":"no comment","id":"EF145198-0649-41BD-A92E-521D98FEC49D","__serializedExpressions__":["date"],"date":"new Date(\"Wed May 29 2013 15:36:50 GMT-0700 (PDT)\")"},"46":{"author":"SAPLivelyScreen","message":"no comment","id":"7A44D8CA-6D5F-42A3-A4B4-4D7F51EECA52","__serializedExpressions__":["date"],"date":"new Date(\"Tue Jun 18 2013 11:49:27 GMT-0700 (PDT)\")"},"47":{"author":"robertkrahn","message":"no comment","id":"A452871F-4EB9-45D1-94B8-6065CBA7B8FD","__serializedExpressions__":["date"],"date":"new Date(\"Mon Jul 29 2013 23:20:51 GMT-0700 (PDT)\")"},"48":{"author":"rick","message":"no comment","id":"FF099354-C759-464B-9E8B-0A6333866CA5","__serializedExpressions__":["date"],"date":"new Date(\"Sun Nov 23 2014 18:47:22 GMT-0800 (PST)\")"},"49":{"author":"rick","message":"no comment","id":"B5C26A21-A33F-4681-B8E6-AE9E849B31A4","__serializedExpressions__":["date"],"date":"new Date(\"Sun Nov 23 2014 18:55:26 GMT-0800 (PST)\")"},"50":{"author":"rick","message":"no comment","id":"FA743494-22AE-49BB-BF94-E650D1C7ACEF","__serializedExpressions__":["date"],"date":"new Date(\"Mon Nov 24 2014 06:35:26 GMT-0800 (PST)\")"},"51":{"author":"rick","message":"no comment","id":"CA139FFD-26B2-4270-A3A8-4C1794819A62","__serializedExpressions__":["date"],"date":"new Date(\"Thu Nov 27 2014 08:39:48 GMT-0800 (PST)\")"},"52":{"author":"rick","message":"no comment","id":"7AF32B78-0C0E-46AC-A758-35791C3C2F11","__serializedExpressions__":["date"],"date":"new Date(\"Mon Dec 01 2014 07:12:37 GMT-0800 (PST)\")"},"53":{"author":"rick","message":"no comment","id":"3565C226-1E88-455E-B58D-0A252083150F","__serializedExpressions__":["date"],"date":"new Date(\"Mon Dec 01 2014 09:17:09 GMT-0800 (PST)\")"},"54":{"__serializedExpressions__":["date"],"author":"rick","message":"no comment","id":"CFCEF756-F1DA-47F5-9216-B73D71A0E0BA","date":"new Date(\"Tue Dec 09 2014 18:28:14 GMT-0800 (PST)\")"},"55":{"morph":{"__isSmartRef__":true,"id":0},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"56":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":57}},"57":{"test01IsMorph":{"__isSmartRef__":true,"id":58}},"58":{"varMapping":{"__isSmartRef__":true,"id":59},"source":"function test01IsMorph(aPart) {\n    this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":60},"__LivelyClassName__":"lively.Closure"},"59":{"this":{"__isSmartRef__":true,"id":56}},"60":{},"61":{"submorphs":[],"scripts":[],"id":"8F092E2A-88E4-4E4C-87D1-C23D0BF16182","shape":{"__isSmartRef__":true,"id":62},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":63},"showsHalos":false,"name":"Image","partsBinMetaInfo":{"__isSmartRef__":true,"id":64},"_Rotation":0,"_Scale":1,"derivationIds":[707],"_ClipMode":"visible","doNotSerialize":["_renderContext","halos","_isRendered","priorExtent","cachedBounds","magnets","_whenLoadedCallbacks"],"owner":null,"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Image","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(732.0,273.5)"},"62":{"_ImageURL":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAADK0lEQVR4Xu2WMWpiURhG/7eCgGCRIsEHdskCsgU3IJgV2IapxlYy05jCqWxtogSygJQu4AWtLF2AILgCZ96DFyaDE8JHPrzFSRMT8h2v5+SK2cXFxY/VavU9+Dq5gaurq5/Zbrc7nPwkHODNAEES+2cgCEESM5DYcbghBPm8gZubm9jv97Fer+Pu7i6m02n8+RBSAfr9fkwmk3ew4XAYRVFUvxuNRtFut6PRaESr1YrX19fPP/EJ/zLpG3I4HCLLskpPHWS73Uaz2Yxutxvj8TjOz8/fIh3z+HeQ8vFms4mzs7MTKv/4qZMOUt6AwWBQCa+DlC+n/Lm8IU9PT9Xj29vbeHx8PPpK6yCdTifu7++rG1PfshSrJBtkNptFr9ernJVvVcvlsvp+LMhHYusgeZ7H8/Nzig3enSnZIOUpS5l1gPqGzOfzeHh4iFLwYrGIy8vLeHl5+a/of9+yal6qZZIOkqo057kI4rQrsAkiSHNOCOK0K7AJIkhzTgjitCuwCSJIc04I4rQrsAkiSHNOCOK0K7AJIkhzTgjitCuwCSJIc04I4rQrsAkiSHNOCOK0K7AJIkhzTgjitCuwCSJIc04I4rQrsAkiSHNOCOK0K7AJIkhzTgjitCuwCSJIc04I4rQrsAkiSHNOCOK0K7AJIkhzTgjitCuwCSJIc04I4rQrsAkiSHNOCOK0K7AJIkhzTgjitCuwCSJIc04I4rQrsAkiSHNOCOK0K7AJIkhzTgjitCuwCSJIc04I4rQrsAkiSHNOCOK0K7AJIkhzTgjitCuwCSJIc04I4rQrsAkiSHNOCOK0K7AJIkhzTgjitCuwCSJIc04I4rQrsAkiSHNOCOK0K7AJIkhzTgjitCuwCSJIc04I4rQrsAkiSHNOCOK0K7AJIkhzTgjitCuwCSJIc04I4rQrsAkiSHNOCOK0K7AJIkhzTgjitCuwCSJIc04I4rQrsAkiSHNOCOK0K7AJIkhzTgjitCuwCSJIc04I4rQrsAkiSHNOCOK0K7AJIkhzTgjitCuwCSJIc04I4rQrsAkiSHNOCOK0K7CzPM9HRVF8E7ZMvtjA9fX1r99vJO8WrotUdQAAAABJRU5ErkJggg==","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(100.0,100.0)","_Padding":"lively.rect(0,0,0,0)"},"63":{"morph":{"__isSmartRef__":true,"id":61},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"64":{"partsSpaceName":"PartsBin/Basic","partName":"Image","migrationLevel":2,"comment":"an pixmap image morph","__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Wed Sep 05 2012 16:01:34 GMT-0700 (PDT)\")"},"65":{"getIndexTerm":{"__isSmartRef__":true,"id":66},"levelBullets":{"__isSmartRef__":true,"id":69},"onShow":{"__isSmartRef__":true,"id":72},"setPlayInterval":{"__isSmartRef__":true,"id":75},"addBullets":{"__isSmartRef__":true,"id":78},"onPlay":{"__isSmartRef__":true,"id":81},"setVoiceOver":{"__isSmartRef__":true,"id":84},"getVoiceOver":{"__isSmartRef__":true,"id":87},"clearVoiceOver":{"__isSmartRef__":true,"id":90},"displayBullets":{"__isSmartRef__":true,"id":93},"setMode":{"__isSmartRef__":true,"id":96},"createPreviewImageAndDo":{"__isSmartRef__":true,"id":99},"computePreviewDimensions":{"__isSmartRef__":true,"id":102},"snapshot":{"__isSmartRef__":true,"id":105},"displaySnapshot":{"__isSmartRef__":true,"id":108},"validSnapshot":{"__isSmartRef__":true,"id":111},"numSnapshots":{"__isSmartRef__":true,"id":114}},"66":{"varMapping":{"__isSmartRef__":true,"id":67},"source":"function getIndexTerm() {\n    // Get the term by which this slide will be indexed in the Go To Topic\n    // dropdowns in composition and interactive presentation mode.  This \n    // just picks the index term offered by the first submorph with a\n    // getPageIndexTerm() method.  This will typically be the slide title.\n    // If there is none, return null, and this slide can't be found by\n    // topic\n    // \n    var returnedList =  this.submorphs.map(function(aMorph) {\n        if(aMorph.hasOwnProperty('getPageIndexTerm')) {\n            return aMorph.getPageIndexTerm()\n        } else return null;\n    }).filter(function(aString) {\n        return aString != null;\n    });\n    if (returnedList  && returnedList.length > 0) {\n        return returnedList[0]\n    } else {\n        return null;\n    }\n    \n}","funcProperties":{"__isSmartRef__":true,"id":68},"__LivelyClassName__":"lively.Closure"},"67":{"this":{"__isSmartRef__":true,"id":0}},"68":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Sun Nov 23 2014 18:36:48 GMT-0800 (PST)\")"},"69":{"varMapping":{"__isSmartRef__":true,"id":70},"source":"function levelBullets(level0Size) {\n    // Set the pages bullets, if any, so that the font size of \n    // a bullet at level i is level0Size - 2*i.  So, for example,\n    // if level0Size is 24 (24 pt), the sizes of the bullet levels\n    // will be [24, 22, 20, 18]\n    this.submorphs.forEach(function(aMorph) {\n        if (aMorph.hasOwnProperty('setBulletSize')) {\n            aMorph.setBulletSize(level0Size)\n        }\n    })\n    \n}","funcProperties":{"__isSmartRef__":true,"id":71},"__LivelyClassName__":"lively.Closure"},"70":{"this":{"__isSmartRef__":true,"id":0}},"71":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Sun Nov 23 2014 18:39:44 GMT-0800 (PST)\")"},"72":{"varMapping":{"__isSmartRef__":true,"id":73},"source":"function onShow() {\n    // A function which is invoked when the slide is brought up in interactive\n    // presentation mode\n    // This should be written by the presenter in order to add arbitrary dynamic\n    // behavior to the slide when it is shown in presentation mode\n    \n}","funcProperties":{"__isSmartRef__":true,"id":74},"__LivelyClassName__":"lively.Closure"},"73":{"this":{"__isSmartRef__":true,"id":0}},"74":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Sun Nov 23 2014 18:44:35 GMT-0800 (PST)\")"},"75":{"varMapping":{"__isSmartRef__":true,"id":76},"source":"function setPlayInterval(aPositiveInteger) {\n    // set the play interval, in seconds, in autoplay mode\n    if (aPositiveInteger > 0 && aPositiveInteger < 61) {\n        this.playInterval = aPositiveInteger;\n    }\n    \n}","funcProperties":{"__isSmartRef__":true,"id":77},"__LivelyClassName__":"lively.Closure"},"76":{"this":{"__isSmartRef__":true,"id":0}},"77":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Sun Nov 23 2014 18:47:04 GMT-0800 (PST)\")"},"78":{"varMapping":{"__isSmartRef__":true,"id":79},"source":"function addBullets() {\n    // Add bullets at levels 0-3 for the slide.  This just grabs a BulletedText\n    // Morph out of the PartsBin, and when the load is done calls\n    // displayBullets to put them on the page and do the real work\n    lively.PartsBin.getPart('BulletedText', 'PartsBin/Presentation', function(err, part) {\n        this.displayBullets(part)\n    }.bind(this))\n}","funcProperties":{"__isSmartRef__":true,"id":80},"__LivelyClassName__":"lively.Closure"},"79":{"this":{"__isSmartRef__":true,"id":0}},"80":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Mon Nov 24 2014 06:35:12 GMT-0800 (PST)\")"},"81":{"varMapping":{"__isSmartRef__":true,"id":82},"source":"function onPlay() {\n    // A function which is invoked when the slide is brought up in autoplay mode\n    // This should be written by the presenter in order to add arbitrary dynamic\n    // behavior to the slide when it is shown in autoplay mode\n}","funcProperties":{"__isSmartRef__":true,"id":83},"__LivelyClassName__":"lively.Closure"},"82":{"this":{"__isSmartRef__":true,"id":0}},"83":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Sun Nov 23 2014 18:44:35 GMT-0800 (PST)\")"},"84":{"varMapping":{"__isSmartRef__":true,"id":85},"source":"function setVoiceOver(anURL, aFileType) {\n    // Set the voiceover URL and file type.  This voice over will be played\n    // when the the slide is shown in auto play mode.  The file type will\n    // typically be one of 'ogg', 'wav', 'mp3', as these are supported by all\n    // browsers, and will typically be the suffix of the URL\n    this.voiceOverURL = anURL\n    this.voiceOverType = aFileType;\n    \n}","funcProperties":{"__isSmartRef__":true,"id":86},"__LivelyClassName__":"lively.Closure"},"85":{"this":{"__isSmartRef__":true,"id":0}},"86":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Sun Nov 23 2014 18:47:04 GMT-0800 (PST)\")"},"87":{"varMapping":{"__isSmartRef__":true,"id":88},"source":"function getVoiceOver() {\n    // Get the URL and file type for the voiceover, if any.  Returns null\n    // if there is no URL.  The voiceover URL is what will be played when the\n    // slide is shown in autoplay mode.  Returns an object with fields\n    // url and type when there is a voiceover\n    if (this.hasOwnProperty('voiceOverURL') && this.voiceOverURL) {\n        return {url:this.voiceOverURL, type:this.voiceOverType}\n    } else {\n        return null;\n    }\n}","funcProperties":{"__isSmartRef__":true,"id":89},"__LivelyClassName__":"lively.Closure"},"88":{"this":{"__isSmartRef__":true,"id":0}},"89":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Sun Nov 23 2014 18:38:20 GMT-0800 (PST)\")"},"90":{"varMapping":{"__isSmartRef__":true,"id":91},"source":"function clearVoiceOver() {\n    // Clear the voiceoicer of the slide (see getVoiceOver and setVoiceOver)\n    this.voiceOverURL = null;\n    \n}","funcProperties":{"__isSmartRef__":true,"id":92},"__LivelyClassName__":"lively.Closure"},"91":{"this":{"__isSmartRef__":true,"id":0}},"92":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Sun Nov 23 2014 18:36:48 GMT-0800 (PST)\")"},"93":{"varMapping":{"__isSmartRef__":true,"id":94},"source":"function displayBullets(bulletMorph) {\n    // Add bullets at levels 0-3 for the slide.  The bullets are just text morphs\n    // with a couple of additional methods to set sizing on the basis of the\n    // bullet's level and set the character for the buller.  See BulletedText\n    // in PartsBin/Presentation.  These things are added at an offset to\n    // give a start on the usual indentation practice\n    var bullets = [bulletMorph]\n    var bulletPositions = [pt(130, 200), pt(180, 275), pt(230, 350), pt(280, 400)]\n    for(var i = 1; i < 4; i++) {\n        bullets.push(bulletMorph.copy())\n    }\n    for(var i = 0; i < 4; i++) {\n        bullets[i].setName('Bullet' + i)\n        bullets[i].init()\n        bullets[i].setLevel(i)\n        this.addMorph(bullets[i])\n        bullets[i].setPosition(bulletPositions[i])\n    }\n}","funcProperties":{"__isSmartRef__":true,"id":95},"__LivelyClassName__":"lively.Closure"},"94":{"this":{"__isSmartRef__":true,"id":0}},"95":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Mon Nov 24 2014 06:30:22 GMT-0800 (PST)\")"},"96":{"varMapping":{"__isSmartRef__":true,"id":97},"source":"function setMode(aMode) {\n    // Set the mode of the slide.  This is just for any Morph (notably, the Director)\n    // which changes its appearance/behavior depending on the mode\n    this.submorphs.forEach(function(aMorph) {\n        if ('setMode' in aMorph) {\n            aMorph.setMode(aMode)\n        }\n    })\n    // Also, in PresentationMode, we want to go forward on <enter>, <space>,\n    // <right>, <down>, and back on <left>, <up>, and in CompositionMode\n    // we want to disable this\n    // enable in PresentationMode by adding the onkeyDown script\n    if (aMode == 'Presentation') {\n        this.addScript(function onKeyDown(evt) {\n            var backwardCharacters = [37 /* left */, 38 /* up */]\n            var forwardCharacters = [32 /*space*/, 13 /* enter */, 39 /* right */, 40 /* down */ ]\n            var code = evt.getKeyCode()\n            if (backwardCharacters.indexOf(code) != -1) {\n                this.owner.showPreviousSlide()\n            } else if (forwardCharacters.indexOf(code) != -1) {\n                this.owner.showNextSlide()\n            }\n        })\n    // disable by deleting the script in CompositionMode\n    } else if (aMode == 'Composition') {\n        if (this.hasOwnProperty('onKeyDown')) {\n            delete this.onKeyDown\n        }\n    }\n    \n}","funcProperties":{"__isSmartRef__":true,"id":98},"__LivelyClassName__":"lively.Closure"},"97":{"this":{"__isSmartRef__":true,"id":0}},"98":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Mon Dec 01 2014 07:12:27 GMT-0800 (PST)\")"},"99":{"varMapping":{"__isSmartRef__":true,"id":100},"source":"function createPreviewImageAndDo(maxPixForImage, thenDo) {\n    // create a Preview image of at most maxPixForImage pixels in the \n    // long dimension, then do thenDo, which should be of the \n    // form thenDo(err, image), where err is an error (a string)\n    // and image is an ImageMorph of this slide\n    // this.createPreviewImageAndDo(100, function(err, image) {if (err) {alert('Error in creating image: ' + err)} if (image) {image.openInWorldCenter();}});\n    var options = this.computePreviewDimensions(maxPixForImage)\n    // if the image exists, call renderMorphToImage and pass it thenDo to do.\n    // if not, create it (asynchronous) by loading an ImageMorph and then telling\n    // doing the render\n    if (this.image) {\n        Global.require('lively.morphic.Preview').toRun(function() {\n        lively.morphic.Preview.renderMorphToImage(\n            this, this.image, options, function(err, image) {  thenDo && thenDo(err, image); });\n            \n            }.bind(this));\n    } else {\n    \n        lively.PartsBin.getPart('Image', 'PartsBin/Basic', function(err, part) {\n        \n            if (err) {\n                alert(\"Error loading image for preview \" + err)\n            }\n            if (part) {\n                this.image = part\n                lively.morphic.Preview.renderMorphToImage(\n                    this, this.image, options, function(err, image) { thenDo && thenDo(err, image); }.bind(this));\n            \n            }\n        }.bind(this));\n    }\n    \n}","funcProperties":{"__isSmartRef__":true,"id":101},"__LivelyClassName__":"lively.Closure"},"100":{"this":{"__isSmartRef__":true,"id":0}},"101":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Thu Dec 04 2014 13:22:44 GMT-0800 (PST)\")"},"102":{"varMapping":{"__isSmartRef__":true,"id":103},"source":"function computePreviewDimensions(numPix) {\n    // make an image of myself at most numPix in the long dimension, maintaining\n    // aspect ratio.  This function computes the extent  of the image\n    var extent = this.getExtent()\n    var longDimension = Math.max(extent.x, extent.y)\n    var scaleFactor = numPix/longDimension\n    var options = {width:extent.x, height:extent.y}\n    if (scaleFactor < 1) {\n        options.width = extent.x * scaleFactor;\n        options.height = extent.y * scaleFactor\n    }\n    return options\n}","funcProperties":{"__isSmartRef__":true,"id":104},"__LivelyClassName__":"lively.Closure"},"103":{"this":{"__isSmartRef__":true,"id":0}},"104":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Sun Nov 30 2014 15:14:28 GMT-0800 (PST)\")"},"105":{"varMapping":{"__isSmartRef__":true,"id":106},"source":"function snapshot() {\n    if (!this.snapshots) {\n        this.snapshots = []\n    }\n    var snapshot = this.submorphs.map(function (aMorph) {return aMorph})\n    this.snapshots.push(snapshot)\n}","funcProperties":{"__isSmartRef__":true,"id":107},"__LivelyClassName__":"lively.Closure"},"106":{"this":{"__isSmartRef__":true,"id":0}},"107":{"__serializedExpressions__":["timestamp"],"user":"rick","tags":[],"timestamp":"new Date(\"Tue Dec 09 2014 18:23:09 GMT-0800 (PST)\")"},"108":{"varMapping":{"__isSmartRef__":true,"id":109},"source":"function displaySnapshot(index) {\n    if (!this.validSnapshot(index)) return;\n    this.removeAllMorphs()\n    this.snapshots[index].forEach(function(aMorph) {\n        this.addMorph(aMorph)\n    })\n    \n}","funcProperties":{"__isSmartRef__":true,"id":110},"__LivelyClassName__":"lively.Closure"},"109":{"this":{"__isSmartRef__":true,"id":0}},"110":{"__serializedExpressions__":["timestamp"],"user":"rick","timestamp":"new Date(\"Tue Dec 09 2014 18:27:15 GMT-0800 (PST)\")"},"111":{"varMapping":{"__isSmartRef__":true,"id":112},"source":"function validSnapshot(anIndex) {\n    return this.snapshots &&  anIndex && anIndex >= 0 && anIndex < this.snapshots.length\n    \n}","funcProperties":{"__isSmartRef__":true,"id":113},"__LivelyClassName__":"lively.Closure"},"112":{"this":{"__isSmartRef__":true,"id":0}},"113":{"__serializedExpressions__":["timestamp"],"user":"rick","tags":[],"timestamp":"new Date(\"Tue Dec 09 2014 18:25:49 GMT-0800 (PST)\")"},"114":{"varMapping":{"__isSmartRef__":true,"id":115},"source":"function numSnapshots() {\n    if (!this.snapshots) return 0;\n    return this.snapshots.length;\n    \n}","funcProperties":{"__isSmartRef__":true,"id":116},"__LivelyClassName__":"lively.Closure"},"115":{"this":{"__isSmartRef__":true,"id":0}},"116":{"__serializedExpressions__":["timestamp"],"user":"rick","tags":[],"timestamp":"new Date(\"Tue Dec 09 2014 18:27:48 GMT-0800 (PST)\")"},"isSimplifiedRegistry":true}}