>>update()): InternalError: too much recursion\n.orderedSubmorphs/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:50075\niterator@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:12142\nEnumerable.findAll@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:12048\nEnumerable.reject@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:12143\n.orderedSubmorphs@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:50074\n.layout@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:49996\n.resume@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:50786\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45131\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nsetFilter/<@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\n.layoutAfter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:45129\nsetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16103\ngetFilter@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16082\nexpand@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\nonUpdateChildren@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16080\n.updateItem@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44930\n.update@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:44916\nupdate@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:16081\n.execute@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:28740\n.tick@http://www.lively-kernel.org/repository/webwerkstatt/core/generated/combinedModules.js?95c7127a9b7c749d0d86359c6d0750ac:28666\n","prevScroll":[0,0],"showsHalos":false,"attributeConnections":[{"__isSmartRef__":true,"id":8953}],"doNotSerialize":["$$savedWorldAsURL","$$baseThemeStyleSheet"],"doNotCopyProperties":["$$savedWorldAsURL"],"currentUser":"timfelgentreff","savedWorldAsURL":{"__isSmartRef__":true,"id":8955},"_Scroll":[0,0],"_ClipMode":"visible","loadingMorph":{"__isSmartRef__":true,"id":8956},"lastModified":{"__isSmartRef__":true,"id":9082},"__serializedExpressions__":["_Position","eventStartPos"],"__LivelyClassName__":"lively.morphic.World","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)","eventStartPos":"lively.pt(270.0,305.0)"},"1":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":6}],"eventHandler":{"__isSmartRef__":true,"id":8},"_ClipMode":"hidden","derivationIds":[],"id":"7D22EF3F-CC47-4451-A949-BD1AE4F10685","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_HandStyle":"default","_InputAllowed":false,"allowInput":false,"_FontFamily":"Helvetica","_FontSize":10.5,"evalEnabled":false,"item":{"__isSmartRef__":true,"id":9},"owner":{"__isSmartRef__":true,"id":0},"isSelected":true,"isBeingDragged":false,"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_TextColor","_Position"],"__LivelyClassName__":"lively.morphic.MenuItem","__SourceModuleName__":"Global.lively.morphic.Widgets","_TextColor":"Color.rgb(255,255,255)","_Position":"lively.pt(588.0,-154.0)"},"2":{"_BorderWidth":0,"_Fill":{"__isSmartRef__":true,"id":3},"_BorderRadius":4,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(308.0,23.0)","_Padding":"lively.rect(3,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"3":{"stops":[{"__isSmartRef__":true,"id":4},{"__isSmartRef__":true,"id":5}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"4":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(100,131,248)"},"5":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(34,85,245)"},"6":{"style":{"__isSmartRef__":true,"id":7},"chunkOwner":{"__isSmartRef__":true,"id":1},"_id":"_9680","storedString":"styleText(styleSpec)","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8":{"morph":{"__isSmartRef__":true,"id":1},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"9":{"isMenuItem":true,"isListItem":true,"string":"styleText(styleSpec)","value":"styleText(styleSpec)","idx":26},"10":{"submorphs":[{"__isSmartRef__":true,"id":11},{"__isSmartRef__":true,"id":3548},{"__isSmartRef__":true,"id":3596}],"scripts":[],"shape":{"__isSmartRef__":true,"id":3624},"derivationIds":[null,"CD7BCB08-EB4A-48CD-952B-53A1EAEB23D0","581E5168-D9B0-4133-8DDD-C2A067EE91FD","5BDC76F6-9933-4A8D-A8D7-7A53D1313D5A","DC8E6D9C-D7A4-4C3D-8100-3E1546871B63","955E7F07-39AE-450D-8EE8-29E429842845","1C9D44BC-517C-4A89-B751-45C9076B8A48","231B606C-D216-476D-BD06-1E97C2F166E9","56440E75-AABF-40EE-BADE-EF6DE957BED1","83527CBE-511C-4D2C-BADC-53AA4E951B4C","CF9928AD-677A-417F-9067-73633E132979","AD34B2C8-22BE-4C8A-8E34-7B3A0AAFCA5A","4809EAF2-ACD4-4607-8911-3BAA5711C74F","69E5575E-8364-41D8-8809-31BFA13B658F","467E9CE0-4C43-465A-AE66-70F8E94FF818","43427F0A-798B-4B43-A2A5-6783E3A4FBEC","C32B806A-02C8-4A60-B1EF-A7DD42C68BB7","440B2525-75D8-4DA2-A2B0-F365EAE45A99","8172411B-9EE0-4CC3-8467-6E9B83645928","AB2C8B18-4386-407F-B100-C4011CCB060A","E7E5E0FB-4D6C-4232-AE3E-F29216473B50","3F84D56A-C67B-46DE-8FAA-5F8B0FA0E0CD","33729558-E9D3-46B1-AEC0-7B1814FFFECD","F139243C-8B20-4832-9041-78BB3BD36BB6","E2AD5203-521C-4A07-A471-843E7E073F5B","744CB741-A236-4AEB-8030-B0BDF723E4F5","57C9662A-FCEA-4242-B2F4-59A86310C5EF","9DAEA7B4-F388-424A-81D8-40B6BE949ABB","798285BC-057B-438E-A7BA-C7DF54B312F1","DBBBA1DD-26C2-4E7F-99DD-ED5A528F02BD","3FB96E49-AF89-4738-BC76-B5421F55B22A","44A8D779-153C-4835-A346-21E7AD1F7870","3F24446E-AF91-46FD-BF52-35F1EA31778B","C48055AD-097D-4069-9000-48728383303B"],"id":"F5C144C0-7B69-4B88-93C4-01F5CA997BE3","eventHandler":{"__isSmartRef__":true,"id":3625},"_ClipMode":"visible","droppingEnabled":false,"halosEnabled":true,"draggingEnabled":true,"layout":{"__isSmartRef__":true,"id":3626},"LK2":true,"targetMorph":{"__isSmartRef__":true,"id":11},"reframeHandle":{"__isSmartRef__":true,"id":3596},"titleBar":{"__isSmartRef__":true,"id":3548},"collapsedTransform":null,"collapsedExtent":null,"expandedTransform":null,"expandedExtent":null,"ignoreEventsOnExpand":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":3627},"name":"ObjectInspector","highlighted":false,"isBeingDragged":false,"#startLetters":"get","moved":true,"attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"showsHalos":false,"prevScroll":[0,0],"_Rotation":0,"_Scale":1.02,"owner":{"__isSmartRef__":true,"id":0},"__serializedExpressions__":["_Position","contentOffset","prevDragPos"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3701},"__LivelyClassName__":"lively.morphic.Window","__SourceModuleName__":"Global.lively.morphic.Widgets","withoutLayers":["Global.lively.morphic.GrabbingLayer"],"_Position":"lively.pt(81.1,333.3)","contentOffset":"lively.pt(0.0,21.0)","prevDragPos":"lively.pt(49.0,382.0)"},"11":{"submorphs":[{"__isSmartRef__":true,"id":12},{"__isSmartRef__":true,"id":1365},{"__isSmartRef__":true,"id":3395},{"__isSmartRef__":true,"id":3416}],"scripts":[{"__isSmartRef__":true,"id":3475}],"id":"C02CB4D9-1DFF-4C68-8580-0375681F7C40","shape":{"__isSmartRef__":true,"id":3476},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"ObjectInspector","partsBinMetaInfo":{"__isSmartRef__":true,"id":3477},"eventHandler":{"__isSmartRef__":true,"id":3492},"attributeConnections":[],"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","5276E050-462B-4ED7-8645-FC4C5F60FE2C","88F0CB6D-932E-4927-AC3F-E132C18AB5E3","A386B89D-9A23-4177-B9BA-8B962FF236C4","D352E8A5-29FA-41D9-9B35-73FF3564157E","4BDE366B-9002-45D8-B200-9892CE8E1C96","9FA6F23B-5584-4720-A460-81C48DCF514B","AD23A5BA-025F-4197-962F-6D64F6AEA3AD","4E00CA05-F3C7-4A1F-8769-5831DDD64874","CB599F3F-9886-43EC-AA8B-1EE9A162031B","91015D82-71FF-471E-A78C-9A2498BAA4FE","B19B84BB-582D-4F5D-B0BA-7097BD7E553C","D9F3227D-E20B-457B-BF85-47DD91F74598","9F00820B-ABA8-4E70-B63F-293A8159A36A","A9654D03-2824-4671-BD26-10F342EC4C9B","080739E4-92B2-4E4D-A17C-A45D08A1A473","9D21C3F5-01B1-4FE6-864B-F3C51A7860B5","027EA526-9F60-4B4D-9B7B-73EA324D1463","CE1A5A57-A548-4F2D-90A0-DE5B1FD7F0E6","EE86A04F-F125-4D31-9E3D-48761A0486CB","20C274CF-FBD0-45AD-BD1E-9EC348102EB4","C83BF7B2-FF72-463F-8189-642A8969D9CF","B3755676-4902-47C7-A23C-2539F9BCC9FA","07346937-19F7-4644-8389-BF59DE2F203A","49808445-DC14-4391-BF1E-701710D8D9B8","AD2918D7-97E8-42C9-A681-18EAA129EB55","3CC1874B-4ADB-4A90-A12A-55B7ADF9392D","9AFC4676-5280-4B72-82E2-55B51441AF1E","482F476C-5C4E-4F4D-B56A-1989175C1352","DBC2AA37-BA52-4681-AC86-11642F0FFEC6","7BA71570-579E-4CD9-AA02-804CDA1CA3A1","5DAF7A95-CDD6-4EFD-A0A5-95011D71FDF9","B6C70E4D-F168-4C91-BFF1-FA1133688DC2","A8034AB5-1A8B-485D-BB5D-FF25BA32E92D"],"partTests":{"__isSmartRef__":true,"id":3493},"_ClipMode":"visible","moved":true,"owner":{"__isSmartRef__":true,"id":10},"layout":{"__isSmartRef__":true,"id":3498},"isInLayoutCycle":false,"isBeingDragged":false,"isCopyMorphRef":true,"morphRefId":2,"tree":{"__isSmartRef__":true,"id":1366},"prevScroll":[0,0],"updateFilter":"standard","showInherited":false,"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3499},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,21.0)"},"12":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":13},"derivationIds":[null,"4E5E2B48-0B47-4B2D-BC78-14E1BDBE0B57","EA4FE185-C289-4D95-B8AF-461C2E8219E6","7F3E4F8B-3F32-4809-91A5-5DEA3A3FD09E","7571A08C-937B-467A-9D49-68F3AAAD1140","85283104-ADA2-4C53-A73D-C5487B62C829","5E0941AD-4504-4F9D-B650-B018490C56B0","EAD81395-1252-4B07-8FB3-2F4253CB798F","7696C2D4-B858-4212-80CB-84803CAAD87E","4C0819CC-FCCD-4A8B-A1FF-1603EFE5EE49","FB7EF974-A95D-4A3A-95F4-498936A61AB1","060FCB63-2D3A-4FE6-AB19-B40854B0BB78","5ABD6D73-9D28-45A3-AE27-3035D892467D","19CC5587-3BCE-4293-B785-F659497CDD76","440643CA-166F-44AE-A8FF-D3B1E457D081","BA20821C-578F-4256-8870-B86E3AFEE3FC","7C1E3822-1018-45B9-AE6C-6E2BD39DF2F8","312B6786-7F93-4E97-AF06-CC08B9BEF91B","B6142DF2-38A9-41DD-B7C0-60D315537301","7DE27692-A1E7-4B48-8126-2939656AE639","1CA5EB71-650C-48BB-B5F0-4B1FDA2B0FCE","E1B8DC34-B6A5-4CB2-857B-597844C49DF0","0BB210B2-5CAC-4548-A650-A8FB85814B89","3493E4F4-5A4F-41F9-8FB4-6DD2781CE33F","3E9289C4-8439-4FF4-8533-20CCC231E86C","1007D257-74BA-41E4-9426-43503840A328","AB02F6ED-6541-4C2B-BE33-9E30E2D4E8CB","86414643-3214-48C0-A848-A1AD0622F4F3","64D914CC-285D-46F9-9DDD-F6898F714D0C","08B1186F-89EF-4676-9F58-FC0F720D76B7","BF198FB5-667C-4EE5-B3F0-E9CE73124C6E","86626633-CE46-4CAD-A256-3D3CE0D0EE2C","B89A22AA-626A-4C4F-A719-55F8BA6C3266","3D85070C-B1AF-417F-A853-6EB16673F2C4","405A93BF-BE83-4943-A731-8E5F6FF7AFE8"],"id":"E2CC9C0F-6557-464A-9CF8-3E251FF66EB4","_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":14},{"__isSmartRef__":true,"id":16},{"__isSmartRef__":true,"id":18},{"__isSmartRef__":true,"id":20},{"__isSmartRef__":true,"id":22},{"__isSmartRef__":true,"id":24},{"__isSmartRef__":true,"id":26},{"__isSmartRef__":true,"id":28},{"__isSmartRef__":true,"id":30},{"__isSmartRef__":true,"id":32},{"__isSmartRef__":true,"id":34},{"__isSmartRef__":true,"id":36},{"__isSmartRef__":true,"id":38},{"__isSmartRef__":true,"id":40},{"__isSmartRef__":true,"id":42},{"__isSmartRef__":true,"id":44},{"__isSmartRef__":true,"id":46},{"__isSmartRef__":true,"id":48},{"__isSmartRef__":true,"id":50},{"__isSmartRef__":true,"id":52},{"__isSmartRef__":true,"id":54},{"__isSmartRef__":true,"id":56},{"__isSmartRef__":true,"id":58},{"__isSmartRef__":true,"id":60},{"__isSmartRef__":true,"id":62},{"__isSmartRef__":true,"id":64}],"eventHandler":{"__isSmartRef__":true,"id":66},"_ClipMode":"auto","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":true,"_InputAllowed":true,"allowInput":true,"_FontFamily":"Monaco,monospace","_FontSize":10,"evalEnabled":false,"_MaxTextWidth":296.8712591602084,"_MinTextWidth":296.8712591602084,"_MaxTextHeight":null,"_MinTextHeight":null,"layout":{"__isSmartRef__":true,"id":67},"syntaxHighlightingWhileTyping":true,"attributeConnections":[{"__isSmartRef__":true,"id":68}],"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"],"doNotCopyProperties":["$$textString"],"lastSyntaxHighlightTime":1,"accessibleInInactiveWindow":true,"charsReplaced":"","lastFindLoc":151,"isBeingDragged":false,"showsHalos":false,"#startLetters":"getDo","name":"ObjectInspectorText","owner":{"__isSmartRef__":true,"id":11},"doItContext":null,"doitContext":{"__isSmartRef__":true,"id":69},"_syntaxHighlightTimeout":null,"previousSelection":[137,166],"_Rotation":0,"_Scale":1,"_lastSyntaxHighlightTime":67,"_WordBreak":"break-all","__serializedExpressions__":["_Position"],"textString":"this.textChunks.each(function(ea) {\n var c = ea.getStyle().color;\n c = (c == Color.black ? c = Color.gray : c);\n ea.styleText({\n color: c.withA(0.9),\n backgroundColor: c.withA(0.7)})\n})","__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(8.1,389.4)"},"13":{"_BorderWidth":1,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__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(433.9,99.8)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(95,94,95)","_Fill":"Color.rgb(243,243,243)"},"14":{"style":{"__isSmartRef__":true,"id":15},"chunkOwner":{"__isSmartRef__":true,"id":12},"_id":"_5","storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"15":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"16":{"_id":"_56","style":{"__isSmartRef__":true,"id":17},"chunkOwner":{"__isSmartRef__":true,"id":12},"storedString":".textChunks.each(","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"17":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"18":{"_id":"_57","style":{"__isSmartRef__":true,"id":19},"chunkOwner":{"__isSmartRef__":true,"id":12},"storedString":"function","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"19":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"20":{"_id":"_58","style":{"__isSmartRef__":true,"id":21},"chunkOwner":{"__isSmartRef__":true,"id":12},"storedString":"(ea) ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"21":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"22":{"_id":"_59","style":{"__isSmartRef__":true,"id":23},"chunkOwner":{"__isSmartRef__":true,"id":12},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"23":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"24":{"_id":"_60","style":{"__isSmartRef__":true,"id":25},"chunkOwner":{"__isSmartRef__":true,"id":12},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"25":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"26":{"_id":"_61","style":{"__isSmartRef__":true,"id":27},"chunkOwner":{"__isSmartRef__":true,"id":12},"storedString":"var","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"27":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"28":{"_id":"_62","style":{"__isSmartRef__":true,"id":29},"chunkOwner":{"__isSmartRef__":true,"id":12},"storedString":" c = ea.getStyle().color;\n c = (c == ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"29":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"30":{"_id":"_77","style":{"__isSmartRef__":true,"id":31},"chunkOwner":{"__isSmartRef__":true,"id":12},"storedString":"Color","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"31":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(204,0,0)"},"32":{"_id":"_78","style":{"__isSmartRef__":true,"id":33},"chunkOwner":{"__isSmartRef__":true,"id":12},"storedString":".black ? c = ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"33":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"34":{"_id":"_79","style":{"__isSmartRef__":true,"id":35},"chunkOwner":{"__isSmartRef__":true,"id":12},"storedString":"Color","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"35":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(204,0,0)"},"36":{"_id":"_80","style":{"__isSmartRef__":true,"id":37},"chunkOwner":{"__isSmartRef__":true,"id":12},"storedString":".gray : c);\n ea.styleText(","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"37":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"38":{"_id":"_63","style":{"__isSmartRef__":true,"id":39},"chunkOwner":{"__isSmartRef__":true,"id":12},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"39":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"40":{"_id":"_64","style":{"__isSmartRef__":true,"id":41},"chunkOwner":{"__isSmartRef__":true,"id":12},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"41":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"42":{"_id":"_65","style":{"__isSmartRef__":true,"id":43},"chunkOwner":{"__isSmartRef__":true,"id":12},"storedString":"color:","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"43":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(139,0,0)"},"44":{"_id":"_66","style":{"__isSmartRef__":true,"id":45},"chunkOwner":{"__isSmartRef__":true,"id":12},"storedString":" c.withA(","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"45":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"46":{"_id":"_67","style":{"__isSmartRef__":true,"id":47},"chunkOwner":{"__isSmartRef__":true,"id":12},"storedString":"0.9","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"47":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,255)"},"48":{"_id":"_68","style":{"__isSmartRef__":true,"id":49},"chunkOwner":{"__isSmartRef__":true,"id":12},"storedString":"),\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"49":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"50":{"_id":"_69","style":{"__isSmartRef__":true,"id":51},"chunkOwner":{"__isSmartRef__":true,"id":12},"storedString":"backgroundColor:","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"51":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(139,0,0)"},"52":{"_id":"_70","style":{"__isSmartRef__":true,"id":53},"chunkOwner":{"__isSmartRef__":true,"id":12},"storedString":" c.withA(","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"53":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"54":{"_id":"_71","style":{"__isSmartRef__":true,"id":55},"chunkOwner":{"__isSmartRef__":true,"id":12},"storedString":"0.7","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"55":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,255)"},"56":{"_id":"_72","style":{"__isSmartRef__":true,"id":57},"chunkOwner":{"__isSmartRef__":true,"id":12},"storedString":")","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"57":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"58":{"_id":"_73","style":{"__isSmartRef__":true,"id":59},"chunkOwner":{"__isSmartRef__":true,"id":12},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"59":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"60":{"_id":"_74","style":{"__isSmartRef__":true,"id":61},"chunkOwner":{"__isSmartRef__":true,"id":12},"storedString":")\n","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"61":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"62":{"_id":"_75","style":{"__isSmartRef__":true,"id":63},"chunkOwner":{"__isSmartRef__":true,"id":12},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"63":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"64":{"_id":"_76","style":{"__isSmartRef__":true,"id":65},"chunkOwner":{"__isSmartRef__":true,"id":12},"storedString":")","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"65":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"66":{"morph":{"__isSmartRef__":true,"id":12},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"67":{"resizeWidth":true,"resizeHeight":false,"moveVertical":true},"68":{"sourceObj":{"__isSmartRef__":true,"id":12},"sourceAttrName":"textString","targetObj":{"__isSmartRef__":true,"id":12},"targetMethodName":"highlightJavaScriptSyntax","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"69":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":70},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":71}],"eventHandler":{"__isSmartRef__":true,"id":73},"_ClipMode":"auto","derivationIds":[],"id":"5123D707-C2ED-4811-8B55-709B36A51434","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":true,"_HandStyle":null,"allowInput":true,"_FontFamily":"Courier","_FontSize":10,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":74},"accessibleInInactiveWindow":true,"layout":{"__isSmartRef__":true,"id":1360},"noEval":true,"syntaxHighlightingWhileTyping":true,"attributeConnections":[{"__isSmartRef__":true,"id":1361},{"__isSmartRef__":true,"id":1363}],"doNotSerialize":["$$textString","$$savedTextString"],"doNotCopyProperties":["$$textString","$$savedTextString"],"specialHighlighting":"none","styleClass":["Browser_codePaneText"],"focusHaloBorderWidth":0.5,"_lastSyntaxHighlightTime":46,"showsHalos":false,"isBeingDragged":false,"__serializedExpressions__":["_TextColor","_Position"],"textString":"/*\n * Copyright (c) 2006-2009 Sun Microsystems, Inc.\n * Copyright (c) 2008-2011 Hasso Plattner Institute\n *\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\n// set to the context enclosing the SVG context.\n// rk: replaced \"this.window.top || this.window\" with \"this.window\"\n// rk: when is it necessary to use the parent context?\nvar Global = this.window || GLOBAL /*for Node.js*/;\nfunction dbgOn(cond, optMessage) {\n if (optMessage) console.log(optMessage);\n if (cond) debugger; // note that rhino has issues with this keyword\n // also call as: throw dbgOn(new Error(....))\n return cond;\n}\n\nfunction assert(value, message) {\n if (value) { return; }\n // capture the stack\n var stack;\n try { throw new Error() } catch(e) { stack = e.stack || '' };\n alert('Assertion failed' + (message ? ': ' + message : '!') + '\\n' + stack);\n};\n\n// namespace logic adapted from\n// http://higher-order.blogspot.com/2008/02/designing-clientserver-web-applications.html\nvar using = (function() {\n\n function Util(args) { // args is an escaping arguments array\n this.objects = Array.prototype.concat.apply([], args);\n //var ownArgs = this.objects = new Array(args.length);\n //for (var i = 0; i < args.length; i++) ownArgs[i] = args[i];\n };\n\n Util.prototype = {\n\n log: function(msg) {\n console.log(msg);\n },\n\n run: function(inner) {\n var args = this.objects;\n if (this.moduleName) {\n // little convenience,\n if (args.length > 0) this.log('using().module(): ignoring args ' + args);\n return module(this.moduleName).requires().toRun(inner);\n } else return inner.apply(args[0], args);\n },\n\n model: function(model) {\n // KP: interestingly, declaring the above as \"model: function model(model)\"\n // seems to bind model to to the function, not the formal parameter, at least in rhino!\n this.model = model;\n return this;\n },\n\n module: function(moduleName) {\n this.moduleName = moduleName;\n return this;\n },\n\n link: function link(literal, variableMap) {\n variableMap = variableMap || {};\n return new lively.data.Resolver().link(literal, [], undefined, variableMap, this.objects, this.model);\n },\n\n extend: function extend(base, extLiteral) {\n return this.link(Object.extend(Object.clone(base), extLiteral));\n },\n\n test: function(inner) {\n try {\n return this.run(inner);\n } catch (er) {\n alert('test failed: ' + er);\n return undefined;\n }\n }\n }\n\n return function using() {\n return new Util(arguments);\n }\n})();\n\n\nfunction namespace(spec, context) {\n var codeDB;\n if (spec[0] == '$') {\n codeDB = spec.substring(1, spec.indexOf('.'));\n spec = spec.substring(spec.indexOf('.') + 1);\n }\n var ret = __oldNamespace(spec, context);\n if (codeDB) {\n ret.fromDB = codeDB;\n }\n return ret;\n};\n\n\nfunction __oldNamespace(spec, context) {\n var i,N;\n context = context || Global;\n spec = spec.valueOf();\n if (typeof spec === 'object') {\n if (typeof spec.length === 'number') {//assume an array-like object\n for (i = 0,N = spec.length; i < N; i++) {\n return namespace(spec[i], context);\n }\n } else {//spec is a specification object e.g, {com: {trifork: ['model,view']}}\n for (i in spec) if (spec.hasOwnProperty(i)) {\n context[i] = context[i] || new lively.lang.Namespace(context, i);\n return namespace(spec[i], context[i]);//recursively descend tree\n }\n }\n } else if (typeof spec === 'string') {\n (function handleStringCase() {\n var parts;\n parts = spec.split('.');\n for (i = 0, N = parts.length; i= 0) {\n ea.pendingRequirements = [];\n ea.load();\n testModuleLoad.delay(6);\n }\n\t});\n console.log('Module load check done. ' + modules.length + ' modules loaded.');\n}).delay(10);\n\nfunction module(moduleName) {\n\n moduleName = LivelyMigrationSupport.fixModuleName(moduleName);\n\n function isNamespaceAwareModule(moduleName) {\n return moduleName && !moduleName.endsWith('.js');\n }\n\n function convertUrlToNSIdentifier(url) {\n var result = url;\n result = result.replace(/\\//g, '.');\n // get rid of '.js'\n if (result.endsWith('.js')) result = result.substring(0, result.lastIndexOf('.'));\n return result;\n }\n\n function createNamespaceModule(moduleName) {\n return namespace(isNamespaceAwareModule(moduleName) ? moduleName : convertUrlToNSIdentifier(moduleName));\n }\n\n function basicRequire(/*module, requiredModuleNameOrAnArray, anotherRequiredModuleName, ...*/) {\n // support modulenames as array and parameterlist\n var args = $A(arguments),\n module = args.shift(),\n preReqModuleNames = Object.isArray(args[0]) ? args[0] : args,\n requiredModules = [];\n for (var i = 0; i < preReqModuleNames.length; i++) {\n var name = LivelyMigrationSupport.fixModuleName(preReqModuleNames[i]),\n reqModule = createNamespaceModule(name);\n module.addRequiredModule(reqModule);\n requiredModules.push(reqModule);\n }\n\n return {\n toRun: function(code) {\n var debugCode = code;\n code = code.curry(module); // pass in own module name for nested requirements\n var codeWrapper = function() { // run code with namespace modules as additional parameters\n try {\n module.activate();\n code.apply(this, requiredModules);\n module._isLoaded = true;\n } catch(e) {\n module.logError(module + '>>basicRequire: ' + e, debugCode)\n } finally {\n module.deactivate();\n }\n }\n module.addOnloadCallback(codeWrapper);\n module.load();\n }\n };\n };\n\n dbgOn(!Object.isString(moduleName));\n var module = createNamespaceModule(moduleName);\n module.wasDefined = true;\n module.requires = basicRequire.curry(module);\n return module;\n};\n\nfunction require(/*requiredModuleNameOrAnArray, anotherRequiredModuleName, ...*/) {\n var getUniqueName = function() { return 'anonymous_module_' + require.counter },\n args = $A(arguments);\n require.counter !== undefined ? require.counter++ : require.counter = 0;\n var m = module(getUniqueName()).beAnonymous();\n if (lively.Config.showModuleDefStack)\n try { throw new Error() } catch(e) { m.defStack = e.stack }\n return m.requires(Object.isArray(args[0]) ? args[0] : args);\n};\n\n\n// ===========================================================================\n// Our JS library extensions (JS 1.5, no particular browser or graphics engine)\n// ===========================================================================\n\n/**\n * LK class system.\n */\n\nObject.extend(Function.prototype, {\n\n defaultCategoryName: 'default category',\n\n subclass: function(/*... */) {\n // Main method of the LK class system.\n\n // {className} is the name of the new class constructor which this method synthesizes\n // and binds to {className} in the Global namespace.\n // Remaining arguments are (inline) properties and methods to be copied into the prototype\n // of the newly created constructor.\n\n // modified from prototype.js\n\n var args = $A(arguments),\n className = args.shift(),\n targetScope = Global,\n shortName = null;\n\n if (className) {\n targetScope = Class.namespaceFor(className);\n shortName = Class.unqualifiedNameFor(className);\n } else {\n shortName = \"anonymous_\" + (Class.anonymousCounter++);\n className = shortName;\n }\n\n var klass;\n if (className && targetScope[shortName] && (targetScope[shortName].superclass === this)) {\n // preserve the class to allow using the subclass construct in interactive development\n klass = targetScope[shortName];\n } else {\n klass = Class.newInitializer(shortName);\n klass.superclass = this;\n var protoclass = function() { }; // that's the constructor of the new prototype object\n protoclass.prototype = this.prototype;\n klass.prototype = new protoclass();\n klass.prototype.constructor = klass;\n klass.prototype.constructor.type = className; // KP: .name would be better but js ignores .name on anonymous functions\n klass.prototype.constructor.displayName = className; // for debugging, because name can not be assigned\n if (className) targetScope[shortName] = klass; // otherwise it's anonymous\n\n // remember the module that contains the class def\n if (Global.lively && lively.lang && lively.lang.Namespace)\n klass.sourceModule = lively.lang.Namespace.current();\n };\n\n // the remaining args should be category strings or source objects\n this.addMethods.apply(klass, args);\n\n if (!klass.prototype.initialize)\n klass.prototype.initialize = Functions.Empty;\n\n return klass;\n },\n\n addMethods: function(/*...*/) {\n var args = arguments,\n category = this.defaultCategoryName,\n traits = [];\n for (var i = 0; i < args.length; i++) {\n if (Object.isString(args[i])) {\n category = args[i];\n } else if (Global.RealTrait && args[i] instanceof RealTrait) {\n // FIXME Traits are optional and defined in lively.Traits\n // This should go somewhere into lively.Traits...\n // we apply traits afterwards because they can override behavior\n traits.push(args[i]);\n } else {\n this.addCategorizedMethods(category, args[i] instanceof Function ? (args[i])() : args[i]);\n }\n }\n for (i = 0; i < traits.length; i++) {\n traits[i].applyTo(this);\n }\n },\n\n addCategorizedMethods: function(categoryName, source) {\n // first parameter is a category name\n // copy all the methods and properties from {source} into the\n // prototype property of the receiver, which is intended to be\n // a class constructor. Method arguments named '$super' are treated\n // specially, see Prototype.js documentation for \"Class.create()\" for details.\n // derived from Class.Methods.addMethods() in prototype.js\n\n // prepare the categories\n if (!this.categories) this.categories = {};\n if (!this.categories[categoryName]) this.categories[categoryName] = [];\n var currentCategoryNames = this.categories[categoryName];\n\n if (!source)\n throw dbgOn(new Error('no source in addCategorizedMethods!'));\n\n var ancestor = this.superclass && this.superclass.prototype;\n\n var className = this.type || \"Anonymous\";\n\n for (var property in source) {\n\n if (property == 'constructor') continue;\n\n var getter = source.__lookupGetter__(property);\n if (getter) this.prototype.__defineGetter__(property, getter);\n var setter = source.__lookupSetter__(property);\n if (setter) this.prototype.__defineSetter__(property, setter);\n if (getter || setter) continue;\n\n currentCategoryNames.push(property);\n\n var value = source[property];\n // weirdly, RegExps are functions in Safari, so testing for\n // Object.isFunction on regexp field values will return true.\n // But they're not full-blown functions and don't\n // inherit argumentNames from Function.prototype\n\n var hasSuperCall = ancestor && Object.isFunction(value) &&\n value.argumentNames && value.argumentNames().first() == \"$super\";\n if (hasSuperCall) {\n // wrapped in a function to save the value of 'method' for advice\n (function() {\n var method = value,\n advice = (function(m) {\n var cs = function callSuper() {\n var method = ancestor[m];\n if (!method) {\n throw new Error(Strings.format('Trying to call super of' +\n '%s>>%s but super method non existing in %s',\n className, m, ancestor.constructor.type));\n }\n return method.apply(this, arguments);\n };\n cs.varMapping = {ancestor: ancestor, m: m};\n cs.isSuperCall = true;\n return cs;\n })(property);\n\n advice.methodName = \"$super:\" + (this.superclass ? this.superclass.type + \">>\" : \"\") + property;\n\n value = Object.extend(advice.wrap(method), {\n valueOf: function() { return method },\n toString: function() { return method.toString() },\n originalFunction: method,\n methodName: advice.methodName,\n isSuperWrapper: true\n });\n // for lively.Closures\n method.varMapping = {$super: advice};\n })();\n }\n\n this.prototype[property] = value;\n\n if (property === \"formals\") { // rk FIXME remove this cruft\n // special property (used to be pins, but now called formals to disambiguate old and new style\n Class.addPins(this, value);\n } else if (Object.isFunction(value)) {\n // remember name for profiling in WebKit\n value.displayName = className + \"$\" + property;\n\n // remember where it was defined\n if (Global.lively && lively.lang && lively.lang.Namespace)\n value.sourceModule = lively.lang.Namespace.current();\n\n for (; value; value = value.originalFunction) {\n if (value.methodName) {\n //console.log(\"class \" + this.prototype.constructor.type\n // + \" borrowed \" + value.qualifiedMethodName());\n }\n value.declaredClass = this.prototype.constructor.type;\n value.methodName = property;\n }\n }\n } // end of for (var property in source)\n\n return this;\n },\n\n\n addProperties: function(spec, recordType) {\n Class.addMixin(this, recordType.prototype.create(spec).prototype);\n },\n\n isSubclassOf: function(aClass) {\n return this.superclasses().include(aClass);\n },\n\n allSubclasses: function() {\n var klass = this;\n return Global.classes(true).select(function(ea) { return ea.isSubclassOf(klass) });\n },\n withAllSubclasses: function() { return [this].concat(this.allSubclasses()) },\n\n\n directSubclasses: function() {\n var klass = this;\n return Global.classes(true).select(function(ea) { return ea.superclass === klass });\n },\n\n withAllSortedSubclassesDo: function(func) {\n // this method iterates func on all subclasses of klass (including klass)\n // it is ensured that the klasses are sorted by a) subclass relationship and b) name (not type!)\n // func gets as parameters: 1) the class 2) index in list 3) level of inheritance\n // compared to klass (1 for direct subclasses and so on)\n\n function createSortedSubclassList(klass, level) {\n var list = klass.directSubclasses()\n .sortBy(function(ea) { return ea.name.charCodeAt(0) })\n .collect(function(subclass) { return createSortedSubclassList(subclass, level + 1) })\n .flatten();\n return [{klass: klass, level: level}].concat(list)\n }\n\n return createSortedSubclassList(this, 0).collect(function(spec, idx) { return func(spec.klass, idx, spec.level) })\n },\n\n superclasses: function() {\n if (!this.superclass) return [];\n if (this.superclass === Object) return [Object];\n return this.superclass.superclasses().concat([this.superclass]);\n },\n\n categoryNameFor: function(propName) {\n for (var categoryName in this.categories) {\n if (this.categories[categoryName].include(propName)) {\n return categoryName;\n }\n }\n return null;\n },\n remove: function() {\n var ownerNamespace = Class.namespaceFor(this.type),\n ownName = Class.unqualifiedNameFor(this.type);\n delete ownerNamespace[ownName];\n },\n\n});\n\nvar Class = {\n\n anonymousCounter: 0,\n\n initializerTemplate: (function CLASS(){ Class.initializer.apply(this, arguments) }).toString(),\n\n newInitializer: function(name) {\n // this hack ensures that class instances have a name\n return eval(Class.initializerTemplate.replace(/CLASS/g, name) + \";\" + name);\n },\n\n initializer: function initializer() {\n var firstArg = arguments[0];\n // maybe special initialization required\n if (firstArg && firstArg.isImporter) {\n this.deserialize.apply(this, arguments);\n } else if (firstArg && firstArg.isCopier) {\n this.copyFrom.apply(this, arguments);\n } else if (firstArg && firstArg.isInstanceRestorer) {\n // just do nothing\n // for WebCards and other JSON-based dersialization logic\n } else {\n // if this.initialize is undefined then prolly the constructor was called without 'new'\n this.initialize.apply(this, arguments);\n }\n },\n\n def: function Class$def(constr, superConstr, optProtos, optStatics) {\n // currently not used\n // Main method of the LK class system.\n\n // {className} is the name of the new class constructor which this method synthesizes\n // and binds to {className} in the Global namespace.\n // Remaining arguments are (inline) properties and methods to be copied into the prototype\n // of the newly created constructor.\n\n // modified from prototype.js\n\n var klass = Class.newInitializer(\"klass\");\n klass.superclass = superConstr;\n\n var protoclass = function() { }; // that's the constructor of the new prototype object\n protoclass.prototype = superConstr.prototype;\n\n klass.prototype = new protoclass();\n\n // Object.extend(klass.prototype, constr.prototype);\n klass.prototype.constructor = klass;\n var className = constr.name; // getName()\n klass.addMethods({initialize: constr});\n // KP: .name would be better but js ignores .name on anonymous functions\n klass.type = className;\n\n\n if (optProtos) klass.addMethods(optProtos);\n if (optStatics) Object.extend(klass, optStatics);\n\n Global[className] = klass;\n return klass;\n },\n\n isValidIdentifier: function(str) {\n return /^(?:[a-zA-Z_][\\w\\-]*[.])*[a-zA-Z_][\\w\\-]*$/.test(str);\n },\n\n isClass: function Class$isClass(object) {\n if (object === Object\n || object === Array\n || object === Function\n || object === String\n || object === Number) {\n return true;\n }\n return (object instanceof Function) && (object.superclass !== undefined);\n },\n\n className: function Class$className(cl) {\n if (cl === Object) return \"Object\"\n if (cl === Array) return \"Array\"\n if (cl === Function) return \"Function\"\n if (cl === String) return \"String\"\n if (cl === Number) return \"Number\"\n return cl.type;\n },\n\n forName: function forName(name) {\n // lookup the class object given the qualified name\n var ns = Class.namespaceFor(name),\n shortName = Class.unqualifiedNameFor(name);\n return ns[shortName];\n },\n\n deleteObjectNamed: function Class$deleteObjectNamed(name) {\n var ns = Class.namespaceFor(name),\n shortName = Class.unqualifiedNameFor(name);\n delete ns[shortName];\n },\n\n unqualifiedNameFor: function Class$unqualifiedNameFor(name) {\n var lastDot = name.lastIndexOf('.'), // lastDot may be -1\n unqualifiedName = name.substring(lastDot + 1);\n if (!Class.isValidIdentifier(unqualifiedName)) throw new Error('not a name ' + unqualifiedName);\n return unqualifiedName;\n },\n\n namespaceFor: function Class$namespaceFor(className) {\n // get the namespace object given the qualified name\n var lastDot = className ? className.lastIndexOf('.') : -1;\n if (lastDot < 0) return Global;\n else return namespace(className.substring(0, lastDot));\n },\n\n withAllClassNames: function Class$withAllClassNames(scope, callback) {\n for (var name in scope) {\n try {\n if (Class.isClass(scope[name]))\n callback(name);\n } catch (er) { // FF exceptions\n }\n }\n callback(\"Object\");\n callback(\"Global\");\n },\n\n makeEnum: function Class$makeEnum(strings) {\n // simple mechanism for making objecs with property values set to\n // property names, to be used as enums.\n\n var e = {};\n for (var i = 0; i < strings.length; i++) {\n e[strings[i]] = strings[i];\n }\n return e;\n },\n\n getConstructor: function Class$getConstructor(object) {\n var c = object.constructor;\n return (c && c.getOriginal) ? c.getOriginal() : c;\n },\n\n getPrototype: function Class$getPrototype(object) {\n return this.getConstructor(object).prototype;\n },\n\n applyPrototypeMethod: function Class$applyPrototypeMethod(methodName, target, args) {\n var method = this.getPrototype(target);\n if (!method) throw new Error(\"method \" + methodName + \" not found\");\n return method.apply(this, args);\n },\n\n getSuperConstructor: function Class$getSuperConstructor(object) {\n return this.getConstructor(object).superclass;\n },\n\n getSuperPrototype: function Class$getSuperPrototype(object) {\n var sup = this.getSuperConstructor(object);\n return sup && sup.prototype;\n },\n\n addPins: function Class$addPins(cls, spec) {\n if (Global.Relay) {\n Class.addMixin(cls, Relay.newDelegationMixin(spec).prototype);\n return;\n }\n // this is for refactoring away from Relay and friends\n if (!Object.isArray(spec)) throw new Error('Cannot deal with non-Array spec in addPins');\n function unstripName(name) { return name.replace(/[\\+|\\-]?(.*)/, '$1') };\n function needsSetter(name) { return !name.startsWith('-') };\n function needsGetter(name) { return !name.startsWith('+') };\n var mixinSpec = {};\n spec.forEach(function(specString) {\n var name = unstripName(specString);\n if (needsSetter(specString))\n mixinSpec['set' + name] = function(value) { return this['_' + name] = value }\n if (needsGetter(specString))\n mixinSpec['get' + name] = function() { return this['_' + name] }\n })\n Class.addMixin(cls, mixinSpec);\n },\n\n addMixin: function Class$addMixin(cls, source) {\n var spec = {};\n for (var prop in source) {\n var value = source[prop];\n switch (prop) {\n case \"constructor\": case \"initialize\": case \"deserialize\": case \"copyFrom\":\n case \"toString\": case \"definition\": case \"description\":\n break;\n default:\n if (cls.prototype[prop] === undefined) // do not override existing values!\n spec[prop] = value;\n }\n }\n cls.addMethods(spec);\n },\n\n};\n\nObject.subclass('Namespace',\n'initializing', {\n\n initialize: function(context, nsName) {\n this.namespaceIdentifier = context.namespaceIdentifier + '.' + nsName;\n this.createTime = new Date();\n },\n},\n'accessing', {\n gather: function(selector, condition, recursive) {\n var result = Object.values(this).select(function(ea) { return condition.call(this, ea) }, this);\n if (!recursive) return result;\n return this.subNamespaces().inject(result, function(result, ns) { return result.concat(ns[selector](true)) });\n },\n\n subNamespaces: function(recursive) {\n return this.gather(\n 'subNamespaces',\n function(ea) { return (ea instanceof lively.lang.Namespace || ea === Global) && ea !== this },\n recursive);\n },\n\n classes: function(recursive) {\n var normalClasses = this.gather(\n 'classes',\n function(ea) { return ea && ea !== this.constructor && Class.isClass(ea) },\n recursive);\n if (this === Global)\n return [Array, Number, String, Function].concat(normalClasses);\n return normalClasses;\n },\n\n functions: function(recursive) {\n return this.gather(\n 'functions',\n function(ea) { return ea\n && !Class.isClass(ea)\n && Object.isFunction(ea)\n && !ea.declaredClass\n && this.requires !== ea\n && ea.getOriginal() === ea },\n recursive);\n },\n\n});\n\n// let Glabal act like a namespace itself\nObject.extend(Global, Namespace.prototype);\nObject.extend(Global, {\n namespaceIdentifier: 'Global',\n isLoaded: Functions.True,\n});\n\nNamespace.addMethods(\n'properties', {\n isLivelyModule: true,\n},\n'initializing', {\n beAnonymous: function() {\n this._isAnonymous = true;\n this.sourceModuleName = lively.lang.Namespace.current().namespaceIdentifier;\n return this;\n },\n},\n'accessing', { // module specific, should be a subclass?\n\n name: function() {\n var identifier = this.namespaceIdentifier,\n globalIdStart = 'Global.';\n if (identifier.startsWith(globalIdStart)) {\n identifier = identifier.substring(globalIdStart.length);\n }\n return identifier;\n },\n\n findUri: function(optFileType) {\n var fileType = optFileType || 'js',\n fileExtension = '.' + fileType,\n namespacePrefix;\n if (this.namespaceIdentifier.startsWith('Global.')) {\n namespacePrefix = 'Global.';\n } else {\n throw dbgOn(new Error('unknown namespaceIdentifier'));\n }\n var relativePath = this.namespaceIdentifier\n .substr(namespacePrefix.length)\n .replace(/\\./g, '/');\n if (!relativePath.match(/\\.js$/)) {\n relativePath += fileExtension;\n }\n var uri = '';\n lively.Config.modulePaths.forEach(function(ea) {\n if (relativePath.substring(0, ea.length) == ea) {\n uri = lively.Config.rootPath + relativePath;\n }\n });\n if (uri == '') {\n uri = lively.Config.codeBase + relativePath;\n }\n return uri;\n },\n\n uri: function(optType) { // FIXME cleanup necessary\n if (this.__cachedUri && !optType) { return this.__cachedUri; }\n var url;\n if (this.fromDB) {\n var id = this.namespaceIdentifier; // something like lively.Core\n var namespacePrefix;\n if (id.startsWith('Global.')) {\n namespacePrefix = 'Global.';\n id = id.substring(7);\n } else\n throw dbgOn(new Error('unknown namespaceIdentifier'));\n\n // FIXME: extract to lively.Config.codeBaseDB\n url = lively.Config.couchDBURL + '/' + this.fromDB + '/_design/raw_data/_list/javascript/for-module?module=' + id;\n this.__cachedUri = url;\n return url;\n } else {\n var id = this.namespaceIdentifier; // something like lively.Core\n var namespacePrefix;\n if (!this.isAnonymous()) {\n url = this.findUri(optType);\n } else {\n if (id.startsWith('Global.')) namespacePrefix = 'Global.';\n else throw dbgOn(new Error('unknown namespaceIdentifier'));\n url = lively.Config.codeBase + this.namespaceIdentifier.substr(namespacePrefix.length).replace(/\\./g, '/');\n }\n\n this.__cachedUri = url;\n return url;\n }\n },\n relativePath: function(optType) {\n return new URL(this.uri(optType)).relativePathFrom(URL.codeBase);\n },\n\n lastPart: function() {\n return this.name().match(/[^.]+$/)[0];\n }\n\n},\n'module dependencies', {\n addDependendModule: function(depModule) {\n if (!this.dependendModules) this.dependendModules = [];\n this.dependendModules.push(depModule);\n\n // keep a copy of the dependencies for debugging\n if (!this.debugDependendModules) this.debugDependendModules = [];\n this.debugDependendModules.push(depModule);\n },\n\n informDependendModules: function() {\n if (!this.dependendModules) return;\n var deps = this.dependendModules.uniq();\n this.dependendModules = [];\n deps.forEach(function(ea) { ea.removeRequiredModule(this) }, this);\n },\n\n traceDependendModules: function(visited) {\n visited = visited || [];\n var deps = this.debugDependendModules || [];\n deps = deps.withoutAll(visited)\n visited.push(this);\n return [this.namespaceIdentifier, deps.collect(function(ea) {\n return ea.traceDependendModules(visited)\n })]\n },\n\n addRequiredModule: function(requiredModule) {\n // privateRequirements is just for keeping track later on\n if (!this.privateRequirements) this.privateRequirements = [];\n this.privateRequirements.push(requiredModule);\n\n if (requiredModule.isLoaded()) return;\n if (!this.pendingRequirements) this.pendingRequirements = [];\n this.pendingRequirements.push(requiredModule);\n requiredModule.addDependendModule(this);\n },\n\n removeRequiredModule: function(requiredModule) {\n if (this.pendingRequirements && !this.pendingRequirements.include(requiredModule))\n throw dbgOn(new Error('requiredModule not there'));\n this.pendingRequirements = this.pendingRequirements.without(requiredModule);\n if (!this.hasPendingRequirements()) {\n this.load();\n }\n },\n\n pendingRequirementNames: function() {\n if (!this.pendingRequirements) return [];\n return this.pendingRequirements.collect(function(ea) { return ea.uri() });\n },\n\n hasPendingRequirements: function() {\n return this.pendingRequirements && this.pendingRequirements.length > 0;\n },\n\n loadRequirementsFirst: function() {\n this.pendingRequirements && this.pendingRequirements.invoke('load');\n },\n\n wasRequiredBy: function() {\n return Global.subNamespaces(true).select(function(m) {\n return m.privateRequirements && m.privateRequirements.include(this);\n }, this);\n },\n},\n'load callbacks', {\n addOnloadCallback: function(cb) {\n if (!this.callbacks) this.callbacks = [];\n this.callbacks.push(cb);\n },\n\n runOnloadCallbacks: function() {\n if (!this.callbacks) return;\n var cb;\n while (cb = this.callbacks.shift()) {\n try {cb()} catch(e) {\n this.logError('runOnloadCallbacks: ' + cb.name + ': ' + e);\n throw e\n }\n };\n },\n\n isAnonymous: function() {\n return this._isAnonymous\n },\n\n},\n'testing', {\n isLoaded: function() {\n return this._isLoaded;\n },\n\n isLoading: function() {\n if (this.isLoaded()) return false;\n if (this.uri().include('anonymous')) return true;\n return JSLoader.scriptInDOM(this.uri());\n },\n\n isAnonymous: function() {\n return this._isAnonymous\n },\n\n},\n'loading', {\n load: function(loadSync) {\n if (loadSync) {\n var prevWasSync = this.constructor.loadSync;\n this.constructor.loadSync = true;\n }\n if (this.isLoaded()) {\n this.runOnloadCallbacks();\n return;\n }\n if (this.isLoading() && this.wasDefined && !this.hasPendingRequirements()) {\n this.runOnloadCallbacks();\n // time is not only the time needed for the request and code evaluation\n // but the complete time span from the creation of the module (when the module is first encountered)\n // to evaluation the evaluation of its code, including load time of all requirements\n var time = this.createTime ? new Date() - this.createTime : 'na';\n console.log(this.uri() + ' loaded in ' + time + ' ms');\n this.informDependendModules();\n return;\n }\n if (this.isLoading()) {\n this.loadRequirementsFirst();\n return;\n }\n JSLoader.loadJs(this.uri(), null, this.constructor.loadSync);\n if (loadSync) this.constructor.loadSync = prevWasSync;\n },\n\n activate: function() {\n this.constructor.namespaceStack.push(this);\n },\n\n deactivate: function() {\n var m = this.constructor.namespaceStack.pop();\n if (m !== this)\n throw new Error('Wrong module: ' + this.namespaceIdentifier +\n ' instead of expected ' + m.namespaceIdentifier )\n },\n},\n'removing', {\n remove: function() {\n var ownerNamespace = Class.namespaceFor(this.namespaceIdentifier),\n ownName = Class.unqualifiedNameFor(this.namespaceIdentifier)\n JSLoader.removeAllScriptsThatLinkTo(this.uri());\n delete ownerNamespace[ownName];\n },\n removeScriptNode: function() {\n var node = document.getElementById(this.uri());\n if (!node) return\n node.parentNode.removeChild(node);\n },\n},\n'debugging', {\n toString: function() { return 'module(' + this.namespaceIdentifier + ')' },\n inspect: function() { this.toString() + ' defined at ' + this.defStack },\n logError: function(e, optCode) {\n var list = this.traceDependendModules();\n var msg = 'Error while loading ' + this.moduleName + ': ' + e;\n msg += '\\ndependencies: ' + Strings.printNested(list)\n if (Global.lively && lively.morphic && lively.morphic.World && lively.morphic.World.current() && lively.morphic.World.current().logError)\n lively.morphic.World.current().logError(e)\n\n if (e.stack) msg = msg + e.stack;\n\n if (optCode)\n msg += \"code:\\n\" + optCode;\n console.error(msg);\n dbgOn(true);\n },\n});\n\nObject.extend(Namespace, {\n namespaceStack: [Global],\n current: function() { return this.namespaceStack.last() },\n topologicalSortLoadedModules: function() {\n if (lively.Config.standAlone) {\n var scripIds = [];\n $('body script').each(function() { scripIds.push($(this).attr('id')) });\n return scripIds.collect(function(id) {\n var name = id.replace(/^..\\//, '');\n return module(name);\n });\n }\n\n // get currently loaded modules that really are js files\n var modules = Global.subNamespaces(true)\n .reject(function(ea) { return ea.isAnonymous(); })\n .select(function(ea) {\n return ea.isLoaded() && new WebResource(ea.uri()).exists() });\n\n // topological sort modules according to their requirements\n var sortedModules = [], i = 0;\n while (i < 1000 && modules.length > 0) {\n i++;\n var canBeLoaded = modules.select(function(module) {\n if (!module.privateRequirements) return true;\n return module.privateRequirements.all(function(requirement) {\n return sortedModules.include(requirement) })\n })\n sortedModules = sortedModules.concat(canBeLoaded);\n modules = modules.withoutAll(canBeLoaded);\n }\n if (modules.length > 0)\n throw new Error('Cannot find dependencies for all modules!');\n\n return sortedModules;\n },\n\n bootstrapModules: function() {\n // return a string to include in bootstrap.js\n var urls = this.topologicalSortLoadedModules()\n .collect(function(ea) { return new URL(ea.uri()).relativePathFrom(URL.codeBase) })\n // omit modules outside of core\n .reject(function(path) { return path.startsWith('..') });\n var manual = [LivelyLoader.libsFile,\n 'lively/Migration.js',\n 'lively/JSON.js',\n 'lively/lang/Object.js',\n 'lively/lang/Function.js',\n 'lively/lang/String.js',\n 'lively/lang/Array.js',\n 'lively/lang/Number.js',\n 'lively/lang/Date.js',\n 'lively/defaultconfig.js',\n 'lively/localconfig.js',\n 'lively/Base.js',\n 'lively/lang/Closure.js', // FIXME: require module instead\n 'lively/lang/UUID.js', // FIXME: require module instead\n 'lively/LocalStorage.js'];\n urls = manual.concat(urls);\n return urls;\n },\n\n bootstrapModulesString: function() {\n var urls = this.bootstrapModules();\n return '[\\'' + urls.join('\\', \\'') + '\\']';\n }\n});\n\n(function createLivelyNamespace(Global) {\n // namespace('lively.lang');\n var preExistingLively = Global.lively;\n delete Global.lively;\n var lively = new Global.Namespace(Global, 'lively');\n // FIXME this is just a hack to get properties of a potentially\n // predefined \"lively\" object over to the namespace lively object\n // namespaces should deal with this in general\n if (preExistingLively) {\n for (var name in preExistingLively) {\n lively[name] = preExistingLively[name];\n }\n }\n Global.lively = lively;\n})(Global);\n\n(function moveNamespaceClassToLivelyLang(Global) {\n var lively = Global.lively,\n Namespace = Global.Namespace;\n lively.lang = new Namespace(lively, 'lang');\n lively.lang.Namespace = Namespace;\n // alias\n lively.Module = lively.lang.Namespace;\n delete Global.Namespace;\n})(Global);\n\n(function addUsefulStuffToLivelyNS(Global, lively) {\n lively.assert = Global.assert;\n})(Global, lively);\n\nObject.extend(lively.Module, {\n findAllInThenDo: function(url, callback) {\n var dir = new URL(url).getDirectory();\n if (url.isLeaf()) {\n throw new Error(url + ' is not a directory!');\n }\n var webR = dir.asWebResource();\n lively.bindings.connect(webR, 'subDocuments', {onLoad: function(files) {\n var moduleNames = files.invoke('getURL') .invoke('asModuleName'),\n modules = moduleNames.collect(function(name) { return module(name); })\n callback(modules);\n }}, 'onLoad');\n webR.getSubElements();\n }\n});\n\n(function setupLivelyLang(lively) {\n lively.lang.Execution = {\n showStack: Functions.Null,\n resetDebuggingStack: Functions.Null,\n installStackTracers: Functions.Null\n };\n lively.lang.let = function(/** **/) {\n // lively.lang.let(y, function(x) { body }) is equivalent to { let y = x; body; }\n return arguments[arguments.length - 1].apply(this, arguments);\n }\n})(lively);\n\n/*\n * Stack Viewer when Dan's StackTracer is not available\n * FIXME rk: move this to Helper.js?\n */\nfunction getStack() {\n var result = [];\n for(var caller = arguments.callee.caller; caller; caller = caller.caller) {\n if (result.indexOf(caller) != -1) {\n result.push({name: \"recursive call can't be traced\"});\n break;\n }\n result.push(caller);\n };\n return result;\n};\n\nfunction printStack() {\n function guessFunctionName(func) {\n var qName = func.qualifiedMethodName && func.qualifiedMethodName(),\n regExpRes = func.toString().match(/function (.+)\\(/);\n return qName || (regExpRes && regExpRes[1]) || func;\n };\n\n var string = \"== Stack ==\\n\",\n stack = getStack();\n stack.shift(); // for getStack\n stack.shift(); // for printStack (me)\n var indent = \"\";\n for (var i=0; i < stack.length; i++) {\n string += indent + i + \": \" +guessFunctionName(stack[i]) + \"\\n\";\n indent += \" \";\n };\n return string;\n};\n\nfunction logStack() {\n this.console.log(printStack());\n};\n\n(function setupjQuery(Global) {\n var lively = Global.lively,\n jQuery = Global.jQuery;\n // we still are adding jQuery to Global but this is DEPRECATED\n // We need to be able to run with libraries requiring different jQuery versions\n // so we will restrict \"our\" to lively.$ in the future\n Global.$ = lively.$ = jQuery.noConflict(/*true -- really removes $*/);\n})(Global);","__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,322.2)"},"70":{"_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(567.0,393.8)","_Padding":"lively.rect(5,5,0,0)","_BorderColor":"Color.rgb(102,102,102)","_Fill":"Color.rgb(255,255,255)"},"71":{"style":{"__isSmartRef__":true,"id":72},"chunkOwner":{"__isSmartRef__":true,"id":69},"_id":"_7","storedString":"/*\n * Copyright (c) 2006-2009 Sun Microsystems, Inc.\n * Copyright (c) 2008-2011 Hasso Plattner Institute\n *\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\n// set to the context enclosing the SVG context.\n// rk: replaced \"this.window.top || this.window\" with \"this.window\"\n// rk: when is it necessary to use the parent context?\nvar Global = this.window || GLOBAL /*for Node.js*/;\nfunction dbgOn(cond, optMessage) {\n if (optMessage) console.log(optMessage);\n if (cond) debugger; // note that rhino has issues with this keyword\n // also call as: throw dbgOn(new Error(....))\n return cond;\n}\n\nfunction assert(value, message) {\n if (value) { return; }\n // capture the stack\n var stack;\n try { throw new Error() } catch(e) { stack = e.stack || '' };\n alert('Assertion failed' + (message ? ': ' + message : '!') + '\\n' + stack);\n};\n\n// namespace logic adapted from\n// http://higher-order.blogspot.com/2008/02/designing-clientserver-web-applications.html\nvar using = (function() {\n\n function Util(args) { // args is an escaping arguments array\n this.objects = Array.prototype.concat.apply([], args);\n //var ownArgs = this.objects = new Array(args.length);\n //for (var i = 0; i < args.length; i++) ownArgs[i] = args[i];\n };\n\n Util.prototype = {\n\n log: function(msg) {\n console.log(msg);\n },\n\n run: function(inner) {\n var args = this.objects;\n if (this.moduleName) {\n // little convenience,\n if (args.length > 0) this.log('using().module(): ignoring args ' + args);\n return module(this.moduleName).requires().toRun(inner);\n } else return inner.apply(args[0], args);\n },\n\n model: function(model) {\n // KP: interestingly, declaring the above as \"model: function model(model)\"\n // seems to bind model to to the function, not the formal parameter, at least in rhino!\n this.model = model;\n return this;\n },\n\n module: function(moduleName) {\n this.moduleName = moduleName;\n return this;\n },\n\n link: function link(literal, variableMap) {\n variableMap = variableMap || {};\n return new lively.data.Resolver().link(literal, [], undefined, variableMap, this.objects, this.model);\n },\n\n extend: function extend(base, extLiteral) {\n return this.link(Object.extend(Object.clone(base), extLiteral));\n },\n\n test: function(inner) {\n try {\n return this.run(inner);\n } catch (er) {\n alert('test failed: ' + er);\n return undefined;\n }\n }\n }\n\n return function using() {\n return new Util(arguments);\n }\n})();\n\n\nfunction namespace(spec, context) {\n var codeDB;\n if (spec[0] == '$') {\n codeDB = spec.substring(1, spec.indexOf('.'));\n spec = spec.substring(spec.indexOf('.') + 1);\n }\n var ret = __oldNamespace(spec, context);\n if (codeDB) {\n ret.fromDB = codeDB;\n }\n return ret;\n};\n\n\nfunction __oldNamespace(spec, context) {\n var i,N;\n context = context || Global;\n spec = spec.valueOf();\n if (typeof spec === 'object') {\n if (typeof spec.length === 'number') {//assume an array-like object\n for (i = 0,N = spec.length; i < N; i++) {\n return namespace(spec[i], context);\n }\n } else {//spec is a specification object e.g, {com: {trifork: ['model,view']}}\n for (i in spec) if (spec.hasOwnProperty(i)) {\n context[i] = context[i] || new lively.lang.Namespace(context, i);\n return namespace(spec[i], context[i]);//recursively descend tree\n }\n }\n } else if (typeof spec === 'string') {\n (function handleStringCase() {\n var parts;\n parts = spec.split('.');\n for (i = 0, N = parts.length; i= 0) {\n ea.pendingRequirements = [];\n ea.load();\n testModuleLoad.delay(6);\n }\n\t});\n console.log('Module load check done. ' + modules.length + ' modules loaded.');\n}).delay(10);\n\nfunction module(moduleName) {\n\n moduleName = LivelyMigrationSupport.fixModuleName(moduleName);\n\n function isNamespaceAwareModule(moduleName) {\n return moduleName && !moduleName.endsWith('.js');\n }\n\n function convertUrlToNSIdentifier(url) {\n var result = url;\n result = result.replace(/\\//g, '.');\n // get rid of '.js'\n if (result.endsWith('.js')) result = result.substring(0, result.lastIndexOf('.'));\n return result;\n }\n\n function createNamespaceModule(moduleName) {\n return namespace(isNamespaceAwareModule(moduleName) ? moduleName : convertUrlToNSIdentifier(moduleName));\n }\n\n function basicRequire(/*module, requiredModuleNameOrAnArray, anotherRequiredModuleName, ...*/) {\n // support modulenames as array and parameterlist\n var args = $A(arguments),\n module = args.shift(),\n preReqModuleNames = Object.isArray(args[0]) ? args[0] : args,\n requiredModules = [];\n for (var i = 0; i < preReqModuleNames.length; i++) {\n var name = LivelyMigrationSupport.fixModuleName(preReqModuleNames[i]),\n reqModule = createNamespaceModule(name);\n module.addRequiredModule(reqModule);\n requiredModules.push(reqModule);\n }\n\n return {\n toRun: function(code) {\n var debugCode = code;\n code = code.curry(module); // pass in own module name for nested requirements\n var codeWrapper = function() { // run code with namespace modules as additional parameters\n try {\n module.activate();\n code.apply(this, requiredModules);\n module._isLoaded = true;\n } catch(e) {\n module.logError(module + '>>basicRequire: ' + e, debugCode)\n } finally {\n module.deactivate();\n }\n }\n module.addOnloadCallback(codeWrapper);\n module.load();\n }\n };\n };\n\n dbgOn(!Object.isString(moduleName));\n var module = createNamespaceModule(moduleName);\n module.wasDefined = true;\n module.requires = basicRequire.curry(module);\n return module;\n};\n\nfunction require(/*requiredModuleNameOrAnArray, anotherRequiredModuleName, ...*/) {\n var getUniqueName = function() { return 'anonymous_module_' + require.counter },\n args = $A(arguments);\n require.counter !== undefined ? require.counter++ : require.counter = 0;\n var m = module(getUniqueName()).beAnonymous();\n if (lively.Config.showModuleDefStack)\n try { throw new Error() } catch(e) { m.defStack = e.stack }\n return m.requires(Object.isArray(args[0]) ? args[0] : args);\n};\n\n\n// ===========================================================================\n// Our JS library extensions (JS 1.5, no particular browser or graphics engine)\n// ===========================================================================\n\n/**\n * LK class system.\n */\n\nObject.extend(Function.prototype, {\n\n defaultCategoryName: 'default category',\n\n subclass: function(/*... */) {\n // Main method of the LK class system.\n\n // {className} is the name of the new class constructor which this method synthesizes\n // and binds to {className} in the Global namespace.\n // Remaining arguments are (inline) properties and methods to be copied into the prototype\n // of the newly created constructor.\n\n // modified from prototype.js\n\n var args = $A(arguments),\n className = args.shift(),\n targetScope = Global,\n shortName = null;\n\n if (className) {\n targetScope = Class.namespaceFor(className);\n shortName = Class.unqualifiedNameFor(className);\n } else {\n shortName = \"anonymous_\" + (Class.anonymousCounter++);\n className = shortName;\n }\n\n var klass;\n if (className && targetScope[shortName] && (targetScope[shortName].superclass === this)) {\n // preserve the class to allow using the subclass construct in interactive development\n klass = targetScope[shortName];\n } else {\n klass = Class.newInitializer(shortName);\n klass.superclass = this;\n var protoclass = function() { }; // that's the constructor of the new prototype object\n protoclass.prototype = this.prototype;\n klass.prototype = new protoclass();\n klass.prototype.constructor = klass;\n klass.prototype.constructor.type = className; // KP: .name would be better but js ignores .name on anonymous functions\n klass.prototype.constructor.displayName = className; // for debugging, because name can not be assigned\n if (className) targetScope[shortName] = klass; // otherwise it's anonymous\n\n // remember the module that contains the class def\n if (Global.lively && lively.lang && lively.lang.Namespace)\n klass.sourceModule = lively.lang.Namespace.current();\n };\n\n // the remaining args should be category strings or source objects\n this.addMethods.apply(klass, args);\n\n if (!klass.prototype.initialize)\n klass.prototype.initialize = Functions.Empty;\n\n return klass;\n },\n\n addMethods: function(/*...*/) {\n var args = arguments,\n category = this.defaultCategoryName,\n traits = [];\n for (var i = 0; i < args.length; i++) {\n if (Object.isString(args[i])) {\n category = args[i];\n } else if (Global.RealTrait && args[i] instanceof RealTrait) {\n // FIXME Traits are optional and defined in lively.Traits\n // This should go somewhere into lively.Traits...\n // we apply traits afterwards because they can override behavior\n traits.push(args[i]);\n } else {\n this.addCategorizedMethods(category, args[i] instanceof Function ? (args[i])() : args[i]);\n }\n }\n for (i = 0; i < traits.length; i++) {\n traits[i].applyTo(this);\n }\n },\n\n addCategorizedMethods: function(categoryName, source) {\n // first parameter is a category name\n // copy all the methods and properties from {source} into the\n // prototype property of the receiver, which is intended to be\n // a class constructor. Method arguments named '$super' are treated\n // specially, see Prototype.js documentation for \"Class.create()\" for details.\n // derived from Class.Methods.addMethods() in prototype.js\n\n // prepare the categories\n if (!this.categories) this.categories = {};\n if (!this.categories[categoryName]) this.categories[categoryName] = [];\n var currentCategoryNames = this.categories[categoryName];\n\n if (!source)\n throw dbgOn(new Error('no source in addCategorizedMethods!'));\n\n var ancestor = this.superclass && this.superclass.prototype;\n\n var className = this.type || \"Anonymous\";\n\n for (var property in source) {\n\n if (property == 'constructor') continue;\n\n var getter = source.__lookupGetter__(property);\n if (getter) this.prototype.__defineGetter__(property, getter);\n var setter = source.__lookupSetter__(property);\n if (setter) this.prototype.__defineSetter__(property, setter);\n if (getter || setter) continue;\n\n currentCategoryNames.push(property);\n\n var value = source[property];\n // weirdly, RegExps are functions in Safari, so testing for\n // Object.isFunction on regexp field values will return true.\n // But they're not full-blown functions and don't\n // inherit argumentNames from Function.prototype\n\n var hasSuperCall = ancestor && Object.isFunction(value) &&\n value.argumentNames && value.argumentNames().first() == \"$super\";\n if (hasSuperCall) {\n // wrapped in a function to save the value of 'method' for advice\n (function() {\n var method = value,\n advice = (function(m) {\n var cs = function callSuper() {\n var method = ancestor[m];\n if (!method) {\n throw new Error(Strings.format('Trying to call super of' +\n '%s>>%s but super method non existing in %s',\n className, m, ancestor.constructor.type));\n }\n return method.apply(this, arguments);\n };\n cs.varMapping = {ancestor: ancestor, m: m};\n cs.isSuperCall = true;\n return cs;\n })(property);\n\n advice.methodName = \"$super:\" + (this.superclass ? this.superclass.type + \">>\" : \"\") + property;\n\n value = Object.extend(advice.wrap(method), {\n valueOf: function() { return method },\n toString: function() { return method.toString() },\n originalFunction: method,\n methodName: advice.methodName,\n isSuperWrapper: true\n });\n // for lively.Closures\n method.varMapping = {$super: advice};\n })();\n }\n\n this.prototype[property] = value;\n\n if (property === \"formals\") { // rk FIXME remove this cruft\n // special property (used to be pins, but now called formals to disambiguate old and new style\n Class.addPins(this, value);\n } else if (Object.isFunction(value)) {\n // remember name for profiling in WebKit\n value.displayName = className + \"$\" + property;\n\n // remember where it was defined\n if (Global.lively && lively.lang && lively.lang.Namespace)\n value.sourceModule = lively.lang.Namespace.current();\n\n for (; value; value = value.originalFunction) {\n if (value.methodName) {\n //console.log(\"class \" + this.prototype.constructor.type\n // + \" borrowed \" + value.qualifiedMethodName());\n }\n value.declaredClass = this.prototype.constructor.type;\n value.methodName = property;\n }\n }\n } // end of for (var property in source)\n\n return this;\n },\n\n\n addProperties: function(spec, recordType) {\n Class.addMixin(this, recordType.prototype.create(spec).prototype);\n },\n\n isSubclassOf: function(aClass) {\n return this.superclasses().include(aClass);\n },\n\n allSubclasses: function() {\n var klass = this;\n return Global.classes(true).select(function(ea) { return ea.isSubclassOf(klass) });\n },\n withAllSubclasses: function() { return [this].concat(this.allSubclasses()) },\n\n\n directSubclasses: function() {\n var klass = this;\n return Global.classes(true).select(function(ea) { return ea.superclass === klass });\n },\n\n withAllSortedSubclassesDo: function(func) {\n // this method iterates func on all subclasses of klass (including klass)\n // it is ensured that the klasses are sorted by a) subclass relationship and b) name (not type!)\n // func gets as parameters: 1) the class 2) index in list 3) level of inheritance\n // compared to klass (1 for direct subclasses and so on)\n\n function createSortedSubclassList(klass, level) {\n var list = klass.directSubclasses()\n .sortBy(function(ea) { return ea.name.charCodeAt(0) })\n .collect(function(subclass) { return createSortedSubclassList(subclass, level + 1) })\n .flatten();\n return [{klass: klass, level: level}].concat(list)\n }\n\n return createSortedSubclassList(this, 0).collect(function(spec, idx) { return func(spec.klass, idx, spec.level) })\n },\n\n superclasses: function() {\n if (!this.superclass) return [];\n if (this.superclass === Object) return [Object];\n return this.superclass.superclasses().concat([this.superclass]);\n },\n\n categoryNameFor: function(propName) {\n for (var categoryName in this.categories) {\n if (this.categories[categoryName].include(propName)) {\n return categoryName;\n }\n }\n return null;\n },\n remove: function() {\n var ownerNamespace = Class.namespaceFor(this.type),\n ownName = Class.unqualifiedNameFor(this.type);\n delete ownerNamespace[ownName];\n },\n\n});\n\nvar Class = {\n\n anonymousCounter: 0,\n\n initializerTemplate: (function CLASS(){ Class.initializer.apply(this, arguments) }).toString(),\n\n newInitializer: function(name) {\n // this hack ensures that class instances have a name\n return eval(Class.initializerTemplate.replace(/CLASS/g, name) + \";\" + name);\n },\n\n initializer: function initializer() {\n var firstArg = arguments[0];\n // maybe special initialization required\n if (firstArg && firstArg.isImporter) {\n this.deserialize.apply(this, arguments);\n } else if (firstArg && firstArg.isCopier) {\n this.copyFrom.apply(this, arguments);\n } else if (firstArg && firstArg.isInstanceRestorer) {\n // just do nothing\n // for WebCards and other JSON-based dersialization logic\n } else {\n // if this.initialize is undefined then prolly the constructor was called without 'new'\n this.initialize.apply(this, arguments);\n }\n },\n\n def: function Class$def(constr, superConstr, optProtos, optStatics) {\n // currently not used\n // Main method of the LK class system.\n\n // {className} is the name of the new class constructor which this method synthesizes\n // and binds to {className} in the Global namespace.\n // Remaining arguments are (inline) properties and methods to be copied into the prototype\n // of the newly created constructor.\n\n // modified from prototype.js\n\n var klass = Class.newInitializer(\"klass\");\n klass.superclass = superConstr;\n\n var protoclass = function() { }; // that's the constructor of the new prototype object\n protoclass.prototype = superConstr.prototype;\n\n klass.prototype = new protoclass();\n\n // Object.extend(klass.prototype, constr.prototype);\n klass.prototype.constructor = klass;\n var className = constr.name; // getName()\n klass.addMethods({initialize: constr});\n // KP: .name would be better but js ignores .name on anonymous functions\n klass.type = className;\n\n\n if (optProtos) klass.addMethods(optProtos);\n if (optStatics) Object.extend(klass, optStatics);\n\n Global[className] = klass;\n return klass;\n },\n\n isValidIdentifier: function(str) {\n return /^(?:[a-zA-Z_][\\w\\-]*[.])*[a-zA-Z_][\\w\\-]*$/.test(str);\n },\n\n isClass: function Class$isClass(object) {\n if (object === Object\n || object === Array\n || object === Function\n || object === String\n || object === Number) {\n return true;\n }\n return (object instanceof Function) && (object.superclass !== undefined);\n },\n\n className: function Class$className(cl) {\n if (cl === Object) return \"Object\"\n if (cl === Array) return \"Array\"\n if (cl === Function) return \"Function\"\n if (cl === String) return \"String\"\n if (cl === Number) return \"Number\"\n return cl.type;\n },\n\n forName: function forName(name) {\n // lookup the class object given the qualified name\n var ns = Class.namespaceFor(name),\n shortName = Class.unqualifiedNameFor(name);\n return ns[shortName];\n },\n\n deleteObjectNamed: function Class$deleteObjectNamed(name) {\n var ns = Class.namespaceFor(name),\n shortName = Class.unqualifiedNameFor(name);\n delete ns[shortName];\n },\n\n unqualifiedNameFor: function Class$unqualifiedNameFor(name) {\n var lastDot = name.lastIndexOf('.'), // lastDot may be -1\n unqualifiedName = name.substring(lastDot + 1);\n if (!Class.isValidIdentifier(unqualifiedName)) throw new Error('not a name ' + unqualifiedName);\n return unqualifiedName;\n },\n\n namespaceFor: function Class$namespaceFor(className) {\n // get the namespace object given the qualified name\n var lastDot = className ? className.lastIndexOf('.') : -1;\n if (lastDot < 0) return Global;\n else return namespace(className.substring(0, lastDot));\n },\n\n withAllClassNames: function Class$withAllClassNames(scope, callback) {\n for (var name in scope) {\n try {\n if (Class.isClass(scope[name]))\n callback(name);\n } catch (er) { // FF exceptions\n }\n }\n callback(\"Object\");\n callback(\"Global\");\n },\n\n makeEnum: function Class$makeEnum(strings) {\n // simple mechanism for making objecs with property values set to\n // property names, to be used as enums.\n\n var e = {};\n for (var i = 0; i < strings.length; i++) {\n e[strings[i]] = strings[i];\n }\n return e;\n },\n\n getConstructor: function Class$getConstructor(object) {\n var c = object.constructor;\n return (c && c.getOriginal) ? c.getOriginal() : c;\n },\n\n getPrototype: function Class$getPrototype(object) {\n return this.getConstructor(object).prototype;\n },\n\n applyPrototypeMethod: function Class$applyPrototypeMethod(methodName, target, args) {\n var method = this.getPrototype(target);\n if (!method) throw new Error(\"method \" + methodName + \" not found\");\n return method.apply(this, args);\n },\n\n getSuperConstructor: function Class$getSuperConstructor(object) {\n return this.getConstructor(object).superclass;\n },\n\n getSuperPrototype: function Class$getSuperPrototype(object) {\n var sup = this.getSuperConstructor(object);\n return sup && sup.prototype;\n },\n\n addPins: function Class$addPins(cls, spec) {\n if (Global.Relay) {\n Class.addMixin(cls, Relay.newDelegationMixin(spec).prototype);\n return;\n }\n // this is for refactoring away from Relay and friends\n if (!Object.isArray(spec)) throw new Error('Cannot deal with non-Array spec in addPins');\n function unstripName(name) { return name.replace(/[\\+|\\-]?(.*)/, '$1') };\n function needsSetter(name) { return !name.startsWith('-') };\n function needsGetter(name) { return !name.startsWith('+') };\n var mixinSpec = {};\n spec.forEach(function(specString) {\n var name = unstripName(specString);\n if (needsSetter(specString))\n mixinSpec['set' + name] = function(value) { return this['_' + name] = value }\n if (needsGetter(specString))\n mixinSpec['get' + name] = function() { return this['_' + name] }\n })\n Class.addMixin(cls, mixinSpec);\n },\n\n addMixin: function Class$addMixin(cls, source) {\n var spec = {};\n for (var prop in source) {\n var value = source[prop];\n switch (prop) {\n case \"constructor\": case \"initialize\": case \"deserialize\": case \"copyFrom\":\n case \"toString\": case \"definition\": case \"description\":\n break;\n default:\n if (cls.prototype[prop] === undefined) // do not override existing values!\n spec[prop] = value;\n }\n }\n cls.addMethods(spec);\n },\n\n};\n\nObject.subclass('Namespace',\n'initializing', {\n\n initialize: function(context, nsName) {\n this.namespaceIdentifier = context.namespaceIdentifier + '.' + nsName;\n this.createTime = new Date();\n },\n},\n'accessing', {\n gather: function(selector, condition, recursive) {\n var result = Object.values(this).select(function(ea) { return condition.call(this, ea) }, this);\n if (!recursive) return result;\n return this.subNamespaces().inject(result, function(result, ns) { return result.concat(ns[selector](true)) });\n },\n\n subNamespaces: function(recursive) {\n return this.gather(\n 'subNamespaces',\n function(ea) { return (ea instanceof lively.lang.Namespace || ea === Global) && ea !== this },\n recursive);\n },\n\n classes: function(recursive) {\n var normalClasses = this.gather(\n 'classes',\n function(ea) { return ea && ea !== this.constructor && Class.isClass(ea) },\n recursive);\n if (this === Global)\n return [Array, Number, String, Function].concat(normalClasses);\n return normalClasses;\n },\n\n functions: function(recursive) {\n return this.gather(\n 'functions',\n function(ea) { return ea\n && !Class.isClass(ea)\n && Object.isFunction(ea)\n && !ea.declaredClass\n && this.requires !== ea\n && ea.getOriginal() === ea },\n recursive);\n },\n\n});\n\n// let Glabal act like a namespace itself\nObject.extend(Global, Namespace.prototype);\nObject.extend(Global, {\n namespaceIdentifier: 'Global',\n isLoaded: Functions.True,\n});\n\nNamespace.addMethods(\n'properties', {\n isLivelyModule: true,\n},\n'initializing', {\n beAnonymous: function() {\n this._isAnonymous = true;\n this.sourceModuleName = lively.lang.Namespace.current().namespaceIdentifier;\n return this;\n },\n},\n'accessing', { // module specific, should be a subclass?\n\n name: function() {\n var identifier = this.namespaceIdentifier,\n globalIdStart = 'Global.';\n if (identifier.startsWith(globalIdStart)) {\n identifier = identifier.substring(globalIdStart.length);\n }\n return identifier;\n },\n\n findUri: function(optFileType) {\n var fileType = optFileType || 'js',\n fileExtension = '.' + fileType,\n namespacePrefix;\n if (this.namespaceIdentifier.startsWith('Global.')) {\n namespacePrefix = 'Global.';\n } else {\n throw dbgOn(new Error('unknown namespaceIdentifier'));\n }\n var relativePath = this.namespaceIdentifier\n .substr(namespacePrefix.length)\n .replace(/\\./g, '/');\n if (!relativePath.match(/\\.js$/)) {\n relativePath += fileExtension;\n }\n var uri = '';\n lively.Config.modulePaths.forEach(function(ea) {\n if (relativePath.substring(0, ea.length) == ea) {\n uri = lively.Config.rootPath + relativePath;\n }\n });\n if (uri == '') {\n uri = lively.Config.codeBase + relativePath;\n }\n return uri;\n },\n\n uri: function(optType) { // FIXME cleanup necessary\n if (this.__cachedUri && !optType) { return this.__cachedUri; }\n var url;\n if (this.fromDB) {\n var id = this.namespaceIdentifier; // something like lively.Core\n var namespacePrefix;\n if (id.startsWith('Global.')) {\n namespacePrefix = 'Global.';\n id = id.substring(7);\n } else\n throw dbgOn(new Error('unknown namespaceIdentifier'));\n\n // FIXME: extract to lively.Config.codeBaseDB\n url = lively.Config.couchDBURL + '/' + this.fromDB + '/_design/raw_data/_list/javascript/for-module?module=' + id;\n this.__cachedUri = url;\n return url;\n } else {\n var id = this.namespaceIdentifier; // something like lively.Core\n var namespacePrefix;\n if (!this.isAnonymous()) {\n url = this.findUri(optType);\n } else {\n if (id.startsWith('Global.')) namespacePrefix = 'Global.';\n else throw dbgOn(new Error('unknown namespaceIdentifier'));\n url = lively.Config.codeBase + this.namespaceIdentifier.substr(namespacePrefix.length).replace(/\\./g, '/');\n }\n\n this.__cachedUri = url;\n return url;\n }\n },\n relativePath: function(optType) {\n return new URL(this.uri(optType)).relativePathFrom(URL.codeBase);\n },\n\n lastPart: function() {\n return this.name().match(/[^.]+$/)[0];\n }\n\n},\n'module dependencies', {\n addDependendModule: function(depModule) {\n if (!this.dependendModules) this.dependendModules = [];\n this.dependendModules.push(depModule);\n\n // keep a copy of the dependencies for debugging\n if (!this.debugDependendModules) this.debugDependendModules = [];\n this.debugDependendModules.push(depModule);\n },\n\n informDependendModules: function() {\n if (!this.dependendModules) return;\n var deps = this.dependendModules.uniq();\n this.dependendModules = [];\n deps.forEach(function(ea) { ea.removeRequiredModule(this) }, this);\n },\n\n traceDependendModules: function(visited) {\n visited = visited || [];\n var deps = this.debugDependendModules || [];\n deps = deps.withoutAll(visited)\n visited.push(this);\n return [this.namespaceIdentifier, deps.collect(function(ea) {\n return ea.traceDependendModules(visited)\n })]\n },\n\n addRequiredModule: function(requiredModule) {\n // privateRequirements is just for keeping track later on\n if (!this.privateRequirements) this.privateRequirements = [];\n this.privateRequirements.push(requiredModule);\n\n if (requiredModule.isLoaded()) return;\n if (!this.pendingRequirements) this.pendingRequirements = [];\n this.pendingRequirements.push(requiredModule);\n requiredModule.addDependendModule(this);\n },\n\n removeRequiredModule: function(requiredModule) {\n if (this.pendingRequirements && !this.pendingRequirements.include(requiredModule))\n throw dbgOn(new Error('requiredModule not there'));\n this.pendingRequirements = this.pendingRequirements.without(requiredModule);\n if (!this.hasPendingRequirements()) {\n this.load();\n }\n },\n\n pendingRequirementNames: function() {\n if (!this.pendingRequirements) return [];\n return this.pendingRequirements.collect(function(ea) { return ea.uri() });\n },\n\n hasPendingRequirements: function() {\n return this.pendingRequirements && this.pendingRequirements.length > 0;\n },\n\n loadRequirementsFirst: function() {\n this.pendingRequirements && this.pendingRequirements.invoke('load');\n },\n\n wasRequiredBy: function() {\n return Global.subNamespaces(true).select(function(m) {\n return m.privateRequirements && m.privateRequirements.include(this);\n }, this);\n },\n},\n'load callbacks', {\n addOnloadCallback: function(cb) {\n if (!this.callbacks) this.callbacks = [];\n this.callbacks.push(cb);\n },\n\n runOnloadCallbacks: function() {\n if (!this.callbacks) return;\n var cb;\n while (cb = this.callbacks.shift()) {\n try {cb()} catch(e) {\n this.logError('runOnloadCallbacks: ' + cb.name + ': ' + e);\n throw e\n }\n };\n },\n\n isAnonymous: function() {\n return this._isAnonymous\n },\n\n},\n'testing', {\n isLoaded: function() {\n return this._isLoaded;\n },\n\n isLoading: function() {\n if (this.isLoaded()) return false;\n if (this.uri().include('anonymous')) return true;\n return JSLoader.scriptInDOM(this.uri());\n },\n\n isAnonymous: function() {\n return this._isAnonymous\n },\n\n},\n'loading', {\n load: function(loadSync) {\n if (loadSync) {\n var prevWasSync = this.constructor.loadSync;\n this.constructor.loadSync = true;\n }\n if (this.isLoaded()) {\n this.runOnloadCallbacks();\n return;\n }\n if (this.isLoading() && this.wasDefined && !this.hasPendingRequirements()) {\n this.runOnloadCallbacks();\n // time is not only the time needed for the request and code evaluation\n // but the complete time span from the creation of the module (when the module is first encountered)\n // to evaluation the evaluation of its code, including load time of all requirements\n var time = this.createTime ? new Date() - this.createTime : 'na';\n console.log(this.uri() + ' loaded in ' + time + ' ms');\n this.informDependendModules();\n return;\n }\n if (this.isLoading()) {\n this.loadRequirementsFirst();\n return;\n }\n JSLoader.loadJs(this.uri(), null, this.constructor.loadSync);\n if (loadSync) this.constructor.loadSync = prevWasSync;\n },\n\n activate: function() {\n this.constructor.namespaceStack.push(this);\n },\n\n deactivate: function() {\n var m = this.constructor.namespaceStack.pop();\n if (m !== this)\n throw new Error('Wrong module: ' + this.namespaceIdentifier +\n ' instead of expected ' + m.namespaceIdentifier )\n },\n},\n'removing', {\n remove: function() {\n var ownerNamespace = Class.namespaceFor(this.namespaceIdentifier),\n ownName = Class.unqualifiedNameFor(this.namespaceIdentifier)\n JSLoader.removeAllScriptsThatLinkTo(this.uri());\n delete ownerNamespace[ownName];\n },\n removeScriptNode: function() {\n var node = document.getElementById(this.uri());\n if (!node) return\n node.parentNode.removeChild(node);\n },\n},\n'debugging', {\n toString: function() { return 'module(' + this.namespaceIdentifier + ')' },\n inspect: function() { this.toString() + ' defined at ' + this.defStack },\n logError: function(e, optCode) {\n var list = this.traceDependendModules();\n var msg = 'Error while loading ' + this.moduleName + ': ' + e;\n msg += '\\ndependencies: ' + Strings.printNested(list)\n if (Global.lively && lively.morphic && lively.morphic.World && lively.morphic.World.current() && lively.morphic.World.current().logError)\n lively.morphic.World.current().logError(e)\n\n if (e.stack) msg = msg + e.stack;\n\n if (optCode)\n msg += \"code:\\n\" + optCode;\n console.error(msg);\n dbgOn(true);\n },\n});\n\nObject.extend(Namespace, {\n namespaceStack: [Global],\n current: function() { return this.namespaceStack.last() },\n topologicalSortLoadedModules: function() {\n if (lively.Config.standAlone) {\n var scripIds = [];\n $('body script').each(function() { scripIds.push($(this).attr('id')) });\n return scripIds.collect(function(id) {\n var name = id.replace(/^..\\//, '');\n return module(name);\n });\n }\n\n // get currently loaded modules that really are js files\n var modules = Global.subNamespaces(true)\n .reject(function(ea) { return ea.isAnonymous(); })\n .select(function(ea) {\n return ea.isLoaded() && new WebResource(ea.uri()).exists() });\n\n // topological sort modules according to their requirements\n var sortedModules = [], i = 0;\n while (i < 1000 && modules.length > 0) {\n i++;\n var canBeLoaded = modules.select(function(module) {\n if (!module.privateRequirements) return true;\n return module.privateRequirements.all(function(requirement) {\n return sortedModules.include(requirement) })\n })\n sortedModules = sortedModules.concat(canBeLoaded);\n modules = modules.withoutAll(canBeLoaded);\n }\n if (modules.length > 0)\n throw new Error('Cannot find dependencies for all modules!');\n\n return sortedModules;\n },\n\n bootstrapModules: function() {\n // return a string to include in bootstrap.js\n var urls = this.topologicalSortLoadedModules()\n .collect(function(ea) { return new URL(ea.uri()).relativePathFrom(URL.codeBase) })\n // omit modules outside of core\n .reject(function(path) { return path.startsWith('..') });\n var manual = [LivelyLoader.libsFile,\n 'lively/Migration.js',\n 'lively/JSON.js',\n 'lively/lang/Object.js',\n 'lively/lang/Function.js',\n 'lively/lang/String.js',\n 'lively/lang/Array.js',\n 'lively/lang/Number.js',\n 'lively/lang/Date.js',\n 'lively/defaultconfig.js',\n 'lively/localconfig.js',\n 'lively/Base.js',\n 'lively/lang/Closure.js', // FIXME: require module instead\n 'lively/lang/UUID.js', // FIXME: require module instead\n 'lively/LocalStorage.js'];\n urls = manual.concat(urls);\n return urls;\n },\n\n bootstrapModulesString: function() {\n var urls = this.bootstrapModules();\n return '[\\'' + urls.join('\\', \\'') + '\\']';\n }\n});\n\n(function createLivelyNamespace(Global) {\n // namespace('lively.lang');\n var preExistingLively = Global.lively;\n delete Global.lively;\n var lively = new Global.Namespace(Global, 'lively');\n // FIXME this is just a hack to get properties of a potentially\n // predefined \"lively\" object over to the namespace lively object\n // namespaces should deal with this in general\n if (preExistingLively) {\n for (var name in preExistingLively) {\n lively[name] = preExistingLively[name];\n }\n }\n Global.lively = lively;\n})(Global);\n\n(function moveNamespaceClassToLivelyLang(Global) {\n var lively = Global.lively,\n Namespace = Global.Namespace;\n lively.lang = new Namespace(lively, 'lang');\n lively.lang.Namespace = Namespace;\n // alias\n lively.Module = lively.lang.Namespace;\n delete Global.Namespace;\n})(Global);\n\n(function addUsefulStuffToLivelyNS(Global, lively) {\n lively.assert = Global.assert;\n})(Global, lively);\n\nObject.extend(lively.Module, {\n findAllInThenDo: function(url, callback) {\n var dir = new URL(url).getDirectory();\n if (url.isLeaf()) {\n throw new Error(url + ' is not a directory!');\n }\n var webR = dir.asWebResource();\n lively.bindings.connect(webR, 'subDocuments', {onLoad: function(files) {\n var moduleNames = files.invoke('getURL') .invoke('asModuleName'),\n modules = moduleNames.collect(function(name) { return module(name); })\n callback(modules);\n }}, 'onLoad');\n webR.getSubElements();\n }\n});\n\n(function setupLivelyLang(lively) {\n lively.lang.Execution = {\n showStack: Functions.Null,\n resetDebuggingStack: Functions.Null,\n installStackTracers: Functions.Null\n };\n lively.lang.let = function(/** **/) {\n // lively.lang.let(y, function(x) { body }) is equivalent to { let y = x; body; }\n return arguments[arguments.length - 1].apply(this, arguments);\n }\n})(lively);\n\n/*\n * Stack Viewer when Dan's StackTracer is not available\n * FIXME rk: move this to Helper.js?\n */\nfunction getStack() {\n var result = [];\n for(var caller = arguments.callee.caller; caller; caller = caller.caller) {\n if (result.indexOf(caller) != -1) {\n result.push({name: \"recursive call can't be traced\"});\n break;\n }\n result.push(caller);\n };\n return result;\n};\n\nfunction printStack() {\n function guessFunctionName(func) {\n var qName = func.qualifiedMethodName && func.qualifiedMethodName(),\n regExpRes = func.toString().match(/function (.+)\\(/);\n return qName || (regExpRes && regExpRes[1]) || func;\n };\n\n var string = \"== Stack ==\\n\",\n stack = getStack();\n stack.shift(); // for getStack\n stack.shift(); // for printStack (me)\n var indent = \"\";\n for (var i=0; i < stack.length; i++) {\n string += indent + i + \": \" +guessFunctionName(stack[i]) + \"\\n\";\n indent += \" \";\n };\n return string;\n};\n\nfunction logStack() {\n this.console.log(printStack());\n};\n\n(function setupjQuery(Global) {\n var lively = Global.lively,\n jQuery = Global.jQuery;\n // we still are adding jQuery to Global but this is DEPRECATED\n // We need to be able to run with libraries requiring different jQuery versions\n // so we will restrict \"our\" to lively.$ in the future\n Global.$ = lively.$ = jQuery.noConflict(/*true -- really removes $*/);\n})(Global);","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"72":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"73":{"morph":{"__isSmartRef__":true,"id":69},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"74":{"submorphs":[{"__isSmartRef__":true,"id":75},{"__isSmartRef__":true,"id":1327},{"__isSmartRef__":true,"id":1338},{"__isSmartRef__":true,"id":189},{"__isSmartRef__":true,"id":481},{"__isSmartRef__":true,"id":557},{"__isSmartRef__":true,"id":588},{"__isSmartRef__":true,"id":1349},{"__isSmartRef__":true,"id":69},{"__isSmartRef__":true,"id":84},{"__isSmartRef__":true,"id":98},{"__isSmartRef__":true,"id":112},{"__isSmartRef__":true,"id":126},{"__isSmartRef__":true,"id":140},{"__isSmartRef__":true,"id":154},{"__isSmartRef__":true,"id":168}],"scripts":[],"shape":{"__isSmartRef__":true,"id":1357},"eventHandler":{"__isSmartRef__":true,"id":1358},"_ClipMode":"visible","derivationIds":[],"id":"3CF2E661-DB36-489C-89CD-032BE38C9521","droppingEnabled":true,"halosEnabled":true,"layout":{"__isSmartRef__":true,"id":1359},"locationPane":{"__isSmartRef__":true,"id":75},"codeBaseDirBtn":{"__isSmartRef__":true,"id":1327},"localDirBtn":{"__isSmartRef__":true,"id":1338},"Pane1":{"__isSmartRef__":true,"id":189},"Pane2":{"__isSmartRef__":true,"id":481},"Pane3":{"__isSmartRef__":true,"id":557},"Pane4":{"__isSmartRef__":true,"id":588},"midResizer":{"__isSmartRef__":true,"id":1349},"sourcePane":{"__isSmartRef__":true,"id":69},"ownerWidget":{"__isSmartRef__":true,"id":82},"owner":null,"ownerApp":{"__isSmartRef__":true,"id":82},"targetURL":{"__isSmartRef__":true,"id":187},"prevScroll":[0,0],"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.ide.BrowserPanel","__SourceModuleName__":"Global.lively.ide.BrowserFramework","_Position":"lively.pt(4.0,22.0)"},"75":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":76},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":77}],"eventHandler":{"__isSmartRef__":true,"id":79},"_ClipMode":"hidden","derivationIds":[],"id":"B414D7F5-01D3-4B6A-AC31-FAB9F75700E1","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":true,"_HandStyle":null,"allowInput":true,"_FontFamily":"Helvetica","_FontSize":8,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":74},"isInputLine":true,"layout":{"__isSmartRef__":true,"id":80},"noEval":true,"styleClass":["Browser_locationInput"],"attributeConnections":[{"__isSmartRef__":true,"id":81}],"doNotSerialize":["$$savedTextString"],"doNotCopyProperties":["$$savedTextString"],"__serializedExpressions__":["_TextColor","_Position"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(102,102,102)","_Position":"lively.pt(0.0,0.0)"},"76":{"_BorderWidth":0,"__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(453.6,21.5)","_Padding":"lively.rect(1,1,0,0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(255,255,255)"},"77":{"style":{"__isSmartRef__":true,"id":78},"chunkOwner":{"__isSmartRef__":true,"id":75},"_id":"_20050","storedString":"http://lively-kernel.org/repository/webwerkstatt/core/lively/","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"78":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"79":{"morph":{"__isSmartRef__":true,"id":75},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"80":{"scaleVertical":true,"scaleHorizontal":true},"81":{"sourceObj":{"__isSmartRef__":true,"id":75},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":82},"targetMethodName":"setTargetURL","varMapping":{"__isSmartRef__":true,"id":1326},"converterString":"function (value) { return new URL(value) }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"82":{"buttonCommands":[{"__isSmartRef__":true,"id":83},{"__isSmartRef__":true,"id":97},{"__isSmartRef__":true,"id":111},{"__isSmartRef__":true,"id":125},{"__isSmartRef__":true,"id":139},{"__isSmartRef__":true,"id":153},{"__isSmartRef__":true,"id":167}],"RootFilters":[{"__isSmartRef__":true,"id":181}],"Pane1Filters":[{"__isSmartRef__":true,"id":182},{"__isSmartRef__":true,"id":183}],"Pane2Filters":[{"__isSmartRef__":true,"id":184}],"Pane3Filters":[{"__isSmartRef__":true,"id":185}],"Pane4Filters":[{"__isSmartRef__":true,"id":186}],"evaluate":true,"targetURL":{"__isSmartRef__":true,"id":187},"panel":{"__isSmartRef__":true,"id":74},"attributeConnections":[{"__isSmartRef__":true,"id":188},{"__isSmartRef__":true,"id":480},{"__isSmartRef__":true,"id":556},{"__isSmartRef__":true,"id":587},{"__isSmartRef__":true,"id":616},{"__isSmartRef__":true,"id":618}],"SourceString":"/*\n * Copyright (c) 2006-2009 Sun Microsystems, Inc.\n * Copyright (c) 2008-2011 Hasso Plattner Institute\n *\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\n// set to the context enclosing the SVG context.\n// rk: replaced \"this.window.top || this.window\" with \"this.window\"\n// rk: when is it necessary to use the parent context?\nvar Global = this.window || GLOBAL /*for Node.js*/;\nfunction dbgOn(cond, optMessage) {\n if (optMessage) console.log(optMessage);\n if (cond) debugger; // note that rhino has issues with this keyword\n // also call as: throw dbgOn(new Error(....))\n return cond;\n}\n\nfunction assert(value, message) {\n if (value) { return; }\n // capture the stack\n var stack;\n try { throw new Error() } catch(e) { stack = e.stack || '' };\n alert('Assertion failed' + (message ? ': ' + message : '!') + '\\n' + stack);\n};\n\n// namespace logic adapted from\n// http://higher-order.blogspot.com/2008/02/designing-clientserver-web-applications.html\nvar using = (function() {\n\n function Util(args) { // args is an escaping arguments array\n this.objects = Array.prototype.concat.apply([], args);\n //var ownArgs = this.objects = new Array(args.length);\n //for (var i = 0; i < args.length; i++) ownArgs[i] = args[i];\n };\n\n Util.prototype = {\n\n log: function(msg) {\n console.log(msg);\n },\n\n run: function(inner) {\n var args = this.objects;\n if (this.moduleName) {\n // little convenience,\n if (args.length > 0) this.log('using().module(): ignoring args ' + args);\n return module(this.moduleName).requires().toRun(inner);\n } else return inner.apply(args[0], args);\n },\n\n model: function(model) {\n // KP: interestingly, declaring the above as \"model: function model(model)\"\n // seems to bind model to to the function, not the formal parameter, at least in rhino!\n this.model = model;\n return this;\n },\n\n module: function(moduleName) {\n this.moduleName = moduleName;\n return this;\n },\n\n link: function link(literal, variableMap) {\n variableMap = variableMap || {};\n return new lively.data.Resolver().link(literal, [], undefined, variableMap, this.objects, this.model);\n },\n\n extend: function extend(base, extLiteral) {\n return this.link(Object.extend(Object.clone(base), extLiteral));\n },\n\n test: function(inner) {\n try {\n return this.run(inner);\n } catch (er) {\n alert('test failed: ' + er);\n return undefined;\n }\n }\n }\n\n return function using() {\n return new Util(arguments);\n }\n})();\n\n\nfunction namespace(spec, context) {\n var codeDB;\n if (spec[0] == '$') {\n codeDB = spec.substring(1, spec.indexOf('.'));\n spec = spec.substring(spec.indexOf('.') + 1);\n }\n var ret = __oldNamespace(spec, context);\n if (codeDB) {\n ret.fromDB = codeDB;\n }\n return ret;\n};\n\n\nfunction __oldNamespace(spec, context) {\n var i,N;\n context = context || Global;\n spec = spec.valueOf();\n if (typeof spec === 'object') {\n if (typeof spec.length === 'number') {//assume an array-like object\n for (i = 0,N = spec.length; i < N; i++) {\n return namespace(spec[i], context);\n }\n } else {//spec is a specification object e.g, {com: {trifork: ['model,view']}}\n for (i in spec) if (spec.hasOwnProperty(i)) {\n context[i] = context[i] || new lively.lang.Namespace(context, i);\n return namespace(spec[i], context[i]);//recursively descend tree\n }\n }\n } else if (typeof spec === 'string') {\n (function handleStringCase() {\n var parts;\n parts = spec.split('.');\n for (i = 0, N = parts.length; i= 0) {\n ea.pendingRequirements = [];\n ea.load();\n testModuleLoad.delay(6);\n }\n\t});\n console.log('Module load check done. ' + modules.length + ' modules loaded.');\n}).delay(10);\n\nfunction module(moduleName) {\n\n moduleName = LivelyMigrationSupport.fixModuleName(moduleName);\n\n function isNamespaceAwareModule(moduleName) {\n return moduleName && !moduleName.endsWith('.js');\n }\n\n function convertUrlToNSIdentifier(url) {\n var result = url;\n result = result.replace(/\\//g, '.');\n // get rid of '.js'\n if (result.endsWith('.js')) result = result.substring(0, result.lastIndexOf('.'));\n return result;\n }\n\n function createNamespaceModule(moduleName) {\n return namespace(isNamespaceAwareModule(moduleName) ? moduleName : convertUrlToNSIdentifier(moduleName));\n }\n\n function basicRequire(/*module, requiredModuleNameOrAnArray, anotherRequiredModuleName, ...*/) {\n // support modulenames as array and parameterlist\n var args = $A(arguments),\n module = args.shift(),\n preReqModuleNames = Object.isArray(args[0]) ? args[0] : args,\n requiredModules = [];\n for (var i = 0; i < preReqModuleNames.length; i++) {\n var name = LivelyMigrationSupport.fixModuleName(preReqModuleNames[i]),\n reqModule = createNamespaceModule(name);\n module.addRequiredModule(reqModule);\n requiredModules.push(reqModule);\n }\n\n return {\n toRun: function(code) {\n var debugCode = code;\n code = code.curry(module); // pass in own module name for nested requirements\n var codeWrapper = function() { // run code with namespace modules as additional parameters\n try {\n module.activate();\n code.apply(this, requiredModules);\n module._isLoaded = true;\n } catch(e) {\n module.logError(module + '>>basicRequire: ' + e, debugCode)\n } finally {\n module.deactivate();\n }\n }\n module.addOnloadCallback(codeWrapper);\n module.load();\n }\n };\n };\n\n dbgOn(!Object.isString(moduleName));\n var module = createNamespaceModule(moduleName);\n module.wasDefined = true;\n module.requires = basicRequire.curry(module);\n return module;\n};\n\nfunction require(/*requiredModuleNameOrAnArray, anotherRequiredModuleName, ...*/) {\n var getUniqueName = function() { return 'anonymous_module_' + require.counter },\n args = $A(arguments);\n require.counter !== undefined ? require.counter++ : require.counter = 0;\n var m = module(getUniqueName()).beAnonymous();\n if (lively.Config.showModuleDefStack)\n try { throw new Error() } catch(e) { m.defStack = e.stack }\n return m.requires(Object.isArray(args[0]) ? args[0] : args);\n};\n\n\n// ===========================================================================\n// Our JS library extensions (JS 1.5, no particular browser or graphics engine)\n// ===========================================================================\n\n/**\n * LK class system.\n */\n\nObject.extend(Function.prototype, {\n\n defaultCategoryName: 'default category',\n\n subclass: function(/*... */) {\n // Main method of the LK class system.\n\n // {className} is the name of the new class constructor which this method synthesizes\n // and binds to {className} in the Global namespace.\n // Remaining arguments are (inline) properties and methods to be copied into the prototype\n // of the newly created constructor.\n\n // modified from prototype.js\n\n var args = $A(arguments),\n className = args.shift(),\n targetScope = Global,\n shortName = null;\n\n if (className) {\n targetScope = Class.namespaceFor(className);\n shortName = Class.unqualifiedNameFor(className);\n } else {\n shortName = \"anonymous_\" + (Class.anonymousCounter++);\n className = shortName;\n }\n\n var klass;\n if (className && targetScope[shortName] && (targetScope[shortName].superclass === this)) {\n // preserve the class to allow using the subclass construct in interactive development\n klass = targetScope[shortName];\n } else {\n klass = Class.newInitializer(shortName);\n klass.superclass = this;\n var protoclass = function() { }; // that's the constructor of the new prototype object\n protoclass.prototype = this.prototype;\n klass.prototype = new protoclass();\n klass.prototype.constructor = klass;\n klass.prototype.constructor.type = className; // KP: .name would be better but js ignores .name on anonymous functions\n klass.prototype.constructor.displayName = className; // for debugging, because name can not be assigned\n if (className) targetScope[shortName] = klass; // otherwise it's anonymous\n\n // remember the module that contains the class def\n if (Global.lively && lively.lang && lively.lang.Namespace)\n klass.sourceModule = lively.lang.Namespace.current();\n };\n\n // the remaining args should be category strings or source objects\n this.addMethods.apply(klass, args);\n\n if (!klass.prototype.initialize)\n klass.prototype.initialize = Functions.Empty;\n\n return klass;\n },\n\n addMethods: function(/*...*/) {\n var args = arguments,\n category = this.defaultCategoryName,\n traits = [];\n for (var i = 0; i < args.length; i++) {\n if (Object.isString(args[i])) {\n category = args[i];\n } else if (Global.RealTrait && args[i] instanceof RealTrait) {\n // FIXME Traits are optional and defined in lively.Traits\n // This should go somewhere into lively.Traits...\n // we apply traits afterwards because they can override behavior\n traits.push(args[i]);\n } else {\n this.addCategorizedMethods(category, args[i] instanceof Function ? (args[i])() : args[i]);\n }\n }\n for (i = 0; i < traits.length; i++) {\n traits[i].applyTo(this);\n }\n },\n\n addCategorizedMethods: function(categoryName, source) {\n // first parameter is a category name\n // copy all the methods and properties from {source} into the\n // prototype property of the receiver, which is intended to be\n // a class constructor. Method arguments named '$super' are treated\n // specially, see Prototype.js documentation for \"Class.create()\" for details.\n // derived from Class.Methods.addMethods() in prototype.js\n\n // prepare the categories\n if (!this.categories) this.categories = {};\n if (!this.categories[categoryName]) this.categories[categoryName] = [];\n var currentCategoryNames = this.categories[categoryName];\n\n if (!source)\n throw dbgOn(new Error('no source in addCategorizedMethods!'));\n\n var ancestor = this.superclass && this.superclass.prototype;\n\n var className = this.type || \"Anonymous\";\n\n for (var property in source) {\n\n if (property == 'constructor') continue;\n\n var getter = source.__lookupGetter__(property);\n if (getter) this.prototype.__defineGetter__(property, getter);\n var setter = source.__lookupSetter__(property);\n if (setter) this.prototype.__defineSetter__(property, setter);\n if (getter || setter) continue;\n\n currentCategoryNames.push(property);\n\n var value = source[property];\n // weirdly, RegExps are functions in Safari, so testing for\n // Object.isFunction on regexp field values will return true.\n // But they're not full-blown functions and don't\n // inherit argumentNames from Function.prototype\n\n var hasSuperCall = ancestor && Object.isFunction(value) &&\n value.argumentNames && value.argumentNames().first() == \"$super\";\n if (hasSuperCall) {\n // wrapped in a function to save the value of 'method' for advice\n (function() {\n var method = value,\n advice = (function(m) {\n var cs = function callSuper() {\n var method = ancestor[m];\n if (!method) {\n throw new Error(Strings.format('Trying to call super of' +\n '%s>>%s but super method non existing in %s',\n className, m, ancestor.constructor.type));\n }\n return method.apply(this, arguments);\n };\n cs.varMapping = {ancestor: ancestor, m: m};\n cs.isSuperCall = true;\n return cs;\n })(property);\n\n advice.methodName = \"$super:\" + (this.superclass ? this.superclass.type + \">>\" : \"\") + property;\n\n value = Object.extend(advice.wrap(method), {\n valueOf: function() { return method },\n toString: function() { return method.toString() },\n originalFunction: method,\n methodName: advice.methodName,\n isSuperWrapper: true\n });\n // for lively.Closures\n method.varMapping = {$super: advice};\n })();\n }\n\n this.prototype[property] = value;\n\n if (property === \"formals\") { // rk FIXME remove this cruft\n // special property (used to be pins, but now called formals to disambiguate old and new style\n Class.addPins(this, value);\n } else if (Object.isFunction(value)) {\n // remember name for profiling in WebKit\n value.displayName = className + \"$\" + property;\n\n // remember where it was defined\n if (Global.lively && lively.lang && lively.lang.Namespace)\n value.sourceModule = lively.lang.Namespace.current();\n\n for (; value; value = value.originalFunction) {\n if (value.methodName) {\n //console.log(\"class \" + this.prototype.constructor.type\n // + \" borrowed \" + value.qualifiedMethodName());\n }\n value.declaredClass = this.prototype.constructor.type;\n value.methodName = property;\n }\n }\n } // end of for (var property in source)\n\n return this;\n },\n\n\n addProperties: function(spec, recordType) {\n Class.addMixin(this, recordType.prototype.create(spec).prototype);\n },\n\n isSubclassOf: function(aClass) {\n return this.superclasses().include(aClass);\n },\n\n allSubclasses: function() {\n var klass = this;\n return Global.classes(true).select(function(ea) { return ea.isSubclassOf(klass) });\n },\n withAllSubclasses: function() { return [this].concat(this.allSubclasses()) },\n\n\n directSubclasses: function() {\n var klass = this;\n return Global.classes(true).select(function(ea) { return ea.superclass === klass });\n },\n\n withAllSortedSubclassesDo: function(func) {\n // this method iterates func on all subclasses of klass (including klass)\n // it is ensured that the klasses are sorted by a) subclass relationship and b) name (not type!)\n // func gets as parameters: 1) the class 2) index in list 3) level of inheritance\n // compared to klass (1 for direct subclasses and so on)\n\n function createSortedSubclassList(klass, level) {\n var list = klass.directSubclasses()\n .sortBy(function(ea) { return ea.name.charCodeAt(0) })\n .collect(function(subclass) { return createSortedSubclassList(subclass, level + 1) })\n .flatten();\n return [{klass: klass, level: level}].concat(list)\n }\n\n return createSortedSubclassList(this, 0).collect(function(spec, idx) { return func(spec.klass, idx, spec.level) })\n },\n\n superclasses: function() {\n if (!this.superclass) return [];\n if (this.superclass === Object) return [Object];\n return this.superclass.superclasses().concat([this.superclass]);\n },\n\n categoryNameFor: function(propName) {\n for (var categoryName in this.categories) {\n if (this.categories[categoryName].include(propName)) {\n return categoryName;\n }\n }\n return null;\n },\n remove: function() {\n var ownerNamespace = Class.namespaceFor(this.type),\n ownName = Class.unqualifiedNameFor(this.type);\n delete ownerNamespace[ownName];\n },\n\n});\n\nvar Class = {\n\n anonymousCounter: 0,\n\n initializerTemplate: (function CLASS(){ Class.initializer.apply(this, arguments) }).toString(),\n\n newInitializer: function(name) {\n // this hack ensures that class instances have a name\n return eval(Class.initializerTemplate.replace(/CLASS/g, name) + \";\" + name);\n },\n\n initializer: function initializer() {\n var firstArg = arguments[0];\n // maybe special initialization required\n if (firstArg && firstArg.isImporter) {\n this.deserialize.apply(this, arguments);\n } else if (firstArg && firstArg.isCopier) {\n this.copyFrom.apply(this, arguments);\n } else if (firstArg && firstArg.isInstanceRestorer) {\n // just do nothing\n // for WebCards and other JSON-based dersialization logic\n } else {\n // if this.initialize is undefined then prolly the constructor was called without 'new'\n this.initialize.apply(this, arguments);\n }\n },\n\n def: function Class$def(constr, superConstr, optProtos, optStatics) {\n // currently not used\n // Main method of the LK class system.\n\n // {className} is the name of the new class constructor which this method synthesizes\n // and binds to {className} in the Global namespace.\n // Remaining arguments are (inline) properties and methods to be copied into the prototype\n // of the newly created constructor.\n\n // modified from prototype.js\n\n var klass = Class.newInitializer(\"klass\");\n klass.superclass = superConstr;\n\n var protoclass = function() { }; // that's the constructor of the new prototype object\n protoclass.prototype = superConstr.prototype;\n\n klass.prototype = new protoclass();\n\n // Object.extend(klass.prototype, constr.prototype);\n klass.prototype.constructor = klass;\n var className = constr.name; // getName()\n klass.addMethods({initialize: constr});\n // KP: .name would be better but js ignores .name on anonymous functions\n klass.type = className;\n\n\n if (optProtos) klass.addMethods(optProtos);\n if (optStatics) Object.extend(klass, optStatics);\n\n Global[className] = klass;\n return klass;\n },\n\n isValidIdentifier: function(str) {\n return /^(?:[a-zA-Z_][\\w\\-]*[.])*[a-zA-Z_][\\w\\-]*$/.test(str);\n },\n\n isClass: function Class$isClass(object) {\n if (object === Object\n || object === Array\n || object === Function\n || object === String\n || object === Number) {\n return true;\n }\n return (object instanceof Function) && (object.superclass !== undefined);\n },\n\n className: function Class$className(cl) {\n if (cl === Object) return \"Object\"\n if (cl === Array) return \"Array\"\n if (cl === Function) return \"Function\"\n if (cl === String) return \"String\"\n if (cl === Number) return \"Number\"\n return cl.type;\n },\n\n forName: function forName(name) {\n // lookup the class object given the qualified name\n var ns = Class.namespaceFor(name),\n shortName = Class.unqualifiedNameFor(name);\n return ns[shortName];\n },\n\n deleteObjectNamed: function Class$deleteObjectNamed(name) {\n var ns = Class.namespaceFor(name),\n shortName = Class.unqualifiedNameFor(name);\n delete ns[shortName];\n },\n\n unqualifiedNameFor: function Class$unqualifiedNameFor(name) {\n var lastDot = name.lastIndexOf('.'), // lastDot may be -1\n unqualifiedName = name.substring(lastDot + 1);\n if (!Class.isValidIdentifier(unqualifiedName)) throw new Error('not a name ' + unqualifiedName);\n return unqualifiedName;\n },\n\n namespaceFor: function Class$namespaceFor(className) {\n // get the namespace object given the qualified name\n var lastDot = className ? className.lastIndexOf('.') : -1;\n if (lastDot < 0) return Global;\n else return namespace(className.substring(0, lastDot));\n },\n\n withAllClassNames: function Class$withAllClassNames(scope, callback) {\n for (var name in scope) {\n try {\n if (Class.isClass(scope[name]))\n callback(name);\n } catch (er) { // FF exceptions\n }\n }\n callback(\"Object\");\n callback(\"Global\");\n },\n\n makeEnum: function Class$makeEnum(strings) {\n // simple mechanism for making objecs with property values set to\n // property names, to be used as enums.\n\n var e = {};\n for (var i = 0; i < strings.length; i++) {\n e[strings[i]] = strings[i];\n }\n return e;\n },\n\n getConstructor: function Class$getConstructor(object) {\n var c = object.constructor;\n return (c && c.getOriginal) ? c.getOriginal() : c;\n },\n\n getPrototype: function Class$getPrototype(object) {\n return this.getConstructor(object).prototype;\n },\n\n applyPrototypeMethod: function Class$applyPrototypeMethod(methodName, target, args) {\n var method = this.getPrototype(target);\n if (!method) throw new Error(\"method \" + methodName + \" not found\");\n return method.apply(this, args);\n },\n\n getSuperConstructor: function Class$getSuperConstructor(object) {\n return this.getConstructor(object).superclass;\n },\n\n getSuperPrototype: function Class$getSuperPrototype(object) {\n var sup = this.getSuperConstructor(object);\n return sup && sup.prototype;\n },\n\n addPins: function Class$addPins(cls, spec) {\n if (Global.Relay) {\n Class.addMixin(cls, Relay.newDelegationMixin(spec).prototype);\n return;\n }\n // this is for refactoring away from Relay and friends\n if (!Object.isArray(spec)) throw new Error('Cannot deal with non-Array spec in addPins');\n function unstripName(name) { return name.replace(/[\\+|\\-]?(.*)/, '$1') };\n function needsSetter(name) { return !name.startsWith('-') };\n function needsGetter(name) { return !name.startsWith('+') };\n var mixinSpec = {};\n spec.forEach(function(specString) {\n var name = unstripName(specString);\n if (needsSetter(specString))\n mixinSpec['set' + name] = function(value) { return this['_' + name] = value }\n if (needsGetter(specString))\n mixinSpec['get' + name] = function() { return this['_' + name] }\n })\n Class.addMixin(cls, mixinSpec);\n },\n\n addMixin: function Class$addMixin(cls, source) {\n var spec = {};\n for (var prop in source) {\n var value = source[prop];\n switch (prop) {\n case \"constructor\": case \"initialize\": case \"deserialize\": case \"copyFrom\":\n case \"toString\": case \"definition\": case \"description\":\n break;\n default:\n if (cls.prototype[prop] === undefined) // do not override existing values!\n spec[prop] = value;\n }\n }\n cls.addMethods(spec);\n },\n\n};\n\nObject.subclass('Namespace',\n'initializing', {\n\n initialize: function(context, nsName) {\n this.namespaceIdentifier = context.namespaceIdentifier + '.' + nsName;\n this.createTime = new Date();\n },\n},\n'accessing', {\n gather: function(selector, condition, recursive) {\n var result = Object.values(this).select(function(ea) { return condition.call(this, ea) }, this);\n if (!recursive) return result;\n return this.subNamespaces().inject(result, function(result, ns) { return result.concat(ns[selector](true)) });\n },\n\n subNamespaces: function(recursive) {\n return this.gather(\n 'subNamespaces',\n function(ea) { return (ea instanceof lively.lang.Namespace || ea === Global) && ea !== this },\n recursive);\n },\n\n classes: function(recursive) {\n var normalClasses = this.gather(\n 'classes',\n function(ea) { return ea && ea !== this.constructor && Class.isClass(ea) },\n recursive);\n if (this === Global)\n return [Array, Number, String, Function].concat(normalClasses);\n return normalClasses;\n },\n\n functions: function(recursive) {\n return this.gather(\n 'functions',\n function(ea) { return ea\n && !Class.isClass(ea)\n && Object.isFunction(ea)\n && !ea.declaredClass\n && this.requires !== ea\n && ea.getOriginal() === ea },\n recursive);\n },\n\n});\n\n// let Glabal act like a namespace itself\nObject.extend(Global, Namespace.prototype);\nObject.extend(Global, {\n namespaceIdentifier: 'Global',\n isLoaded: Functions.True,\n});\n\nNamespace.addMethods(\n'properties', {\n isLivelyModule: true,\n},\n'initializing', {\n beAnonymous: function() {\n this._isAnonymous = true;\n this.sourceModuleName = lively.lang.Namespace.current().namespaceIdentifier;\n return this;\n },\n},\n'accessing', { // module specific, should be a subclass?\n\n name: function() {\n var identifier = this.namespaceIdentifier,\n globalIdStart = 'Global.';\n if (identifier.startsWith(globalIdStart)) {\n identifier = identifier.substring(globalIdStart.length);\n }\n return identifier;\n },\n\n findUri: function(optFileType) {\n var fileType = optFileType || 'js',\n fileExtension = '.' + fileType,\n namespacePrefix;\n if (this.namespaceIdentifier.startsWith('Global.')) {\n namespacePrefix = 'Global.';\n } else {\n throw dbgOn(new Error('unknown namespaceIdentifier'));\n }\n var relativePath = this.namespaceIdentifier\n .substr(namespacePrefix.length)\n .replace(/\\./g, '/');\n if (!relativePath.match(/\\.js$/)) {\n relativePath += fileExtension;\n }\n var uri = '';\n lively.Config.modulePaths.forEach(function(ea) {\n if (relativePath.substring(0, ea.length) == ea) {\n uri = lively.Config.rootPath + relativePath;\n }\n });\n if (uri == '') {\n uri = lively.Config.codeBase + relativePath;\n }\n return uri;\n },\n\n uri: function(optType) { // FIXME cleanup necessary\n if (this.__cachedUri && !optType) { return this.__cachedUri; }\n var url;\n if (this.fromDB) {\n var id = this.namespaceIdentifier; // something like lively.Core\n var namespacePrefix;\n if (id.startsWith('Global.')) {\n namespacePrefix = 'Global.';\n id = id.substring(7);\n } else\n throw dbgOn(new Error('unknown namespaceIdentifier'));\n\n // FIXME: extract to lively.Config.codeBaseDB\n url = lively.Config.couchDBURL + '/' + this.fromDB + '/_design/raw_data/_list/javascript/for-module?module=' + id;\n this.__cachedUri = url;\n return url;\n } else {\n var id = this.namespaceIdentifier; // something like lively.Core\n var namespacePrefix;\n if (!this.isAnonymous()) {\n url = this.findUri(optType);\n } else {\n if (id.startsWith('Global.')) namespacePrefix = 'Global.';\n else throw dbgOn(new Error('unknown namespaceIdentifier'));\n url = lively.Config.codeBase + this.namespaceIdentifier.substr(namespacePrefix.length).replace(/\\./g, '/');\n }\n\n this.__cachedUri = url;\n return url;\n }\n },\n relativePath: function(optType) {\n return new URL(this.uri(optType)).relativePathFrom(URL.codeBase);\n },\n\n lastPart: function() {\n return this.name().match(/[^.]+$/)[0];\n }\n\n},\n'module dependencies', {\n addDependendModule: function(depModule) {\n if (!this.dependendModules) this.dependendModules = [];\n this.dependendModules.push(depModule);\n\n // keep a copy of the dependencies for debugging\n if (!this.debugDependendModules) this.debugDependendModules = [];\n this.debugDependendModules.push(depModule);\n },\n\n informDependendModules: function() {\n if (!this.dependendModules) return;\n var deps = this.dependendModules.uniq();\n this.dependendModules = [];\n deps.forEach(function(ea) { ea.removeRequiredModule(this) }, this);\n },\n\n traceDependendModules: function(visited) {\n visited = visited || [];\n var deps = this.debugDependendModules || [];\n deps = deps.withoutAll(visited)\n visited.push(this);\n return [this.namespaceIdentifier, deps.collect(function(ea) {\n return ea.traceDependendModules(visited)\n })]\n },\n\n addRequiredModule: function(requiredModule) {\n // privateRequirements is just for keeping track later on\n if (!this.privateRequirements) this.privateRequirements = [];\n this.privateRequirements.push(requiredModule);\n\n if (requiredModule.isLoaded()) return;\n if (!this.pendingRequirements) this.pendingRequirements = [];\n this.pendingRequirements.push(requiredModule);\n requiredModule.addDependendModule(this);\n },\n\n removeRequiredModule: function(requiredModule) {\n if (this.pendingRequirements && !this.pendingRequirements.include(requiredModule))\n throw dbgOn(new Error('requiredModule not there'));\n this.pendingRequirements = this.pendingRequirements.without(requiredModule);\n if (!this.hasPendingRequirements()) {\n this.load();\n }\n },\n\n pendingRequirementNames: function() {\n if (!this.pendingRequirements) return [];\n return this.pendingRequirements.collect(function(ea) { return ea.uri() });\n },\n\n hasPendingRequirements: function() {\n return this.pendingRequirements && this.pendingRequirements.length > 0;\n },\n\n loadRequirementsFirst: function() {\n this.pendingRequirements && this.pendingRequirements.invoke('load');\n },\n\n wasRequiredBy: function() {\n return Global.subNamespaces(true).select(function(m) {\n return m.privateRequirements && m.privateRequirements.include(this);\n }, this);\n },\n},\n'load callbacks', {\n addOnloadCallback: function(cb) {\n if (!this.callbacks) this.callbacks = [];\n this.callbacks.push(cb);\n },\n\n runOnloadCallbacks: function() {\n if (!this.callbacks) return;\n var cb;\n while (cb = this.callbacks.shift()) {\n try {cb()} catch(e) {\n this.logError('runOnloadCallbacks: ' + cb.name + ': ' + e);\n throw e\n }\n };\n },\n\n isAnonymous: function() {\n return this._isAnonymous\n },\n\n},\n'testing', {\n isLoaded: function() {\n return this._isLoaded;\n },\n\n isLoading: function() {\n if (this.isLoaded()) return false;\n if (this.uri().include('anonymous')) return true;\n return JSLoader.scriptInDOM(this.uri());\n },\n\n isAnonymous: function() {\n return this._isAnonymous\n },\n\n},\n'loading', {\n load: function(loadSync) {\n if (loadSync) {\n var prevWasSync = this.constructor.loadSync;\n this.constructor.loadSync = true;\n }\n if (this.isLoaded()) {\n this.runOnloadCallbacks();\n return;\n }\n if (this.isLoading() && this.wasDefined && !this.hasPendingRequirements()) {\n this.runOnloadCallbacks();\n // time is not only the time needed for the request and code evaluation\n // but the complete time span from the creation of the module (when the module is first encountered)\n // to evaluation the evaluation of its code, including load time of all requirements\n var time = this.createTime ? new Date() - this.createTime : 'na';\n console.log(this.uri() + ' loaded in ' + time + ' ms');\n this.informDependendModules();\n return;\n }\n if (this.isLoading()) {\n this.loadRequirementsFirst();\n return;\n }\n JSLoader.loadJs(this.uri(), null, this.constructor.loadSync);\n if (loadSync) this.constructor.loadSync = prevWasSync;\n },\n\n activate: function() {\n this.constructor.namespaceStack.push(this);\n },\n\n deactivate: function() {\n var m = this.constructor.namespaceStack.pop();\n if (m !== this)\n throw new Error('Wrong module: ' + this.namespaceIdentifier +\n ' instead of expected ' + m.namespaceIdentifier )\n },\n},\n'removing', {\n remove: function() {\n var ownerNamespace = Class.namespaceFor(this.namespaceIdentifier),\n ownName = Class.unqualifiedNameFor(this.namespaceIdentifier)\n JSLoader.removeAllScriptsThatLinkTo(this.uri());\n delete ownerNamespace[ownName];\n },\n removeScriptNode: function() {\n var node = document.getElementById(this.uri());\n if (!node) return\n node.parentNode.removeChild(node);\n },\n},\n'debugging', {\n toString: function() { return 'module(' + this.namespaceIdentifier + ')' },\n inspect: function() { this.toString() + ' defined at ' + this.defStack },\n logError: function(e, optCode) {\n var list = this.traceDependendModules();\n var msg = 'Error while loading ' + this.moduleName + ': ' + e;\n msg += '\\ndependencies: ' + Strings.printNested(list)\n if (Global.lively && lively.morphic && lively.morphic.World && lively.morphic.World.current() && lively.morphic.World.current().logError)\n lively.morphic.World.current().logError(e)\n\n if (e.stack) msg = msg + e.stack;\n\n if (optCode)\n msg += \"code:\\n\" + optCode;\n console.error(msg);\n dbgOn(true);\n },\n});\n\nObject.extend(Namespace, {\n namespaceStack: [Global],\n current: function() { return this.namespaceStack.last() },\n topologicalSortLoadedModules: function() {\n if (lively.Config.standAlone) {\n var scripIds = [];\n $('body script').each(function() { scripIds.push($(this).attr('id')) });\n return scripIds.collect(function(id) {\n var name = id.replace(/^..\\//, '');\n return module(name);\n });\n }\n\n // get currently loaded modules that really are js files\n var modules = Global.subNamespaces(true)\n .reject(function(ea) { return ea.isAnonymous(); })\n .select(function(ea) {\n return ea.isLoaded() && new WebResource(ea.uri()).exists() });\n\n // topological sort modules according to their requirements\n var sortedModules = [], i = 0;\n while (i < 1000 && modules.length > 0) {\n i++;\n var canBeLoaded = modules.select(function(module) {\n if (!module.privateRequirements) return true;\n return module.privateRequirements.all(function(requirement) {\n return sortedModules.include(requirement) })\n })\n sortedModules = sortedModules.concat(canBeLoaded);\n modules = modules.withoutAll(canBeLoaded);\n }\n if (modules.length > 0)\n throw new Error('Cannot find dependencies for all modules!');\n\n return sortedModules;\n },\n\n bootstrapModules: function() {\n // return a string to include in bootstrap.js\n var urls = this.topologicalSortLoadedModules()\n .collect(function(ea) { return new URL(ea.uri()).relativePathFrom(URL.codeBase) })\n // omit modules outside of core\n .reject(function(path) { return path.startsWith('..') });\n var manual = [LivelyLoader.libsFile,\n 'lively/Migration.js',\n 'lively/JSON.js',\n 'lively/lang/Object.js',\n 'lively/lang/Function.js',\n 'lively/lang/String.js',\n 'lively/lang/Array.js',\n 'lively/lang/Number.js',\n 'lively/lang/Date.js',\n 'lively/defaultconfig.js',\n 'lively/localconfig.js',\n 'lively/Base.js',\n 'lively/lang/Closure.js', // FIXME: require module instead\n 'lively/lang/UUID.js', // FIXME: require module instead\n 'lively/LocalStorage.js'];\n urls = manual.concat(urls);\n return urls;\n },\n\n bootstrapModulesString: function() {\n var urls = this.bootstrapModules();\n return '[\\'' + urls.join('\\', \\'') + '\\']';\n }\n});\n\n(function createLivelyNamespace(Global) {\n // namespace('lively.lang');\n var preExistingLively = Global.lively;\n delete Global.lively;\n var lively = new Global.Namespace(Global, 'lively');\n // FIXME this is just a hack to get properties of a potentially\n // predefined \"lively\" object over to the namespace lively object\n // namespaces should deal with this in general\n if (preExistingLively) {\n for (var name in preExistingLively) {\n lively[name] = preExistingLively[name];\n }\n }\n Global.lively = lively;\n})(Global);\n\n(function moveNamespaceClassToLivelyLang(Global) {\n var lively = Global.lively,\n Namespace = Global.Namespace;\n lively.lang = new Namespace(lively, 'lang');\n lively.lang.Namespace = Namespace;\n // alias\n lively.Module = lively.lang.Namespace;\n delete Global.Namespace;\n})(Global);\n\n(function addUsefulStuffToLivelyNS(Global, lively) {\n lively.assert = Global.assert;\n})(Global, lively);\n\nObject.extend(lively.Module, {\n findAllInThenDo: function(url, callback) {\n var dir = new URL(url).getDirectory();\n if (url.isLeaf()) {\n throw new Error(url + ' is not a directory!');\n }\n var webR = dir.asWebResource();\n lively.bindings.connect(webR, 'subDocuments', {onLoad: function(files) {\n var moduleNames = files.invoke('getURL') .invoke('asModuleName'),\n modules = moduleNames.collect(function(name) { return module(name); })\n callback(modules);\n }}, 'onLoad');\n webR.getSubElements();\n }\n});\n\n(function setupLivelyLang(lively) {\n lively.lang.Execution = {\n showStack: Functions.Null,\n resetDebuggingStack: Functions.Null,\n installStackTracers: Functions.Null\n };\n lively.lang.let = function(/** **/) {\n // lively.lang.let(y, function(x) { body }) is equivalent to { let y = x; body; }\n return arguments[arguments.length - 1].apply(this, arguments);\n }\n})(lively);\n\n/*\n * Stack Viewer when Dan's StackTracer is not available\n * FIXME rk: move this to Helper.js?\n */\nfunction getStack() {\n var result = [];\n for(var caller = arguments.callee.caller; caller; caller = caller.caller) {\n if (result.indexOf(caller) != -1) {\n result.push({name: \"recursive call can't be traced\"});\n break;\n }\n result.push(caller);\n };\n return result;\n};\n\nfunction printStack() {\n function guessFunctionName(func) {\n var qName = func.qualifiedMethodName && func.qualifiedMethodName(),\n regExpRes = func.toString().match(/function (.+)\\(/);\n return qName || (regExpRes && regExpRes[1]) || func;\n };\n\n var string = \"== Stack ==\\n\",\n stack = getStack();\n stack.shift(); // for getStack\n stack.shift(); // for printStack (me)\n var indent = \"\";\n for (var i=0; i < stack.length; i++) {\n string += indent + i + \": \" +guessFunctionName(stack[i]) + \"\\n\";\n indent += \" \";\n };\n return string;\n};\n\nfunction logStack() {\n this.console.log(printStack());\n};\n\n(function setupjQuery(Global) {\n var lively = Global.lively,\n jQuery = Global.jQuery;\n // we still are adding jQuery to Global but this is DEPRECATED\n // We need to be able to run with libraries requiring different jQuery versions\n // so we will restrict \"our\" to lively.$ in the future\n Global.$ = lively.$ = jQuery.noConflict(/*true -- really removes $*/);\n})(Global);","sourceString":"/*\n * Copyright (c) 2006-2009 Sun Microsystems, Inc.\n * Copyright (c) 2008-2011 Hasso Plattner Institute\n *\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\n// set to the context enclosing the SVG context.\n// rk: replaced \"this.window.top || this.window\" with \"this.window\"\n// rk: when is it necessary to use the parent context?\nvar Global = this.window || GLOBAL /*for Node.js*/;\nfunction dbgOn(cond, optMessage) {\n if (optMessage) console.log(optMessage);\n if (cond) debugger; // note that rhino has issues with this keyword\n // also call as: throw dbgOn(new Error(....))\n return cond;\n}\n\nfunction assert(value, message) {\n if (value) { return; }\n // capture the stack\n var stack;\n try { throw new Error() } catch(e) { stack = e.stack || '' };\n alert('Assertion failed' + (message ? ': ' + message : '!') + '\\n' + stack);\n};\n\n// namespace logic adapted from\n// http://higher-order.blogspot.com/2008/02/designing-clientserver-web-applications.html\nvar using = (function() {\n\n function Util(args) { // args is an escaping arguments array\n this.objects = Array.prototype.concat.apply([], args);\n //var ownArgs = this.objects = new Array(args.length);\n //for (var i = 0; i < args.length; i++) ownArgs[i] = args[i];\n };\n\n Util.prototype = {\n\n log: function(msg) {\n console.log(msg);\n },\n\n run: function(inner) {\n var args = this.objects;\n if (this.moduleName) {\n // little convenience,\n if (args.length > 0) this.log('using().module(): ignoring args ' + args);\n return module(this.moduleName).requires().toRun(inner);\n } else return inner.apply(args[0], args);\n },\n\n model: function(model) {\n // KP: interestingly, declaring the above as \"model: function model(model)\"\n // seems to bind model to to the function, not the formal parameter, at least in rhino!\n this.model = model;\n return this;\n },\n\n module: function(moduleName) {\n this.moduleName = moduleName;\n return this;\n },\n\n link: function link(literal, variableMap) {\n variableMap = variableMap || {};\n return new lively.data.Resolver().link(literal, [], undefined, variableMap, this.objects, this.model);\n },\n\n extend: function extend(base, extLiteral) {\n return this.link(Object.extend(Object.clone(base), extLiteral));\n },\n\n test: function(inner) {\n try {\n return this.run(inner);\n } catch (er) {\n alert('test failed: ' + er);\n return undefined;\n }\n }\n }\n\n return function using() {\n return new Util(arguments);\n }\n})();\n\n\nfunction namespace(spec, context) {\n var codeDB;\n if (spec[0] == '$') {\n codeDB = spec.substring(1, spec.indexOf('.'));\n spec = spec.substring(spec.indexOf('.') + 1);\n }\n var ret = __oldNamespace(spec, context);\n if (codeDB) {\n ret.fromDB = codeDB;\n }\n return ret;\n};\n\n\nfunction __oldNamespace(spec, context) {\n var i,N;\n context = context || Global;\n spec = spec.valueOf();\n if (typeof spec === 'object') {\n if (typeof spec.length === 'number') {//assume an array-like object\n for (i = 0,N = spec.length; i < N; i++) {\n return namespace(spec[i], context);\n }\n } else {//spec is a specification object e.g, {com: {trifork: ['model,view']}}\n for (i in spec) if (spec.hasOwnProperty(i)) {\n context[i] = context[i] || new lively.lang.Namespace(context, i);\n return namespace(spec[i], context[i]);//recursively descend tree\n }\n }\n } else if (typeof spec === 'string') {\n (function handleStringCase() {\n var parts;\n parts = spec.split('.');\n for (i = 0, N = parts.length; i= 0) {\n ea.pendingRequirements = [];\n ea.load();\n testModuleLoad.delay(6);\n }\n\t});\n console.log('Module load check done. ' + modules.length + ' modules loaded.');\n}).delay(10);\n\nfunction module(moduleName) {\n\n moduleName = LivelyMigrationSupport.fixModuleName(moduleName);\n\n function isNamespaceAwareModule(moduleName) {\n return moduleName && !moduleName.endsWith('.js');\n }\n\n function convertUrlToNSIdentifier(url) {\n var result = url;\n result = result.replace(/\\//g, '.');\n // get rid of '.js'\n if (result.endsWith('.js')) result = result.substring(0, result.lastIndexOf('.'));\n return result;\n }\n\n function createNamespaceModule(moduleName) {\n return namespace(isNamespaceAwareModule(moduleName) ? moduleName : convertUrlToNSIdentifier(moduleName));\n }\n\n function basicRequire(/*module, requiredModuleNameOrAnArray, anotherRequiredModuleName, ...*/) {\n // support modulenames as array and parameterlist\n var args = $A(arguments),\n module = args.shift(),\n preReqModuleNames = Object.isArray(args[0]) ? args[0] : args,\n requiredModules = [];\n for (var i = 0; i < preReqModuleNames.length; i++) {\n var name = LivelyMigrationSupport.fixModuleName(preReqModuleNames[i]),\n reqModule = createNamespaceModule(name);\n module.addRequiredModule(reqModule);\n requiredModules.push(reqModule);\n }\n\n return {\n toRun: function(code) {\n var debugCode = code;\n code = code.curry(module); // pass in own module name for nested requirements\n var codeWrapper = function() { // run code with namespace modules as additional parameters\n try {\n module.activate();\n code.apply(this, requiredModules);\n module._isLoaded = true;\n } catch(e) {\n module.logError(module + '>>basicRequire: ' + e, debugCode)\n } finally {\n module.deactivate();\n }\n }\n module.addOnloadCallback(codeWrapper);\n module.load();\n }\n };\n };\n\n dbgOn(!Object.isString(moduleName));\n var module = createNamespaceModule(moduleName);\n module.wasDefined = true;\n module.requires = basicRequire.curry(module);\n return module;\n};\n\nfunction require(/*requiredModuleNameOrAnArray, anotherRequiredModuleName, ...*/) {\n var getUniqueName = function() { return 'anonymous_module_' + require.counter },\n args = $A(arguments);\n require.counter !== undefined ? require.counter++ : require.counter = 0;\n var m = module(getUniqueName()).beAnonymous();\n if (lively.Config.showModuleDefStack)\n try { throw new Error() } catch(e) { m.defStack = e.stack }\n return m.requires(Object.isArray(args[0]) ? args[0] : args);\n};\n\n\n// ===========================================================================\n// Our JS library extensions (JS 1.5, no particular browser or graphics engine)\n// ===========================================================================\n\n/**\n * LK class system.\n */\n\nObject.extend(Function.prototype, {\n\n defaultCategoryName: 'default category',\n\n subclass: function(/*... */) {\n // Main method of the LK class system.\n\n // {className} is the name of the new class constructor which this method synthesizes\n // and binds to {className} in the Global namespace.\n // Remaining arguments are (inline) properties and methods to be copied into the prototype\n // of the newly created constructor.\n\n // modified from prototype.js\n\n var args = $A(arguments),\n className = args.shift(),\n targetScope = Global,\n shortName = null;\n\n if (className) {\n targetScope = Class.namespaceFor(className);\n shortName = Class.unqualifiedNameFor(className);\n } else {\n shortName = \"anonymous_\" + (Class.anonymousCounter++);\n className = shortName;\n }\n\n var klass;\n if (className && targetScope[shortName] && (targetScope[shortName].superclass === this)) {\n // preserve the class to allow using the subclass construct in interactive development\n klass = targetScope[shortName];\n } else {\n klass = Class.newInitializer(shortName);\n klass.superclass = this;\n var protoclass = function() { }; // that's the constructor of the new prototype object\n protoclass.prototype = this.prototype;\n klass.prototype = new protoclass();\n klass.prototype.constructor = klass;\n klass.prototype.constructor.type = className; // KP: .name would be better but js ignores .name on anonymous functions\n klass.prototype.constructor.displayName = className; // for debugging, because name can not be assigned\n if (className) targetScope[shortName] = klass; // otherwise it's anonymous\n\n // remember the module that contains the class def\n if (Global.lively && lively.lang && lively.lang.Namespace)\n klass.sourceModule = lively.lang.Namespace.current();\n };\n\n // the remaining args should be category strings or source objects\n this.addMethods.apply(klass, args);\n\n if (!klass.prototype.initialize)\n klass.prototype.initialize = Functions.Empty;\n\n return klass;\n },\n\n addMethods: function(/*...*/) {\n var args = arguments,\n category = this.defaultCategoryName,\n traits = [];\n for (var i = 0; i < args.length; i++) {\n if (Object.isString(args[i])) {\n category = args[i];\n } else if (Global.RealTrait && args[i] instanceof RealTrait) {\n // FIXME Traits are optional and defined in lively.Traits\n // This should go somewhere into lively.Traits...\n // we apply traits afterwards because they can override behavior\n traits.push(args[i]);\n } else {\n this.addCategorizedMethods(category, args[i] instanceof Function ? (args[i])() : args[i]);\n }\n }\n for (i = 0; i < traits.length; i++) {\n traits[i].applyTo(this);\n }\n },\n\n addCategorizedMethods: function(categoryName, source) {\n // first parameter is a category name\n // copy all the methods and properties from {source} into the\n // prototype property of the receiver, which is intended to be\n // a class constructor. Method arguments named '$super' are treated\n // specially, see Prototype.js documentation for \"Class.create()\" for details.\n // derived from Class.Methods.addMethods() in prototype.js\n\n // prepare the categories\n if (!this.categories) this.categories = {};\n if (!this.categories[categoryName]) this.categories[categoryName] = [];\n var currentCategoryNames = this.categories[categoryName];\n\n if (!source)\n throw dbgOn(new Error('no source in addCategorizedMethods!'));\n\n var ancestor = this.superclass && this.superclass.prototype;\n\n var className = this.type || \"Anonymous\";\n\n for (var property in source) {\n\n if (property == 'constructor') continue;\n\n var getter = source.__lookupGetter__(property);\n if (getter) this.prototype.__defineGetter__(property, getter);\n var setter = source.__lookupSetter__(property);\n if (setter) this.prototype.__defineSetter__(property, setter);\n if (getter || setter) continue;\n\n currentCategoryNames.push(property);\n\n var value = source[property];\n // weirdly, RegExps are functions in Safari, so testing for\n // Object.isFunction on regexp field values will return true.\n // But they're not full-blown functions and don't\n // inherit argumentNames from Function.prototype\n\n var hasSuperCall = ancestor && Object.isFunction(value) &&\n value.argumentNames && value.argumentNames().first() == \"$super\";\n if (hasSuperCall) {\n // wrapped in a function to save the value of 'method' for advice\n (function() {\n var method = value,\n advice = (function(m) {\n var cs = function callSuper() {\n var method = ancestor[m];\n if (!method) {\n throw new Error(Strings.format('Trying to call super of' +\n '%s>>%s but super method non existing in %s',\n className, m, ancestor.constructor.type));\n }\n return method.apply(this, arguments);\n };\n cs.varMapping = {ancestor: ancestor, m: m};\n cs.isSuperCall = true;\n return cs;\n })(property);\n\n advice.methodName = \"$super:\" + (this.superclass ? this.superclass.type + \">>\" : \"\") + property;\n\n value = Object.extend(advice.wrap(method), {\n valueOf: function() { return method },\n toString: function() { return method.toString() },\n originalFunction: method,\n methodName: advice.methodName,\n isSuperWrapper: true\n });\n // for lively.Closures\n method.varMapping = {$super: advice};\n })();\n }\n\n this.prototype[property] = value;\n\n if (property === \"formals\") { // rk FIXME remove this cruft\n // special property (used to be pins, but now called formals to disambiguate old and new style\n Class.addPins(this, value);\n } else if (Object.isFunction(value)) {\n // remember name for profiling in WebKit\n value.displayName = className + \"$\" + property;\n\n // remember where it was defined\n if (Global.lively && lively.lang && lively.lang.Namespace)\n value.sourceModule = lively.lang.Namespace.current();\n\n for (; value; value = value.originalFunction) {\n if (value.methodName) {\n //console.log(\"class \" + this.prototype.constructor.type\n // + \" borrowed \" + value.qualifiedMethodName());\n }\n value.declaredClass = this.prototype.constructor.type;\n value.methodName = property;\n }\n }\n } // end of for (var property in source)\n\n return this;\n },\n\n\n addProperties: function(spec, recordType) {\n Class.addMixin(this, recordType.prototype.create(spec).prototype);\n },\n\n isSubclassOf: function(aClass) {\n return this.superclasses().include(aClass);\n },\n\n allSubclasses: function() {\n var klass = this;\n return Global.classes(true).select(function(ea) { return ea.isSubclassOf(klass) });\n },\n withAllSubclasses: function() { return [this].concat(this.allSubclasses()) },\n\n\n directSubclasses: function() {\n var klass = this;\n return Global.classes(true).select(function(ea) { return ea.superclass === klass });\n },\n\n withAllSortedSubclassesDo: function(func) {\n // this method iterates func on all subclasses of klass (including klass)\n // it is ensured that the klasses are sorted by a) subclass relationship and b) name (not type!)\n // func gets as parameters: 1) the class 2) index in list 3) level of inheritance\n // compared to klass (1 for direct subclasses and so on)\n\n function createSortedSubclassList(klass, level) {\n var list = klass.directSubclasses()\n .sortBy(function(ea) { return ea.name.charCodeAt(0) })\n .collect(function(subclass) { return createSortedSubclassList(subclass, level + 1) })\n .flatten();\n return [{klass: klass, level: level}].concat(list)\n }\n\n return createSortedSubclassList(this, 0).collect(function(spec, idx) { return func(spec.klass, idx, spec.level) })\n },\n\n superclasses: function() {\n if (!this.superclass) return [];\n if (this.superclass === Object) return [Object];\n return this.superclass.superclasses().concat([this.superclass]);\n },\n\n categoryNameFor: function(propName) {\n for (var categoryName in this.categories) {\n if (this.categories[categoryName].include(propName)) {\n return categoryName;\n }\n }\n return null;\n },\n remove: function() {\n var ownerNamespace = Class.namespaceFor(this.type),\n ownName = Class.unqualifiedNameFor(this.type);\n delete ownerNamespace[ownName];\n },\n\n});\n\nvar Class = {\n\n anonymousCounter: 0,\n\n initializerTemplate: (function CLASS(){ Class.initializer.apply(this, arguments) }).toString(),\n\n newInitializer: function(name) {\n // this hack ensures that class instances have a name\n return eval(Class.initializerTemplate.replace(/CLASS/g, name) + \";\" + name);\n },\n\n initializer: function initializer() {\n var firstArg = arguments[0];\n // maybe special initialization required\n if (firstArg && firstArg.isImporter) {\n this.deserialize.apply(this, arguments);\n } else if (firstArg && firstArg.isCopier) {\n this.copyFrom.apply(this, arguments);\n } else if (firstArg && firstArg.isInstanceRestorer) {\n // just do nothing\n // for WebCards and other JSON-based dersialization logic\n } else {\n // if this.initialize is undefined then prolly the constructor was called without 'new'\n this.initialize.apply(this, arguments);\n }\n },\n\n def: function Class$def(constr, superConstr, optProtos, optStatics) {\n // currently not used\n // Main method of the LK class system.\n\n // {className} is the name of the new class constructor which this method synthesizes\n // and binds to {className} in the Global namespace.\n // Remaining arguments are (inline) properties and methods to be copied into the prototype\n // of the newly created constructor.\n\n // modified from prototype.js\n\n var klass = Class.newInitializer(\"klass\");\n klass.superclass = superConstr;\n\n var protoclass = function() { }; // that's the constructor of the new prototype object\n protoclass.prototype = superConstr.prototype;\n\n klass.prototype = new protoclass();\n\n // Object.extend(klass.prototype, constr.prototype);\n klass.prototype.constructor = klass;\n var className = constr.name; // getName()\n klass.addMethods({initialize: constr});\n // KP: .name would be better but js ignores .name on anonymous functions\n klass.type = className;\n\n\n if (optProtos) klass.addMethods(optProtos);\n if (optStatics) Object.extend(klass, optStatics);\n\n Global[className] = klass;\n return klass;\n },\n\n isValidIdentifier: function(str) {\n return /^(?:[a-zA-Z_][\\w\\-]*[.])*[a-zA-Z_][\\w\\-]*$/.test(str);\n },\n\n isClass: function Class$isClass(object) {\n if (object === Object\n || object === Array\n || object === Function\n || object === String\n || object === Number) {\n return true;\n }\n return (object instanceof Function) && (object.superclass !== undefined);\n },\n\n className: function Class$className(cl) {\n if (cl === Object) return \"Object\"\n if (cl === Array) return \"Array\"\n if (cl === Function) return \"Function\"\n if (cl === String) return \"String\"\n if (cl === Number) return \"Number\"\n return cl.type;\n },\n\n forName: function forName(name) {\n // lookup the class object given the qualified name\n var ns = Class.namespaceFor(name),\n shortName = Class.unqualifiedNameFor(name);\n return ns[shortName];\n },\n\n deleteObjectNamed: function Class$deleteObjectNamed(name) {\n var ns = Class.namespaceFor(name),\n shortName = Class.unqualifiedNameFor(name);\n delete ns[shortName];\n },\n\n unqualifiedNameFor: function Class$unqualifiedNameFor(name) {\n var lastDot = name.lastIndexOf('.'), // lastDot may be -1\n unqualifiedName = name.substring(lastDot + 1);\n if (!Class.isValidIdentifier(unqualifiedName)) throw new Error('not a name ' + unqualifiedName);\n return unqualifiedName;\n },\n\n namespaceFor: function Class$namespaceFor(className) {\n // get the namespace object given the qualified name\n var lastDot = className ? className.lastIndexOf('.') : -1;\n if (lastDot < 0) return Global;\n else return namespace(className.substring(0, lastDot));\n },\n\n withAllClassNames: function Class$withAllClassNames(scope, callback) {\n for (var name in scope) {\n try {\n if (Class.isClass(scope[name]))\n callback(name);\n } catch (er) { // FF exceptions\n }\n }\n callback(\"Object\");\n callback(\"Global\");\n },\n\n makeEnum: function Class$makeEnum(strings) {\n // simple mechanism for making objecs with property values set to\n // property names, to be used as enums.\n\n var e = {};\n for (var i = 0; i < strings.length; i++) {\n e[strings[i]] = strings[i];\n }\n return e;\n },\n\n getConstructor: function Class$getConstructor(object) {\n var c = object.constructor;\n return (c && c.getOriginal) ? c.getOriginal() : c;\n },\n\n getPrototype: function Class$getPrototype(object) {\n return this.getConstructor(object).prototype;\n },\n\n applyPrototypeMethod: function Class$applyPrototypeMethod(methodName, target, args) {\n var method = this.getPrototype(target);\n if (!method) throw new Error(\"method \" + methodName + \" not found\");\n return method.apply(this, args);\n },\n\n getSuperConstructor: function Class$getSuperConstructor(object) {\n return this.getConstructor(object).superclass;\n },\n\n getSuperPrototype: function Class$getSuperPrototype(object) {\n var sup = this.getSuperConstructor(object);\n return sup && sup.prototype;\n },\n\n addPins: function Class$addPins(cls, spec) {\n if (Global.Relay) {\n Class.addMixin(cls, Relay.newDelegationMixin(spec).prototype);\n return;\n }\n // this is for refactoring away from Relay and friends\n if (!Object.isArray(spec)) throw new Error('Cannot deal with non-Array spec in addPins');\n function unstripName(name) { return name.replace(/[\\+|\\-]?(.*)/, '$1') };\n function needsSetter(name) { return !name.startsWith('-') };\n function needsGetter(name) { return !name.startsWith('+') };\n var mixinSpec = {};\n spec.forEach(function(specString) {\n var name = unstripName(specString);\n if (needsSetter(specString))\n mixinSpec['set' + name] = function(value) { return this['_' + name] = value }\n if (needsGetter(specString))\n mixinSpec['get' + name] = function() { return this['_' + name] }\n })\n Class.addMixin(cls, mixinSpec);\n },\n\n addMixin: function Class$addMixin(cls, source) {\n var spec = {};\n for (var prop in source) {\n var value = source[prop];\n switch (prop) {\n case \"constructor\": case \"initialize\": case \"deserialize\": case \"copyFrom\":\n case \"toString\": case \"definition\": case \"description\":\n break;\n default:\n if (cls.prototype[prop] === undefined) // do not override existing values!\n spec[prop] = value;\n }\n }\n cls.addMethods(spec);\n },\n\n};\n\nObject.subclass('Namespace',\n'initializing', {\n\n initialize: function(context, nsName) {\n this.namespaceIdentifier = context.namespaceIdentifier + '.' + nsName;\n this.createTime = new Date();\n },\n},\n'accessing', {\n gather: function(selector, condition, recursive) {\n var result = Object.values(this).select(function(ea) { return condition.call(this, ea) }, this);\n if (!recursive) return result;\n return this.subNamespaces().inject(result, function(result, ns) { return result.concat(ns[selector](true)) });\n },\n\n subNamespaces: function(recursive) {\n return this.gather(\n 'subNamespaces',\n function(ea) { return (ea instanceof lively.lang.Namespace || ea === Global) && ea !== this },\n recursive);\n },\n\n classes: function(recursive) {\n var normalClasses = this.gather(\n 'classes',\n function(ea) { return ea && ea !== this.constructor && Class.isClass(ea) },\n recursive);\n if (this === Global)\n return [Array, Number, String, Function].concat(normalClasses);\n return normalClasses;\n },\n\n functions: function(recursive) {\n return this.gather(\n 'functions',\n function(ea) { return ea\n && !Class.isClass(ea)\n && Object.isFunction(ea)\n && !ea.declaredClass\n && this.requires !== ea\n && ea.getOriginal() === ea },\n recursive);\n },\n\n});\n\n// let Glabal act like a namespace itself\nObject.extend(Global, Namespace.prototype);\nObject.extend(Global, {\n namespaceIdentifier: 'Global',\n isLoaded: Functions.True,\n});\n\nNamespace.addMethods(\n'properties', {\n isLivelyModule: true,\n},\n'initializing', {\n beAnonymous: function() {\n this._isAnonymous = true;\n this.sourceModuleName = lively.lang.Namespace.current().namespaceIdentifier;\n return this;\n },\n},\n'accessing', { // module specific, should be a subclass?\n\n name: function() {\n var identifier = this.namespaceIdentifier,\n globalIdStart = 'Global.';\n if (identifier.startsWith(globalIdStart)) {\n identifier = identifier.substring(globalIdStart.length);\n }\n return identifier;\n },\n\n findUri: function(optFileType) {\n var fileType = optFileType || 'js',\n fileExtension = '.' + fileType,\n namespacePrefix;\n if (this.namespaceIdentifier.startsWith('Global.')) {\n namespacePrefix = 'Global.';\n } else {\n throw dbgOn(new Error('unknown namespaceIdentifier'));\n }\n var relativePath = this.namespaceIdentifier\n .substr(namespacePrefix.length)\n .replace(/\\./g, '/');\n if (!relativePath.match(/\\.js$/)) {\n relativePath += fileExtension;\n }\n var uri = '';\n lively.Config.modulePaths.forEach(function(ea) {\n if (relativePath.substring(0, ea.length) == ea) {\n uri = lively.Config.rootPath + relativePath;\n }\n });\n if (uri == '') {\n uri = lively.Config.codeBase + relativePath;\n }\n return uri;\n },\n\n uri: function(optType) { // FIXME cleanup necessary\n if (this.__cachedUri && !optType) { return this.__cachedUri; }\n var url;\n if (this.fromDB) {\n var id = this.namespaceIdentifier; // something like lively.Core\n var namespacePrefix;\n if (id.startsWith('Global.')) {\n namespacePrefix = 'Global.';\n id = id.substring(7);\n } else\n throw dbgOn(new Error('unknown namespaceIdentifier'));\n\n // FIXME: extract to lively.Config.codeBaseDB\n url = lively.Config.couchDBURL + '/' + this.fromDB + '/_design/raw_data/_list/javascript/for-module?module=' + id;\n this.__cachedUri = url;\n return url;\n } else {\n var id = this.namespaceIdentifier; // something like lively.Core\n var namespacePrefix;\n if (!this.isAnonymous()) {\n url = this.findUri(optType);\n } else {\n if (id.startsWith('Global.')) namespacePrefix = 'Global.';\n else throw dbgOn(new Error('unknown namespaceIdentifier'));\n url = lively.Config.codeBase + this.namespaceIdentifier.substr(namespacePrefix.length).replace(/\\./g, '/');\n }\n\n this.__cachedUri = url;\n return url;\n }\n },\n relativePath: function(optType) {\n return new URL(this.uri(optType)).relativePathFrom(URL.codeBase);\n },\n\n lastPart: function() {\n return this.name().match(/[^.]+$/)[0];\n }\n\n},\n'module dependencies', {\n addDependendModule: function(depModule) {\n if (!this.dependendModules) this.dependendModules = [];\n this.dependendModules.push(depModule);\n\n // keep a copy of the dependencies for debugging\n if (!this.debugDependendModules) this.debugDependendModules = [];\n this.debugDependendModules.push(depModule);\n },\n\n informDependendModules: function() {\n if (!this.dependendModules) return;\n var deps = this.dependendModules.uniq();\n this.dependendModules = [];\n deps.forEach(function(ea) { ea.removeRequiredModule(this) }, this);\n },\n\n traceDependendModules: function(visited) {\n visited = visited || [];\n var deps = this.debugDependendModules || [];\n deps = deps.withoutAll(visited)\n visited.push(this);\n return [this.namespaceIdentifier, deps.collect(function(ea) {\n return ea.traceDependendModules(visited)\n })]\n },\n\n addRequiredModule: function(requiredModule) {\n // privateRequirements is just for keeping track later on\n if (!this.privateRequirements) this.privateRequirements = [];\n this.privateRequirements.push(requiredModule);\n\n if (requiredModule.isLoaded()) return;\n if (!this.pendingRequirements) this.pendingRequirements = [];\n this.pendingRequirements.push(requiredModule);\n requiredModule.addDependendModule(this);\n },\n\n removeRequiredModule: function(requiredModule) {\n if (this.pendingRequirements && !this.pendingRequirements.include(requiredModule))\n throw dbgOn(new Error('requiredModule not there'));\n this.pendingRequirements = this.pendingRequirements.without(requiredModule);\n if (!this.hasPendingRequirements()) {\n this.load();\n }\n },\n\n pendingRequirementNames: function() {\n if (!this.pendingRequirements) return [];\n return this.pendingRequirements.collect(function(ea) { return ea.uri() });\n },\n\n hasPendingRequirements: function() {\n return this.pendingRequirements && this.pendingRequirements.length > 0;\n },\n\n loadRequirementsFirst: function() {\n this.pendingRequirements && this.pendingRequirements.invoke('load');\n },\n\n wasRequiredBy: function() {\n return Global.subNamespaces(true).select(function(m) {\n return m.privateRequirements && m.privateRequirements.include(this);\n }, this);\n },\n},\n'load callbacks', {\n addOnloadCallback: function(cb) {\n if (!this.callbacks) this.callbacks = [];\n this.callbacks.push(cb);\n },\n\n runOnloadCallbacks: function() {\n if (!this.callbacks) return;\n var cb;\n while (cb = this.callbacks.shift()) {\n try {cb()} catch(e) {\n this.logError('runOnloadCallbacks: ' + cb.name + ': ' + e);\n throw e\n }\n };\n },\n\n isAnonymous: function() {\n return this._isAnonymous\n },\n\n},\n'testing', {\n isLoaded: function() {\n return this._isLoaded;\n },\n\n isLoading: function() {\n if (this.isLoaded()) return false;\n if (this.uri().include('anonymous')) return true;\n return JSLoader.scriptInDOM(this.uri());\n },\n\n isAnonymous: function() {\n return this._isAnonymous\n },\n\n},\n'loading', {\n load: function(loadSync) {\n if (loadSync) {\n var prevWasSync = this.constructor.loadSync;\n this.constructor.loadSync = true;\n }\n if (this.isLoaded()) {\n this.runOnloadCallbacks();\n return;\n }\n if (this.isLoading() && this.wasDefined && !this.hasPendingRequirements()) {\n this.runOnloadCallbacks();\n // time is not only the time needed for the request and code evaluation\n // but the complete time span from the creation of the module (when the module is first encountered)\n // to evaluation the evaluation of its code, including load time of all requirements\n var time = this.createTime ? new Date() - this.createTime : 'na';\n console.log(this.uri() + ' loaded in ' + time + ' ms');\n this.informDependendModules();\n return;\n }\n if (this.isLoading()) {\n this.loadRequirementsFirst();\n return;\n }\n JSLoader.loadJs(this.uri(), null, this.constructor.loadSync);\n if (loadSync) this.constructor.loadSync = prevWasSync;\n },\n\n activate: function() {\n this.constructor.namespaceStack.push(this);\n },\n\n deactivate: function() {\n var m = this.constructor.namespaceStack.pop();\n if (m !== this)\n throw new Error('Wrong module: ' + this.namespaceIdentifier +\n ' instead of expected ' + m.namespaceIdentifier )\n },\n},\n'removing', {\n remove: function() {\n var ownerNamespace = Class.namespaceFor(this.namespaceIdentifier),\n ownName = Class.unqualifiedNameFor(this.namespaceIdentifier)\n JSLoader.removeAllScriptsThatLinkTo(this.uri());\n delete ownerNamespace[ownName];\n },\n removeScriptNode: function() {\n var node = document.getElementById(this.uri());\n if (!node) return\n node.parentNode.removeChild(node);\n },\n},\n'debugging', {\n toString: function() { return 'module(' + this.namespaceIdentifier + ')' },\n inspect: function() { this.toString() + ' defined at ' + this.defStack },\n logError: function(e, optCode) {\n var list = this.traceDependendModules();\n var msg = 'Error while loading ' + this.moduleName + ': ' + e;\n msg += '\\ndependencies: ' + Strings.printNested(list)\n if (Global.lively && lively.morphic && lively.morphic.World && lively.morphic.World.current() && lively.morphic.World.current().logError)\n lively.morphic.World.current().logError(e)\n\n if (e.stack) msg = msg + e.stack;\n\n if (optCode)\n msg += \"code:\\n\" + optCode;\n console.error(msg);\n dbgOn(true);\n },\n});\n\nObject.extend(Namespace, {\n namespaceStack: [Global],\n current: function() { return this.namespaceStack.last() },\n topologicalSortLoadedModules: function() {\n if (lively.Config.standAlone) {\n var scripIds = [];\n $('body script').each(function() { scripIds.push($(this).attr('id')) });\n return scripIds.collect(function(id) {\n var name = id.replace(/^..\\//, '');\n return module(name);\n });\n }\n\n // get currently loaded modules that really are js files\n var modules = Global.subNamespaces(true)\n .reject(function(ea) { return ea.isAnonymous(); })\n .select(function(ea) {\n return ea.isLoaded() && new WebResource(ea.uri()).exists() });\n\n // topological sort modules according to their requirements\n var sortedModules = [], i = 0;\n while (i < 1000 && modules.length > 0) {\n i++;\n var canBeLoaded = modules.select(function(module) {\n if (!module.privateRequirements) return true;\n return module.privateRequirements.all(function(requirement) {\n return sortedModules.include(requirement) })\n })\n sortedModules = sortedModules.concat(canBeLoaded);\n modules = modules.withoutAll(canBeLoaded);\n }\n if (modules.length > 0)\n throw new Error('Cannot find dependencies for all modules!');\n\n return sortedModules;\n },\n\n bootstrapModules: function() {\n // return a string to include in bootstrap.js\n var urls = this.topologicalSortLoadedModules()\n .collect(function(ea) { return new URL(ea.uri()).relativePathFrom(URL.codeBase) })\n // omit modules outside of core\n .reject(function(path) { return path.startsWith('..') });\n var manual = [LivelyLoader.libsFile,\n 'lively/Migration.js',\n 'lively/JSON.js',\n 'lively/lang/Object.js',\n 'lively/lang/Function.js',\n 'lively/lang/String.js',\n 'lively/lang/Array.js',\n 'lively/lang/Number.js',\n 'lively/lang/Date.js',\n 'lively/defaultconfig.js',\n 'lively/localconfig.js',\n 'lively/Base.js',\n 'lively/lang/Closure.js', // FIXME: require module instead\n 'lively/lang/UUID.js', // FIXME: require module instead\n 'lively/LocalStorage.js'];\n urls = manual.concat(urls);\n return urls;\n },\n\n bootstrapModulesString: function() {\n var urls = this.bootstrapModules();\n return '[\\'' + urls.join('\\', \\'') + '\\']';\n }\n});\n\n(function createLivelyNamespace(Global) {\n // namespace('lively.lang');\n var preExistingLively = Global.lively;\n delete Global.lively;\n var lively = new Global.Namespace(Global, 'lively');\n // FIXME this is just a hack to get properties of a potentially\n // predefined \"lively\" object over to the namespace lively object\n // namespaces should deal with this in general\n if (preExistingLively) {\n for (var name in preExistingLively) {\n lively[name] = preExistingLively[name];\n }\n }\n Global.lively = lively;\n})(Global);\n\n(function moveNamespaceClassToLivelyLang(Global) {\n var lively = Global.lively,\n Namespace = Global.Namespace;\n lively.lang = new Namespace(lively, 'lang');\n lively.lang.Namespace = Namespace;\n // alias\n lively.Module = lively.lang.Namespace;\n delete Global.Namespace;\n})(Global);\n\n(function addUsefulStuffToLivelyNS(Global, lively) {\n lively.assert = Global.assert;\n})(Global, lively);\n\nObject.extend(lively.Module, {\n findAllInThenDo: function(url, callback) {\n var dir = new URL(url).getDirectory();\n if (url.isLeaf()) {\n throw new Error(url + ' is not a directory!');\n }\n var webR = dir.asWebResource();\n lively.bindings.connect(webR, 'subDocuments', {onLoad: function(files) {\n var moduleNames = files.invoke('getURL') .invoke('asModuleName'),\n modules = moduleNames.collect(function(name) { return module(name); })\n callback(modules);\n }}, 'onLoad');\n webR.getSubElements();\n }\n});\n\n(function setupLivelyLang(lively) {\n lively.lang.Execution = {\n showStack: Functions.Null,\n resetDebuggingStack: Functions.Null,\n installStackTracers: Functions.Null\n };\n lively.lang.let = function(/** **/) {\n // lively.lang.let(y, function(x) { body }) is equivalent to { let y = x; body; }\n return arguments[arguments.length - 1].apply(this, arguments);\n }\n})(lively);\n\n/*\n * Stack Viewer when Dan's StackTracer is not available\n * FIXME rk: move this to Helper.js?\n */\nfunction getStack() {\n var result = [];\n for(var caller = arguments.callee.caller; caller; caller = caller.caller) {\n if (result.indexOf(caller) != -1) {\n result.push({name: \"recursive call can't be traced\"});\n break;\n }\n result.push(caller);\n };\n return result;\n};\n\nfunction printStack() {\n function guessFunctionName(func) {\n var qName = func.qualifiedMethodName && func.qualifiedMethodName(),\n regExpRes = func.toString().match(/function (.+)\\(/);\n return qName || (regExpRes && regExpRes[1]) || func;\n };\n\n var string = \"== Stack ==\\n\",\n stack = getStack();\n stack.shift(); // for getStack\n stack.shift(); // for printStack (me)\n var indent = \"\";\n for (var i=0; i < stack.length; i++) {\n string += indent + i + \": \" +guessFunctionName(stack[i]) + \"\\n\";\n indent += \" \";\n };\n return string;\n};\n\nfunction logStack() {\n this.console.log(printStack());\n};\n\n(function setupjQuery(Global) {\n var lively = Global.lively,\n jQuery = Global.jQuery;\n // we still are adding jQuery to Global but this is DEPRECATED\n // We need to be able to run with libraries requiring different jQuery versions\n // so we will restrict \"our\" to lively.$ in the future\n Global.$ = lively.$ = jQuery.noConflict(/*true -- really removes $*/);\n})(Global);","doNotSerialize":["$$targetURL"],"doNotCopyProperties":["$$targetURL"],"_rootNode":{"__isSmartRef__":true,"id":194},"Pane1Selection":{"__isSmartRef__":true,"id":214},"pane1Selection":{"__isSmartRef__":true,"id":214},"Pane2Selection":null,"pane2Selection":null,"Pane3Selection":null,"pane3Selection":null,"Pane4Selection":null,"pane4Selection":null,"Pane4Content":["-----"],"Pane3Content":["-----"],"Pane2Content":[{"__isSmartRef__":true,"id":483},{"__isSmartRef__":true,"id":485},{"__isSmartRef__":true,"id":487},{"__isSmartRef__":true,"id":489},{"__isSmartRef__":true,"id":491},{"__isSmartRef__":true,"id":493},{"__isSmartRef__":true,"id":495},{"__isSmartRef__":true,"id":497},{"__isSmartRef__":true,"id":499},{"__isSmartRef__":true,"id":501},{"__isSmartRef__":true,"id":503},{"__isSmartRef__":true,"id":505},{"__isSmartRef__":true,"id":507},{"__isSmartRef__":true,"id":509},{"__isSmartRef__":true,"id":511},{"__isSmartRef__":true,"id":513},{"__isSmartRef__":true,"id":515},{"__isSmartRef__":true,"id":517},{"__isSmartRef__":true,"id":519},{"__isSmartRef__":true,"id":521},{"__isSmartRef__":true,"id":523},{"__isSmartRef__":true,"id":525},{"__isSmartRef__":true,"id":527}],"Pane1Content":[{"__isSmartRef__":true,"id":191},{"__isSmartRef__":true,"id":404},{"__isSmartRef__":true,"id":405},{"__isSmartRef__":true,"id":406},{"__isSmartRef__":true,"id":407},{"__isSmartRef__":true,"id":408},{"__isSmartRef__":true,"id":409},{"__isSmartRef__":true,"id":410},{"__isSmartRef__":true,"id":411},{"__isSmartRef__":true,"id":412},{"__isSmartRef__":true,"id":413},{"__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},{"__isSmartRef__":true,"id":422},{"__isSmartRef__":true,"id":423},{"__isSmartRef__":true,"id":424},{"__isSmartRef__":true,"id":425},{"__isSmartRef__":true,"id":426},{"__isSmartRef__":true,"id":427},{"__isSmartRef__":true,"id":428},{"__isSmartRef__":true,"id":429},{"__isSmartRef__":true,"id":430},{"__isSmartRef__":true,"id":431},{"__isSmartRef__":true,"id":432},{"__isSmartRef__":true,"id":433},{"__isSmartRef__":true,"id":434},{"__isSmartRef__":true,"id":435},{"__isSmartRef__":true,"id":436},{"__isSmartRef__":true,"id":437},{"__isSmartRef__":true,"id":438},{"__isSmartRef__":true,"id":439},{"__isSmartRef__":true,"id":440},{"__isSmartRef__":true,"id":441},{"__isSmartRef__":true,"id":442},{"__isSmartRef__":true,"id":443},{"__isSmartRef__":true,"id":444},{"__isSmartRef__":true,"id":445},{"__isSmartRef__":true,"id":446},{"__isSmartRef__":true,"id":447},{"__isSmartRef__":true,"id":448},{"__isSmartRef__":true,"id":449},{"__isSmartRef__":true,"id":450},{"__isSmartRef__":true,"id":451},{"__isSmartRef__":true,"id":452},{"__isSmartRef__":true,"id":453}],"view":{"__isSmartRef__":true,"id":620},"Pane1Menu":[["Add to world requirements"],["remove"],["reparse"],["-------"],["open in text editor"],["show versions"],["diff versions"],["get module part"]],"Pane2Menu":[["-------"],["add class"],["add object extension"],["add layer"],["open in text editor"],["show versions"],["diff versions"],["get module part"]],"Pane3Menu":[["-------"],["open in text editor"],["show versions"],["diff versions"],["get module part"]],"currentModuleName":"lively/Base.js","Pane4Menu":[["-------"],["view hierarchy"],["add method"]],"__LivelyClassName__":"lively.ide.SystemBrowser","__SourceModuleName__":"Global.lively.ide.SystemCodeBrowser"},"83":{"browser":{"__isSmartRef__":true,"id":82},"button":{"__isSmartRef__":true,"id":84},"__LivelyClassName__":"lively.ide.AddNewFileCommand","__SourceModuleName__":"Global.lively.ide.BrowserCommands"},"84":{"submorphs":[{"__isSmartRef__":true,"id":85}],"scripts":[],"shape":{"__isSmartRef__":true,"id":90},"eventHandler":{"__isSmartRef__":true,"id":91},"_ClipMode":"visible","derivationIds":[],"id":"D30977ED-D052-4519-97EF-BCBE81E5F051","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":85},"_PreviousBorderWidth":1,"command":{"__isSmartRef__":true,"id":83},"attributeConnections":[{"__isSmartRef__":true,"id":92},{"__isSmartRef__":true,"id":94}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"owner":{"__isSmartRef__":true,"id":74},"layout":{"__isSmartRef__":true,"id":96},"isPressed":false,"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,286.4)"},"85":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":86},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":87}],"eventHandler":{"__isSmartRef__":true,"id":89},"_ClipMode":"hidden","derivationIds":[],"id":"E5DD636A-F7F5-4F60-9717-12E8944C577D","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":9,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":84},"isLabel":true,"_Align":"center","eventsAreIgnored":true,"_TextStylingMode":true,"__serializedExpressions__":["_TextColor"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(0,0,0)"},"86":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(81.0,28.6)","_Padding":"lively.rect(0,4,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"87":{"style":{"__isSmartRef__":true,"id":88},"chunkOwner":{"__isSmartRef__":true,"id":85},"_id":"_19965","storedString":"Add module","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"88":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"89":{"morph":{"__isSmartRef__":true,"id":85},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"90":{"_BorderWidth":1,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(81.0,28.6)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"91":{"morph":{"__isSmartRef__":true,"id":84},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"92":{"sourceObj":{"__isSmartRef__":true,"id":84},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":83},"targetMethodName":"trigger","varMapping":{"__isSmartRef__":true,"id":93},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"93":{"source":{"__isSmartRef__":true,"id":84},"target":{"__isSmartRef__":true,"id":83}},"94":{"sourceObj":{"__isSmartRef__":true,"id":84},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":84},"targetMethodName":"setLabel","varMapping":{"__isSmartRef__":true,"id":95},"converterString":"function () { return this.getSourceObj().command.asString() }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"95":{"source":{"__isSmartRef__":true,"id":84},"target":{"__isSmartRef__":true,"id":84}},"96":{"scaleVertical":true,"scaleHorizontal":true},"97":{"browser":{"__isSmartRef__":true,"id":82},"button":{"__isSmartRef__":true,"id":98},"__LivelyClassName__":"lively.ide.AllModulesLoadCommand","__SourceModuleName__":"Global.lively.ide.BrowserCommands"},"98":{"submorphs":[{"__isSmartRef__":true,"id":99}],"scripts":[],"shape":{"__isSmartRef__":true,"id":104},"eventHandler":{"__isSmartRef__":true,"id":105},"_ClipMode":"visible","derivationIds":[],"id":"39DF27BD-B9F3-4B8F-B743-808F228E35F8","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":99},"_PreviousBorderWidth":1,"command":{"__isSmartRef__":true,"id":97},"attributeConnections":[{"__isSmartRef__":true,"id":106},{"__isSmartRef__":true,"id":108}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"owner":{"__isSmartRef__":true,"id":74},"layout":{"__isSmartRef__":true,"id":110},"isPressed":false,"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(81.0,286.4)"},"99":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":100},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":101}],"eventHandler":{"__isSmartRef__":true,"id":103},"_ClipMode":"hidden","derivationIds":[],"id":"00E5D186-E360-4121-9E4A-12D24AB90703","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":9,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":98},"isLabel":true,"_Align":"center","eventsAreIgnored":true,"_TextStylingMode":true,"__serializedExpressions__":["_TextColor"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(0,0,0)"},"100":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(81.0,28.6)","_Padding":"lively.rect(0,4,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"101":{"style":{"__isSmartRef__":true,"id":102},"chunkOwner":{"__isSmartRef__":true,"id":99},"_id":"_19968","storedString":"Load all","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"102":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"103":{"morph":{"__isSmartRef__":true,"id":99},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"104":{"_BorderWidth":1,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(81.0,28.6)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"105":{"morph":{"__isSmartRef__":true,"id":98},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"106":{"sourceObj":{"__isSmartRef__":true,"id":98},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":97},"targetMethodName":"trigger","varMapping":{"__isSmartRef__":true,"id":107},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"107":{"source":{"__isSmartRef__":true,"id":98},"target":{"__isSmartRef__":true,"id":97}},"108":{"sourceObj":{"__isSmartRef__":true,"id":98},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":98},"targetMethodName":"setLabel","varMapping":{"__isSmartRef__":true,"id":109},"converterString":"function () { return this.getSourceObj().command.asString() }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"109":{"source":{"__isSmartRef__":true,"id":98},"target":{"__isSmartRef__":true,"id":98}},"110":{"scaleVertical":true,"scaleHorizontal":true},"111":{"browser":{"__isSmartRef__":true,"id":82},"button":{"__isSmartRef__":true,"id":112},"__LivelyClassName__":"lively.ide.ShowLineNumbersCommand","__SourceModuleName__":"Global.lively.ide.BrowserCommands"},"112":{"submorphs":[{"__isSmartRef__":true,"id":113}],"scripts":[],"shape":{"__isSmartRef__":true,"id":118},"eventHandler":{"__isSmartRef__":true,"id":119},"_ClipMode":"visible","derivationIds":[],"id":"D4B76EFD-2DE1-4221-BE10-8D4AAD1C6B74","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":113},"_PreviousBorderWidth":1,"command":{"__isSmartRef__":true,"id":111},"attributeConnections":[{"__isSmartRef__":true,"id":120},{"__isSmartRef__":true,"id":122}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"owner":{"__isSmartRef__":true,"id":74},"layout":{"__isSmartRef__":true,"id":124},"isPressed":false,"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(162.0,286.4)"},"113":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":114},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":115}],"eventHandler":{"__isSmartRef__":true,"id":117},"_ClipMode":"hidden","derivationIds":[],"id":"64EA8117-FAEF-4951-80B6-F1A008796752","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":9,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":112},"isLabel":true,"_Align":"center","eventsAreIgnored":true,"_TextStylingMode":true,"__serializedExpressions__":["_TextColor"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(0,0,0)"},"114":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(81.0,28.6)","_Padding":"lively.rect(0,4,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"115":{"style":{"__isSmartRef__":true,"id":116},"chunkOwner":{"__isSmartRef__":true,"id":113},"_id":"_19971","storedString":"LineNo","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"116":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"117":{"morph":{"__isSmartRef__":true,"id":113},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"118":{"_BorderWidth":1,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(81.0,28.6)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"119":{"morph":{"__isSmartRef__":true,"id":112},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"120":{"sourceObj":{"__isSmartRef__":true,"id":112},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":111},"targetMethodName":"trigger","varMapping":{"__isSmartRef__":true,"id":121},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"121":{"source":{"__isSmartRef__":true,"id":112},"target":{"__isSmartRef__":true,"id":111}},"122":{"sourceObj":{"__isSmartRef__":true,"id":112},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":112},"targetMethodName":"setLabel","varMapping":{"__isSmartRef__":true,"id":123},"converterString":"function () { return this.getSourceObj().command.asString() }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"123":{"source":{"__isSmartRef__":true,"id":112},"target":{"__isSmartRef__":true,"id":112}},"124":{"scaleVertical":true,"scaleHorizontal":true},"125":{"browser":{"__isSmartRef__":true,"id":82},"button":{"__isSmartRef__":true,"id":126},"__LivelyClassName__":"lively.ide.ParserDebugCommand","__SourceModuleName__":"Global.lively.ide.BrowserCommands"},"126":{"submorphs":[{"__isSmartRef__":true,"id":127}],"scripts":[],"shape":{"__isSmartRef__":true,"id":132},"eventHandler":{"__isSmartRef__":true,"id":133},"_ClipMode":"visible","derivationIds":[],"id":"DE38F14F-73F4-412C-8F5B-0510EF3D714B","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":127},"_PreviousBorderWidth":1,"command":{"__isSmartRef__":true,"id":125},"attributeConnections":[{"__isSmartRef__":true,"id":134},{"__isSmartRef__":true,"id":136}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"owner":{"__isSmartRef__":true,"id":74},"layout":{"__isSmartRef__":true,"id":138},"isPressed":false,"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(243.0,286.4)"},"127":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":128},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":129}],"eventHandler":{"__isSmartRef__":true,"id":131},"_ClipMode":"hidden","derivationIds":[],"id":"72CC88AB-BF5B-49A9-B6F4-913AD9A944ED","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":9,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":126},"isLabel":true,"_Align":"center","eventsAreIgnored":true,"_TextStylingMode":true,"__serializedExpressions__":["_TextColor"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(0,0,0)"},"128":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(81.0,28.6)","_Padding":"lively.rect(0,4,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"129":{"style":{"__isSmartRef__":true,"id":130},"chunkOwner":{"__isSmartRef__":true,"id":127},"_id":"_19974","storedString":"Dbg errors is off","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"130":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"131":{"morph":{"__isSmartRef__":true,"id":127},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"132":{"_BorderWidth":1,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(81.0,28.6)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"133":{"morph":{"__isSmartRef__":true,"id":126},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"134":{"sourceObj":{"__isSmartRef__":true,"id":126},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":125},"targetMethodName":"trigger","varMapping":{"__isSmartRef__":true,"id":135},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"135":{"source":{"__isSmartRef__":true,"id":126},"target":{"__isSmartRef__":true,"id":125}},"136":{"sourceObj":{"__isSmartRef__":true,"id":126},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":126},"targetMethodName":"setLabel","varMapping":{"__isSmartRef__":true,"id":137},"converterString":"function () { return this.getSourceObj().command.asString() }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"137":{"source":{"__isSmartRef__":true,"id":126},"target":{"__isSmartRef__":true,"id":126}},"138":{"scaleVertical":true,"scaleHorizontal":true},"139":{"browser":{"__isSmartRef__":true,"id":82},"button":{"__isSmartRef__":true,"id":140},"__LivelyClassName__":"lively.ide.EvaluateCommand","__SourceModuleName__":"Global.lively.ide.BrowserCommands"},"140":{"submorphs":[{"__isSmartRef__":true,"id":141}],"scripts":[],"shape":{"__isSmartRef__":true,"id":146},"eventHandler":{"__isSmartRef__":true,"id":147},"_ClipMode":"visible","derivationIds":[],"id":"EFFC1362-0F85-4213-985A-DAD4DBC525F0","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":141},"_PreviousBorderWidth":1,"command":{"__isSmartRef__":true,"id":139},"attributeConnections":[{"__isSmartRef__":true,"id":148},{"__isSmartRef__":true,"id":150}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"owner":{"__isSmartRef__":true,"id":74},"layout":{"__isSmartRef__":true,"id":152},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(324.0,286.4)"},"141":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":142},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":143}],"eventHandler":{"__isSmartRef__":true,"id":145},"_ClipMode":"hidden","derivationIds":[],"id":"B2148F11-7020-4A08-B57A-43A440F05B67","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":9,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":140},"isLabel":true,"_Align":"center","eventsAreIgnored":true,"_TextStylingMode":true,"__serializedExpressions__":["_TextColor"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(0,0,0)"},"142":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(81.0,28.6)","_Padding":"lively.rect(0,4,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"143":{"style":{"__isSmartRef__":true,"id":144},"chunkOwner":{"__isSmartRef__":true,"id":141},"_id":"_19977","storedString":"Eval on","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"144":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"145":{"morph":{"__isSmartRef__":true,"id":141},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"146":{"_BorderWidth":1,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(81.0,28.6)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"147":{"morph":{"__isSmartRef__":true,"id":140},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"148":{"sourceObj":{"__isSmartRef__":true,"id":140},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":139},"targetMethodName":"trigger","varMapping":{"__isSmartRef__":true,"id":149},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"149":{"source":{"__isSmartRef__":true,"id":140},"target":{"__isSmartRef__":true,"id":139}},"150":{"sourceObj":{"__isSmartRef__":true,"id":140},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":140},"targetMethodName":"setLabel","varMapping":{"__isSmartRef__":true,"id":151},"converterString":"function () { return this.getSourceObj().command.asString() }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"151":{"source":{"__isSmartRef__":true,"id":140},"target":{"__isSmartRef__":true,"id":140}},"152":{"scaleVertical":true,"scaleHorizontal":true},"153":{"browser":{"__isSmartRef__":true,"id":82},"button":{"__isSmartRef__":true,"id":154},"__LivelyClassName__":"lively.ide.SortCommand","__SourceModuleName__":"Global.lively.ide.BrowserCommands"},"154":{"submorphs":[{"__isSmartRef__":true,"id":155}],"scripts":[],"shape":{"__isSmartRef__":true,"id":160},"eventHandler":{"__isSmartRef__":true,"id":161},"_ClipMode":"visible","derivationIds":[],"id":"3FE83A0A-7463-4B1A-889E-C627F8945BC8","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":155},"_PreviousBorderWidth":1,"command":{"__isSmartRef__":true,"id":153},"attributeConnections":[{"__isSmartRef__":true,"id":162},{"__isSmartRef__":true,"id":164}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"owner":{"__isSmartRef__":true,"id":74},"layout":{"__isSmartRef__":true,"id":166},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(405.0,286.4)"},"155":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":156},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":157}],"eventHandler":{"__isSmartRef__":true,"id":159},"_ClipMode":"hidden","derivationIds":[],"id":"79F3A9D4-4524-4645-AF66-2F788773A6CE","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":9,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":154},"isLabel":true,"_Align":"center","eventsAreIgnored":true,"_TextStylingMode":true,"__serializedExpressions__":["_TextColor"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(0,0,0)"},"156":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(81.0,28.6)","_Padding":"lively.rect(0,4,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"157":{"style":{"__isSmartRef__":true,"id":158},"chunkOwner":{"__isSmartRef__":true,"id":155},"_id":"_19980","storedString":"Sort","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"158":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"159":{"morph":{"__isSmartRef__":true,"id":155},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"160":{"_BorderWidth":1,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(81.0,28.6)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"161":{"morph":{"__isSmartRef__":true,"id":154},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"162":{"sourceObj":{"__isSmartRef__":true,"id":154},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":153},"targetMethodName":"trigger","varMapping":{"__isSmartRef__":true,"id":163},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"163":{"source":{"__isSmartRef__":true,"id":154},"target":{"__isSmartRef__":true,"id":153}},"164":{"sourceObj":{"__isSmartRef__":true,"id":154},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":154},"targetMethodName":"setLabel","varMapping":{"__isSmartRef__":true,"id":165},"converterString":"function () { return this.getSourceObj().command.asString() }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"165":{"source":{"__isSmartRef__":true,"id":154},"target":{"__isSmartRef__":true,"id":154}},"166":{"scaleVertical":true,"scaleHorizontal":true},"167":{"browser":{"__isSmartRef__":true,"id":82},"button":{"__isSmartRef__":true,"id":168},"__LivelyClassName__":"lively.ide.ViewSourceCommand","__SourceModuleName__":"Global.lively.ide.BrowserCommands"},"168":{"submorphs":[{"__isSmartRef__":true,"id":169}],"scripts":[],"shape":{"__isSmartRef__":true,"id":174},"eventHandler":{"__isSmartRef__":true,"id":175},"_ClipMode":"visible","derivationIds":[],"id":"95AED50B-C3F0-4176-A15A-119A8900BA90","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":169},"_PreviousBorderWidth":1,"command":{"__isSmartRef__":true,"id":167},"attributeConnections":[{"__isSmartRef__":true,"id":176},{"__isSmartRef__":true,"id":178}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"owner":{"__isSmartRef__":true,"id":74},"layout":{"__isSmartRef__":true,"id":180},"isPressed":false,"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(486.0,286.4)"},"169":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":170},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":171}],"eventHandler":{"__isSmartRef__":true,"id":173},"_ClipMode":"hidden","derivationIds":[],"id":"7E0C83CE-CCB8-4837-AF76-DADE1499E076","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":9,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":168},"isLabel":true,"_Align":"center","eventsAreIgnored":true,"_TextStylingMode":true,"__serializedExpressions__":["_TextColor"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(0,0,0)"},"170":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(81.0,28.6)","_Padding":"lively.rect(0,4,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"171":{"style":{"__isSmartRef__":true,"id":172},"chunkOwner":{"__isSmartRef__":true,"id":169},"_id":"_19983","storedString":"View as...","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"172":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"173":{"morph":{"__isSmartRef__":true,"id":169},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"174":{"_BorderWidth":1,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(81.0,28.6)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"175":{"morph":{"__isSmartRef__":true,"id":168},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"176":{"sourceObj":{"__isSmartRef__":true,"id":168},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":167},"targetMethodName":"trigger","varMapping":{"__isSmartRef__":true,"id":177},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"177":{"source":{"__isSmartRef__":true,"id":168},"target":{"__isSmartRef__":true,"id":167}},"178":{"sourceObj":{"__isSmartRef__":true,"id":168},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":168},"targetMethodName":"setLabel","varMapping":{"__isSmartRef__":true,"id":179},"converterString":"function () { return this.getSourceObj().command.asString() }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"179":{"source":{"__isSmartRef__":true,"id":168},"target":{"__isSmartRef__":true,"id":168}},"180":{"scaleVertical":true,"scaleHorizontal":true},"181":{"__LivelyClassName__":"lively.ide.NodeFilter","__SourceModuleName__":"Global.lively.ide.BrowserFramework"},"182":{"__LivelyClassName__":"lively.ide.NodeFilter","__SourceModuleName__":"Global.lively.ide.BrowserFramework"},"183":{"attributes":["isClassNode","isGrammarNode","isChangeNode","isFunctionNode","isObjectNode"],"__LivelyClassName__":"lively.ide.NodeTypeFilter","__SourceModuleName__":"Global.lively.ide.BrowserFramework"},"184":{"__LivelyClassName__":"lively.ide.NodeFilter","__SourceModuleName__":"Global.lively.ide.BrowserFramework"},"185":{"__LivelyClassName__":"lively.ide.NodeFilter","__SourceModuleName__":"Global.lively.ide.BrowserFramework"},"186":{"__LivelyClassName__":"lively.ide.NodeFilter","__SourceModuleName__":"Global.lively.ide.BrowserFramework"},"187":{"protocol":"http:","hostname":"lively-kernel.org","pathname":"/repository/webwerkstatt/core/lively/","__LivelyClassName__":"URL","__SourceModuleName__":"Global.lively.Network"},"188":{"sourceObj":{"__isSmartRef__":true,"id":82},"sourceAttrName":"setPane1Content","targetObj":{"__isSmartRef__":true,"id":189},"targetMethodName":"updateList","varMapping":{"__isSmartRef__":true,"id":479},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"189":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":190},"itemList":[{"__isSmartRef__":true,"id":191},{"__isSmartRef__":true,"id":404},{"__isSmartRef__":true,"id":405},{"__isSmartRef__":true,"id":406},{"__isSmartRef__":true,"id":407},{"__isSmartRef__":true,"id":408},{"__isSmartRef__":true,"id":409},{"__isSmartRef__":true,"id":410},{"__isSmartRef__":true,"id":411},{"__isSmartRef__":true,"id":412},{"__isSmartRef__":true,"id":413},{"__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},{"__isSmartRef__":true,"id":422},{"__isSmartRef__":true,"id":423},{"__isSmartRef__":true,"id":424},{"__isSmartRef__":true,"id":425},{"__isSmartRef__":true,"id":426},{"__isSmartRef__":true,"id":427},{"__isSmartRef__":true,"id":428},{"__isSmartRef__":true,"id":429},{"__isSmartRef__":true,"id":430},{"__isSmartRef__":true,"id":431},{"__isSmartRef__":true,"id":432},{"__isSmartRef__":true,"id":433},{"__isSmartRef__":true,"id":434},{"__isSmartRef__":true,"id":435},{"__isSmartRef__":true,"id":436},{"__isSmartRef__":true,"id":437},{"__isSmartRef__":true,"id":438},{"__isSmartRef__":true,"id":439},{"__isSmartRef__":true,"id":440},{"__isSmartRef__":true,"id":441},{"__isSmartRef__":true,"id":442},{"__isSmartRef__":true,"id":443},{"__isSmartRef__":true,"id":444},{"__isSmartRef__":true,"id":445},{"__isSmartRef__":true,"id":446},{"__isSmartRef__":true,"id":447},{"__isSmartRef__":true,"id":448},{"__isSmartRef__":true,"id":449},{"__isSmartRef__":true,"id":450},{"__isSmartRef__":true,"id":451},{"__isSmartRef__":true,"id":452},{"__isSmartRef__":true,"id":453}],"eventHandler":{"__isSmartRef__":true,"id":454},"derivationIds":[],"id":"BE3D3AA0-79D8-4886-8948-AB3CE36D8542","_FontSize":10,"grabbingEnabled":false,"droppingEnabled":true,"halosEnabled":true,"_ClipMode":"auto","selection":{"__isSmartRef__":true,"id":214},"selectedLineNo":10,"owner":{"__isSmartRef__":true,"id":74},"layout":{"__isSmartRef__":true,"id":455},"attributeConnections":[{"__isSmartRef__":true,"id":456},{"__isSmartRef__":true,"id":458},{"__isSmartRef__":true,"id":460},{"__isSmartRef__":true,"id":462}],"doNotSerialize":["$$selection"],"doNotCopyProperties":["$$selection"],"prevScroll":[0,187],"__serializedExpressions__":["_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":464},"__LivelyClassName__":"lively.morphic.List","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,21.5)"},"190":{"_BorderWidth":0,"__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(141.8,264.9)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(243,243,243)"},"191":{"isListItem":true,"string":"ast/","value":{"__isSmartRef__":true,"id":192}},"192":{"target":{"__isSmartRef__":true,"id":193},"browser":{"__isSmartRef__":true,"id":82},"parent":{"__isSmartRef__":true,"id":194},"localName":"ast/","__LivelyClassName__":"lively.ide.NamespaceNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"193":{"protocol":"http:","hostname":"lively-kernel.org","pathname":"/repository/webwerkstatt/core/lively/ast/","__LivelyClassName__":"URL","__SourceModuleName__":"Global.lively.Network"},"194":{"target":{"__isSmartRef__":true,"id":195},"browser":{"__isSmartRef__":true,"id":82},"parent":null,"allFiles":["lively/flot.js","lively/Traits.js","lively/DOMAbstraction.js","lively/Data.js","lively/Base.js","lively/defaultconfig.js","lively/LKFileParser.ometa","lively/Helper.js","lively/LocalStorage.js","lively/LogHelper.js","lively/PartsBin.js","lively/PartCaching.js","lively/LayerableMorphs.js","lively/bindings.js","lively/SmalltalkParserSupport.js","lively/SmalltalkParser.js","lively/date.format.js","lively/Ometa.js","lively/PartsTestFramework.js","lively/JSON.js","lively/Presentation.js","lively/bootstrap.js","lively/CrayonColors.js","lively/NewMorphicCompat.js","lively/localconfig.js","lively/Touch.js","lively/LKFileParser.js","lively/Main.js","lively/Tracing.js","lively/Migration.js","lively/Network.js","lively/SmalltalkParser.ometa","lively/WidgetsTraits.js","lively/TestFramework.js","lively/jsMorphic.js","lively/OldModel.js","lively/ChangeSet.js","lively/ide.js","lively/morphic.js","lively/NoMoreModels.js"],"subNamespacePaths":[{"__isSmartRef__":true,"id":196},{"__isSmartRef__":true,"id":197},{"__isSmartRef__":true,"id":198},{"__isSmartRef__":true,"id":199},{"__isSmartRef__":true,"id":200},{"__isSmartRef__":true,"id":193},{"__isSmartRef__":true,"id":201},{"__isSmartRef__":true,"id":202},{"__isSmartRef__":true,"id":203}],"parentNamespacePath":{"__isSmartRef__":true,"id":204},"_childNodes":[{"__isSmartRef__":true,"id":192},{"__isSmartRef__":true,"id":205},{"__isSmartRef__":true,"id":206},{"__isSmartRef__":true,"id":207},{"__isSmartRef__":true,"id":208},{"__isSmartRef__":true,"id":209},{"__isSmartRef__":true,"id":210},{"__isSmartRef__":true,"id":211},{"__isSmartRef__":true,"id":212},{"__isSmartRef__":true,"id":213},{"__isSmartRef__":true,"id":214},{"__isSmartRef__":true,"id":355},{"__isSmartRef__":true,"id":358},{"__isSmartRef__":true,"id":359},{"__isSmartRef__":true,"id":360},{"__isSmartRef__":true,"id":361},{"__isSmartRef__":true,"id":362},{"__isSmartRef__":true,"id":363},{"__isSmartRef__":true,"id":364},{"__isSmartRef__":true,"id":365},{"__isSmartRef__":true,"id":369},{"__isSmartRef__":true,"id":370},{"__isSmartRef__":true,"id":374},{"__isSmartRef__":true,"id":375},{"__isSmartRef__":true,"id":376},{"__isSmartRef__":true,"id":377},{"__isSmartRef__":true,"id":378},{"__isSmartRef__":true,"id":379},{"__isSmartRef__":true,"id":380},{"__isSmartRef__":true,"id":381},{"__isSmartRef__":true,"id":382},{"__isSmartRef__":true,"id":383},{"__isSmartRef__":true,"id":384},{"__isSmartRef__":true,"id":385},{"__isSmartRef__":true,"id":386},{"__isSmartRef__":true,"id":387},{"__isSmartRef__":true,"id":388},{"__isSmartRef__":true,"id":389},{"__isSmartRef__":true,"id":390},{"__isSmartRef__":true,"id":391},{"__isSmartRef__":true,"id":392},{"__isSmartRef__":true,"id":393},{"__isSmartRef__":true,"id":394},{"__isSmartRef__":true,"id":395},{"__isSmartRef__":true,"id":396},{"__isSmartRef__":true,"id":397},{"__isSmartRef__":true,"id":398},{"__isSmartRef__":true,"id":399},{"__isSmartRef__":true,"id":400},{"__isSmartRef__":true,"id":401},{"__isSmartRef__":true,"id":402}],"__LivelyClassName__":"lively.ide.SourceControlNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"195":{"__LivelyClassName__":"AnotherSourceDatabase","__SourceModuleName__":"Global.lively.ide.SourceDatabase"},"196":{"protocol":"http:","hostname":"lively-kernel.org","pathname":"/repository/webwerkstatt/core/lively/persistence/","__LivelyClassName__":"URL","__SourceModuleName__":"Global.lively.Network"},"197":{"protocol":"http:","hostname":"lively-kernel.org","pathname":"/repository/webwerkstatt/core/lively/bindings/","__LivelyClassName__":"URL","__SourceModuleName__":"Global.lively.Network"},"198":{"protocol":"http:","hostname":"lively-kernel.org","pathname":"/repository/webwerkstatt/core/lively/jsMorphic/","__LivelyClassName__":"URL","__SourceModuleName__":"Global.lively.Network"},"199":{"protocol":"http:","hostname":"lively-kernel.org","pathname":"/repository/webwerkstatt/core/lively/tests/","__LivelyClassName__":"URL","__SourceModuleName__":"Global.lively.Network"},"200":{"protocol":"http:","hostname":"lively-kernel.org","pathname":"/repository/webwerkstatt/core/lively/lang/","__LivelyClassName__":"URL","__SourceModuleName__":"Global.lively.Network"},"201":{"protocol":"http:","hostname":"lively-kernel.org","pathname":"/repository/webwerkstatt/core/lively/experimental/","__LivelyClassName__":"URL","__SourceModuleName__":"Global.lively.Network"},"202":{"protocol":"http:","hostname":"lively-kernel.org","pathname":"/repository/webwerkstatt/core/lively/ide/","__LivelyClassName__":"URL","__SourceModuleName__":"Global.lively.Network"},"203":{"protocol":"http:","hostname":"lively-kernel.org","pathname":"/repository/webwerkstatt/core/lively/morphic/","__LivelyClassName__":"URL","__SourceModuleName__":"Global.lively.Network"},"204":{"protocol":"http:","hostname":"lively-kernel.org","pathname":"/repository/webwerkstatt/core/lively/../","__LivelyClassName__":"URL","__SourceModuleName__":"Global.lively.Network"},"205":{"target":{"__isSmartRef__":true,"id":197},"browser":{"__isSmartRef__":true,"id":82},"parent":{"__isSmartRef__":true,"id":194},"localName":"bindings/","__LivelyClassName__":"lively.ide.NamespaceNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"206":{"target":{"__isSmartRef__":true,"id":201},"browser":{"__isSmartRef__":true,"id":82},"parent":{"__isSmartRef__":true,"id":194},"localName":"experimental/","__LivelyClassName__":"lively.ide.NamespaceNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"207":{"target":{"__isSmartRef__":true,"id":202},"browser":{"__isSmartRef__":true,"id":82},"parent":{"__isSmartRef__":true,"id":194},"localName":"ide/","__LivelyClassName__":"lively.ide.NamespaceNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"208":{"target":{"__isSmartRef__":true,"id":198},"browser":{"__isSmartRef__":true,"id":82},"parent":{"__isSmartRef__":true,"id":194},"localName":"jsMorphic/","__LivelyClassName__":"lively.ide.NamespaceNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"209":{"target":{"__isSmartRef__":true,"id":200},"browser":{"__isSmartRef__":true,"id":82},"parent":{"__isSmartRef__":true,"id":194},"localName":"lang/","__LivelyClassName__":"lively.ide.NamespaceNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"210":{"target":{"__isSmartRef__":true,"id":203},"browser":{"__isSmartRef__":true,"id":82},"parent":{"__isSmartRef__":true,"id":194},"localName":"morphic/","__LivelyClassName__":"lively.ide.NamespaceNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"211":{"target":{"__isSmartRef__":true,"id":196},"browser":{"__isSmartRef__":true,"id":82},"parent":{"__isSmartRef__":true,"id":194},"localName":"persistence/","__LivelyClassName__":"lively.ide.NamespaceNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"212":{"target":{"__isSmartRef__":true,"id":199},"browser":{"__isSmartRef__":true,"id":82},"parent":{"__isSmartRef__":true,"id":194},"localName":"tests/","__LivelyClassName__":"lively.ide.NamespaceNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"213":{"target":{"__isSmartRef__":true,"id":204},"browser":{"__isSmartRef__":true,"id":82},"parent":{"__isSmartRef__":true,"id":194},"localName":"../","__LivelyClassName__":"lively.ide.NamespaceNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"214":{"target":{"__isSmartRef__":true,"id":215},"browser":{"__isSmartRef__":true,"id":82},"parent":{"__isSmartRef__":true,"id":194},"moduleName":"lively/Base.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"215":{"name":"lively/Base.js","type":"completeFileDef","startIndex":0,"stopIndex":43696,"fileName":"lively/Base.js","_subElements":[{"__isSmartRef__":true,"id":216},{"__isSmartRef__":true,"id":217},{"__isSmartRef__":true,"id":218},{"__isSmartRef__":true,"id":219},{"__isSmartRef__":true,"id":220},{"__isSmartRef__":true,"id":221},{"__isSmartRef__":true,"id":222},{"__isSmartRef__":true,"id":223},{"__isSmartRef__":true,"id":224},{"__isSmartRef__":true,"id":225},{"__isSmartRef__":true,"id":226},{"__isSmartRef__":true,"id":227},{"__isSmartRef__":true,"id":228},{"__isSmartRef__":true,"id":229},{"__isSmartRef__":true,"id":230},{"__isSmartRef__":true,"id":231},{"__isSmartRef__":true,"id":232},{"__isSmartRef__":true,"id":247},{"__isSmartRef__":true,"id":248},{"__isSmartRef__":true,"id":271},{"__isSmartRef__":true,"id":272},{"__isSmartRef__":true,"id":280},{"__isSmartRef__":true,"id":281},{"__isSmartRef__":true,"id":282},{"__isSmartRef__":true,"id":286},{"__isSmartRef__":true,"id":287},{"__isSmartRef__":true,"id":327},{"__isSmartRef__":true,"id":328},{"__isSmartRef__":true,"id":335},{"__isSmartRef__":true,"id":336},{"__isSmartRef__":true,"id":337},{"__isSmartRef__":true,"id":338},{"__isSmartRef__":true,"id":339},{"__isSmartRef__":true,"id":340},{"__isSmartRef__":true,"id":341},{"__isSmartRef__":true,"id":342},{"__isSmartRef__":true,"id":345},{"__isSmartRef__":true,"id":346},{"__isSmartRef__":true,"id":347},{"__isSmartRef__":true,"id":348},{"__isSmartRef__":true,"id":349},{"__isSmartRef__":true,"id":350},{"__isSmartRef__":true,"id":351},{"__isSmartRef__":true,"id":352},{"__isSmartRef__":true,"id":353},{"__isSmartRef__":true,"id":354}],"sourceControl":{"__isSmartRef__":true,"id":195},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"216":{"name":null,"type":"comment","startIndex":0,"stopIndex":1357,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"217":{"name":null,"type":"unknown","startIndex":1358,"stopIndex":1409,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"218":{"name":"dbgOn","type":"functionDef","startIndex":1410,"stopIndex":1631,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"219":{"name":"assert","type":"functionDef","startIndex":1632,"stopIndex":1882,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"220":{"name":null,"type":"comment","startIndex":1883,"stopIndex":2004,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"221":{"name":null,"type":"unknown","startIndex":2005,"stopIndex":3844,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"222":{"name":null,"type":"comment","startIndex":3845,"stopIndex":3846,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"223":{"name":"namespace","type":"functionDef","startIndex":3847,"stopIndex":4156,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"224":{"name":null,"type":"comment","startIndex":4157,"stopIndex":4158,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"225":{"name":"__oldNamespace","type":"functionDef","startIndex":4159,"stopIndex":5469,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"226":{"name":"testModuleLoad","type":"functionDef","startIndex":5470,"stopIndex":6192,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"227":{"name":null,"type":"comment","startIndex":6193,"stopIndex":6193,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"228":{"name":"module","type":"functionDef","startIndex":6194,"stopIndex":8502,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"229":{"name":null,"type":"comment","startIndex":8503,"stopIndex":8503,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"230":{"name":"require","type":"functionDef","startIndex":8504,"stopIndex":9008,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"231":{"name":null,"type":"comment","startIndex":9009,"stopIndex":9280,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"232":{"name":"Function.prototype","type":"klassExtensionDef","startIndex":9281,"stopIndex":19262,"fileName":"lively/Base.js","_subElements":[{"__isSmartRef__":true,"id":233},{"__isSmartRef__":true,"id":235},{"__isSmartRef__":true,"id":236},{"__isSmartRef__":true,"id":237},{"__isSmartRef__":true,"id":238},{"__isSmartRef__":true,"id":239},{"__isSmartRef__":true,"id":240},{"__isSmartRef__":true,"id":241},{"__isSmartRef__":true,"id":242},{"__isSmartRef__":true,"id":243},{"__isSmartRef__":true,"id":244},{"__isSmartRef__":true,"id":245},{"__isSmartRef__":true,"id":246}],"sourceControl":{"__isSmartRef__":true,"id":195},"categories":[{"__isSmartRef__":true,"id":234}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"233":{"name":"defaultCategoryName","type":"propertyDef","startIndex":9318,"stopIndex":9361,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":true,"category":{"__isSmartRef__":true,"id":234},"className":"Function.prototype","_owner":{"__isSmartRef__":true,"id":232},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"234":{"name":"default category","type":"categoryDef","startIndex":9315,"stopIndex":19259,"fileName":"lively/Base.js","_subElements":[{"__isSmartRef__":true,"id":233},{"__isSmartRef__":true,"id":235},{"__isSmartRef__":true,"id":236},{"__isSmartRef__":true,"id":237},{"__isSmartRef__":true,"id":238},{"__isSmartRef__":true,"id":239},{"__isSmartRef__":true,"id":240},{"__isSmartRef__":true,"id":241},{"__isSmartRef__":true,"id":242},{"__isSmartRef__":true,"id":243},{"__isSmartRef__":true,"id":244},{"__isSmartRef__":true,"id":245},{"__isSmartRef__":true,"id":246}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"235":{"name":"subclass","type":"propertyDef","startIndex":9364,"stopIndex":11610,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":true,"category":{"__isSmartRef__":true,"id":234},"className":"Function.prototype","_owner":{"__isSmartRef__":true,"id":232},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"236":{"name":"addMethods","type":"propertyDef","startIndex":11613,"stopIndex":12465,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":true,"category":{"__isSmartRef__":true,"id":234},"className":"Function.prototype","_owner":{"__isSmartRef__":true,"id":232},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"237":{"name":"addCategorizedMethods","type":"propertyDef","startIndex":12468,"stopIndex":17069,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":true,"category":{"__isSmartRef__":true,"id":234},"className":"Function.prototype","_owner":{"__isSmartRef__":true,"id":232},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"238":{"name":"addProperties","type":"propertyDef","startIndex":17073,"stopIndex":17201,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":true,"category":{"__isSmartRef__":true,"id":234},"className":"Function.prototype","_owner":{"__isSmartRef__":true,"id":232},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"239":{"name":"isSubclassOf","type":"propertyDef","startIndex":17204,"stopIndex":17298,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":true,"category":{"__isSmartRef__":true,"id":234},"className":"Function.prototype","_owner":{"__isSmartRef__":true,"id":232},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"240":{"name":"allSubclasses","type":"propertyDef","startIndex":17301,"stopIndex":17456,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":true,"category":{"__isSmartRef__":true,"id":234},"className":"Function.prototype","_owner":{"__isSmartRef__":true,"id":232},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"241":{"name":"withAllSubclasses","type":"propertyDef","startIndex":17458,"stopIndex":17538,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":true,"category":{"__isSmartRef__":true,"id":234},"className":"Function.prototype","_owner":{"__isSmartRef__":true,"id":232},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"242":{"name":"directSubclasses","type":"propertyDef","startIndex":17542,"stopIndex":17701,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":true,"category":{"__isSmartRef__":true,"id":234},"className":"Function.prototype","_owner":{"__isSmartRef__":true,"id":232},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"243":{"name":"withAllSortedSubclassesDo","type":"propertyDef","startIndex":17704,"stopIndex":18604,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":true,"category":{"__isSmartRef__":true,"id":234},"className":"Function.prototype","_owner":{"__isSmartRef__":true,"id":232},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"244":{"name":"superclasses","type":"propertyDef","startIndex":18607,"stopIndex":18814,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":true,"category":{"__isSmartRef__":true,"id":234},"className":"Function.prototype","_owner":{"__isSmartRef__":true,"id":232},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"245":{"name":"categoryNameFor","type":"propertyDef","startIndex":18817,"stopIndex":19065,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":true,"category":{"__isSmartRef__":true,"id":234},"className":"Function.prototype","_owner":{"__isSmartRef__":true,"id":232},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"246":{"name":"remove","type":"propertyDef","startIndex":19067,"stopIndex":19256,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":true,"category":{"__isSmartRef__":true,"id":234},"className":"Function.prototype","_owner":{"__isSmartRef__":true,"id":232},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"247":{"name":null,"type":"comment","startIndex":19263,"stopIndex":19263,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"248":{"name":"Class","type":"objectDef","startIndex":19264,"stopIndex":26463,"fileName":"lively/Base.js","_subElements":[{"__isSmartRef__":true,"id":249},{"__isSmartRef__":true,"id":251},{"__isSmartRef__":true,"id":252},{"__isSmartRef__":true,"id":253},{"__isSmartRef__":true,"id":254},{"__isSmartRef__":true,"id":255},{"__isSmartRef__":true,"id":256},{"__isSmartRef__":true,"id":257},{"__isSmartRef__":true,"id":258},{"__isSmartRef__":true,"id":259},{"__isSmartRef__":true,"id":260},{"__isSmartRef__":true,"id":261},{"__isSmartRef__":true,"id":262},{"__isSmartRef__":true,"id":263},{"__isSmartRef__":true,"id":264},{"__isSmartRef__":true,"id":265},{"__isSmartRef__":true,"id":266},{"__isSmartRef__":true,"id":267},{"__isSmartRef__":true,"id":268},{"__isSmartRef__":true,"id":269},{"__isSmartRef__":true,"id":270}],"sourceControl":{"__isSmartRef__":true,"id":195},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"249":{"name":"anonymousCounter","type":"propertyDef","startIndex":19279,"stopIndex":19302,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":true,"category":{"__isSmartRef__":true,"id":250},"_owner":{"__isSmartRef__":true,"id":248},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"250":{"name":"default category","type":"categoryDef","startIndex":12,"stopIndex":7197,"fileName":null,"_subElements":[{"__isSmartRef__":true,"id":249},{"__isSmartRef__":true,"id":251},{"__isSmartRef__":true,"id":252},{"__isSmartRef__":true,"id":253},{"__isSmartRef__":true,"id":254},{"__isSmartRef__":true,"id":255},{"__isSmartRef__":true,"id":256},{"__isSmartRef__":true,"id":257},{"__isSmartRef__":true,"id":258},{"__isSmartRef__":true,"id":259},{"__isSmartRef__":true,"id":260},{"__isSmartRef__":true,"id":261},{"__isSmartRef__":true,"id":262},{"__isSmartRef__":true,"id":263},{"__isSmartRef__":true,"id":264},{"__isSmartRef__":true,"id":265},{"__isSmartRef__":true,"id":266},{"__isSmartRef__":true,"id":267},{"__isSmartRef__":true,"id":268},{"__isSmartRef__":true,"id":269},{"__isSmartRef__":true,"id":270}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"251":{"name":"initializerTemplate","type":"propertyDef","startIndex":19305,"stopIndex":19403,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":true,"category":{"__isSmartRef__":true,"id":250},"_owner":{"__isSmartRef__":true,"id":248},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"252":{"name":"newInitializer","type":"propertyDef","startIndex":19406,"stopIndex":19595,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":true,"category":{"__isSmartRef__":true,"id":250},"_owner":{"__isSmartRef__":true,"id":248},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"253":{"name":"initializer","type":"propertyDef","startIndex":19598,"stopIndex":20275,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":true,"category":{"__isSmartRef__":true,"id":250},"_owner":{"__isSmartRef__":true,"id":248},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"254":{"name":"def","type":"propertyDef","startIndex":20278,"stopIndex":21549,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":true,"category":{"__isSmartRef__":true,"id":250},"_owner":{"__isSmartRef__":true,"id":248},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"255":{"name":"isValidIdentifier","type":"propertyDef","startIndex":21552,"stopIndex":21667,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":true,"category":{"__isSmartRef__":true,"id":250},"_owner":{"__isSmartRef__":true,"id":248},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"256":{"name":"isClass","type":"propertyDef","startIndex":21670,"stopIndex":21996,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":true,"category":{"__isSmartRef__":true,"id":250},"_owner":{"__isSmartRef__":true,"id":248},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"257":{"name":"className","type":"propertyDef","startIndex":21999,"stopIndex":22291,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":true,"category":{"__isSmartRef__":true,"id":250},"_owner":{"__isSmartRef__":true,"id":248},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"258":{"name":"forName","type":"propertyDef","startIndex":22294,"stopIndex":22526,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":true,"category":{"__isSmartRef__":true,"id":250},"_owner":{"__isSmartRef__":true,"id":248},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"259":{"name":"deleteObjectNamed","type":"propertyDef","startIndex":22529,"stopIndex":22727,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":true,"category":{"__isSmartRef__":true,"id":250},"_owner":{"__isSmartRef__":true,"id":248},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"260":{"name":"unqualifiedNameFor","type":"propertyDef","startIndex":22730,"stopIndex":23063,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":true,"category":{"__isSmartRef__":true,"id":250},"_owner":{"__isSmartRef__":true,"id":248},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"261":{"name":"namespaceFor","type":"propertyDef","startIndex":23066,"stopIndex":23362,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":true,"category":{"__isSmartRef__":true,"id":250},"_owner":{"__isSmartRef__":true,"id":248},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"262":{"name":"withAllClassNames","type":"propertyDef","startIndex":23365,"stopIndex":23705,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":true,"category":{"__isSmartRef__":true,"id":250},"_owner":{"__isSmartRef__":true,"id":248},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"263":{"name":"makeEnum","type":"propertyDef","startIndex":23708,"stopIndex":24024,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":true,"category":{"__isSmartRef__":true,"id":250},"_owner":{"__isSmartRef__":true,"id":248},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"264":{"name":"getConstructor","type":"propertyDef","startIndex":24027,"stopIndex":24187,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":true,"category":{"__isSmartRef__":true,"id":250},"_owner":{"__isSmartRef__":true,"id":248},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"265":{"name":"getPrototype","type":"propertyDef","startIndex":24190,"stopIndex":24305,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":true,"category":{"__isSmartRef__":true,"id":250},"_owner":{"__isSmartRef__":true,"id":248},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"266":{"name":"applyPrototypeMethod","type":"propertyDef","startIndex":24308,"stopIndex":24569,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":true,"category":{"__isSmartRef__":true,"id":250},"_owner":{"__isSmartRef__":true,"id":248},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"267":{"name":"getSuperConstructor","type":"propertyDef","startIndex":24572,"stopIndex":24702,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":true,"category":{"__isSmartRef__":true,"id":250},"_owner":{"__isSmartRef__":true,"id":248},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"268":{"name":"getSuperPrototype","type":"propertyDef","startIndex":24705,"stopIndex":24865,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":true,"category":{"__isSmartRef__":true,"id":250},"_owner":{"__isSmartRef__":true,"id":248},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"269":{"name":"addPins","type":"propertyDef","startIndex":24868,"stopIndex":25864,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":true,"category":{"__isSmartRef__":true,"id":250},"_owner":{"__isSmartRef__":true,"id":248},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"270":{"name":"addMixin","type":"propertyDef","startIndex":25867,"stopIndex":26458,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":true,"category":{"__isSmartRef__":true,"id":250},"_owner":{"__isSmartRef__":true,"id":248},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"271":{"name":null,"type":"comment","startIndex":26464,"stopIndex":26464,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"272":{"name":"Namespace","type":"klassDef","startIndex":26465,"stopIndex":28058,"fileName":"lively/Base.js","_subElements":[{"__isSmartRef__":true,"id":273},{"__isSmartRef__":true,"id":275},{"__isSmartRef__":true,"id":277},{"__isSmartRef__":true,"id":278},{"__isSmartRef__":true,"id":279}],"sourceControl":{"__isSmartRef__":true,"id":195},"superclassName":"Object","categories":[{"__isSmartRef__":true,"id":274},{"__isSmartRef__":true,"id":276}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"273":{"name":"initialize","type":"propertyDef","startIndex":26513,"stopIndex":26679,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":false,"category":{"__isSmartRef__":true,"id":274},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":272},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"274":{"name":"initializing","type":"categoryDef","startIndex":26494,"stopIndex":26682,"fileName":"lively/Base.js","_subElements":[{"__isSmartRef__":true,"id":273}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"275":{"name":"gather","type":"propertyDef","startIndex":26699,"stopIndex":27025,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":false,"category":{"__isSmartRef__":true,"id":276},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":272},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"276":{"name":"accessing","type":"categoryDef","startIndex":26684,"stopIndex":28055,"fileName":"lively/Base.js","_subElements":[{"__isSmartRef__":true,"id":275},{"__isSmartRef__":true,"id":277},{"__isSmartRef__":true,"id":278},{"__isSmartRef__":true,"id":279}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"277":{"name":"subNamespaces","type":"propertyDef","startIndex":27028,"stopIndex":27262,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":false,"category":{"__isSmartRef__":true,"id":276},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":272},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"278":{"name":"classes","type":"propertyDef","startIndex":27265,"stopIndex":27616,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":false,"category":{"__isSmartRef__":true,"id":276},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":272},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"279":{"name":"functions","type":"propertyDef","startIndex":27619,"stopIndex":28052,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":false,"category":{"__isSmartRef__":true,"id":276},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":272},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"280":{"name":null,"type":"comment","startIndex":28059,"stopIndex":28101,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"281":{"name":"Global","type":"klassExtensionDef","startIndex":28102,"stopIndex":28145,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"traits":["Namespace.prototype"],"categories":[],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"282":{"name":"Global","type":"klassExtensionDef","startIndex":28146,"stopIndex":28238,"fileName":"lively/Base.js","_subElements":[{"__isSmartRef__":true,"id":283},{"__isSmartRef__":true,"id":285}],"sourceControl":{"__isSmartRef__":true,"id":195},"categories":[{"__isSmartRef__":true,"id":284}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"283":{"name":"namespaceIdentifier","type":"propertyDef","startIndex":28170,"stopIndex":28203,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":true,"category":{"__isSmartRef__":true,"id":284},"className":"Global","_owner":{"__isSmartRef__":true,"id":282},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"284":{"name":"default category","type":"categoryDef","startIndex":28168,"stopIndex":28235,"fileName":"lively/Base.js","_subElements":[{"__isSmartRef__":true,"id":283},{"__isSmartRef__":true,"id":285}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"285":{"name":"isLoaded","type":"propertyDef","startIndex":28205,"stopIndex":28233,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":true,"category":{"__isSmartRef__":true,"id":284},"className":"Global","_owner":{"__isSmartRef__":true,"id":282},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"286":{"name":null,"type":"comment","startIndex":28239,"stopIndex":28239,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"287":{"name":"Namespace","type":"klassExtensionDef","startIndex":28240,"stopIndex":37492,"fileName":"lively/Base.js","_subElements":[{"__isSmartRef__":true,"id":288},{"__isSmartRef__":true,"id":290},{"__isSmartRef__":true,"id":292},{"__isSmartRef__":true,"id":294},{"__isSmartRef__":true,"id":295},{"__isSmartRef__":true,"id":296},{"__isSmartRef__":true,"id":297},{"__isSmartRef__":true,"id":298},{"__isSmartRef__":true,"id":300},{"__isSmartRef__":true,"id":301},{"__isSmartRef__":true,"id":302},{"__isSmartRef__":true,"id":303},{"__isSmartRef__":true,"id":304},{"__isSmartRef__":true,"id":305},{"__isSmartRef__":true,"id":306},{"__isSmartRef__":true,"id":307},{"__isSmartRef__":true,"id":308},{"__isSmartRef__":true,"id":310},{"__isSmartRef__":true,"id":311},{"__isSmartRef__":true,"id":312},{"__isSmartRef__":true,"id":314},{"__isSmartRef__":true,"id":315},{"__isSmartRef__":true,"id":316},{"__isSmartRef__":true,"id":318},{"__isSmartRef__":true,"id":319},{"__isSmartRef__":true,"id":320},{"__isSmartRef__":true,"id":322},{"__isSmartRef__":true,"id":323},{"__isSmartRef__":true,"id":325},{"__isSmartRef__":true,"id":326}],"sourceControl":{"__isSmartRef__":true,"id":195},"categories":[{"__isSmartRef__":true,"id":289},{"__isSmartRef__":true,"id":291},{"__isSmartRef__":true,"id":293},{"__isSmartRef__":true,"id":299},{"__isSmartRef__":true,"id":309},{"__isSmartRef__":true,"id":313},{"__isSmartRef__":true,"id":317},{"__isSmartRef__":true,"id":321},{"__isSmartRef__":true,"id":324}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"288":{"name":"isLivelyModule","type":"propertyDef","startIndex":28278,"stopIndex":28302,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":false,"category":{"__isSmartRef__":true,"id":289},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":287},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"289":{"name":"properties","type":"categoryDef","startIndex":28262,"stopIndex":28305,"fileName":"lively/Base.js","_subElements":[{"__isSmartRef__":true,"id":288}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"290":{"name":"beAnonymous","type":"propertyDef","startIndex":28325,"stopIndex":28500,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":false,"category":{"__isSmartRef__":true,"id":291},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":287},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"291":{"name":"initializing","type":"categoryDef","startIndex":28307,"stopIndex":28503,"fileName":"lively/Base.js","_subElements":[{"__isSmartRef__":true,"id":290}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"292":{"name":"name","type":"propertyDef","startIndex":28563,"stopIndex":28840,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":false,"category":{"__isSmartRef__":true,"id":293},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":287},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"293":{"name":"accessing","type":"categoryDef","startIndex":28505,"stopIndex":31344,"fileName":"lively/Base.js","_subElements":[{"__isSmartRef__":true,"id":292},{"__isSmartRef__":true,"id":294},{"__isSmartRef__":true,"id":295},{"__isSmartRef__":true,"id":296},{"__isSmartRef__":true,"id":297}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"294":{"name":"findUri","type":"propertyDef","startIndex":28843,"stopIndex":29796,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":false,"category":{"__isSmartRef__":true,"id":293},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":287},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"295":{"name":"uri","type":"propertyDef","startIndex":29799,"stopIndex":31140,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":false,"category":{"__isSmartRef__":true,"id":293},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":287},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"296":{"name":"relativePath","type":"propertyDef","startIndex":31142,"stopIndex":31259,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":false,"category":{"__isSmartRef__":true,"id":293},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":287},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"297":{"name":"lastPart","type":"propertyDef","startIndex":31262,"stopIndex":31342,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":false,"category":{"__isSmartRef__":true,"id":293},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":287},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"298":{"name":"addDependendModule","type":"propertyDef","startIndex":31371,"stopIndex":31717,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":false,"category":{"__isSmartRef__":true,"id":299},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":287},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"299":{"name":"module dependencies","type":"categoryDef","startIndex":31346,"stopIndex":33811,"fileName":"lively/Base.js","_subElements":[{"__isSmartRef__":true,"id":298},{"__isSmartRef__":true,"id":300},{"__isSmartRef__":true,"id":301},{"__isSmartRef__":true,"id":302},{"__isSmartRef__":true,"id":303},{"__isSmartRef__":true,"id":304},{"__isSmartRef__":true,"id":305},{"__isSmartRef__":true,"id":306},{"__isSmartRef__":true,"id":307}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"300":{"name":"informDependendModules","type":"propertyDef","startIndex":31720,"stopIndex":31971,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":false,"category":{"__isSmartRef__":true,"id":299},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":287},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"301":{"name":"traceDependendModules","type":"propertyDef","startIndex":31974,"stopIndex":32316,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":false,"category":{"__isSmartRef__":true,"id":299},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":287},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"302":{"name":"addRequiredModule","type":"propertyDef","startIndex":32319,"stopIndex":32787,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":false,"category":{"__isSmartRef__":true,"id":299},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":287},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"303":{"name":"removeRequiredModule","type":"propertyDef","startIndex":32790,"stopIndex":33169,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":false,"category":{"__isSmartRef__":true,"id":299},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":287},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"304":{"name":"pendingRequirementNames","type":"propertyDef","startIndex":33172,"stopIndex":33352,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":false,"category":{"__isSmartRef__":true,"id":299},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":287},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"305":{"name":"hasPendingRequirements","type":"propertyDef","startIndex":33355,"stopIndex":33481,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":false,"category":{"__isSmartRef__":true,"id":299},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":287},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"306":{"name":"loadRequirementsFirst","type":"propertyDef","startIndex":33484,"stopIndex":33606,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":false,"category":{"__isSmartRef__":true,"id":299},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":287},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"307":{"name":"wasRequiredBy","type":"propertyDef","startIndex":33609,"stopIndex":33808,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":false,"category":{"__isSmartRef__":true,"id":299},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":287},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"308":{"name":"addOnloadCallback","type":"propertyDef","startIndex":33833,"stopIndex":33959,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":false,"category":{"__isSmartRef__":true,"id":309},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":287},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"309":{"name":"load callbacks","type":"categoryDef","startIndex":33813,"stopIndex":34377,"fileName":"lively/Base.js","_subElements":[{"__isSmartRef__":true,"id":308},{"__isSmartRef__":true,"id":310},{"__isSmartRef__":true,"id":311}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"310":{"name":"runOnloadCallbacks","type":"propertyDef","startIndex":33962,"stopIndex":34302,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":false,"category":{"__isSmartRef__":true,"id":309},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":287},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"311":{"name":"isAnonymous","type":"propertyDef","startIndex":34305,"stopIndex":34373,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":false,"category":{"__isSmartRef__":true,"id":309},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":287},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"312":{"name":"isLoaded","type":"propertyDef","startIndex":34392,"stopIndex":34455,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":false,"category":{"__isSmartRef__":true,"id":313},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":287},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"313":{"name":"testing","type":"categoryDef","startIndex":34379,"stopIndex":34716,"fileName":"lively/Base.js","_subElements":[{"__isSmartRef__":true,"id":312},{"__isSmartRef__":true,"id":314},{"__isSmartRef__":true,"id":315}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"314":{"name":"isLoading","type":"propertyDef","startIndex":34458,"stopIndex":34641,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":false,"category":{"__isSmartRef__":true,"id":313},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":287},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"315":{"name":"isAnonymous","type":"propertyDef","startIndex":34644,"stopIndex":34712,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":false,"category":{"__isSmartRef__":true,"id":313},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":287},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"316":{"name":"load","type":"propertyDef","startIndex":34731,"stopIndex":35878,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":false,"category":{"__isSmartRef__":true,"id":317},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":287},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"317":{"name":"loading","type":"categoryDef","startIndex":34718,"stopIndex":36224,"fileName":"lively/Base.js","_subElements":[{"__isSmartRef__":true,"id":316},{"__isSmartRef__":true,"id":318},{"__isSmartRef__":true,"id":319}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"318":{"name":"activate","type":"propertyDef","startIndex":35881,"stopIndex":35965,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":false,"category":{"__isSmartRef__":true,"id":317},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":287},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"319":{"name":"deactivate","type":"propertyDef","startIndex":35968,"stopIndex":36221,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":false,"category":{"__isSmartRef__":true,"id":317},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":287},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"320":{"name":"remove","type":"propertyDef","startIndex":36240,"stopIndex":36515,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":false,"category":{"__isSmartRef__":true,"id":321},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":287},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"321":{"name":"removing","type":"categoryDef","startIndex":36226,"stopIndex":36685,"fileName":"lively/Base.js","_subElements":[{"__isSmartRef__":true,"id":320},{"__isSmartRef__":true,"id":322}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"322":{"name":"removeScriptNode","type":"propertyDef","startIndex":36517,"stopIndex":36682,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":false,"category":{"__isSmartRef__":true,"id":321},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":287},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"323":{"name":"toString","type":"propertyDef","startIndex":36702,"stopIndex":36780,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":false,"category":{"__isSmartRef__":true,"id":324},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":287},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"324":{"name":"debugging","type":"categoryDef","startIndex":36687,"stopIndex":37489,"fileName":"lively/Base.js","_subElements":[{"__isSmartRef__":true,"id":323},{"__isSmartRef__":true,"id":325},{"__isSmartRef__":true,"id":326}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"325":{"name":"inspect","type":"propertyDef","startIndex":36782,"stopIndex":36858,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":false,"category":{"__isSmartRef__":true,"id":324},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":287},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"326":{"name":"logError","type":"propertyDef","startIndex":36860,"stopIndex":37487,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":false,"category":{"__isSmartRef__":true,"id":324},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":287},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"327":{"name":null,"type":"comment","startIndex":37493,"stopIndex":37493,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"328":{"name":"Namespace","type":"klassExtensionDef","startIndex":37494,"stopIndex":40205,"fileName":"lively/Base.js","_subElements":[{"__isSmartRef__":true,"id":329},{"__isSmartRef__":true,"id":331},{"__isSmartRef__":true,"id":332},{"__isSmartRef__":true,"id":333},{"__isSmartRef__":true,"id":334}],"sourceControl":{"__isSmartRef__":true,"id":195},"categories":[{"__isSmartRef__":true,"id":330}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"329":{"name":"namespaceStack","type":"propertyDef","startIndex":37521,"stopIndex":37549,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":true,"category":{"__isSmartRef__":true,"id":330},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":328},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"330":{"name":"default category","type":"categoryDef","startIndex":37519,"stopIndex":40202,"fileName":"lively/Base.js","_subElements":[{"__isSmartRef__":true,"id":329},{"__isSmartRef__":true,"id":331},{"__isSmartRef__":true,"id":332},{"__isSmartRef__":true,"id":333},{"__isSmartRef__":true,"id":334}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"331":{"name":"current","type":"propertyDef","startIndex":37551,"stopIndex":37612,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":true,"category":{"__isSmartRef__":true,"id":330},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":328},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"332":{"name":"topologicalSortLoadedModules","type":"propertyDef","startIndex":37614,"stopIndex":39015,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":true,"category":{"__isSmartRef__":true,"id":330},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":328},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"333":{"name":"bootstrapModules","type":"propertyDef","startIndex":39018,"stopIndex":40056,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":true,"category":{"__isSmartRef__":true,"id":330},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":328},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"334":{"name":"bootstrapModulesString","type":"propertyDef","startIndex":40059,"stopIndex":40201,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":true,"category":{"__isSmartRef__":true,"id":330},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":328},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"335":{"name":null,"type":"comment","startIndex":40206,"stopIndex":40206,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"336":{"name":"createLivelyNamespace","type":"functionDef","startIndex":40207,"stopIndex":40779,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"337":{"name":null,"type":"comment","startIndex":40780,"stopIndex":40780,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"338":{"name":"moveNamespaceClassToLivelyLang","type":"functionDef","startIndex":40781,"stopIndex":41086,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"339":{"name":null,"type":"comment","startIndex":41087,"stopIndex":41087,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"340":{"name":"addUsefulStuffToLivelyNS","type":"functionDef","startIndex":41088,"stopIndex":41195,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"341":{"name":null,"type":"comment","startIndex":41196,"stopIndex":41196,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"342":{"name":"lively.Module","type":"klassExtensionDef","startIndex":41197,"stopIndex":41799,"fileName":"lively/Base.js","_subElements":[{"__isSmartRef__":true,"id":343}],"sourceControl":{"__isSmartRef__":true,"id":195},"categories":[{"__isSmartRef__":true,"id":344}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"343":{"name":"findAllInThenDo","type":"propertyDef","startIndex":41228,"stopIndex":41795,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"_isStatic":true,"category":{"__isSmartRef__":true,"id":344},"className":"lively.Module","_owner":{"__isSmartRef__":true,"id":342},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"344":{"name":"default category","type":"categoryDef","startIndex":41226,"stopIndex":41796,"fileName":"lively/Base.js","_subElements":[{"__isSmartRef__":true,"id":343}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"345":{"name":null,"type":"comment","startIndex":41800,"stopIndex":41800,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"346":{"name":"setupLivelyLang","type":"functionDef","startIndex":41801,"stopIndex":42218,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"347":{"name":null,"type":"comment","startIndex":42219,"stopIndex":42319,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"348":{"name":"getStack","type":"functionDef","startIndex":42320,"stopIndex":42638,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"349":{"name":null,"type":"comment","startIndex":42639,"stopIndex":42639,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"350":{"name":"printStack","type":"functionDef","startIndex":42640,"stopIndex":43241,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"351":{"name":null,"type":"comment","startIndex":43242,"stopIndex":43242,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"352":{"name":"logStack","type":"functionDef","startIndex":43243,"stopIndex":43303,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"353":{"name":null,"type":"comment","startIndex":43304,"stopIndex":43304,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"354":{"name":"setupjQuery","type":"functionDef","startIndex":43305,"stopIndex":43696,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"355":{"target":{"__isSmartRef__":true,"id":356},"browser":{"__isSmartRef__":true,"id":82},"parent":{"__isSmartRef__":true,"id":194},"moduleName":"lively/bindings.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"356":{"name":"lively.bindings","type":"moduleDef","startIndex":1136,"stopIndex":1377,"fileName":"lively/bindings.js","_subElements":[{"__isSmartRef__":true,"id":357}],"sourceControl":{"__isSmartRef__":true,"id":195},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"357":{"name":null,"type":"comment","startIndex":1214,"stopIndex":1356,"fileName":"lively/bindings.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"358":{"browser":{"__isSmartRef__":true,"id":82},"parent":{"__isSmartRef__":true,"id":194},"moduleName":"lively/bootstrap.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"359":{"browser":{"__isSmartRef__":true,"id":82},"parent":{"__isSmartRef__":true,"id":194},"moduleName":"lively/ChangeSet.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"360":{"browser":{"__isSmartRef__":true,"id":82},"parent":{"__isSmartRef__":true,"id":194},"moduleName":"lively/CrayonColors.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"361":{"browser":{"__isSmartRef__":true,"id":82},"parent":{"__isSmartRef__":true,"id":194},"moduleName":"lively/Data.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"362":{"browser":{"__isSmartRef__":true,"id":82},"parent":{"__isSmartRef__":true,"id":194},"moduleName":"lively/date.format.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"363":{"browser":{"__isSmartRef__":true,"id":82},"parent":{"__isSmartRef__":true,"id":194},"moduleName":"lively/defaultconfig.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"364":{"browser":{"__isSmartRef__":true,"id":82},"parent":{"__isSmartRef__":true,"id":194},"moduleName":"lively/DOMAbstraction.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"365":{"target":{"__isSmartRef__":true,"id":366},"browser":{"__isSmartRef__":true,"id":82},"parent":{"__isSmartRef__":true,"id":194},"moduleName":"lively/flot.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"366":{"name":"lively.flot","type":"moduleDef","startIndex":0,"stopIndex":37506,"fileName":"lively/flot.js","_subElements":[{"__isSmartRef__":true,"id":367},{"__isSmartRef__":true,"id":368}],"sourceControl":{"__isSmartRef__":true,"id":195},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"367":{"type":"functionDef","startIndex":52,"stopIndex":3003,"fileName":"lively/flot.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"368":{"name":null,"type":"unknown","startIndex":3004,"stopIndex":37487,"fileName":"lively/flot.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"369":{"browser":{"__isSmartRef__":true,"id":82},"parent":{"__isSmartRef__":true,"id":194},"moduleName":"lively/Helper.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"370":{"target":{"__isSmartRef__":true,"id":371},"browser":{"__isSmartRef__":true,"id":82},"parent":{"__isSmartRef__":true,"id":194},"moduleName":"lively/ide.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"371":{"name":"lively.ide","type":"moduleDef","startIndex":0,"stopIndex":292,"fileName":"lively/ide.js","_subElements":[{"__isSmartRef__":true,"id":372},{"__isSmartRef__":true,"id":373}],"sourceControl":{"__isSmartRef__":true,"id":195},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"372":{"name":null,"type":"comment","startIndex":177,"stopIndex":177,"fileName":"lively/ide.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"373":{"name":null,"type":"unknown","startIndex":178,"stopIndex":272,"fileName":"lively/ide.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":195},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"374":{"browser":{"__isSmartRef__":true,"id":82},"parent":{"__isSmartRef__":true,"id":194},"moduleName":"lively/jsMorphic.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"375":{"browser":{"__isSmartRef__":true,"id":82},"parent":{"__isSmartRef__":true,"id":194},"moduleName":"lively/JSON.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"376":{"browser":{"__isSmartRef__":true,"id":82},"parent":{"__isSmartRef__":true,"id":194},"moduleName":"lively/LayerableMorphs.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"377":{"browser":{"__isSmartRef__":true,"id":82},"parent":{"__isSmartRef__":true,"id":194},"moduleName":"lively/LKFileParser.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"378":{"browser":{"__isSmartRef__":true,"id":82},"parent":{"__isSmartRef__":true,"id":194},"moduleName":"lively/LKFileParser.ometa","showAll":false,"__LivelyClassName__":"lively.ide.CompleteOmetaFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"379":{"browser":{"__isSmartRef__":true,"id":82},"parent":{"__isSmartRef__":true,"id":194},"moduleName":"lively/localconfig.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"380":{"browser":{"__isSmartRef__":true,"id":82},"parent":{"__isSmartRef__":true,"id":194},"moduleName":"lively/LocalStorage.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"381":{"browser":{"__isSmartRef__":true,"id":82},"parent":{"__isSmartRef__":true,"id":194},"moduleName":"lively/LogHelper.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"382":{"browser":{"__isSmartRef__":true,"id":82},"parent":{"__isSmartRef__":true,"id":194},"moduleName":"lively/Main.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"383":{"browser":{"__isSmartRef__":true,"id":82},"parent":{"__isSmartRef__":true,"id":194},"moduleName":"lively/Migration.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"384":{"browser":{"__isSmartRef__":true,"id":82},"parent":{"__isSmartRef__":true,"id":194},"moduleName":"lively/morphic.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"385":{"browser":{"__isSmartRef__":true,"id":82},"parent":{"__isSmartRef__":true,"id":194},"moduleName":"lively/Network.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"386":{"browser":{"__isSmartRef__":true,"id":82},"parent":{"__isSmartRef__":true,"id":194},"moduleName":"lively/NewMorphicCompat.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"387":{"browser":{"__isSmartRef__":true,"id":82},"parent":{"__isSmartRef__":true,"id":194},"moduleName":"lively/NoMoreModels.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"388":{"browser":{"__isSmartRef__":true,"id":82},"parent":{"__isSmartRef__":true,"id":194},"moduleName":"lively/OldModel.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"389":{"browser":{"__isSmartRef__":true,"id":82},"parent":{"__isSmartRef__":true,"id":194},"moduleName":"lively/Ometa.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"390":{"browser":{"__isSmartRef__":true,"id":82},"parent":{"__isSmartRef__":true,"id":194},"moduleName":"lively/PartCaching.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"391":{"browser":{"__isSmartRef__":true,"id":82},"parent":{"__isSmartRef__":true,"id":194},"moduleName":"lively/PartsBin.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"392":{"browser":{"__isSmartRef__":true,"id":82},"parent":{"__isSmartRef__":true,"id":194},"moduleName":"lively/PartsTestFramework.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"393":{"browser":{"__isSmartRef__":true,"id":82},"parent":{"__isSmartRef__":true,"id":194},"moduleName":"lively/Presentation.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"394":{"browser":{"__isSmartRef__":true,"id":82},"parent":{"__isSmartRef__":true,"id":194},"moduleName":"lively/SmalltalkParser.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"395":{"browser":{"__isSmartRef__":true,"id":82},"parent":{"__isSmartRef__":true,"id":194},"moduleName":"lively/SmalltalkParser.ometa","showAll":false,"__LivelyClassName__":"lively.ide.CompleteOmetaFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"396":{"browser":{"__isSmartRef__":true,"id":82},"parent":{"__isSmartRef__":true,"id":194},"moduleName":"lively/SmalltalkParserSupport.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"397":{"browser":{"__isSmartRef__":true,"id":82},"parent":{"__isSmartRef__":true,"id":194},"moduleName":"lively/TestFramework.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"398":{"browser":{"__isSmartRef__":true,"id":82},"parent":{"__isSmartRef__":true,"id":194},"moduleName":"lively/Touch.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"399":{"browser":{"__isSmartRef__":true,"id":82},"parent":{"__isSmartRef__":true,"id":194},"moduleName":"lively/Tracing.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"400":{"browser":{"__isSmartRef__":true,"id":82},"parent":{"__isSmartRef__":true,"id":194},"moduleName":"lively/Traits.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"401":{"browser":{"__isSmartRef__":true,"id":82},"parent":{"__isSmartRef__":true,"id":194},"moduleName":"lively/WidgetsTraits.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"402":{"target":{"__isSmartRef__":true,"id":403},"browser":{"__isSmartRef__":true,"id":82},"__LivelyClassName__":"lively.ide.ChangeSetNode","__SourceModuleName__":"Global.lively.ide.LocalBrowser"},"403":{"name":"Local code","__LivelyClassName__":"ChangeSet","__SourceModuleName__":"Global.lively.ChangeSet"},"404":{"isListItem":true,"string":"bindings/","value":{"__isSmartRef__":true,"id":205}},"405":{"isListItem":true,"string":"experimental/","value":{"__isSmartRef__":true,"id":206}},"406":{"isListItem":true,"string":"ide/","value":{"__isSmartRef__":true,"id":207}},"407":{"isListItem":true,"string":"jsMorphic/","value":{"__isSmartRef__":true,"id":208}},"408":{"isListItem":true,"string":"lang/","value":{"__isSmartRef__":true,"id":209}},"409":{"isListItem":true,"string":"morphic/","value":{"__isSmartRef__":true,"id":210}},"410":{"isListItem":true,"string":"persistence/","value":{"__isSmartRef__":true,"id":211}},"411":{"isListItem":true,"string":"tests/","value":{"__isSmartRef__":true,"id":212}},"412":{"isListItem":true,"string":"../","value":{"__isSmartRef__":true,"id":213}},"413":{"isListItem":true,"string":"Base.js","value":{"__isSmartRef__":true,"id":214}},"414":{"isListItem":true,"string":"bindings.js","value":{"__isSmartRef__":true,"id":355}},"415":{"isListItem":true,"string":"bootstrap.js (not parsed)","value":{"__isSmartRef__":true,"id":358}},"416":{"isListItem":true,"string":"ChangeSet.js (not parsed)","value":{"__isSmartRef__":true,"id":359}},"417":{"isListItem":true,"string":"CrayonColors.js (not parsed)","value":{"__isSmartRef__":true,"id":360}},"418":{"isListItem":true,"string":"Data.js (not parsed)","value":{"__isSmartRef__":true,"id":361}},"419":{"isListItem":true,"string":"date.format.js (not parsed)","value":{"__isSmartRef__":true,"id":362}},"420":{"isListItem":true,"string":"defaultconfig.js (not parsed)","value":{"__isSmartRef__":true,"id":363}},"421":{"isListItem":true,"string":"DOMAbstraction.js (not parsed)","value":{"__isSmartRef__":true,"id":364}},"422":{"isListItem":true,"string":"flot.js","value":{"__isSmartRef__":true,"id":365}},"423":{"isListItem":true,"string":"Helper.js (not parsed)","value":{"__isSmartRef__":true,"id":369}},"424":{"isListItem":true,"string":"ide.js","value":{"__isSmartRef__":true,"id":370}},"425":{"isListItem":true,"string":"jsMorphic.js (not parsed)","value":{"__isSmartRef__":true,"id":374}},"426":{"isListItem":true,"string":"JSON.js (not parsed)","value":{"__isSmartRef__":true,"id":375}},"427":{"isListItem":true,"string":"LayerableMorphs.js (not parsed)","value":{"__isSmartRef__":true,"id":376}},"428":{"isListItem":true,"string":"LKFileParser.js (not parsed)","value":{"__isSmartRef__":true,"id":377}},"429":{"isListItem":true,"string":"LKFileParser.ometa (not parsed)","value":{"__isSmartRef__":true,"id":378}},"430":{"isListItem":true,"string":"localconfig.js (not parsed)","value":{"__isSmartRef__":true,"id":379}},"431":{"isListItem":true,"string":"LocalStorage.js (not parsed)","value":{"__isSmartRef__":true,"id":380}},"432":{"isListItem":true,"string":"LogHelper.js (not parsed)","value":{"__isSmartRef__":true,"id":381}},"433":{"isListItem":true,"string":"Main.js (not parsed)","value":{"__isSmartRef__":true,"id":382}},"434":{"isListItem":true,"string":"Migration.js (not parsed)","value":{"__isSmartRef__":true,"id":383}},"435":{"isListItem":true,"string":"morphic.js (not parsed)","value":{"__isSmartRef__":true,"id":384}},"436":{"isListItem":true,"string":"Network.js (not parsed)","value":{"__isSmartRef__":true,"id":385}},"437":{"isListItem":true,"string":"NewMorphicCompat.js (not parsed)","value":{"__isSmartRef__":true,"id":386}},"438":{"isListItem":true,"string":"NoMoreModels.js (not parsed)","value":{"__isSmartRef__":true,"id":387}},"439":{"isListItem":true,"string":"OldModel.js (not parsed)","value":{"__isSmartRef__":true,"id":388}},"440":{"isListItem":true,"string":"Ometa.js (not parsed)","value":{"__isSmartRef__":true,"id":389}},"441":{"isListItem":true,"string":"PartCaching.js (not parsed)","value":{"__isSmartRef__":true,"id":390}},"442":{"isListItem":true,"string":"PartsBin.js (not parsed)","value":{"__isSmartRef__":true,"id":391}},"443":{"isListItem":true,"string":"PartsTestFramework.js (not parsed)","value":{"__isSmartRef__":true,"id":392}},"444":{"isListItem":true,"string":"Presentation.js (not parsed)","value":{"__isSmartRef__":true,"id":393}},"445":{"isListItem":true,"string":"SmalltalkParser.js (not parsed)","value":{"__isSmartRef__":true,"id":394}},"446":{"isListItem":true,"string":"SmalltalkParser.ometa (not parsed)","value":{"__isSmartRef__":true,"id":395}},"447":{"isListItem":true,"string":"SmalltalkParserSupport.js (not parsed)","value":{"__isSmartRef__":true,"id":396}},"448":{"isListItem":true,"string":"TestFramework.js (not parsed)","value":{"__isSmartRef__":true,"id":397}},"449":{"isListItem":true,"string":"Touch.js (not parsed)","value":{"__isSmartRef__":true,"id":398}},"450":{"isListItem":true,"string":"Tracing.js (not parsed)","value":{"__isSmartRef__":true,"id":399}},"451":{"isListItem":true,"string":"Traits.js (not parsed)","value":{"__isSmartRef__":true,"id":400}},"452":{"isListItem":true,"string":"WidgetsTraits.js (not parsed)","value":{"__isSmartRef__":true,"id":401}},"453":{"isListItem":true,"string":"Local code","value":{"__isSmartRef__":true,"id":402}},"454":{"morph":{"__isSmartRef__":true,"id":189},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"455":{"scaleVertical":true,"scaleHorizontal":true},"456":{"sourceObj":{"__isSmartRef__":true,"id":189},"sourceAttrName":"selection","targetObj":{"__isSmartRef__":true,"id":82},"targetMethodName":"setPane1Selection","varMapping":{"__isSmartRef__":true,"id":457},"updaterString":"function ($upd, v) { $upd(v, this.sourceObj) }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"457":{"source":{"__isSmartRef__":true,"id":189},"target":{"__isSmartRef__":true,"id":82}},"458":{"sourceObj":{"__isSmartRef__":true,"id":189},"sourceAttrName":"getSelection","targetObj":{"__isSmartRef__":true,"id":82},"targetMethodName":"getPane1Selection","varMapping":{"__isSmartRef__":true,"id":459},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"459":{"source":{"__isSmartRef__":true,"id":189},"target":{"__isSmartRef__":true,"id":82}},"460":{"sourceObj":{"__isSmartRef__":true,"id":189},"sourceAttrName":"getList","targetObj":{"__isSmartRef__":true,"id":82},"targetMethodName":"getPane1Content","varMapping":{"__isSmartRef__":true,"id":461},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"461":{"source":{"__isSmartRef__":true,"id":189},"target":{"__isSmartRef__":true,"id":82}},"462":{"sourceObj":{"__isSmartRef__":true,"id":189},"sourceAttrName":"getMenu","targetObj":{"__isSmartRef__":true,"id":82},"targetMethodName":"getPane1Menu","varMapping":{"__isSmartRef__":true,"id":463},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"463":{"source":{"__isSmartRef__":true,"id":189},"target":{"__isSmartRef__":true,"id":82}},"464":{"onDownPressed":{"__isSmartRef__":true,"id":465},"onUpPressed":{"__isSmartRef__":true,"id":472}},"465":{"varMapping":{"__isSmartRef__":true,"id":466},"source":"function onDownPressed(evt) {\n $super(evt);\n this.focus.bind(this).delay(0);\n return true;\n }","funcProperties":{"__isSmartRef__":true,"id":471},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"466":{"this":{"__isSmartRef__":true,"id":189},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":467}},"467":{"$super":{"__isSmartRef__":true,"id":468}},"468":{"varMapping":{"__isSmartRef__":true,"id":469},"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":470},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"469":{"obj":{"__isSmartRef__":true,"id":189},"name":"onDownPressed"},"470":{},"471":{},"472":{"varMapping":{"__isSmartRef__":true,"id":473},"source":"function onUpPressed(evt) {\n $super(evt);\n this.focus.bind(this).delay(0);\n return true;\n }","funcProperties":{"__isSmartRef__":true,"id":478},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"473":{"this":{"__isSmartRef__":true,"id":189},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":474}},"474":{"$super":{"__isSmartRef__":true,"id":475}},"475":{"varMapping":{"__isSmartRef__":true,"id":476},"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":477},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"476":{"obj":{"__isSmartRef__":true,"id":189},"name":"onUpPressed"},"477":{},"478":{},"479":{"source":{"__isSmartRef__":true,"id":82},"target":{"__isSmartRef__":true,"id":189}},"480":{"sourceObj":{"__isSmartRef__":true,"id":82},"sourceAttrName":"setPane2Content","targetObj":{"__isSmartRef__":true,"id":481},"targetMethodName":"updateList","varMapping":{"__isSmartRef__":true,"id":555},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"481":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":482},"itemList":[{"__isSmartRef__":true,"id":483},{"__isSmartRef__":true,"id":485},{"__isSmartRef__":true,"id":487},{"__isSmartRef__":true,"id":489},{"__isSmartRef__":true,"id":491},{"__isSmartRef__":true,"id":493},{"__isSmartRef__":true,"id":495},{"__isSmartRef__":true,"id":497},{"__isSmartRef__":true,"id":499},{"__isSmartRef__":true,"id":501},{"__isSmartRef__":true,"id":503},{"__isSmartRef__":true,"id":505},{"__isSmartRef__":true,"id":507},{"__isSmartRef__":true,"id":509},{"__isSmartRef__":true,"id":511},{"__isSmartRef__":true,"id":513},{"__isSmartRef__":true,"id":515},{"__isSmartRef__":true,"id":517},{"__isSmartRef__":true,"id":519},{"__isSmartRef__":true,"id":521},{"__isSmartRef__":true,"id":523},{"__isSmartRef__":true,"id":525},{"__isSmartRef__":true,"id":527}],"eventHandler":{"__isSmartRef__":true,"id":529},"derivationIds":[],"id":"B6931432-2F55-47FD-AC1D-AD75ED4DA970","_FontSize":10,"grabbingEnabled":false,"droppingEnabled":true,"halosEnabled":true,"_ClipMode":"auto","selection":{"__isSmartRef__":true,"id":530},"selectedLineNo":20,"owner":{"__isSmartRef__":true,"id":74},"layout":{"__isSmartRef__":true,"id":531},"attributeConnections":[{"__isSmartRef__":true,"id":532},{"__isSmartRef__":true,"id":534},{"__isSmartRef__":true,"id":536},{"__isSmartRef__":true,"id":538}],"doNotSerialize":["$$selection"],"doNotCopyProperties":["$$selection"],"prevScroll":[0,85],"__serializedExpressions__":["_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":540},"__LivelyClassName__":"lively.morphic.List","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(141.8,21.5)"},"482":{"_BorderWidth":0,"__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(141.8,264.9)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(243,243,243)"},"483":{"isListItem":true,"string":"dbgOn (function)","value":{"__isSmartRef__":true,"id":484}},"484":{"target":{"__isSmartRef__":true,"id":218},"browser":{"__isSmartRef__":true,"id":82},"__LivelyClassName__":"lively.ide.FunctionFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"485":{"isListItem":true,"string":"assert (function)","value":{"__isSmartRef__":true,"id":486}},"486":{"target":{"__isSmartRef__":true,"id":219},"browser":{"__isSmartRef__":true,"id":82},"__LivelyClassName__":"lively.ide.FunctionFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"487":{"isListItem":true,"string":"namespace (function)","value":{"__isSmartRef__":true,"id":488}},"488":{"target":{"__isSmartRef__":true,"id":223},"browser":{"__isSmartRef__":true,"id":82},"__LivelyClassName__":"lively.ide.FunctionFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"489":{"isListItem":true,"string":"__oldNamespace (function)","value":{"__isSmartRef__":true,"id":490}},"490":{"target":{"__isSmartRef__":true,"id":225},"browser":{"__isSmartRef__":true,"id":82},"__LivelyClassName__":"lively.ide.FunctionFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"491":{"isListItem":true,"string":"testModuleLoad (function)","value":{"__isSmartRef__":true,"id":492}},"492":{"target":{"__isSmartRef__":true,"id":226},"browser":{"__isSmartRef__":true,"id":82},"__LivelyClassName__":"lively.ide.FunctionFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"493":{"isListItem":true,"string":"module (function)","value":{"__isSmartRef__":true,"id":494}},"494":{"target":{"__isSmartRef__":true,"id":228},"browser":{"__isSmartRef__":true,"id":82},"__LivelyClassName__":"lively.ide.FunctionFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"495":{"isListItem":true,"string":"require (function)","value":{"__isSmartRef__":true,"id":496}},"496":{"target":{"__isSmartRef__":true,"id":230},"browser":{"__isSmartRef__":true,"id":82},"__LivelyClassName__":"lively.ide.FunctionFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"497":{"isListItem":true,"string":"Function.prototype (extension)","value":{"__isSmartRef__":true,"id":498}},"498":{"target":{"__isSmartRef__":true,"id":232},"browser":{"__isSmartRef__":true,"id":82},"__LivelyClassName__":"lively.ide.CategorizedClassFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"499":{"isListItem":true,"string":"Class (object)","value":{"__isSmartRef__":true,"id":500}},"500":{"target":{"__isSmartRef__":true,"id":248},"browser":{"__isSmartRef__":true,"id":82},"__LivelyClassName__":"lively.ide.ObjectFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"501":{"isListItem":true,"string":"Namespace","value":{"__isSmartRef__":true,"id":502}},"502":{"target":{"__isSmartRef__":true,"id":272},"browser":{"__isSmartRef__":true,"id":82},"__LivelyClassName__":"lively.ide.CategorizedClassFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"503":{"isListItem":true,"string":"Global (extension)","value":{"__isSmartRef__":true,"id":504}},"504":{"target":{"__isSmartRef__":true,"id":281},"browser":{"__isSmartRef__":true,"id":82},"__LivelyClassName__":"lively.ide.CategorizedClassFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"505":{"isListItem":true,"string":"Global (extension)","value":{"__isSmartRef__":true,"id":506}},"506":{"target":{"__isSmartRef__":true,"id":282},"browser":{"__isSmartRef__":true,"id":82},"__LivelyClassName__":"lively.ide.CategorizedClassFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"507":{"isListItem":true,"string":"Namespace (extension)","value":{"__isSmartRef__":true,"id":508}},"508":{"target":{"__isSmartRef__":true,"id":287},"browser":{"__isSmartRef__":true,"id":82},"__LivelyClassName__":"lively.ide.CategorizedClassFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"509":{"isListItem":true,"string":"Namespace (extension)","value":{"__isSmartRef__":true,"id":510}},"510":{"target":{"__isSmartRef__":true,"id":328},"browser":{"__isSmartRef__":true,"id":82},"__LivelyClassName__":"lively.ide.CategorizedClassFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"511":{"isListItem":true,"string":"createLivelyNamespace (function)","value":{"__isSmartRef__":true,"id":512}},"512":{"target":{"__isSmartRef__":true,"id":336},"browser":{"__isSmartRef__":true,"id":82},"__LivelyClassName__":"lively.ide.FunctionFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"513":{"isListItem":true,"string":"moveNamespaceClassToLivelyLang (function)","value":{"__isSmartRef__":true,"id":514}},"514":{"target":{"__isSmartRef__":true,"id":338},"browser":{"__isSmartRef__":true,"id":82},"__LivelyClassName__":"lively.ide.FunctionFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"515":{"isListItem":true,"string":"addUsefulStuffToLivelyNS (function)","value":{"__isSmartRef__":true,"id":516}},"516":{"target":{"__isSmartRef__":true,"id":340},"browser":{"__isSmartRef__":true,"id":82},"__LivelyClassName__":"lively.ide.FunctionFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"517":{"isListItem":true,"string":"lively.Module (extension)","value":{"__isSmartRef__":true,"id":518}},"518":{"target":{"__isSmartRef__":true,"id":342},"browser":{"__isSmartRef__":true,"id":82},"__LivelyClassName__":"lively.ide.CategorizedClassFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"519":{"isListItem":true,"string":"setupLivelyLang (function)","value":{"__isSmartRef__":true,"id":520}},"520":{"target":{"__isSmartRef__":true,"id":346},"browser":{"__isSmartRef__":true,"id":82},"__LivelyClassName__":"lively.ide.FunctionFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"521":{"isListItem":true,"string":"getStack (function)","value":{"__isSmartRef__":true,"id":522}},"522":{"target":{"__isSmartRef__":true,"id":348},"browser":{"__isSmartRef__":true,"id":82},"__LivelyClassName__":"lively.ide.FunctionFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"523":{"isListItem":true,"string":"printStack (function)","value":{"__isSmartRef__":true,"id":524}},"524":{"target":{"__isSmartRef__":true,"id":350},"browser":{"__isSmartRef__":true,"id":82},"__LivelyClassName__":"lively.ide.FunctionFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"525":{"isListItem":true,"string":"logStack (function)","value":{"__isSmartRef__":true,"id":526}},"526":{"target":{"__isSmartRef__":true,"id":352},"browser":{"__isSmartRef__":true,"id":82},"__LivelyClassName__":"lively.ide.FunctionFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"527":{"isListItem":true,"string":"setupjQuery (function)","value":{"__isSmartRef__":true,"id":528}},"528":{"target":{"__isSmartRef__":true,"id":354},"browser":{"__isSmartRef__":true,"id":82},"__LivelyClassName__":"lively.ide.FunctionFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"529":{"morph":{"__isSmartRef__":true,"id":481},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"530":{"target":{"__isSmartRef__":true,"id":350},"browser":{"__isSmartRef__":true,"id":82},"__LivelyClassName__":"lively.ide.FunctionFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"531":{"scaleVertical":true,"scaleHorizontal":true},"532":{"sourceObj":{"__isSmartRef__":true,"id":481},"sourceAttrName":"selection","targetObj":{"__isSmartRef__":true,"id":82},"targetMethodName":"setPane2Selection","varMapping":{"__isSmartRef__":true,"id":533},"updaterString":"function ($upd, v) { $upd(v, this.sourceObj) }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"533":{"source":{"__isSmartRef__":true,"id":481},"target":{"__isSmartRef__":true,"id":82}},"534":{"sourceObj":{"__isSmartRef__":true,"id":481},"sourceAttrName":"getSelection","targetObj":{"__isSmartRef__":true,"id":82},"targetMethodName":"getPane2Selection","varMapping":{"__isSmartRef__":true,"id":535},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"535":{"source":{"__isSmartRef__":true,"id":481},"target":{"__isSmartRef__":true,"id":82}},"536":{"sourceObj":{"__isSmartRef__":true,"id":481},"sourceAttrName":"getList","targetObj":{"__isSmartRef__":true,"id":82},"targetMethodName":"getPane2Content","varMapping":{"__isSmartRef__":true,"id":537},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"537":{"source":{"__isSmartRef__":true,"id":481},"target":{"__isSmartRef__":true,"id":82}},"538":{"sourceObj":{"__isSmartRef__":true,"id":481},"sourceAttrName":"getMenu","targetObj":{"__isSmartRef__":true,"id":82},"targetMethodName":"getPane2Menu","varMapping":{"__isSmartRef__":true,"id":539},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"539":{"source":{"__isSmartRef__":true,"id":481},"target":{"__isSmartRef__":true,"id":82}},"540":{"onDownPressed":{"__isSmartRef__":true,"id":541},"onUpPressed":{"__isSmartRef__":true,"id":548}},"541":{"varMapping":{"__isSmartRef__":true,"id":542},"source":"function onDownPressed(evt) {\n $super(evt);\n this.focus.bind(this).delay(0);\n return true;\n }","funcProperties":{"__isSmartRef__":true,"id":547},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"542":{"this":{"__isSmartRef__":true,"id":481},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":543}},"543":{"$super":{"__isSmartRef__":true,"id":544}},"544":{"varMapping":{"__isSmartRef__":true,"id":545},"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":546},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"545":{"obj":{"__isSmartRef__":true,"id":481},"name":"onDownPressed"},"546":{},"547":{},"548":{"varMapping":{"__isSmartRef__":true,"id":549},"source":"function onUpPressed(evt) {\n $super(evt);\n this.focus.bind(this).delay(0);\n return true;\n }","funcProperties":{"__isSmartRef__":true,"id":554},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"549":{"this":{"__isSmartRef__":true,"id":481},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":550}},"550":{"$super":{"__isSmartRef__":true,"id":551}},"551":{"varMapping":{"__isSmartRef__":true,"id":552},"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":553},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"552":{"obj":{"__isSmartRef__":true,"id":481},"name":"onUpPressed"},"553":{},"554":{},"555":{"source":{"__isSmartRef__":true,"id":82},"target":{"__isSmartRef__":true,"id":481}},"556":{"sourceObj":{"__isSmartRef__":true,"id":82},"sourceAttrName":"setPane3Content","targetObj":{"__isSmartRef__":true,"id":557},"targetMethodName":"updateList","varMapping":{"__isSmartRef__":true,"id":586},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"557":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":558},"itemList":["-----"],"eventHandler":{"__isSmartRef__":true,"id":559},"derivationIds":[],"id":"EF25AA92-BA87-46A1-8AAA-9103C0FF6817","_FontSize":10,"grabbingEnabled":false,"droppingEnabled":true,"halosEnabled":true,"_ClipMode":"auto","selection":{"__isSmartRef__":true,"id":560},"selectedLineNo":0,"owner":{"__isSmartRef__":true,"id":74},"layout":{"__isSmartRef__":true,"id":562},"attributeConnections":[{"__isSmartRef__":true,"id":563},{"__isSmartRef__":true,"id":565},{"__isSmartRef__":true,"id":567},{"__isSmartRef__":true,"id":569}],"doNotSerialize":["$$selection"],"doNotCopyProperties":["$$selection"],"__serializedExpressions__":["_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":571},"__LivelyClassName__":"lively.morphic.List","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(283.5,21.5)"},"558":{"_BorderWidth":0,"__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(141.8,264.9)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(243,243,243)"},"559":{"morph":{"__isSmartRef__":true,"id":557},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"560":{"target":{"__isSmartRef__":true,"id":282},"browser":{"__isSmartRef__":true,"id":82},"parent":{"__isSmartRef__":true,"id":561},"__LivelyClassName__":"lively.ide.AllMethodCategoryFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"561":{"target":{"__isSmartRef__":true,"id":282},"browser":{"__isSmartRef__":true,"id":82},"__LivelyClassName__":"lively.ide.CategorizedClassFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"562":{"scaleVertical":true,"scaleHorizontal":true},"563":{"sourceObj":{"__isSmartRef__":true,"id":557},"sourceAttrName":"selection","targetObj":{"__isSmartRef__":true,"id":82},"targetMethodName":"setPane3Selection","varMapping":{"__isSmartRef__":true,"id":564},"updaterString":"function ($upd, v) { $upd(v, this.sourceObj) }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"564":{"source":{"__isSmartRef__":true,"id":557},"target":{"__isSmartRef__":true,"id":82}},"565":{"sourceObj":{"__isSmartRef__":true,"id":557},"sourceAttrName":"getSelection","targetObj":{"__isSmartRef__":true,"id":82},"targetMethodName":"getPane3Selection","varMapping":{"__isSmartRef__":true,"id":566},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"566":{"source":{"__isSmartRef__":true,"id":557},"target":{"__isSmartRef__":true,"id":82}},"567":{"sourceObj":{"__isSmartRef__":true,"id":557},"sourceAttrName":"getList","targetObj":{"__isSmartRef__":true,"id":82},"targetMethodName":"getPane3Content","varMapping":{"__isSmartRef__":true,"id":568},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"568":{"source":{"__isSmartRef__":true,"id":557},"target":{"__isSmartRef__":true,"id":82}},"569":{"sourceObj":{"__isSmartRef__":true,"id":557},"sourceAttrName":"getMenu","targetObj":{"__isSmartRef__":true,"id":82},"targetMethodName":"getPane3Menu","varMapping":{"__isSmartRef__":true,"id":570},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"570":{"source":{"__isSmartRef__":true,"id":557},"target":{"__isSmartRef__":true,"id":82}},"571":{"onDownPressed":{"__isSmartRef__":true,"id":572},"onUpPressed":{"__isSmartRef__":true,"id":579}},"572":{"varMapping":{"__isSmartRef__":true,"id":573},"source":"function onDownPressed(evt) {\n $super(evt);\n this.focus.bind(this).delay(0);\n return true;\n }","funcProperties":{"__isSmartRef__":true,"id":578},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"573":{"this":{"__isSmartRef__":true,"id":557},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":574}},"574":{"$super":{"__isSmartRef__":true,"id":575}},"575":{"varMapping":{"__isSmartRef__":true,"id":576},"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":577},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"576":{"obj":{"__isSmartRef__":true,"id":557},"name":"onDownPressed"},"577":{},"578":{},"579":{"varMapping":{"__isSmartRef__":true,"id":580},"source":"function onUpPressed(evt) {\n $super(evt);\n this.focus.bind(this).delay(0);\n return true;\n }","funcProperties":{"__isSmartRef__":true,"id":585},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"580":{"this":{"__isSmartRef__":true,"id":557},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":581}},"581":{"$super":{"__isSmartRef__":true,"id":582}},"582":{"varMapping":{"__isSmartRef__":true,"id":583},"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":584},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"583":{"obj":{"__isSmartRef__":true,"id":557},"name":"onUpPressed"},"584":{},"585":{},"586":{"source":{"__isSmartRef__":true,"id":82},"target":{"__isSmartRef__":true,"id":557}},"587":{"sourceObj":{"__isSmartRef__":true,"id":82},"sourceAttrName":"setPane4Content","targetObj":{"__isSmartRef__":true,"id":588},"targetMethodName":"updateList","varMapping":{"__isSmartRef__":true,"id":615},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"588":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":589},"itemList":["-----"],"eventHandler":{"__isSmartRef__":true,"id":590},"derivationIds":[],"id":"83E56B62-1033-461B-B7F1-0959DB91DA84","_FontSize":10,"grabbingEnabled":false,"droppingEnabled":true,"halosEnabled":true,"_ClipMode":"auto","selection":null,"selectedLineNo":-1,"owner":{"__isSmartRef__":true,"id":74},"layout":{"__isSmartRef__":true,"id":591},"attributeConnections":[{"__isSmartRef__":true,"id":592},{"__isSmartRef__":true,"id":594},{"__isSmartRef__":true,"id":596},{"__isSmartRef__":true,"id":598}],"doNotSerialize":["$$selection"],"doNotCopyProperties":["$$selection"],"__serializedExpressions__":["_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":600},"__LivelyClassName__":"lively.morphic.List","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(425.3,21.5)"},"589":{"_BorderWidth":0,"__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(141.8,264.9)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(243,243,243)"},"590":{"morph":{"__isSmartRef__":true,"id":588},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"591":{"scaleVertical":true,"scaleHorizontal":true},"592":{"sourceObj":{"__isSmartRef__":true,"id":588},"sourceAttrName":"selection","targetObj":{"__isSmartRef__":true,"id":82},"targetMethodName":"setPane4Selection","varMapping":{"__isSmartRef__":true,"id":593},"updaterString":"function ($upd, v) { $upd(v, this.sourceObj) }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"593":{"source":{"__isSmartRef__":true,"id":588},"target":{"__isSmartRef__":true,"id":82}},"594":{"sourceObj":{"__isSmartRef__":true,"id":588},"sourceAttrName":"getSelection","targetObj":{"__isSmartRef__":true,"id":82},"targetMethodName":"getPane4Selection","varMapping":{"__isSmartRef__":true,"id":595},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"595":{"source":{"__isSmartRef__":true,"id":588},"target":{"__isSmartRef__":true,"id":82}},"596":{"sourceObj":{"__isSmartRef__":true,"id":588},"sourceAttrName":"getList","targetObj":{"__isSmartRef__":true,"id":82},"targetMethodName":"getPane4Content","varMapping":{"__isSmartRef__":true,"id":597},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"597":{"source":{"__isSmartRef__":true,"id":588},"target":{"__isSmartRef__":true,"id":82}},"598":{"sourceObj":{"__isSmartRef__":true,"id":588},"sourceAttrName":"getMenu","targetObj":{"__isSmartRef__":true,"id":82},"targetMethodName":"getPane4Menu","varMapping":{"__isSmartRef__":true,"id":599},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"599":{"source":{"__isSmartRef__":true,"id":588},"target":{"__isSmartRef__":true,"id":82}},"600":{"onDownPressed":{"__isSmartRef__":true,"id":601},"onUpPressed":{"__isSmartRef__":true,"id":608}},"601":{"varMapping":{"__isSmartRef__":true,"id":602},"source":"function onDownPressed(evt) {\n $super(evt);\n this.focus.bind(this).delay(0);\n return true;\n }","funcProperties":{"__isSmartRef__":true,"id":607},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"602":{"this":{"__isSmartRef__":true,"id":588},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":603}},"603":{"$super":{"__isSmartRef__":true,"id":604}},"604":{"varMapping":{"__isSmartRef__":true,"id":605},"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":606},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"605":{"obj":{"__isSmartRef__":true,"id":588},"name":"onDownPressed"},"606":{},"607":{},"608":{"varMapping":{"__isSmartRef__":true,"id":609},"source":"function onUpPressed(evt) {\n $super(evt);\n this.focus.bind(this).delay(0);\n return true;\n }","funcProperties":{"__isSmartRef__":true,"id":614},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"609":{"this":{"__isSmartRef__":true,"id":588},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":610}},"610":{"$super":{"__isSmartRef__":true,"id":611}},"611":{"varMapping":{"__isSmartRef__":true,"id":612},"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":613},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"612":{"obj":{"__isSmartRef__":true,"id":588},"name":"onUpPressed"},"613":{},"614":{},"615":{"source":{"__isSmartRef__":true,"id":82},"target":{"__isSmartRef__":true,"id":588}},"616":{"sourceObj":{"__isSmartRef__":true,"id":82},"sourceAttrName":"setSourceString","targetObj":{"__isSmartRef__":true,"id":69},"targetMethodName":"setTextString","varMapping":{"__isSmartRef__":true,"id":617},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"617":{"source":{"__isSmartRef__":true,"id":82},"target":{"__isSmartRef__":true,"id":69}},"618":{"sourceObj":{"__isSmartRef__":true,"id":82},"sourceAttrName":"targetURL","targetObj":{"__isSmartRef__":true,"id":75},"targetMethodName":"setTextString","varMapping":{"__isSmartRef__":true,"id":619},"updaterString":"function ($upd, value) { value && $upd(String(value)) }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"619":{"source":{"__isSmartRef__":true,"id":82},"target":{"__isSmartRef__":true,"id":75}},"620":{"submorphs":[{"__isSmartRef__":true,"id":621},{"__isSmartRef__":true,"id":646},{"__isSmartRef__":true,"id":694},{"__isSmartRef__":true,"id":719},{"__isSmartRef__":true,"id":1298}],"scripts":[],"shape":{"__isSmartRef__":true,"id":1323},"eventHandler":{"__isSmartRef__":true,"id":1324},"_ClipMode":"visible","derivationIds":[],"id":"5FBC661B-CE75-4137-A74A-D6649A8D0A5D","droppingEnabled":false,"halosEnabled":true,"draggingEnabled":true,"layout":{"__isSmartRef__":true,"id":1325},"LK2":true,"targetMorph":{"__isSmartRef__":true,"id":719},"reframeHandle":{"__isSmartRef__":true,"id":1298},"bottomReframeHandle":{"__isSmartRef__":true,"id":694},"rightReframeHandle":{"__isSmartRef__":true,"id":621},"titleBar":{"__isSmartRef__":true,"id":646},"collapsedTransform":null,"collapsedExtent":null,"expandedTransform":null,"expandedExtent":null,"ignoreEventsOnExpand":false,"_PreviousBorderWidth":0,"owner":{"__isSmartRef__":true,"id":0},"highlighted":false,"isBeingDragged":false,"prevScroll":[0,0],"__serializedExpressions__":["_Position","contentOffset","prevDragPos"],"__LivelyClassName__":"lively.morphic.Window","__SourceModuleName__":"Global.lively.morphic.Widgets","withoutLayers":["Global.lively.morphic.GrabbingLayer"],"_Position":"lively.pt(647.0,109.0)","contentOffset":"lively.pt(4.0,22.0)","prevDragPos":"lively.pt(769.0,51.0)"},"621":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":622},"eventHandler":{"__isSmartRef__":true,"id":623},"_ClipMode":"visible","derivationIds":[],"id":"38F123C9-8A15-41EB-A3F7-F445EAF4D64F","droppingEnabled":true,"halosEnabled":true,"_StyleClassNames":["reframe-handle right"],"owner":{"__isSmartRef__":true,"id":620},"__serializedExpressions__":["_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":624},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(571.0,0.0)"},"622":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(4.0,728.0)","_Padding":"lively.rect(0,0,0,0)"},"623":{"morph":{"__isSmartRef__":true,"id":621},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"624":{"onDragStart":{"__isSmartRef__":true,"id":625},"onDrag":{"__isSmartRef__":true,"id":632},"onDragEnd":{"__isSmartRef__":true,"id":639}},"625":{"varMapping":{"__isSmartRef__":true,"id":626},"source":"function onDragStart(evt) {\n this.dragStartPoint = evt.mousePoint;\n this.originalTargetExtent = this.owner.getExtent();\n }","funcProperties":{"__isSmartRef__":true,"id":631},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"626":{"this":{"__isSmartRef__":true,"id":621},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":627}},"627":{"$super":{"__isSmartRef__":true,"id":628}},"628":{"varMapping":{"__isSmartRef__":true,"id":629},"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":630},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"629":{"obj":{"__isSmartRef__":true,"id":621},"name":"onDragStart"},"630":{},"631":{},"632":{"varMapping":{"__isSmartRef__":true,"id":633},"source":"function onDrag(evt) {\n var moveDelta = pt(evt.mousePoint.subPt(this.dragStartPoint).x,0);\n var newExtent = this.originalTargetExtent.addPt(moveDelta);\n if (newExtent.x < this.owner.minWidth) newExtent.x = this.owner.minWidth;\n\n this.owner.setExtent(newExtent);\n this.align(this.bounds().topRight(), pt(this.owner.getExtent().x,0));\n }","funcProperties":{"__isSmartRef__":true,"id":638},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"633":{"this":{"__isSmartRef__":true,"id":621},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":634}},"634":{"$super":{"__isSmartRef__":true,"id":635}},"635":{"varMapping":{"__isSmartRef__":true,"id":636},"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":637},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"636":{"obj":{"__isSmartRef__":true,"id":621},"name":"onDrag"},"637":{},"638":{},"639":{"varMapping":{"__isSmartRef__":true,"id":640},"source":"function onDragEnd(evt) {\n this.dragStartPoint = null;\n this.originalTargetExtent = null;\n this.owner.alignReframeHandle();\n this.owner.alignBottomReframeHandle();\n }","funcProperties":{"__isSmartRef__":true,"id":645},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"640":{"this":{"__isSmartRef__":true,"id":621},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":641}},"641":{"$super":{"__isSmartRef__":true,"id":642}},"642":{"varMapping":{"__isSmartRef__":true,"id":643},"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":644},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"643":{"obj":{"__isSmartRef__":true,"id":621},"name":"onDragEnd"},"644":{},"645":{},"646":{"submorphs":[{"__isSmartRef__":true,"id":647},{"__isSmartRef__":true,"id":653},{"__isSmartRef__":true,"id":666},{"__isSmartRef__":true,"id":678}],"scripts":[],"shape":{"__isSmartRef__":true,"id":691},"eventHandler":{"__isSmartRef__":true,"id":692},"_ClipMode":"visible","derivationIds":[],"id":"B16A8532-8FB9-4C9A-BA4C-90DC29A341C4","droppingEnabled":false,"halosEnabled":true,"layout":{"__isSmartRef__":true,"id":693},"windowMorph":{"__isSmartRef__":true,"id":620},"label":{"__isSmartRef__":true,"id":647},"closeButton":{"__isSmartRef__":true,"id":653},"menuButton":{"__isSmartRef__":true,"id":666},"collapseButton":{"__isSmartRef__":true,"id":678},"_PreviousBorderWidth":0,"owner":{"__isSmartRef__":true,"id":620},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.TitleBar","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,0.0)"},"647":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":648},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":649}],"eventHandler":{"__isSmartRef__":true,"id":651},"_ClipMode":"hidden","derivationIds":[],"id":"7E65FF9B-EF98-458C-B5C9-8A9FB051D5B2","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"isLabel":true,"layout":{"__isSmartRef__":true,"id":652},"eventsAreIgnored":true,"owner":{"__isSmartRef__":true,"id":646},"_StyleClassNames":["window-title"],"_TextStylingMode":true,"__serializedExpressions__":["_TextColor","_Position"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(20.0,3.0)"},"648":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(516.0,18.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"649":{"style":{"__isSmartRef__":true,"id":650},"chunkOwner":{"__isSmartRef__":true,"id":647},"_id":"_90","storedString":"Base.js","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"650":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"651":{"morph":{"__isSmartRef__":true,"id":647},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"652":{"resizeWidth":true},"653":{"submorphs":[{"__isSmartRef__":true,"id":654}],"scripts":[],"shape":{"__isSmartRef__":true,"id":659},"eventHandler":{"__isSmartRef__":true,"id":660},"_ClipMode":"visible","derivationIds":[],"id":"317399EB-B5B0-4D23-97B0-62DC16E1593A","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"accessibleInInactiveWindow":true,"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":654},"_PreviousBorderWidth":0,"owner":{"__isSmartRef__":true,"id":646},"layout":{"__isSmartRef__":true,"id":661},"_StyleClassNames":["close"],"attributeConnections":[{"__isSmartRef__":true,"id":662},{"__isSmartRef__":true,"id":664}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"__serializedExpressions__":["_Position"],"isPressed":false,"__LivelyClassName__":"lively.morphic.WindowControl","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(555.0,3.0)"},"654":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":655},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":656}],"eventHandler":{"__isSmartRef__":true,"id":658},"_ClipMode":"hidden","derivationIds":[],"id":"CCF3D94D-E19D-4F07-BF72-7BB7481A6A73","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":8,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":653},"isLabel":true,"eventsAreIgnored":true,"_TextStylingMode":true,"__serializedExpressions__":["_TextColor","_Position"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,-1.0)"},"655":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"656":{"style":{"__isSmartRef__":true,"id":657},"chunkOwner":{"__isSmartRef__":true,"id":654},"_id":"_19989","storedString":"X","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"657":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"658":{"morph":{"__isSmartRef__":true,"id":654},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"659":{"_BorderWidth":1,"_StrokeOpacity":0,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"660":{"morph":{"__isSmartRef__":true,"id":653},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"661":{"moveHorizontal":true},"662":{"sourceObj":{"__isSmartRef__":true,"id":653},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":620},"targetMethodName":"getCloseHelp","varMapping":{"__isSmartRef__":true,"id":663},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"663":{"source":{"__isSmartRef__":true,"id":653},"target":{"__isSmartRef__":true,"id":620}},"664":{"sourceObj":{"__isSmartRef__":true,"id":653},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":620},"targetMethodName":"initiateShutdown","varMapping":{"__isSmartRef__":true,"id":665},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"665":{"source":{"__isSmartRef__":true,"id":653},"target":{"__isSmartRef__":true,"id":620}},"666":{"submorphs":[{"__isSmartRef__":true,"id":667}],"scripts":[],"shape":{"__isSmartRef__":true,"id":672},"eventHandler":{"__isSmartRef__":true,"id":673},"_ClipMode":"visible","derivationIds":[],"id":"768D251A-8232-44CC-B589-1DB92889980E","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"accessibleInInactiveWindow":true,"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":667},"_PreviousBorderWidth":0,"owner":{"__isSmartRef__":true,"id":646},"attributeConnections":[{"__isSmartRef__":true,"id":674},{"__isSmartRef__":true,"id":676}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.WindowControl","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(3.0,3.0)"},"667":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":668},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":669}],"eventHandler":{"__isSmartRef__":true,"id":671},"_ClipMode":"hidden","derivationIds":[],"id":"B5A0BF7D-9227-4392-A63B-1D45A1656C11","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":8,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":666},"isLabel":true,"eventsAreIgnored":true,"_TextStylingMode":true,"__serializedExpressions__":["_TextColor","_Position"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"668":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"669":{"style":{"__isSmartRef__":true,"id":670},"chunkOwner":{"__isSmartRef__":true,"id":667},"_id":"_19991","storedString":"M","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"670":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"671":{"morph":{"__isSmartRef__":true,"id":667},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"672":{"_BorderWidth":1,"_StrokeOpacity":0,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"673":{"morph":{"__isSmartRef__":true,"id":666},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"674":{"sourceObj":{"__isSmartRef__":true,"id":666},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":620},"targetMethodName":"getMenuHelp","varMapping":{"__isSmartRef__":true,"id":675},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"675":{"source":{"__isSmartRef__":true,"id":666},"target":{"__isSmartRef__":true,"id":620}},"676":{"sourceObj":{"__isSmartRef__":true,"id":666},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":620},"targetMethodName":"showTargetMorphMenu","varMapping":{"__isSmartRef__":true,"id":677},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"677":{"source":{"__isSmartRef__":true,"id":666},"target":{"__isSmartRef__":true,"id":620}},"678":{"submorphs":[{"__isSmartRef__":true,"id":679}],"scripts":[],"shape":{"__isSmartRef__":true,"id":684},"eventHandler":{"__isSmartRef__":true,"id":685},"_ClipMode":"visible","derivationIds":[],"id":"DA567D8F-D47D-4744-84DF-C2B7111263C0","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"accessibleInInactiveWindow":true,"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":679},"_PreviousBorderWidth":0,"owner":{"__isSmartRef__":true,"id":646},"layout":{"__isSmartRef__":true,"id":686},"attributeConnections":[{"__isSmartRef__":true,"id":687},{"__isSmartRef__":true,"id":689}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.WindowControl","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(536.0,3.0)"},"679":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":680},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":681}],"eventHandler":{"__isSmartRef__":true,"id":683},"_ClipMode":"hidden","derivationIds":[],"id":"39D5628D-C678-4087-A562-89DC7DDEBDD5","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":8,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":678},"isLabel":true,"eventsAreIgnored":true,"_TextStylingMode":true,"__serializedExpressions__":["_TextColor","_Position"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,1.0)"},"680":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"681":{"style":{"__isSmartRef__":true,"id":682},"chunkOwner":{"__isSmartRef__":true,"id":679},"_id":"_19993","storedString":"–","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"682":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"683":{"morph":{"__isSmartRef__":true,"id":679},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"684":{"_BorderWidth":1,"_StrokeOpacity":0,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"685":{"morph":{"__isSmartRef__":true,"id":678},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"686":{"moveHorizontal":true},"687":{"sourceObj":{"__isSmartRef__":true,"id":678},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":620},"targetMethodName":"getCollapseHelp","varMapping":{"__isSmartRef__":true,"id":688},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"688":{"source":{"__isSmartRef__":true,"id":678},"target":{"__isSmartRef__":true,"id":620}},"689":{"sourceObj":{"__isSmartRef__":true,"id":678},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":620},"targetMethodName":"toggleCollapse","varMapping":{"__isSmartRef__":true,"id":690},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"690":{"source":{"__isSmartRef__":true,"id":678},"target":{"__isSmartRef__":true,"id":620}},"691":{"_AppearanceStylingMode":true,"_BorderStylingMode":true,"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(575.0,22.0)","_Padding":"lively.rect(0,0,0,0)"},"692":{"morph":{"__isSmartRef__":true,"id":646},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"693":{"resizeWidth":true,"adjustForNewBounds":true},"694":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":695},"eventHandler":{"__isSmartRef__":true,"id":696},"_ClipMode":"visible","derivationIds":[],"id":"C9DFE0D7-932B-4359-9E40-A4DC66ADF4F5","droppingEnabled":true,"halosEnabled":true,"_StyleClassNames":["reframe-handle bottom"],"owner":{"__isSmartRef__":true,"id":620},"__serializedExpressions__":["_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":697},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,738.0)"},"695":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(561.0,4.0)","_Padding":"lively.rect(0,0,0,0)"},"696":{"morph":{"__isSmartRef__":true,"id":694},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"697":{"onDragStart":{"__isSmartRef__":true,"id":698},"onDrag":{"__isSmartRef__":true,"id":705},"onDragEnd":{"__isSmartRef__":true,"id":712}},"698":{"varMapping":{"__isSmartRef__":true,"id":699},"source":"function onDragStart(evt) {\n this.dragStartPoint = evt.mousePoint;\n this.originalTargetExtent = this.owner.getExtent();\n }","funcProperties":{"__isSmartRef__":true,"id":704},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"699":{"this":{"__isSmartRef__":true,"id":694},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":700}},"700":{"$super":{"__isSmartRef__":true,"id":701}},"701":{"varMapping":{"__isSmartRef__":true,"id":702},"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":703},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"702":{"obj":{"__isSmartRef__":true,"id":694},"name":"onDragStart"},"703":{},"704":{},"705":{"varMapping":{"__isSmartRef__":true,"id":706},"source":"function onDrag(evt) {\n var moveDelta = pt(0,evt.mousePoint.subPt(this.dragStartPoint).y);\n var newExtent = this.originalTargetExtent.addPt(moveDelta);\n if (newExtent.y < this.owner.minHeight) newExtent.y = this.owner.minHeight;\n this.owner.setExtent(newExtent);\n\n this.align(this.bounds().bottomLeft(), pt(0,this.owner.getExtent().y));\n }","funcProperties":{"__isSmartRef__":true,"id":711},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"706":{"this":{"__isSmartRef__":true,"id":694},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":707}},"707":{"$super":{"__isSmartRef__":true,"id":708}},"708":{"varMapping":{"__isSmartRef__":true,"id":709},"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":710},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"709":{"obj":{"__isSmartRef__":true,"id":694},"name":"onDrag"},"710":{},"711":{},"712":{"varMapping":{"__isSmartRef__":true,"id":713},"source":"function onDragEnd(evt) {\n this.dragStartPoint = null;\n this.originalTargetExtent = null;\n this.owner.alignReframeHandle();\n this.owner.alignRightReframeHandle();\n }","funcProperties":{"__isSmartRef__":true,"id":718},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"713":{"this":{"__isSmartRef__":true,"id":694},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":714}},"714":{"$super":{"__isSmartRef__":true,"id":715}},"715":{"varMapping":{"__isSmartRef__":true,"id":716},"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":717},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"716":{"obj":{"__isSmartRef__":true,"id":694},"name":"onDragEnd"},"717":{},"718":{},"719":{"submorphs":[{"__isSmartRef__":true,"id":720},{"__isSmartRef__":true,"id":1265},{"__isSmartRef__":true,"id":1276},{"__isSmartRef__":true,"id":833},{"__isSmartRef__":true,"id":1118},{"__isSmartRef__":true,"id":1193},{"__isSmartRef__":true,"id":1222},{"__isSmartRef__":true,"id":1287},{"__isSmartRef__":true,"id":1251},{"__isSmartRef__":true,"id":729},{"__isSmartRef__":true,"id":743},{"__isSmartRef__":true,"id":757},{"__isSmartRef__":true,"id":771},{"__isSmartRef__":true,"id":785},{"__isSmartRef__":true,"id":799},{"__isSmartRef__":true,"id":813}],"scripts":[],"shape":{"__isSmartRef__":true,"id":1295},"eventHandler":{"__isSmartRef__":true,"id":1296},"_ClipMode":"visible","derivationIds":[],"id":"52FF6E57-3D5E-4656-AE85-6128FC5798A1","droppingEnabled":true,"halosEnabled":true,"layout":{"__isSmartRef__":true,"id":1297},"__serializedExpressions__":["_Position"],"locationPane":{"__isSmartRef__":true,"id":720},"codeBaseDirBtn":{"__isSmartRef__":true,"id":1265},"localDirBtn":{"__isSmartRef__":true,"id":1276},"Pane1":{"__isSmartRef__":true,"id":833},"Pane2":{"__isSmartRef__":true,"id":1118},"Pane3":{"__isSmartRef__":true,"id":1193},"Pane4":{"__isSmartRef__":true,"id":1222},"midResizer":{"__isSmartRef__":true,"id":1287},"sourcePane":{"__isSmartRef__":true,"id":1251},"ownerWidget":{"__isSmartRef__":true,"id":727},"owner":{"__isSmartRef__":true,"id":620},"__LivelyClassName__":"lively.ide.BrowserPanel","__SourceModuleName__":"Global.lively.ide.BrowserFramework","_Position":"lively.pt(4.0,22.0)"},"720":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":721},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":722}],"eventHandler":{"__isSmartRef__":true,"id":724},"_ClipMode":"hidden","derivationIds":[],"id":"8FF60BAF-2CA7-4A02-A333-BB1B1A422DA7","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":true,"_HandStyle":null,"allowInput":true,"_FontFamily":"Helvetica","_FontSize":8,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":719},"isInputLine":true,"layout":{"__isSmartRef__":true,"id":725},"noEval":true,"styleClass":["Browser_locationInput"],"attributeConnections":[{"__isSmartRef__":true,"id":726}],"doNotSerialize":["$$savedTextString"],"doNotCopyProperties":["$$savedTextString"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(102,102,102)","_Position":"lively.pt(0.0,0.0)"},"721":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor","_Fill"],"_BorderWidth":0,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(453.6,21.5)","_Padding":"lively.rect(1,1,0,0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(255,255,255)"},"722":{"style":{"__isSmartRef__":true,"id":723},"chunkOwner":{"__isSmartRef__":true,"id":720},"_id":"_18","storedString":"http://lively-kernel.org/repository/webwerkstatt/core/lively/","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"723":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"724":{"morph":{"__isSmartRef__":true,"id":720},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"725":{"scaleVertical":true,"scaleHorizontal":true},"726":{"sourceObj":{"__isSmartRef__":true,"id":720},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":727},"targetMethodName":"setTargetURL","varMapping":{"__isSmartRef__":true,"id":1264},"converterString":"function (value) { return new URL(value) }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"727":{"buttonCommands":[{"__isSmartRef__":true,"id":728},{"__isSmartRef__":true,"id":742},{"__isSmartRef__":true,"id":756},{"__isSmartRef__":true,"id":770},{"__isSmartRef__":true,"id":784},{"__isSmartRef__":true,"id":798},{"__isSmartRef__":true,"id":812}],"RootFilters":[{"__isSmartRef__":true,"id":826}],"Pane1Filters":[{"__isSmartRef__":true,"id":827},{"__isSmartRef__":true,"id":828}],"Pane2Filters":[{"__isSmartRef__":true,"id":829}],"Pane3Filters":[{"__isSmartRef__":true,"id":830}],"Pane4Filters":[{"__isSmartRef__":true,"id":831}],"evaluate":true,"targetURL":{"__isSmartRef__":true,"id":187},"panel":{"__isSmartRef__":true,"id":719},"attributeConnections":[{"__isSmartRef__":true,"id":832},{"__isSmartRef__":true,"id":1117},{"__isSmartRef__":true,"id":1192},{"__isSmartRef__":true,"id":1221},{"__isSmartRef__":true,"id":1250},{"__isSmartRef__":true,"id":1262}],"SourceString":"/*\n * Copyright (c) 2006-2009 Sun Microsystems, Inc.\n * Copyright (c) 2008-2011 Hasso Plattner Institute\n *\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\n// set to the context enclosing the SVG context.\n// rk: replaced \"this.window.top || this.window\" with \"this.window\"\n// rk: when is it necessary to use the parent context?\nvar Global = this.window || GLOBAL /*for Node.js*/;\nfunction dbgOn(cond, optMessage) {\n if (optMessage) console.log(optMessage);\n if (cond) debugger; // note that rhino has issues with this keyword\n // also call as: throw dbgOn(new Error(....))\n return cond;\n}\n\nfunction assert(value, message) {\n if (value) { return; }\n // capture the stack\n var stack;\n try { throw new Error() } catch(e) { stack = e.stack || '' };\n alert('Assertion failed' + (message ? ': ' + message : '!') + '\\n' + stack);\n};\n\n// namespace logic adapted from\n// http://higher-order.blogspot.com/2008/02/designing-clientserver-web-applications.html\nvar using = (function() {\n\n function Util(args) { // args is an escaping arguments array\n this.objects = Array.prototype.concat.apply([], args);\n //var ownArgs = this.objects = new Array(args.length);\n //for (var i = 0; i < args.length; i++) ownArgs[i] = args[i];\n };\n\n Util.prototype = {\n\n log: function(msg) {\n console.log(msg);\n },\n\n run: function(inner) {\n var args = this.objects;\n if (this.moduleName) {\n // little convenience,\n if (args.length > 0) this.log('using().module(): ignoring args ' + args);\n return module(this.moduleName).requires().toRun(inner);\n } else return inner.apply(args[0], args);\n },\n\n model: function(model) {\n // KP: interestingly, declaring the above as \"model: function model(model)\"\n // seems to bind model to to the function, not the formal parameter, at least in rhino!\n this.model = model;\n return this;\n },\n\n module: function(moduleName) {\n this.moduleName = moduleName;\n return this;\n },\n\n link: function link(literal, variableMap) {\n variableMap = variableMap || {};\n return new lively.data.Resolver().link(literal, [], undefined, variableMap, this.objects, this.model);\n },\n\n extend: function extend(base, extLiteral) {\n return this.link(Object.extend(Object.clone(base), extLiteral));\n },\n\n test: function(inner) {\n try {\n return this.run(inner);\n } catch (er) {\n alert('test failed: ' + er);\n return undefined;\n }\n }\n }\n\n return function using() {\n return new Util(arguments);\n }\n})();\n\n\nfunction namespace(spec, context) {\n var codeDB;\n if (spec[0] == '$') {\n codeDB = spec.substring(1, spec.indexOf('.'));\n spec = spec.substring(spec.indexOf('.') + 1);\n }\n var ret = __oldNamespace(spec, context);\n if (codeDB) {\n ret.fromDB = codeDB;\n }\n return ret;\n};\n\n\nfunction __oldNamespace(spec, context) {\n var i,N;\n context = context || Global;\n spec = spec.valueOf();\n if (typeof spec === 'object') {\n if (typeof spec.length === 'number') {//assume an array-like object\n for (i = 0,N = spec.length; i < N; i++) {\n return namespace(spec[i], context);\n }\n } else {//spec is a specification object e.g, {com: {trifork: ['model,view']}}\n for (i in spec) if (spec.hasOwnProperty(i)) {\n context[i] = context[i] || new lively.lang.Namespace(context, i);\n return namespace(spec[i], context[i]);//recursively descend tree\n }\n }\n } else if (typeof spec === 'string') {\n (function handleStringCase() {\n var parts;\n parts = spec.split('.');\n for (i = 0, N = parts.length; i= 0) {\n ea.pendingRequirements = [];\n ea.load();\n testModuleLoad.delay(6);\n }\n\t});\n console.log('Module load check done. ' + modules.length + ' modules loaded.');\n}).delay(10);\n\nfunction module(moduleName) {\n\n moduleName = LivelyMigrationSupport.fixModuleName(moduleName);\n\n function isNamespaceAwareModule(moduleName) {\n return moduleName && !moduleName.endsWith('.js');\n }\n\n function convertUrlToNSIdentifier(url) {\n var result = url;\n result = result.replace(/\\//g, '.');\n // get rid of '.js'\n if (result.endsWith('.js')) result = result.substring(0, result.lastIndexOf('.'));\n return result;\n }\n\n function createNamespaceModule(moduleName) {\n return namespace(isNamespaceAwareModule(moduleName) ? moduleName : convertUrlToNSIdentifier(moduleName));\n }\n\n function basicRequire(/*module, requiredModuleNameOrAnArray, anotherRequiredModuleName, ...*/) {\n // support modulenames as array and parameterlist\n var args = $A(arguments),\n module = args.shift(),\n preReqModuleNames = Object.isArray(args[0]) ? args[0] : args,\n requiredModules = [];\n for (var i = 0; i < preReqModuleNames.length; i++) {\n var name = LivelyMigrationSupport.fixModuleName(preReqModuleNames[i]),\n reqModule = createNamespaceModule(name);\n module.addRequiredModule(reqModule);\n requiredModules.push(reqModule);\n }\n\n return {\n toRun: function(code) {\n var debugCode = code;\n code = code.curry(module); // pass in own module name for nested requirements\n var codeWrapper = function() { // run code with namespace modules as additional parameters\n try {\n module.activate();\n code.apply(this, requiredModules);\n module._isLoaded = true;\n } catch(e) {\n module.logError(module + '>>basicRequire: ' + e, debugCode)\n } finally {\n module.deactivate();\n }\n }\n module.addOnloadCallback(codeWrapper);\n module.load();\n }\n };\n };\n\n dbgOn(!Object.isString(moduleName));\n var module = createNamespaceModule(moduleName);\n module.wasDefined = true;\n module.requires = basicRequire.curry(module);\n return module;\n};\n\nfunction require(/*requiredModuleNameOrAnArray, anotherRequiredModuleName, ...*/) {\n var getUniqueName = function() { return 'anonymous_module_' + require.counter },\n args = $A(arguments);\n require.counter !== undefined ? require.counter++ : require.counter = 0;\n var m = module(getUniqueName()).beAnonymous();\n if (lively.Config.showModuleDefStack)\n try { throw new Error() } catch(e) { m.defStack = e.stack }\n return m.requires(Object.isArray(args[0]) ? args[0] : args);\n};\n\n\n// ===========================================================================\n// Our JS library extensions (JS 1.5, no particular browser or graphics engine)\n// ===========================================================================\n\n/**\n * LK class system.\n */\n\nObject.extend(Function.prototype, {\n\n defaultCategoryName: 'default category',\n\n subclass: function(/*... */) {\n // Main method of the LK class system.\n\n // {className} is the name of the new class constructor which this method synthesizes\n // and binds to {className} in the Global namespace.\n // Remaining arguments are (inline) properties and methods to be copied into the prototype\n // of the newly created constructor.\n\n // modified from prototype.js\n\n var args = $A(arguments),\n className = args.shift(),\n targetScope = Global,\n shortName = null;\n\n if (className) {\n targetScope = Class.namespaceFor(className);\n shortName = Class.unqualifiedNameFor(className);\n } else {\n shortName = \"anonymous_\" + (Class.anonymousCounter++);\n className = shortName;\n }\n\n var klass;\n if (className && targetScope[shortName] && (targetScope[shortName].superclass === this)) {\n // preserve the class to allow using the subclass construct in interactive development\n klass = targetScope[shortName];\n } else {\n klass = Class.newInitializer(shortName);\n klass.superclass = this;\n var protoclass = function() { }; // that's the constructor of the new prototype object\n protoclass.prototype = this.prototype;\n klass.prototype = new protoclass();\n klass.prototype.constructor = klass;\n klass.prototype.constructor.type = className; // KP: .name would be better but js ignores .name on anonymous functions\n klass.prototype.constructor.displayName = className; // for debugging, because name can not be assigned\n if (className) targetScope[shortName] = klass; // otherwise it's anonymous\n\n // remember the module that contains the class def\n if (Global.lively && lively.lang && lively.lang.Namespace)\n klass.sourceModule = lively.lang.Namespace.current();\n };\n\n // the remaining args should be category strings or source objects\n this.addMethods.apply(klass, args);\n\n if (!klass.prototype.initialize)\n klass.prototype.initialize = Functions.Empty;\n\n return klass;\n },\n\n addMethods: function(/*...*/) {\n var args = arguments,\n category = this.defaultCategoryName,\n traits = [];\n for (var i = 0; i < args.length; i++) {\n if (Object.isString(args[i])) {\n category = args[i];\n } else if (Global.RealTrait && args[i] instanceof RealTrait) {\n // FIXME Traits are optional and defined in lively.Traits\n // This should go somewhere into lively.Traits...\n // we apply traits afterwards because they can override behavior\n traits.push(args[i]);\n } else {\n this.addCategorizedMethods(category, args[i] instanceof Function ? (args[i])() : args[i]);\n }\n }\n for (i = 0; i < traits.length; i++) {\n traits[i].applyTo(this);\n }\n },\n\n addCategorizedMethods: function(categoryName, source) {\n // first parameter is a category name\n // copy all the methods and properties from {source} into the\n // prototype property of the receiver, which is intended to be\n // a class constructor. Method arguments named '$super' are treated\n // specially, see Prototype.js documentation for \"Class.create()\" for details.\n // derived from Class.Methods.addMethods() in prototype.js\n\n // prepare the categories\n if (!this.categories) this.categories = {};\n if (!this.categories[categoryName]) this.categories[categoryName] = [];\n var currentCategoryNames = this.categories[categoryName];\n\n if (!source)\n throw dbgOn(new Error('no source in addCategorizedMethods!'));\n\n var ancestor = this.superclass && this.superclass.prototype;\n\n var className = this.type || \"Anonymous\";\n\n for (var property in source) {\n\n if (property == 'constructor') continue;\n\n var getter = source.__lookupGetter__(property);\n if (getter) this.prototype.__defineGetter__(property, getter);\n var setter = source.__lookupSetter__(property);\n if (setter) this.prototype.__defineSetter__(property, setter);\n if (getter || setter) continue;\n\n currentCategoryNames.push(property);\n\n var value = source[property];\n // weirdly, RegExps are functions in Safari, so testing for\n // Object.isFunction on regexp field values will return true.\n // But they're not full-blown functions and don't\n // inherit argumentNames from Function.prototype\n\n var hasSuperCall = ancestor && Object.isFunction(value) &&\n value.argumentNames && value.argumentNames().first() == \"$super\";\n if (hasSuperCall) {\n // wrapped in a function to save the value of 'method' for advice\n (function() {\n var method = value,\n advice = (function(m) {\n var cs = function callSuper() {\n var method = ancestor[m];\n if (!method) {\n throw new Error(Strings.format('Trying to call super of' +\n '%s>>%s but super method non existing in %s',\n className, m, ancestor.constructor.type));\n }\n return method.apply(this, arguments);\n };\n cs.varMapping = {ancestor: ancestor, m: m};\n cs.isSuperCall = true;\n return cs;\n })(property);\n\n advice.methodName = \"$super:\" + (this.superclass ? this.superclass.type + \">>\" : \"\") + property;\n\n value = Object.extend(advice.wrap(method), {\n valueOf: function() { return method },\n toString: function() { return method.toString() },\n originalFunction: method,\n methodName: advice.methodName,\n isSuperWrapper: true\n });\n // for lively.Closures\n method.varMapping = {$super: advice};\n })();\n }\n\n this.prototype[property] = value;\n\n if (property === \"formals\") { // rk FIXME remove this cruft\n // special property (used to be pins, but now called formals to disambiguate old and new style\n Class.addPins(this, value);\n } else if (Object.isFunction(value)) {\n // remember name for profiling in WebKit\n value.displayName = className + \"$\" + property;\n\n // remember where it was defined\n if (Global.lively && lively.lang && lively.lang.Namespace)\n value.sourceModule = lively.lang.Namespace.current();\n\n for (; value; value = value.originalFunction) {\n if (value.methodName) {\n //console.log(\"class \" + this.prototype.constructor.type\n // + \" borrowed \" + value.qualifiedMethodName());\n }\n value.declaredClass = this.prototype.constructor.type;\n value.methodName = property;\n }\n }\n } // end of for (var property in source)\n\n return this;\n },\n\n\n addProperties: function(spec, recordType) {\n Class.addMixin(this, recordType.prototype.create(spec).prototype);\n },\n\n isSubclassOf: function(aClass) {\n return this.superclasses().include(aClass);\n },\n\n allSubclasses: function() {\n var klass = this;\n return Global.classes(true).select(function(ea) { return ea.isSubclassOf(klass) });\n },\n withAllSubclasses: function() { return [this].concat(this.allSubclasses()) },\n\n\n directSubclasses: function() {\n var klass = this;\n return Global.classes(true).select(function(ea) { return ea.superclass === klass });\n },\n\n withAllSortedSubclassesDo: function(func) {\n // this method iterates func on all subclasses of klass (including klass)\n // it is ensured that the klasses are sorted by a) subclass relationship and b) name (not type!)\n // func gets as parameters: 1) the class 2) index in list 3) level of inheritance\n // compared to klass (1 for direct subclasses and so on)\n\n function createSortedSubclassList(klass, level) {\n var list = klass.directSubclasses()\n .sortBy(function(ea) { return ea.name.charCodeAt(0) })\n .collect(function(subclass) { return createSortedSubclassList(subclass, level + 1) })\n .flatten();\n return [{klass: klass, level: level}].concat(list)\n }\n\n return createSortedSubclassList(this, 0).collect(function(spec, idx) { return func(spec.klass, idx, spec.level) })\n },\n\n superclasses: function() {\n if (!this.superclass) return [];\n if (this.superclass === Object) return [Object];\n return this.superclass.superclasses().concat([this.superclass]);\n },\n\n categoryNameFor: function(propName) {\n for (var categoryName in this.categories) {\n if (this.categories[categoryName].include(propName)) {\n return categoryName;\n }\n }\n return null;\n },\n remove: function() {\n var ownerNamespace = Class.namespaceFor(this.type),\n ownName = Class.unqualifiedNameFor(this.type);\n delete ownerNamespace[ownName];\n },\n\n});\n\nvar Class = {\n\n anonymousCounter: 0,\n\n initializerTemplate: (function CLASS(){ Class.initializer.apply(this, arguments) }).toString(),\n\n newInitializer: function(name) {\n // this hack ensures that class instances have a name\n return eval(Class.initializerTemplate.replace(/CLASS/g, name) + \";\" + name);\n },\n\n initializer: function initializer() {\n var firstArg = arguments[0];\n // maybe special initialization required\n if (firstArg && firstArg.isImporter) {\n this.deserialize.apply(this, arguments);\n } else if (firstArg && firstArg.isCopier) {\n this.copyFrom.apply(this, arguments);\n } else if (firstArg && firstArg.isInstanceRestorer) {\n // just do nothing\n // for WebCards and other JSON-based dersialization logic\n } else {\n // if this.initialize is undefined then prolly the constructor was called without 'new'\n this.initialize.apply(this, arguments);\n }\n },\n\n def: function Class$def(constr, superConstr, optProtos, optStatics) {\n // currently not used\n // Main method of the LK class system.\n\n // {className} is the name of the new class constructor which this method synthesizes\n // and binds to {className} in the Global namespace.\n // Remaining arguments are (inline) properties and methods to be copied into the prototype\n // of the newly created constructor.\n\n // modified from prototype.js\n\n var klass = Class.newInitializer(\"klass\");\n klass.superclass = superConstr;\n\n var protoclass = function() { }; // that's the constructor of the new prototype object\n protoclass.prototype = superConstr.prototype;\n\n klass.prototype = new protoclass();\n\n // Object.extend(klass.prototype, constr.prototype);\n klass.prototype.constructor = klass;\n var className = constr.name; // getName()\n klass.addMethods({initialize: constr});\n // KP: .name would be better but js ignores .name on anonymous functions\n klass.type = className;\n\n\n if (optProtos) klass.addMethods(optProtos);\n if (optStatics) Object.extend(klass, optStatics);\n\n Global[className] = klass;\n return klass;\n },\n\n isValidIdentifier: function(str) {\n return /^(?:[a-zA-Z_][\\w\\-]*[.])*[a-zA-Z_][\\w\\-]*$/.test(str);\n },\n\n isClass: function Class$isClass(object) {\n if (object === Object\n || object === Array\n || object === Function\n || object === String\n || object === Number) {\n return true;\n }\n return (object instanceof Function) && (object.superclass !== undefined);\n },\n\n className: function Class$className(cl) {\n if (cl === Object) return \"Object\"\n if (cl === Array) return \"Array\"\n if (cl === Function) return \"Function\"\n if (cl === String) return \"String\"\n if (cl === Number) return \"Number\"\n return cl.type;\n },\n\n forName: function forName(name) {\n // lookup the class object given the qualified name\n var ns = Class.namespaceFor(name),\n shortName = Class.unqualifiedNameFor(name);\n return ns[shortName];\n },\n\n deleteObjectNamed: function Class$deleteObjectNamed(name) {\n var ns = Class.namespaceFor(name),\n shortName = Class.unqualifiedNameFor(name);\n delete ns[shortName];\n },\n\n unqualifiedNameFor: function Class$unqualifiedNameFor(name) {\n var lastDot = name.lastIndexOf('.'), // lastDot may be -1\n unqualifiedName = name.substring(lastDot + 1);\n if (!Class.isValidIdentifier(unqualifiedName)) throw new Error('not a name ' + unqualifiedName);\n return unqualifiedName;\n },\n\n namespaceFor: function Class$namespaceFor(className) {\n // get the namespace object given the qualified name\n var lastDot = className ? className.lastIndexOf('.') : -1;\n if (lastDot < 0) return Global;\n else return namespace(className.substring(0, lastDot));\n },\n\n withAllClassNames: function Class$withAllClassNames(scope, callback) {\n for (var name in scope) {\n try {\n if (Class.isClass(scope[name]))\n callback(name);\n } catch (er) { // FF exceptions\n }\n }\n callback(\"Object\");\n callback(\"Global\");\n },\n\n makeEnum: function Class$makeEnum(strings) {\n // simple mechanism for making objecs with property values set to\n // property names, to be used as enums.\n\n var e = {};\n for (var i = 0; i < strings.length; i++) {\n e[strings[i]] = strings[i];\n }\n return e;\n },\n\n getConstructor: function Class$getConstructor(object) {\n var c = object.constructor;\n return (c && c.getOriginal) ? c.getOriginal() : c;\n },\n\n getPrototype: function Class$getPrototype(object) {\n return this.getConstructor(object).prototype;\n },\n\n applyPrototypeMethod: function Class$applyPrototypeMethod(methodName, target, args) {\n var method = this.getPrototype(target);\n if (!method) throw new Error(\"method \" + methodName + \" not found\");\n return method.apply(this, args);\n },\n\n getSuperConstructor: function Class$getSuperConstructor(object) {\n return this.getConstructor(object).superclass;\n },\n\n getSuperPrototype: function Class$getSuperPrototype(object) {\n var sup = this.getSuperConstructor(object);\n return sup && sup.prototype;\n },\n\n addPins: function Class$addPins(cls, spec) {\n if (Global.Relay) {\n Class.addMixin(cls, Relay.newDelegationMixin(spec).prototype);\n return;\n }\n // this is for refactoring away from Relay and friends\n if (!Object.isArray(spec)) throw new Error('Cannot deal with non-Array spec in addPins');\n function unstripName(name) { return name.replace(/[\\+|\\-]?(.*)/, '$1') };\n function needsSetter(name) { return !name.startsWith('-') };\n function needsGetter(name) { return !name.startsWith('+') };\n var mixinSpec = {};\n spec.forEach(function(specString) {\n var name = unstripName(specString);\n if (needsSetter(specString))\n mixinSpec['set' + name] = function(value) { return this['_' + name] = value }\n if (needsGetter(specString))\n mixinSpec['get' + name] = function() { return this['_' + name] }\n })\n Class.addMixin(cls, mixinSpec);\n },\n\n addMixin: function Class$addMixin(cls, source) {\n var spec = {};\n for (var prop in source) {\n var value = source[prop];\n switch (prop) {\n case \"constructor\": case \"initialize\": case \"deserialize\": case \"copyFrom\":\n case \"toString\": case \"definition\": case \"description\":\n break;\n default:\n if (cls.prototype[prop] === undefined) // do not override existing values!\n spec[prop] = value;\n }\n }\n cls.addMethods(spec);\n },\n\n};\n\nObject.subclass('Namespace',\n'initializing', {\n\n initialize: function(context, nsName) {\n this.namespaceIdentifier = context.namespaceIdentifier + '.' + nsName;\n this.createTime = new Date();\n },\n},\n'accessing', {\n gather: function(selector, condition, recursive) {\n var result = Object.values(this).select(function(ea) { return condition.call(this, ea) }, this);\n if (!recursive) return result;\n return this.subNamespaces().inject(result, function(result, ns) { return result.concat(ns[selector](true)) });\n },\n\n subNamespaces: function(recursive) {\n return this.gather(\n 'subNamespaces',\n function(ea) { return (ea instanceof lively.lang.Namespace || ea === Global) && ea !== this },\n recursive);\n },\n\n classes: function(recursive) {\n var normalClasses = this.gather(\n 'classes',\n function(ea) { return ea && ea !== this.constructor && Class.isClass(ea) },\n recursive);\n if (this === Global)\n return [Array, Number, String, Function].concat(normalClasses);\n return normalClasses;\n },\n\n functions: function(recursive) {\n return this.gather(\n 'functions',\n function(ea) { return ea\n && !Class.isClass(ea)\n && Object.isFunction(ea)\n && !ea.declaredClass\n && this.requires !== ea\n && ea.getOriginal() === ea },\n recursive);\n },\n\n});\n\n// let Glabal act like a namespace itself\nObject.extend(Global, Namespace.prototype);\nObject.extend(Global, {\n namespaceIdentifier: 'Global',\n isLoaded: Functions.True,\n});\n\nNamespace.addMethods(\n'properties', {\n isLivelyModule: true,\n},\n'initializing', {\n beAnonymous: function() {\n this._isAnonymous = true;\n this.sourceModuleName = lively.lang.Namespace.current().namespaceIdentifier;\n return this;\n },\n},\n'accessing', { // module specific, should be a subclass?\n\n name: function() {\n var identifier = this.namespaceIdentifier,\n globalIdStart = 'Global.';\n if (identifier.startsWith(globalIdStart)) {\n identifier = identifier.substring(globalIdStart.length);\n }\n return identifier;\n },\n\n findUri: function(optFileType) {\n var fileType = optFileType || 'js',\n fileExtension = '.' + fileType,\n namespacePrefix;\n if (this.namespaceIdentifier.startsWith('Global.')) {\n namespacePrefix = 'Global.';\n } else {\n throw dbgOn(new Error('unknown namespaceIdentifier'));\n }\n var relativePath = this.namespaceIdentifier\n .substr(namespacePrefix.length)\n .replace(/\\./g, '/');\n if (!relativePath.match(/\\.js$/)) {\n relativePath += fileExtension;\n }\n var uri = '';\n lively.Config.modulePaths.forEach(function(ea) {\n if (relativePath.substring(0, ea.length) == ea) {\n uri = lively.Config.rootPath + relativePath;\n }\n });\n if (uri == '') {\n uri = lively.Config.codeBase + relativePath;\n }\n return uri;\n },\n\n uri: function(optType) { // FIXME cleanup necessary\n if (this.__cachedUri && !optType) { return this.__cachedUri; }\n var url;\n if (this.fromDB) {\n var id = this.namespaceIdentifier; // something like lively.Core\n var namespacePrefix;\n if (id.startsWith('Global.')) {\n namespacePrefix = 'Global.';\n id = id.substring(7);\n } else\n throw dbgOn(new Error('unknown namespaceIdentifier'));\n\n // FIXME: extract to lively.Config.codeBaseDB\n url = lively.Config.couchDBURL + '/' + this.fromDB + '/_design/raw_data/_list/javascript/for-module?module=' + id;\n this.__cachedUri = url;\n return url;\n } else {\n var id = this.namespaceIdentifier; // something like lively.Core\n var namespacePrefix;\n if (!this.isAnonymous()) {\n url = this.findUri(optType);\n } else {\n if (id.startsWith('Global.')) namespacePrefix = 'Global.';\n else throw dbgOn(new Error('unknown namespaceIdentifier'));\n url = lively.Config.codeBase + this.namespaceIdentifier.substr(namespacePrefix.length).replace(/\\./g, '/');\n }\n\n this.__cachedUri = url;\n return url;\n }\n },\n relativePath: function(optType) {\n return new URL(this.uri(optType)).relativePathFrom(URL.codeBase);\n },\n\n lastPart: function() {\n return this.name().match(/[^.]+$/)[0];\n }\n\n},\n'module dependencies', {\n addDependendModule: function(depModule) {\n if (!this.dependendModules) this.dependendModules = [];\n this.dependendModules.push(depModule);\n\n // keep a copy of the dependencies for debugging\n if (!this.debugDependendModules) this.debugDependendModules = [];\n this.debugDependendModules.push(depModule);\n },\n\n informDependendModules: function() {\n if (!this.dependendModules) return;\n var deps = this.dependendModules.uniq();\n this.dependendModules = [];\n deps.forEach(function(ea) { ea.removeRequiredModule(this) }, this);\n },\n\n traceDependendModules: function(visited) {\n visited = visited || [];\n var deps = this.debugDependendModules || [];\n deps = deps.withoutAll(visited)\n visited.push(this);\n return [this.namespaceIdentifier, deps.collect(function(ea) {\n return ea.traceDependendModules(visited)\n })]\n },\n\n addRequiredModule: function(requiredModule) {\n // privateRequirements is just for keeping track later on\n if (!this.privateRequirements) this.privateRequirements = [];\n this.privateRequirements.push(requiredModule);\n\n if (requiredModule.isLoaded()) return;\n if (!this.pendingRequirements) this.pendingRequirements = [];\n this.pendingRequirements.push(requiredModule);\n requiredModule.addDependendModule(this);\n },\n\n removeRequiredModule: function(requiredModule) {\n if (this.pendingRequirements && !this.pendingRequirements.include(requiredModule))\n throw dbgOn(new Error('requiredModule not there'));\n this.pendingRequirements = this.pendingRequirements.without(requiredModule);\n if (!this.hasPendingRequirements()) {\n this.load();\n }\n },\n\n pendingRequirementNames: function() {\n if (!this.pendingRequirements) return [];\n return this.pendingRequirements.collect(function(ea) { return ea.uri() });\n },\n\n hasPendingRequirements: function() {\n return this.pendingRequirements && this.pendingRequirements.length > 0;\n },\n\n loadRequirementsFirst: function() {\n this.pendingRequirements && this.pendingRequirements.invoke('load');\n },\n\n wasRequiredBy: function() {\n return Global.subNamespaces(true).select(function(m) {\n return m.privateRequirements && m.privateRequirements.include(this);\n }, this);\n },\n},\n'load callbacks', {\n addOnloadCallback: function(cb) {\n if (!this.callbacks) this.callbacks = [];\n this.callbacks.push(cb);\n },\n\n runOnloadCallbacks: function() {\n if (!this.callbacks) return;\n var cb;\n while (cb = this.callbacks.shift()) {\n try {cb()} catch(e) {\n this.logError('runOnloadCallbacks: ' + cb.name + ': ' + e);\n throw e\n }\n };\n },\n\n isAnonymous: function() {\n return this._isAnonymous\n },\n\n},\n'testing', {\n isLoaded: function() {\n return this._isLoaded;\n },\n\n isLoading: function() {\n if (this.isLoaded()) return false;\n if (this.uri().include('anonymous')) return true;\n return JSLoader.scriptInDOM(this.uri());\n },\n\n isAnonymous: function() {\n return this._isAnonymous\n },\n\n},\n'loading', {\n load: function(loadSync) {\n if (loadSync) {\n var prevWasSync = this.constructor.loadSync;\n this.constructor.loadSync = true;\n }\n if (this.isLoaded()) {\n this.runOnloadCallbacks();\n return;\n }\n if (this.isLoading() && this.wasDefined && !this.hasPendingRequirements()) {\n this.runOnloadCallbacks();\n // time is not only the time needed for the request and code evaluation\n // but the complete time span from the creation of the module (when the module is first encountered)\n // to evaluation the evaluation of its code, including load time of all requirements\n var time = this.createTime ? new Date() - this.createTime : 'na';\n console.log(this.uri() + ' loaded in ' + time + ' ms');\n this.informDependendModules();\n return;\n }\n if (this.isLoading()) {\n this.loadRequirementsFirst();\n return;\n }\n JSLoader.loadJs(this.uri(), null, this.constructor.loadSync);\n if (loadSync) this.constructor.loadSync = prevWasSync;\n },\n\n activate: function() {\n this.constructor.namespaceStack.push(this);\n },\n\n deactivate: function() {\n var m = this.constructor.namespaceStack.pop();\n if (m !== this)\n throw new Error('Wrong module: ' + this.namespaceIdentifier +\n ' instead of expected ' + m.namespaceIdentifier )\n },\n},\n'removing', {\n remove: function() {\n var ownerNamespace = Class.namespaceFor(this.namespaceIdentifier),\n ownName = Class.unqualifiedNameFor(this.namespaceIdentifier)\n JSLoader.removeAllScriptsThatLinkTo(this.uri());\n delete ownerNamespace[ownName];\n },\n removeScriptNode: function() {\n var node = document.getElementById(this.uri());\n if (!node) return\n node.parentNode.removeChild(node);\n },\n},\n'debugging', {\n toString: function() { return 'module(' + this.namespaceIdentifier + ')' },\n inspect: function() { this.toString() + ' defined at ' + this.defStack },\n logError: function(e, optCode) {\n var list = this.traceDependendModules();\n var msg = 'Error while loading ' + this.moduleName + ': ' + e;\n msg += '\\ndependencies: ' + Strings.printNested(list)\n if (Global.lively && lively.morphic && lively.morphic.World && lively.morphic.World.current() && lively.morphic.World.current().logError)\n lively.morphic.World.current().logError(e)\n\n if (e.stack) msg = msg + e.stack;\n\n if (optCode)\n msg += \"code:\\n\" + optCode;\n console.error(msg);\n dbgOn(true);\n },\n});\n\nObject.extend(Namespace, {\n namespaceStack: [Global],\n current: function() { return this.namespaceStack.last() },\n topologicalSortLoadedModules: function() {\n if (lively.Config.standAlone) {\n var scripIds = [];\n $('body script').each(function() { scripIds.push($(this).attr('id')) });\n return scripIds.collect(function(id) {\n var name = id.replace(/^..\\//, '');\n return module(name);\n });\n }\n\n // get currently loaded modules that really are js files\n var modules = Global.subNamespaces(true)\n .reject(function(ea) { return ea.isAnonymous(); })\n .select(function(ea) {\n return ea.isLoaded() && new WebResource(ea.uri()).exists() });\n\n // topological sort modules according to their requirements\n var sortedModules = [], i = 0;\n while (i < 1000 && modules.length > 0) {\n i++;\n var canBeLoaded = modules.select(function(module) {\n if (!module.privateRequirements) return true;\n return module.privateRequirements.all(function(requirement) {\n return sortedModules.include(requirement) })\n })\n sortedModules = sortedModules.concat(canBeLoaded);\n modules = modules.withoutAll(canBeLoaded);\n }\n if (modules.length > 0)\n throw new Error('Cannot find dependencies for all modules!');\n\n return sortedModules;\n },\n\n bootstrapModules: function() {\n // return a string to include in bootstrap.js\n var urls = this.topologicalSortLoadedModules()\n .collect(function(ea) { return new URL(ea.uri()).relativePathFrom(URL.codeBase) })\n // omit modules outside of core\n .reject(function(path) { return path.startsWith('..') });\n var manual = [LivelyLoader.libsFile,\n 'lively/Migration.js',\n 'lively/JSON.js',\n 'lively/lang/Object.js',\n 'lively/lang/Function.js',\n 'lively/lang/String.js',\n 'lively/lang/Array.js',\n 'lively/lang/Number.js',\n 'lively/lang/Date.js',\n 'lively/defaultconfig.js',\n 'lively/localconfig.js',\n 'lively/Base.js',\n 'lively/lang/Closure.js', // FIXME: require module instead\n 'lively/lang/UUID.js', // FIXME: require module instead\n 'lively/LocalStorage.js'];\n urls = manual.concat(urls);\n return urls;\n },\n\n bootstrapModulesString: function() {\n var urls = this.bootstrapModules();\n return '[\\'' + urls.join('\\', \\'') + '\\']';\n }\n});\n\n(function createLivelyNamespace(Global) {\n // namespace('lively.lang');\n var preExistingLively = Global.lively;\n delete Global.lively;\n var lively = new Global.Namespace(Global, 'lively');\n // FIXME this is just a hack to get properties of a potentially\n // predefined \"lively\" object over to the namespace lively object\n // namespaces should deal with this in general\n if (preExistingLively) {\n for (var name in preExistingLively) {\n lively[name] = preExistingLively[name];\n }\n }\n Global.lively = lively;\n})(Global);\n\n(function moveNamespaceClassToLivelyLang(Global) {\n var lively = Global.lively,\n Namespace = Global.Namespace;\n lively.lang = new Namespace(lively, 'lang');\n lively.lang.Namespace = Namespace;\n // alias\n lively.Module = lively.lang.Namespace;\n delete Global.Namespace;\n})(Global);\n\n(function addUsefulStuffToLivelyNS(Global, lively) {\n lively.assert = Global.assert;\n})(Global, lively);\n\nObject.extend(lively.Module, {\n findAllInThenDo: function(url, callback) {\n var dir = new URL(url).getDirectory();\n if (url.isLeaf()) {\n throw new Error(url + ' is not a directory!');\n }\n var webR = dir.asWebResource();\n lively.bindings.connect(webR, 'subDocuments', {onLoad: function(files) {\n var moduleNames = files.invoke('getURL') .invoke('asModuleName'),\n modules = moduleNames.collect(function(name) { return module(name); })\n callback(modules);\n }}, 'onLoad');\n webR.getSubElements();\n }\n});\n\n(function setupLivelyLang(lively) {\n lively.lang.Execution = {\n showStack: Functions.Null,\n resetDebuggingStack: Functions.Null,\n installStackTracers: Functions.Null\n };\n lively.lang.let = function(/** **/) {\n // lively.lang.let(y, function(x) { body }) is equivalent to { let y = x; body; }\n return arguments[arguments.length - 1].apply(this, arguments);\n }\n})(lively);\n\n/*\n * Stack Viewer when Dan's StackTracer is not available\n * FIXME rk: move this to Helper.js?\n */\nfunction getStack() {\n var result = [];\n for(var caller = arguments.callee.caller; caller; caller = caller.caller) {\n if (result.indexOf(caller) != -1) {\n result.push({name: \"recursive call can't be traced\"});\n break;\n }\n result.push(caller);\n };\n return result;\n};\n\nfunction printStack() {\n function guessFunctionName(func) {\n var qName = func.qualifiedMethodName && func.qualifiedMethodName(),\n regExpRes = func.toString().match(/function (.+)\\(/);\n return qName || (regExpRes && regExpRes[1]) || func;\n };\n\n var string = \"== Stack ==\\n\",\n stack = getStack();\n stack.shift(); // for getStack\n stack.shift(); // for printStack (me)\n var indent = \"\";\n for (var i=0; i < stack.length; i++) {\n string += indent + i + \": \" +guessFunctionName(stack[i]) + \"\\n\";\n indent += \" \";\n };\n return string;\n};\n\nfunction logStack() {\n this.console.log(printStack());\n};\n\n(function setupjQuery(Global) {\n var lively = Global.lively,\n jQuery = Global.jQuery;\n // we still are adding jQuery to Global but this is DEPRECATED\n // We need to be able to run with libraries requiring different jQuery versions\n // so we will restrict \"our\" to lively.$ in the future\n Global.$ = lively.$ = jQuery.noConflict(/*true -- really removes $*/);\n})(Global);","sourceString":"/*\n * Copyright (c) 2006-2009 Sun Microsystems, Inc.\n * Copyright (c) 2008-2011 Hasso Plattner Institute\n *\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\n// set to the context enclosing the SVG context.\n// rk: replaced \"this.window.top || this.window\" with \"this.window\"\n// rk: when is it necessary to use the parent context?\nvar Global = this.window || GLOBAL /*for Node.js*/;\nfunction dbgOn(cond, optMessage) {\n if (optMessage) console.log(optMessage);\n if (cond) debugger; // note that rhino has issues with this keyword\n // also call as: throw dbgOn(new Error(....))\n return cond;\n}\n\nfunction assert(value, message) {\n if (value) { return; }\n // capture the stack\n var stack;\n try { throw new Error() } catch(e) { stack = e.stack || '' };\n alert('Assertion failed' + (message ? ': ' + message : '!') + '\\n' + stack);\n};\n\n// namespace logic adapted from\n// http://higher-order.blogspot.com/2008/02/designing-clientserver-web-applications.html\nvar using = (function() {\n\n function Util(args) { // args is an escaping arguments array\n this.objects = Array.prototype.concat.apply([], args);\n //var ownArgs = this.objects = new Array(args.length);\n //for (var i = 0; i < args.length; i++) ownArgs[i] = args[i];\n };\n\n Util.prototype = {\n\n log: function(msg) {\n console.log(msg);\n },\n\n run: function(inner) {\n var args = this.objects;\n if (this.moduleName) {\n // little convenience,\n if (args.length > 0) this.log('using().module(): ignoring args ' + args);\n return module(this.moduleName).requires().toRun(inner);\n } else return inner.apply(args[0], args);\n },\n\n model: function(model) {\n // KP: interestingly, declaring the above as \"model: function model(model)\"\n // seems to bind model to to the function, not the formal parameter, at least in rhino!\n this.model = model;\n return this;\n },\n\n module: function(moduleName) {\n this.moduleName = moduleName;\n return this;\n },\n\n link: function link(literal, variableMap) {\n variableMap = variableMap || {};\n return new lively.data.Resolver().link(literal, [], undefined, variableMap, this.objects, this.model);\n },\n\n extend: function extend(base, extLiteral) {\n return this.link(Object.extend(Object.clone(base), extLiteral));\n },\n\n test: function(inner) {\n try {\n return this.run(inner);\n } catch (er) {\n alert('test failed: ' + er);\n return undefined;\n }\n }\n }\n\n return function using() {\n return new Util(arguments);\n }\n})();\n\n\nfunction namespace(spec, context) {\n var codeDB;\n if (spec[0] == '$') {\n codeDB = spec.substring(1, spec.indexOf('.'));\n spec = spec.substring(spec.indexOf('.') + 1);\n }\n var ret = __oldNamespace(spec, context);\n if (codeDB) {\n ret.fromDB = codeDB;\n }\n return ret;\n};\n\n\nfunction __oldNamespace(spec, context) {\n var i,N;\n context = context || Global;\n spec = spec.valueOf();\n if (typeof spec === 'object') {\n if (typeof spec.length === 'number') {//assume an array-like object\n for (i = 0,N = spec.length; i < N; i++) {\n return namespace(spec[i], context);\n }\n } else {//spec is a specification object e.g, {com: {trifork: ['model,view']}}\n for (i in spec) if (spec.hasOwnProperty(i)) {\n context[i] = context[i] || new lively.lang.Namespace(context, i);\n return namespace(spec[i], context[i]);//recursively descend tree\n }\n }\n } else if (typeof spec === 'string') {\n (function handleStringCase() {\n var parts;\n parts = spec.split('.');\n for (i = 0, N = parts.length; i= 0) {\n ea.pendingRequirements = [];\n ea.load();\n testModuleLoad.delay(6);\n }\n\t});\n console.log('Module load check done. ' + modules.length + ' modules loaded.');\n}).delay(10);\n\nfunction module(moduleName) {\n\n moduleName = LivelyMigrationSupport.fixModuleName(moduleName);\n\n function isNamespaceAwareModule(moduleName) {\n return moduleName && !moduleName.endsWith('.js');\n }\n\n function convertUrlToNSIdentifier(url) {\n var result = url;\n result = result.replace(/\\//g, '.');\n // get rid of '.js'\n if (result.endsWith('.js')) result = result.substring(0, result.lastIndexOf('.'));\n return result;\n }\n\n function createNamespaceModule(moduleName) {\n return namespace(isNamespaceAwareModule(moduleName) ? moduleName : convertUrlToNSIdentifier(moduleName));\n }\n\n function basicRequire(/*module, requiredModuleNameOrAnArray, anotherRequiredModuleName, ...*/) {\n // support modulenames as array and parameterlist\n var args = $A(arguments),\n module = args.shift(),\n preReqModuleNames = Object.isArray(args[0]) ? args[0] : args,\n requiredModules = [];\n for (var i = 0; i < preReqModuleNames.length; i++) {\n var name = LivelyMigrationSupport.fixModuleName(preReqModuleNames[i]),\n reqModule = createNamespaceModule(name);\n module.addRequiredModule(reqModule);\n requiredModules.push(reqModule);\n }\n\n return {\n toRun: function(code) {\n var debugCode = code;\n code = code.curry(module); // pass in own module name for nested requirements\n var codeWrapper = function() { // run code with namespace modules as additional parameters\n try {\n module.activate();\n code.apply(this, requiredModules);\n module._isLoaded = true;\n } catch(e) {\n module.logError(module + '>>basicRequire: ' + e, debugCode)\n } finally {\n module.deactivate();\n }\n }\n module.addOnloadCallback(codeWrapper);\n module.load();\n }\n };\n };\n\n dbgOn(!Object.isString(moduleName));\n var module = createNamespaceModule(moduleName);\n module.wasDefined = true;\n module.requires = basicRequire.curry(module);\n return module;\n};\n\nfunction require(/*requiredModuleNameOrAnArray, anotherRequiredModuleName, ...*/) {\n var getUniqueName = function() { return 'anonymous_module_' + require.counter },\n args = $A(arguments);\n require.counter !== undefined ? require.counter++ : require.counter = 0;\n var m = module(getUniqueName()).beAnonymous();\n if (lively.Config.showModuleDefStack)\n try { throw new Error() } catch(e) { m.defStack = e.stack }\n return m.requires(Object.isArray(args[0]) ? args[0] : args);\n};\n\n\n// ===========================================================================\n// Our JS library extensions (JS 1.5, no particular browser or graphics engine)\n// ===========================================================================\n\n/**\n * LK class system.\n */\n\nObject.extend(Function.prototype, {\n\n defaultCategoryName: 'default category',\n\n subclass: function(/*... */) {\n // Main method of the LK class system.\n\n // {className} is the name of the new class constructor which this method synthesizes\n // and binds to {className} in the Global namespace.\n // Remaining arguments are (inline) properties and methods to be copied into the prototype\n // of the newly created constructor.\n\n // modified from prototype.js\n\n var args = $A(arguments),\n className = args.shift(),\n targetScope = Global,\n shortName = null;\n\n if (className) {\n targetScope = Class.namespaceFor(className);\n shortName = Class.unqualifiedNameFor(className);\n } else {\n shortName = \"anonymous_\" + (Class.anonymousCounter++);\n className = shortName;\n }\n\n var klass;\n if (className && targetScope[shortName] && (targetScope[shortName].superclass === this)) {\n // preserve the class to allow using the subclass construct in interactive development\n klass = targetScope[shortName];\n } else {\n klass = Class.newInitializer(shortName);\n klass.superclass = this;\n var protoclass = function() { }; // that's the constructor of the new prototype object\n protoclass.prototype = this.prototype;\n klass.prototype = new protoclass();\n klass.prototype.constructor = klass;\n klass.prototype.constructor.type = className; // KP: .name would be better but js ignores .name on anonymous functions\n klass.prototype.constructor.displayName = className; // for debugging, because name can not be assigned\n if (className) targetScope[shortName] = klass; // otherwise it's anonymous\n\n // remember the module that contains the class def\n if (Global.lively && lively.lang && lively.lang.Namespace)\n klass.sourceModule = lively.lang.Namespace.current();\n };\n\n // the remaining args should be category strings or source objects\n this.addMethods.apply(klass, args);\n\n if (!klass.prototype.initialize)\n klass.prototype.initialize = Functions.Empty;\n\n return klass;\n },\n\n addMethods: function(/*...*/) {\n var args = arguments,\n category = this.defaultCategoryName,\n traits = [];\n for (var i = 0; i < args.length; i++) {\n if (Object.isString(args[i])) {\n category = args[i];\n } else if (Global.RealTrait && args[i] instanceof RealTrait) {\n // FIXME Traits are optional and defined in lively.Traits\n // This should go somewhere into lively.Traits...\n // we apply traits afterwards because they can override behavior\n traits.push(args[i]);\n } else {\n this.addCategorizedMethods(category, args[i] instanceof Function ? (args[i])() : args[i]);\n }\n }\n for (i = 0; i < traits.length; i++) {\n traits[i].applyTo(this);\n }\n },\n\n addCategorizedMethods: function(categoryName, source) {\n // first parameter is a category name\n // copy all the methods and properties from {source} into the\n // prototype property of the receiver, which is intended to be\n // a class constructor. Method arguments named '$super' are treated\n // specially, see Prototype.js documentation for \"Class.create()\" for details.\n // derived from Class.Methods.addMethods() in prototype.js\n\n // prepare the categories\n if (!this.categories) this.categories = {};\n if (!this.categories[categoryName]) this.categories[categoryName] = [];\n var currentCategoryNames = this.categories[categoryName];\n\n if (!source)\n throw dbgOn(new Error('no source in addCategorizedMethods!'));\n\n var ancestor = this.superclass && this.superclass.prototype;\n\n var className = this.type || \"Anonymous\";\n\n for (var property in source) {\n\n if (property == 'constructor') continue;\n\n var getter = source.__lookupGetter__(property);\n if (getter) this.prototype.__defineGetter__(property, getter);\n var setter = source.__lookupSetter__(property);\n if (setter) this.prototype.__defineSetter__(property, setter);\n if (getter || setter) continue;\n\n currentCategoryNames.push(property);\n\n var value = source[property];\n // weirdly, RegExps are functions in Safari, so testing for\n // Object.isFunction on regexp field values will return true.\n // But they're not full-blown functions and don't\n // inherit argumentNames from Function.prototype\n\n var hasSuperCall = ancestor && Object.isFunction(value) &&\n value.argumentNames && value.argumentNames().first() == \"$super\";\n if (hasSuperCall) {\n // wrapped in a function to save the value of 'method' for advice\n (function() {\n var method = value,\n advice = (function(m) {\n var cs = function callSuper() {\n var method = ancestor[m];\n if (!method) {\n throw new Error(Strings.format('Trying to call super of' +\n '%s>>%s but super method non existing in %s',\n className, m, ancestor.constructor.type));\n }\n return method.apply(this, arguments);\n };\n cs.varMapping = {ancestor: ancestor, m: m};\n cs.isSuperCall = true;\n return cs;\n })(property);\n\n advice.methodName = \"$super:\" + (this.superclass ? this.superclass.type + \">>\" : \"\") + property;\n\n value = Object.extend(advice.wrap(method), {\n valueOf: function() { return method },\n toString: function() { return method.toString() },\n originalFunction: method,\n methodName: advice.methodName,\n isSuperWrapper: true\n });\n // for lively.Closures\n method.varMapping = {$super: advice};\n })();\n }\n\n this.prototype[property] = value;\n\n if (property === \"formals\") { // rk FIXME remove this cruft\n // special property (used to be pins, but now called formals to disambiguate old and new style\n Class.addPins(this, value);\n } else if (Object.isFunction(value)) {\n // remember name for profiling in WebKit\n value.displayName = className + \"$\" + property;\n\n // remember where it was defined\n if (Global.lively && lively.lang && lively.lang.Namespace)\n value.sourceModule = lively.lang.Namespace.current();\n\n for (; value; value = value.originalFunction) {\n if (value.methodName) {\n //console.log(\"class \" + this.prototype.constructor.type\n // + \" borrowed \" + value.qualifiedMethodName());\n }\n value.declaredClass = this.prototype.constructor.type;\n value.methodName = property;\n }\n }\n } // end of for (var property in source)\n\n return this;\n },\n\n\n addProperties: function(spec, recordType) {\n Class.addMixin(this, recordType.prototype.create(spec).prototype);\n },\n\n isSubclassOf: function(aClass) {\n return this.superclasses().include(aClass);\n },\n\n allSubclasses: function() {\n var klass = this;\n return Global.classes(true).select(function(ea) { return ea.isSubclassOf(klass) });\n },\n withAllSubclasses: function() { return [this].concat(this.allSubclasses()) },\n\n\n directSubclasses: function() {\n var klass = this;\n return Global.classes(true).select(function(ea) { return ea.superclass === klass });\n },\n\n withAllSortedSubclassesDo: function(func) {\n // this method iterates func on all subclasses of klass (including klass)\n // it is ensured that the klasses are sorted by a) subclass relationship and b) name (not type!)\n // func gets as parameters: 1) the class 2) index in list 3) level of inheritance\n // compared to klass (1 for direct subclasses and so on)\n\n function createSortedSubclassList(klass, level) {\n var list = klass.directSubclasses()\n .sortBy(function(ea) { return ea.name.charCodeAt(0) })\n .collect(function(subclass) { return createSortedSubclassList(subclass, level + 1) })\n .flatten();\n return [{klass: klass, level: level}].concat(list)\n }\n\n return createSortedSubclassList(this, 0).collect(function(spec, idx) { return func(spec.klass, idx, spec.level) })\n },\n\n superclasses: function() {\n if (!this.superclass) return [];\n if (this.superclass === Object) return [Object];\n return this.superclass.superclasses().concat([this.superclass]);\n },\n\n categoryNameFor: function(propName) {\n for (var categoryName in this.categories) {\n if (this.categories[categoryName].include(propName)) {\n return categoryName;\n }\n }\n return null;\n },\n remove: function() {\n var ownerNamespace = Class.namespaceFor(this.type),\n ownName = Class.unqualifiedNameFor(this.type);\n delete ownerNamespace[ownName];\n },\n\n});\n\nvar Class = {\n\n anonymousCounter: 0,\n\n initializerTemplate: (function CLASS(){ Class.initializer.apply(this, arguments) }).toString(),\n\n newInitializer: function(name) {\n // this hack ensures that class instances have a name\n return eval(Class.initializerTemplate.replace(/CLASS/g, name) + \";\" + name);\n },\n\n initializer: function initializer() {\n var firstArg = arguments[0];\n // maybe special initialization required\n if (firstArg && firstArg.isImporter) {\n this.deserialize.apply(this, arguments);\n } else if (firstArg && firstArg.isCopier) {\n this.copyFrom.apply(this, arguments);\n } else if (firstArg && firstArg.isInstanceRestorer) {\n // just do nothing\n // for WebCards and other JSON-based dersialization logic\n } else {\n // if this.initialize is undefined then prolly the constructor was called without 'new'\n this.initialize.apply(this, arguments);\n }\n },\n\n def: function Class$def(constr, superConstr, optProtos, optStatics) {\n // currently not used\n // Main method of the LK class system.\n\n // {className} is the name of the new class constructor which this method synthesizes\n // and binds to {className} in the Global namespace.\n // Remaining arguments are (inline) properties and methods to be copied into the prototype\n // of the newly created constructor.\n\n // modified from prototype.js\n\n var klass = Class.newInitializer(\"klass\");\n klass.superclass = superConstr;\n\n var protoclass = function() { }; // that's the constructor of the new prototype object\n protoclass.prototype = superConstr.prototype;\n\n klass.prototype = new protoclass();\n\n // Object.extend(klass.prototype, constr.prototype);\n klass.prototype.constructor = klass;\n var className = constr.name; // getName()\n klass.addMethods({initialize: constr});\n // KP: .name would be better but js ignores .name on anonymous functions\n klass.type = className;\n\n\n if (optProtos) klass.addMethods(optProtos);\n if (optStatics) Object.extend(klass, optStatics);\n\n Global[className] = klass;\n return klass;\n },\n\n isValidIdentifier: function(str) {\n return /^(?:[a-zA-Z_][\\w\\-]*[.])*[a-zA-Z_][\\w\\-]*$/.test(str);\n },\n\n isClass: function Class$isClass(object) {\n if (object === Object\n || object === Array\n || object === Function\n || object === String\n || object === Number) {\n return true;\n }\n return (object instanceof Function) && (object.superclass !== undefined);\n },\n\n className: function Class$className(cl) {\n if (cl === Object) return \"Object\"\n if (cl === Array) return \"Array\"\n if (cl === Function) return \"Function\"\n if (cl === String) return \"String\"\n if (cl === Number) return \"Number\"\n return cl.type;\n },\n\n forName: function forName(name) {\n // lookup the class object given the qualified name\n var ns = Class.namespaceFor(name),\n shortName = Class.unqualifiedNameFor(name);\n return ns[shortName];\n },\n\n deleteObjectNamed: function Class$deleteObjectNamed(name) {\n var ns = Class.namespaceFor(name),\n shortName = Class.unqualifiedNameFor(name);\n delete ns[shortName];\n },\n\n unqualifiedNameFor: function Class$unqualifiedNameFor(name) {\n var lastDot = name.lastIndexOf('.'), // lastDot may be -1\n unqualifiedName = name.substring(lastDot + 1);\n if (!Class.isValidIdentifier(unqualifiedName)) throw new Error('not a name ' + unqualifiedName);\n return unqualifiedName;\n },\n\n namespaceFor: function Class$namespaceFor(className) {\n // get the namespace object given the qualified name\n var lastDot = className ? className.lastIndexOf('.') : -1;\n if (lastDot < 0) return Global;\n else return namespace(className.substring(0, lastDot));\n },\n\n withAllClassNames: function Class$withAllClassNames(scope, callback) {\n for (var name in scope) {\n try {\n if (Class.isClass(scope[name]))\n callback(name);\n } catch (er) { // FF exceptions\n }\n }\n callback(\"Object\");\n callback(\"Global\");\n },\n\n makeEnum: function Class$makeEnum(strings) {\n // simple mechanism for making objecs with property values set to\n // property names, to be used as enums.\n\n var e = {};\n for (var i = 0; i < strings.length; i++) {\n e[strings[i]] = strings[i];\n }\n return e;\n },\n\n getConstructor: function Class$getConstructor(object) {\n var c = object.constructor;\n return (c && c.getOriginal) ? c.getOriginal() : c;\n },\n\n getPrototype: function Class$getPrototype(object) {\n return this.getConstructor(object).prototype;\n },\n\n applyPrototypeMethod: function Class$applyPrototypeMethod(methodName, target, args) {\n var method = this.getPrototype(target);\n if (!method) throw new Error(\"method \" + methodName + \" not found\");\n return method.apply(this, args);\n },\n\n getSuperConstructor: function Class$getSuperConstructor(object) {\n return this.getConstructor(object).superclass;\n },\n\n getSuperPrototype: function Class$getSuperPrototype(object) {\n var sup = this.getSuperConstructor(object);\n return sup && sup.prototype;\n },\n\n addPins: function Class$addPins(cls, spec) {\n if (Global.Relay) {\n Class.addMixin(cls, Relay.newDelegationMixin(spec).prototype);\n return;\n }\n // this is for refactoring away from Relay and friends\n if (!Object.isArray(spec)) throw new Error('Cannot deal with non-Array spec in addPins');\n function unstripName(name) { return name.replace(/[\\+|\\-]?(.*)/, '$1') };\n function needsSetter(name) { return !name.startsWith('-') };\n function needsGetter(name) { return !name.startsWith('+') };\n var mixinSpec = {};\n spec.forEach(function(specString) {\n var name = unstripName(specString);\n if (needsSetter(specString))\n mixinSpec['set' + name] = function(value) { return this['_' + name] = value }\n if (needsGetter(specString))\n mixinSpec['get' + name] = function() { return this['_' + name] }\n })\n Class.addMixin(cls, mixinSpec);\n },\n\n addMixin: function Class$addMixin(cls, source) {\n var spec = {};\n for (var prop in source) {\n var value = source[prop];\n switch (prop) {\n case \"constructor\": case \"initialize\": case \"deserialize\": case \"copyFrom\":\n case \"toString\": case \"definition\": case \"description\":\n break;\n default:\n if (cls.prototype[prop] === undefined) // do not override existing values!\n spec[prop] = value;\n }\n }\n cls.addMethods(spec);\n },\n\n};\n\nObject.subclass('Namespace',\n'initializing', {\n\n initialize: function(context, nsName) {\n this.namespaceIdentifier = context.namespaceIdentifier + '.' + nsName;\n this.createTime = new Date();\n },\n},\n'accessing', {\n gather: function(selector, condition, recursive) {\n var result = Object.values(this).select(function(ea) { return condition.call(this, ea) }, this);\n if (!recursive) return result;\n return this.subNamespaces().inject(result, function(result, ns) { return result.concat(ns[selector](true)) });\n },\n\n subNamespaces: function(recursive) {\n return this.gather(\n 'subNamespaces',\n function(ea) { return (ea instanceof lively.lang.Namespace || ea === Global) && ea !== this },\n recursive);\n },\n\n classes: function(recursive) {\n var normalClasses = this.gather(\n 'classes',\n function(ea) { return ea && ea !== this.constructor && Class.isClass(ea) },\n recursive);\n if (this === Global)\n return [Array, Number, String, Function].concat(normalClasses);\n return normalClasses;\n },\n\n functions: function(recursive) {\n return this.gather(\n 'functions',\n function(ea) { return ea\n && !Class.isClass(ea)\n && Object.isFunction(ea)\n && !ea.declaredClass\n && this.requires !== ea\n && ea.getOriginal() === ea },\n recursive);\n },\n\n});\n\n// let Glabal act like a namespace itself\nObject.extend(Global, Namespace.prototype);\nObject.extend(Global, {\n namespaceIdentifier: 'Global',\n isLoaded: Functions.True,\n});\n\nNamespace.addMethods(\n'properties', {\n isLivelyModule: true,\n},\n'initializing', {\n beAnonymous: function() {\n this._isAnonymous = true;\n this.sourceModuleName = lively.lang.Namespace.current().namespaceIdentifier;\n return this;\n },\n},\n'accessing', { // module specific, should be a subclass?\n\n name: function() {\n var identifier = this.namespaceIdentifier,\n globalIdStart = 'Global.';\n if (identifier.startsWith(globalIdStart)) {\n identifier = identifier.substring(globalIdStart.length);\n }\n return identifier;\n },\n\n findUri: function(optFileType) {\n var fileType = optFileType || 'js',\n fileExtension = '.' + fileType,\n namespacePrefix;\n if (this.namespaceIdentifier.startsWith('Global.')) {\n namespacePrefix = 'Global.';\n } else {\n throw dbgOn(new Error('unknown namespaceIdentifier'));\n }\n var relativePath = this.namespaceIdentifier\n .substr(namespacePrefix.length)\n .replace(/\\./g, '/');\n if (!relativePath.match(/\\.js$/)) {\n relativePath += fileExtension;\n }\n var uri = '';\n lively.Config.modulePaths.forEach(function(ea) {\n if (relativePath.substring(0, ea.length) == ea) {\n uri = lively.Config.rootPath + relativePath;\n }\n });\n if (uri == '') {\n uri = lively.Config.codeBase + relativePath;\n }\n return uri;\n },\n\n uri: function(optType) { // FIXME cleanup necessary\n if (this.__cachedUri && !optType) { return this.__cachedUri; }\n var url;\n if (this.fromDB) {\n var id = this.namespaceIdentifier; // something like lively.Core\n var namespacePrefix;\n if (id.startsWith('Global.')) {\n namespacePrefix = 'Global.';\n id = id.substring(7);\n } else\n throw dbgOn(new Error('unknown namespaceIdentifier'));\n\n // FIXME: extract to lively.Config.codeBaseDB\n url = lively.Config.couchDBURL + '/' + this.fromDB + '/_design/raw_data/_list/javascript/for-module?module=' + id;\n this.__cachedUri = url;\n return url;\n } else {\n var id = this.namespaceIdentifier; // something like lively.Core\n var namespacePrefix;\n if (!this.isAnonymous()) {\n url = this.findUri(optType);\n } else {\n if (id.startsWith('Global.')) namespacePrefix = 'Global.';\n else throw dbgOn(new Error('unknown namespaceIdentifier'));\n url = lively.Config.codeBase + this.namespaceIdentifier.substr(namespacePrefix.length).replace(/\\./g, '/');\n }\n\n this.__cachedUri = url;\n return url;\n }\n },\n relativePath: function(optType) {\n return new URL(this.uri(optType)).relativePathFrom(URL.codeBase);\n },\n\n lastPart: function() {\n return this.name().match(/[^.]+$/)[0];\n }\n\n},\n'module dependencies', {\n addDependendModule: function(depModule) {\n if (!this.dependendModules) this.dependendModules = [];\n this.dependendModules.push(depModule);\n\n // keep a copy of the dependencies for debugging\n if (!this.debugDependendModules) this.debugDependendModules = [];\n this.debugDependendModules.push(depModule);\n },\n\n informDependendModules: function() {\n if (!this.dependendModules) return;\n var deps = this.dependendModules.uniq();\n this.dependendModules = [];\n deps.forEach(function(ea) { ea.removeRequiredModule(this) }, this);\n },\n\n traceDependendModules: function(visited) {\n visited = visited || [];\n var deps = this.debugDependendModules || [];\n deps = deps.withoutAll(visited)\n visited.push(this);\n return [this.namespaceIdentifier, deps.collect(function(ea) {\n return ea.traceDependendModules(visited)\n })]\n },\n\n addRequiredModule: function(requiredModule) {\n // privateRequirements is just for keeping track later on\n if (!this.privateRequirements) this.privateRequirements = [];\n this.privateRequirements.push(requiredModule);\n\n if (requiredModule.isLoaded()) return;\n if (!this.pendingRequirements) this.pendingRequirements = [];\n this.pendingRequirements.push(requiredModule);\n requiredModule.addDependendModule(this);\n },\n\n removeRequiredModule: function(requiredModule) {\n if (this.pendingRequirements && !this.pendingRequirements.include(requiredModule))\n throw dbgOn(new Error('requiredModule not there'));\n this.pendingRequirements = this.pendingRequirements.without(requiredModule);\n if (!this.hasPendingRequirements()) {\n this.load();\n }\n },\n\n pendingRequirementNames: function() {\n if (!this.pendingRequirements) return [];\n return this.pendingRequirements.collect(function(ea) { return ea.uri() });\n },\n\n hasPendingRequirements: function() {\n return this.pendingRequirements && this.pendingRequirements.length > 0;\n },\n\n loadRequirementsFirst: function() {\n this.pendingRequirements && this.pendingRequirements.invoke('load');\n },\n\n wasRequiredBy: function() {\n return Global.subNamespaces(true).select(function(m) {\n return m.privateRequirements && m.privateRequirements.include(this);\n }, this);\n },\n},\n'load callbacks', {\n addOnloadCallback: function(cb) {\n if (!this.callbacks) this.callbacks = [];\n this.callbacks.push(cb);\n },\n\n runOnloadCallbacks: function() {\n if (!this.callbacks) return;\n var cb;\n while (cb = this.callbacks.shift()) {\n try {cb()} catch(e) {\n this.logError('runOnloadCallbacks: ' + cb.name + ': ' + e);\n throw e\n }\n };\n },\n\n isAnonymous: function() {\n return this._isAnonymous\n },\n\n},\n'testing', {\n isLoaded: function() {\n return this._isLoaded;\n },\n\n isLoading: function() {\n if (this.isLoaded()) return false;\n if (this.uri().include('anonymous')) return true;\n return JSLoader.scriptInDOM(this.uri());\n },\n\n isAnonymous: function() {\n return this._isAnonymous\n },\n\n},\n'loading', {\n load: function(loadSync) {\n if (loadSync) {\n var prevWasSync = this.constructor.loadSync;\n this.constructor.loadSync = true;\n }\n if (this.isLoaded()) {\n this.runOnloadCallbacks();\n return;\n }\n if (this.isLoading() && this.wasDefined && !this.hasPendingRequirements()) {\n this.runOnloadCallbacks();\n // time is not only the time needed for the request and code evaluation\n // but the complete time span from the creation of the module (when the module is first encountered)\n // to evaluation the evaluation of its code, including load time of all requirements\n var time = this.createTime ? new Date() - this.createTime : 'na';\n console.log(this.uri() + ' loaded in ' + time + ' ms');\n this.informDependendModules();\n return;\n }\n if (this.isLoading()) {\n this.loadRequirementsFirst();\n return;\n }\n JSLoader.loadJs(this.uri(), null, this.constructor.loadSync);\n if (loadSync) this.constructor.loadSync = prevWasSync;\n },\n\n activate: function() {\n this.constructor.namespaceStack.push(this);\n },\n\n deactivate: function() {\n var m = this.constructor.namespaceStack.pop();\n if (m !== this)\n throw new Error('Wrong module: ' + this.namespaceIdentifier +\n ' instead of expected ' + m.namespaceIdentifier )\n },\n},\n'removing', {\n remove: function() {\n var ownerNamespace = Class.namespaceFor(this.namespaceIdentifier),\n ownName = Class.unqualifiedNameFor(this.namespaceIdentifier)\n JSLoader.removeAllScriptsThatLinkTo(this.uri());\n delete ownerNamespace[ownName];\n },\n removeScriptNode: function() {\n var node = document.getElementById(this.uri());\n if (!node) return\n node.parentNode.removeChild(node);\n },\n},\n'debugging', {\n toString: function() { return 'module(' + this.namespaceIdentifier + ')' },\n inspect: function() { this.toString() + ' defined at ' + this.defStack },\n logError: function(e, optCode) {\n var list = this.traceDependendModules();\n var msg = 'Error while loading ' + this.moduleName + ': ' + e;\n msg += '\\ndependencies: ' + Strings.printNested(list)\n if (Global.lively && lively.morphic && lively.morphic.World && lively.morphic.World.current() && lively.morphic.World.current().logError)\n lively.morphic.World.current().logError(e)\n\n if (e.stack) msg = msg + e.stack;\n\n if (optCode)\n msg += \"code:\\n\" + optCode;\n console.error(msg);\n dbgOn(true);\n },\n});\n\nObject.extend(Namespace, {\n namespaceStack: [Global],\n current: function() { return this.namespaceStack.last() },\n topologicalSortLoadedModules: function() {\n if (lively.Config.standAlone) {\n var scripIds = [];\n $('body script').each(function() { scripIds.push($(this).attr('id')) });\n return scripIds.collect(function(id) {\n var name = id.replace(/^..\\//, '');\n return module(name);\n });\n }\n\n // get currently loaded modules that really are js files\n var modules = Global.subNamespaces(true)\n .reject(function(ea) { return ea.isAnonymous(); })\n .select(function(ea) {\n return ea.isLoaded() && new WebResource(ea.uri()).exists() });\n\n // topological sort modules according to their requirements\n var sortedModules = [], i = 0;\n while (i < 1000 && modules.length > 0) {\n i++;\n var canBeLoaded = modules.select(function(module) {\n if (!module.privateRequirements) return true;\n return module.privateRequirements.all(function(requirement) {\n return sortedModules.include(requirement) })\n })\n sortedModules = sortedModules.concat(canBeLoaded);\n modules = modules.withoutAll(canBeLoaded);\n }\n if (modules.length > 0)\n throw new Error('Cannot find dependencies for all modules!');\n\n return sortedModules;\n },\n\n bootstrapModules: function() {\n // return a string to include in bootstrap.js\n var urls = this.topologicalSortLoadedModules()\n .collect(function(ea) { return new URL(ea.uri()).relativePathFrom(URL.codeBase) })\n // omit modules outside of core\n .reject(function(path) { return path.startsWith('..') });\n var manual = [LivelyLoader.libsFile,\n 'lively/Migration.js',\n 'lively/JSON.js',\n 'lively/lang/Object.js',\n 'lively/lang/Function.js',\n 'lively/lang/String.js',\n 'lively/lang/Array.js',\n 'lively/lang/Number.js',\n 'lively/lang/Date.js',\n 'lively/defaultconfig.js',\n 'lively/localconfig.js',\n 'lively/Base.js',\n 'lively/lang/Closure.js', // FIXME: require module instead\n 'lively/lang/UUID.js', // FIXME: require module instead\n 'lively/LocalStorage.js'];\n urls = manual.concat(urls);\n return urls;\n },\n\n bootstrapModulesString: function() {\n var urls = this.bootstrapModules();\n return '[\\'' + urls.join('\\', \\'') + '\\']';\n }\n});\n\n(function createLivelyNamespace(Global) {\n // namespace('lively.lang');\n var preExistingLively = Global.lively;\n delete Global.lively;\n var lively = new Global.Namespace(Global, 'lively');\n // FIXME this is just a hack to get properties of a potentially\n // predefined \"lively\" object over to the namespace lively object\n // namespaces should deal with this in general\n if (preExistingLively) {\n for (var name in preExistingLively) {\n lively[name] = preExistingLively[name];\n }\n }\n Global.lively = lively;\n})(Global);\n\n(function moveNamespaceClassToLivelyLang(Global) {\n var lively = Global.lively,\n Namespace = Global.Namespace;\n lively.lang = new Namespace(lively, 'lang');\n lively.lang.Namespace = Namespace;\n // alias\n lively.Module = lively.lang.Namespace;\n delete Global.Namespace;\n})(Global);\n\n(function addUsefulStuffToLivelyNS(Global, lively) {\n lively.assert = Global.assert;\n})(Global, lively);\n\nObject.extend(lively.Module, {\n findAllInThenDo: function(url, callback) {\n var dir = new URL(url).getDirectory();\n if (url.isLeaf()) {\n throw new Error(url + ' is not a directory!');\n }\n var webR = dir.asWebResource();\n lively.bindings.connect(webR, 'subDocuments', {onLoad: function(files) {\n var moduleNames = files.invoke('getURL') .invoke('asModuleName'),\n modules = moduleNames.collect(function(name) { return module(name); })\n callback(modules);\n }}, 'onLoad');\n webR.getSubElements();\n }\n});\n\n(function setupLivelyLang(lively) {\n lively.lang.Execution = {\n showStack: Functions.Null,\n resetDebuggingStack: Functions.Null,\n installStackTracers: Functions.Null\n };\n lively.lang.let = function(/** **/) {\n // lively.lang.let(y, function(x) { body }) is equivalent to { let y = x; body; }\n return arguments[arguments.length - 1].apply(this, arguments);\n }\n})(lively);\n\n/*\n * Stack Viewer when Dan's StackTracer is not available\n * FIXME rk: move this to Helper.js?\n */\nfunction getStack() {\n var result = [];\n for(var caller = arguments.callee.caller; caller; caller = caller.caller) {\n if (result.indexOf(caller) != -1) {\n result.push({name: \"recursive call can't be traced\"});\n break;\n }\n result.push(caller);\n };\n return result;\n};\n\nfunction printStack() {\n function guessFunctionName(func) {\n var qName = func.qualifiedMethodName && func.qualifiedMethodName(),\n regExpRes = func.toString().match(/function (.+)\\(/);\n return qName || (regExpRes && regExpRes[1]) || func;\n };\n\n var string = \"== Stack ==\\n\",\n stack = getStack();\n stack.shift(); // for getStack\n stack.shift(); // for printStack (me)\n var indent = \"\";\n for (var i=0; i < stack.length; i++) {\n string += indent + i + \": \" +guessFunctionName(stack[i]) + \"\\n\";\n indent += \" \";\n };\n return string;\n};\n\nfunction logStack() {\n this.console.log(printStack());\n};\n\n(function setupjQuery(Global) {\n var lively = Global.lively,\n jQuery = Global.jQuery;\n // we still are adding jQuery to Global but this is DEPRECATED\n // We need to be able to run with libraries requiring different jQuery versions\n // so we will restrict \"our\" to lively.$ in the future\n Global.$ = lively.$ = jQuery.noConflict(/*true -- really removes $*/);\n})(Global);","doNotSerialize":["$$targetURL"],"doNotCopyProperties":["$$targetURL"],"_rootNode":{"__isSmartRef__":true,"id":838},"Pane1Selection":{"__isSmartRef__":true,"id":858},"pane1Selection":{"__isSmartRef__":true,"id":858},"Pane2Selection":null,"pane2Selection":null,"Pane3Selection":null,"pane3Selection":null,"Pane4Selection":null,"pane4Selection":null,"Pane4Content":["-----"],"Pane3Content":["-----"],"Pane2Content":[{"__isSmartRef__":true,"id":1120},{"__isSmartRef__":true,"id":1122},{"__isSmartRef__":true,"id":1124},{"__isSmartRef__":true,"id":1126},{"__isSmartRef__":true,"id":1128},{"__isSmartRef__":true,"id":1130},{"__isSmartRef__":true,"id":1132},{"__isSmartRef__":true,"id":1134},{"__isSmartRef__":true,"id":1136},{"__isSmartRef__":true,"id":1138},{"__isSmartRef__":true,"id":1140},{"__isSmartRef__":true,"id":1142},{"__isSmartRef__":true,"id":1144},{"__isSmartRef__":true,"id":1146},{"__isSmartRef__":true,"id":1148},{"__isSmartRef__":true,"id":1150},{"__isSmartRef__":true,"id":1152},{"__isSmartRef__":true,"id":1154},{"__isSmartRef__":true,"id":1156},{"__isSmartRef__":true,"id":1158},{"__isSmartRef__":true,"id":1160},{"__isSmartRef__":true,"id":1162},{"__isSmartRef__":true,"id":1164}],"Pane1Content":[{"__isSmartRef__":true,"id":835},{"__isSmartRef__":true,"id":1040},{"__isSmartRef__":true,"id":1041},{"__isSmartRef__":true,"id":1042},{"__isSmartRef__":true,"id":1043},{"__isSmartRef__":true,"id":1044},{"__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},{"__isSmartRef__":true,"id":1053},{"__isSmartRef__":true,"id":1054},{"__isSmartRef__":true,"id":1055},{"__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},{"__isSmartRef__":true,"id":1064},{"__isSmartRef__":true,"id":1065},{"__isSmartRef__":true,"id":1066},{"__isSmartRef__":true,"id":1067},{"__isSmartRef__":true,"id":1068},{"__isSmartRef__":true,"id":1069},{"__isSmartRef__":true,"id":1070},{"__isSmartRef__":true,"id":1071},{"__isSmartRef__":true,"id":1072},{"__isSmartRef__":true,"id":1073},{"__isSmartRef__":true,"id":1074},{"__isSmartRef__":true,"id":1075},{"__isSmartRef__":true,"id":1076},{"__isSmartRef__":true,"id":1077},{"__isSmartRef__":true,"id":1078},{"__isSmartRef__":true,"id":1079},{"__isSmartRef__":true,"id":1080},{"__isSmartRef__":true,"id":1081},{"__isSmartRef__":true,"id":1082},{"__isSmartRef__":true,"id":1083},{"__isSmartRef__":true,"id":1084},{"__isSmartRef__":true,"id":1085},{"__isSmartRef__":true,"id":1086},{"__isSmartRef__":true,"id":1087},{"__isSmartRef__":true,"id":1088},{"__isSmartRef__":true,"id":1089}],"Pane1Menu":[["Add to world requirements"],["remove"],["reparse"],["-------"],["open in text editor"],["show versions"],["diff versions"],["get module part"]],"Pane2Menu":[["-------"],["add class"],["add object extension"],["add layer"],["open in text editor"],["show versions"],["diff versions"],["get module part"]],"Pane3Menu":[["-------"],["open in text editor"],["show versions"],["diff versions"],["get module part"]],"currentModuleName":"lively/Base.js","__LivelyClassName__":"lively.ide.SystemBrowser","__SourceModuleName__":"Global.lively.ide.SystemCodeBrowser"},"728":{"browser":{"__isSmartRef__":true,"id":727},"button":{"__isSmartRef__":true,"id":729},"__LivelyClassName__":"lively.ide.AddNewFileCommand","__SourceModuleName__":"Global.lively.ide.BrowserCommands"},"729":{"submorphs":[{"__isSmartRef__":true,"id":730}],"scripts":[],"shape":{"__isSmartRef__":true,"id":735},"eventHandler":{"__isSmartRef__":true,"id":736},"_ClipMode":"visible","derivationIds":[],"id":"CAA96656-ADAC-415B-A04E-9FF5D1031370","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"__serializedExpressions__":["_Position"],"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":730},"_PreviousBorderWidth":1,"command":{"__isSmartRef__":true,"id":728},"attributeConnections":[{"__isSmartRef__":true,"id":737},{"__isSmartRef__":true,"id":739}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"owner":{"__isSmartRef__":true,"id":719},"layout":{"__isSmartRef__":true,"id":741},"isPressed":false,"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,286.0)"},"730":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":731},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":732}],"eventHandler":{"__isSmartRef__":true,"id":734},"_ClipMode":"hidden","derivationIds":[],"id":"2CA608C5-090B-4147-95B6-5A170D54A13C","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":9,"__serializedExpressions__":["_TextColor"],"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":729},"isLabel":true,"_Align":"center","eventsAreIgnored":true,"_TextStylingMode":true,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(0,0,0)"},"731":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(81.0,29.0)","_Padding":"lively.rect(0,4,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"732":{"style":{"__isSmartRef__":true,"id":733},"chunkOwner":{"__isSmartRef__":true,"id":730},"_id":"_23","storedString":"Add module","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"733":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"734":{"morph":{"__isSmartRef__":true,"id":730},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"735":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":1,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(81.0,29.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"736":{"morph":{"__isSmartRef__":true,"id":729},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"737":{"sourceObj":{"__isSmartRef__":true,"id":729},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":728},"targetMethodName":"trigger","varMapping":{"__isSmartRef__":true,"id":738},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"738":{"source":{"__isSmartRef__":true,"id":729},"target":{"__isSmartRef__":true,"id":728}},"739":{"sourceObj":{"__isSmartRef__":true,"id":729},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":729},"targetMethodName":"setLabel","varMapping":{"__isSmartRef__":true,"id":740},"converterString":"function () { return this.getSourceObj().command.asString() }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"740":{"source":{"__isSmartRef__":true,"id":729},"target":{"__isSmartRef__":true,"id":729}},"741":{"scaleVertical":true,"scaleHorizontal":true},"742":{"browser":{"__isSmartRef__":true,"id":727},"button":{"__isSmartRef__":true,"id":743},"__LivelyClassName__":"lively.ide.AllModulesLoadCommand","__SourceModuleName__":"Global.lively.ide.BrowserCommands"},"743":{"submorphs":[{"__isSmartRef__":true,"id":744}],"scripts":[],"shape":{"__isSmartRef__":true,"id":749},"eventHandler":{"__isSmartRef__":true,"id":750},"_ClipMode":"visible","derivationIds":[],"id":"D728608F-4AD2-4047-B989-B6C58F1EF9FB","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"__serializedExpressions__":["_Position"],"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":744},"_PreviousBorderWidth":1,"command":{"__isSmartRef__":true,"id":742},"attributeConnections":[{"__isSmartRef__":true,"id":751},{"__isSmartRef__":true,"id":753}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"owner":{"__isSmartRef__":true,"id":719},"layout":{"__isSmartRef__":true,"id":755},"isPressed":false,"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(81.0,286.0)"},"744":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":745},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":746}],"eventHandler":{"__isSmartRef__":true,"id":748},"_ClipMode":"hidden","derivationIds":[],"id":"D2B7BA51-D467-4390-9AFF-3F330F5B0D64","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":9,"__serializedExpressions__":["_TextColor"],"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":743},"isLabel":true,"_Align":"center","eventsAreIgnored":true,"_TextStylingMode":true,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(0,0,0)"},"745":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(81.0,29.0)","_Padding":"lively.rect(0,4,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"746":{"style":{"__isSmartRef__":true,"id":747},"chunkOwner":{"__isSmartRef__":true,"id":744},"_id":"_26","storedString":"Load all","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"747":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"748":{"morph":{"__isSmartRef__":true,"id":744},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"749":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":1,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(81.0,29.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"750":{"morph":{"__isSmartRef__":true,"id":743},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"751":{"sourceObj":{"__isSmartRef__":true,"id":743},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":742},"targetMethodName":"trigger","varMapping":{"__isSmartRef__":true,"id":752},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"752":{"source":{"__isSmartRef__":true,"id":743},"target":{"__isSmartRef__":true,"id":742}},"753":{"sourceObj":{"__isSmartRef__":true,"id":743},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":743},"targetMethodName":"setLabel","varMapping":{"__isSmartRef__":true,"id":754},"converterString":"function () { return this.getSourceObj().command.asString() }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"754":{"source":{"__isSmartRef__":true,"id":743},"target":{"__isSmartRef__":true,"id":743}},"755":{"scaleVertical":true,"scaleHorizontal":true},"756":{"browser":{"__isSmartRef__":true,"id":727},"button":{"__isSmartRef__":true,"id":757},"__LivelyClassName__":"lively.ide.ShowLineNumbersCommand","__SourceModuleName__":"Global.lively.ide.BrowserCommands"},"757":{"submorphs":[{"__isSmartRef__":true,"id":758}],"scripts":[],"shape":{"__isSmartRef__":true,"id":763},"eventHandler":{"__isSmartRef__":true,"id":764},"_ClipMode":"visible","derivationIds":[],"id":"DDA8A787-87DC-4449-8250-99E974BA9F99","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"__serializedExpressions__":["_Position"],"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":758},"_PreviousBorderWidth":1,"command":{"__isSmartRef__":true,"id":756},"attributeConnections":[{"__isSmartRef__":true,"id":765},{"__isSmartRef__":true,"id":767}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"owner":{"__isSmartRef__":true,"id":719},"layout":{"__isSmartRef__":true,"id":769},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(162.0,286.0)"},"758":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":759},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":760}],"eventHandler":{"__isSmartRef__":true,"id":762},"_ClipMode":"hidden","derivationIds":[],"id":"C73A43A9-732D-4EFA-A873-1D10548182BF","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":9,"__serializedExpressions__":["_TextColor"],"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":757},"isLabel":true,"_Align":"center","eventsAreIgnored":true,"_TextStylingMode":true,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(0,0,0)"},"759":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(81.0,29.0)","_Padding":"lively.rect(0,4,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"760":{"style":{"__isSmartRef__":true,"id":761},"chunkOwner":{"__isSmartRef__":true,"id":758},"_id":"_29","storedString":"LineNo","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"761":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"762":{"morph":{"__isSmartRef__":true,"id":758},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"763":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":1,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(81.0,29.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"764":{"morph":{"__isSmartRef__":true,"id":757},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"765":{"sourceObj":{"__isSmartRef__":true,"id":757},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":756},"targetMethodName":"trigger","varMapping":{"__isSmartRef__":true,"id":766},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"766":{"source":{"__isSmartRef__":true,"id":757},"target":{"__isSmartRef__":true,"id":756}},"767":{"sourceObj":{"__isSmartRef__":true,"id":757},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":757},"targetMethodName":"setLabel","varMapping":{"__isSmartRef__":true,"id":768},"converterString":"function () { return this.getSourceObj().command.asString() }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"768":{"source":{"__isSmartRef__":true,"id":757},"target":{"__isSmartRef__":true,"id":757}},"769":{"scaleVertical":true,"scaleHorizontal":true},"770":{"browser":{"__isSmartRef__":true,"id":727},"button":{"__isSmartRef__":true,"id":771},"__LivelyClassName__":"lively.ide.ParserDebugCommand","__SourceModuleName__":"Global.lively.ide.BrowserCommands"},"771":{"submorphs":[{"__isSmartRef__":true,"id":772}],"scripts":[],"shape":{"__isSmartRef__":true,"id":777},"eventHandler":{"__isSmartRef__":true,"id":778},"_ClipMode":"visible","derivationIds":[],"id":"31C7C625-B800-4315-99C7-6D6FD46FA61C","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"__serializedExpressions__":["_Position"],"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":772},"_PreviousBorderWidth":1,"command":{"__isSmartRef__":true,"id":770},"attributeConnections":[{"__isSmartRef__":true,"id":779},{"__isSmartRef__":true,"id":781}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"owner":{"__isSmartRef__":true,"id":719},"layout":{"__isSmartRef__":true,"id":783},"isPressed":false,"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(243.0,286.0)"},"772":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":773},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":774}],"eventHandler":{"__isSmartRef__":true,"id":776},"_ClipMode":"hidden","derivationIds":[],"id":"322DABD3-9E54-4C9D-A98E-FC02209980B8","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":9,"__serializedExpressions__":["_TextColor"],"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":771},"isLabel":true,"_Align":"center","eventsAreIgnored":true,"_TextStylingMode":true,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(0,0,0)"},"773":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(81.0,29.0)","_Padding":"lively.rect(0,4,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"774":{"style":{"__isSmartRef__":true,"id":775},"chunkOwner":{"__isSmartRef__":true,"id":772},"_id":"_32","storedString":"Dbg errors is off","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"775":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"776":{"morph":{"__isSmartRef__":true,"id":772},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"777":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":1,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(81.0,29.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"778":{"morph":{"__isSmartRef__":true,"id":771},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"779":{"sourceObj":{"__isSmartRef__":true,"id":771},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":770},"targetMethodName":"trigger","varMapping":{"__isSmartRef__":true,"id":780},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"780":{"source":{"__isSmartRef__":true,"id":771},"target":{"__isSmartRef__":true,"id":770}},"781":{"sourceObj":{"__isSmartRef__":true,"id":771},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":771},"targetMethodName":"setLabel","varMapping":{"__isSmartRef__":true,"id":782},"converterString":"function () { return this.getSourceObj().command.asString() }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"782":{"source":{"__isSmartRef__":true,"id":771},"target":{"__isSmartRef__":true,"id":771}},"783":{"scaleVertical":true,"scaleHorizontal":true},"784":{"browser":{"__isSmartRef__":true,"id":727},"button":{"__isSmartRef__":true,"id":785},"__LivelyClassName__":"lively.ide.EvaluateCommand","__SourceModuleName__":"Global.lively.ide.BrowserCommands"},"785":{"submorphs":[{"__isSmartRef__":true,"id":786}],"scripts":[],"shape":{"__isSmartRef__":true,"id":791},"eventHandler":{"__isSmartRef__":true,"id":792},"_ClipMode":"visible","derivationIds":[],"id":"936D8C81-B306-461A-976F-1A11BDB63B20","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"__serializedExpressions__":["_Position"],"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":786},"_PreviousBorderWidth":1,"command":{"__isSmartRef__":true,"id":784},"attributeConnections":[{"__isSmartRef__":true,"id":793},{"__isSmartRef__":true,"id":795}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"owner":{"__isSmartRef__":true,"id":719},"layout":{"__isSmartRef__":true,"id":797},"isPressed":false,"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(324.0,286.0)"},"786":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":787},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":788}],"eventHandler":{"__isSmartRef__":true,"id":790},"_ClipMode":"hidden","derivationIds":[],"id":"3BEB7DE1-DE32-4058-9B88-B50AF7AE78E4","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":9,"__serializedExpressions__":["_TextColor"],"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":785},"isLabel":true,"_Align":"center","eventsAreIgnored":true,"_TextStylingMode":true,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(0,0,0)"},"787":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(81.0,29.0)","_Padding":"lively.rect(0,4,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"788":{"style":{"__isSmartRef__":true,"id":789},"chunkOwner":{"__isSmartRef__":true,"id":786},"_id":"_35","storedString":"Eval on","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"789":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"790":{"morph":{"__isSmartRef__":true,"id":786},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"791":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":1,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(81.0,29.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"792":{"morph":{"__isSmartRef__":true,"id":785},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"793":{"sourceObj":{"__isSmartRef__":true,"id":785},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":784},"targetMethodName":"trigger","varMapping":{"__isSmartRef__":true,"id":794},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"794":{"source":{"__isSmartRef__":true,"id":785},"target":{"__isSmartRef__":true,"id":784}},"795":{"sourceObj":{"__isSmartRef__":true,"id":785},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":785},"targetMethodName":"setLabel","varMapping":{"__isSmartRef__":true,"id":796},"converterString":"function () { return this.getSourceObj().command.asString() }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"796":{"source":{"__isSmartRef__":true,"id":785},"target":{"__isSmartRef__":true,"id":785}},"797":{"scaleVertical":true,"scaleHorizontal":true},"798":{"browser":{"__isSmartRef__":true,"id":727},"button":{"__isSmartRef__":true,"id":799},"__LivelyClassName__":"lively.ide.SortCommand","__SourceModuleName__":"Global.lively.ide.BrowserCommands"},"799":{"submorphs":[{"__isSmartRef__":true,"id":800}],"scripts":[],"shape":{"__isSmartRef__":true,"id":805},"eventHandler":{"__isSmartRef__":true,"id":806},"_ClipMode":"visible","derivationIds":[],"id":"CE4570ED-46A8-4788-BFCD-45A4D5FCD6A7","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"__serializedExpressions__":["_Position"],"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":800},"_PreviousBorderWidth":1,"command":{"__isSmartRef__":true,"id":798},"attributeConnections":[{"__isSmartRef__":true,"id":807},{"__isSmartRef__":true,"id":809}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"owner":{"__isSmartRef__":true,"id":719},"layout":{"__isSmartRef__":true,"id":811},"isPressed":false,"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(405.0,286.0)"},"800":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":801},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":802}],"eventHandler":{"__isSmartRef__":true,"id":804},"_ClipMode":"hidden","derivationIds":[],"id":"65517817-6AD1-47E4-BD4D-35CE2809A87C","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":9,"__serializedExpressions__":["_TextColor"],"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":799},"isLabel":true,"_Align":"center","eventsAreIgnored":true,"_TextStylingMode":true,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(0,0,0)"},"801":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(81.0,29.0)","_Padding":"lively.rect(0,4,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"802":{"style":{"__isSmartRef__":true,"id":803},"chunkOwner":{"__isSmartRef__":true,"id":800},"_id":"_38","storedString":"Sort","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"803":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"804":{"morph":{"__isSmartRef__":true,"id":800},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"805":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":1,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(81.0,29.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"806":{"morph":{"__isSmartRef__":true,"id":799},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"807":{"sourceObj":{"__isSmartRef__":true,"id":799},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":798},"targetMethodName":"trigger","varMapping":{"__isSmartRef__":true,"id":808},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"808":{"source":{"__isSmartRef__":true,"id":799},"target":{"__isSmartRef__":true,"id":798}},"809":{"sourceObj":{"__isSmartRef__":true,"id":799},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":799},"targetMethodName":"setLabel","varMapping":{"__isSmartRef__":true,"id":810},"converterString":"function () { return this.getSourceObj().command.asString() }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"810":{"source":{"__isSmartRef__":true,"id":799},"target":{"__isSmartRef__":true,"id":799}},"811":{"scaleVertical":true,"scaleHorizontal":true},"812":{"browser":{"__isSmartRef__":true,"id":727},"button":{"__isSmartRef__":true,"id":813},"__LivelyClassName__":"lively.ide.ViewSourceCommand","__SourceModuleName__":"Global.lively.ide.BrowserCommands"},"813":{"submorphs":[{"__isSmartRef__":true,"id":814}],"scripts":[],"shape":{"__isSmartRef__":true,"id":819},"eventHandler":{"__isSmartRef__":true,"id":820},"_ClipMode":"visible","derivationIds":[],"id":"86F5DD17-8F95-4F40-82FC-3398E598A288","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"__serializedExpressions__":["_Position"],"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":814},"_PreviousBorderWidth":1,"command":{"__isSmartRef__":true,"id":812},"attributeConnections":[{"__isSmartRef__":true,"id":821},{"__isSmartRef__":true,"id":823}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"owner":{"__isSmartRef__":true,"id":719},"layout":{"__isSmartRef__":true,"id":825},"isPressed":false,"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(486.0,286.0)"},"814":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":815},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":816}],"eventHandler":{"__isSmartRef__":true,"id":818},"_ClipMode":"hidden","derivationIds":[],"id":"3D6520F2-60B3-4D41-A106-CE224FAA4F12","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":9,"__serializedExpressions__":["_TextColor"],"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":813},"isLabel":true,"_Align":"center","eventsAreIgnored":true,"_TextStylingMode":true,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(0,0,0)"},"815":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(81.0,29.0)","_Padding":"lively.rect(0,4,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"816":{"style":{"__isSmartRef__":true,"id":817},"chunkOwner":{"__isSmartRef__":true,"id":814},"_id":"_41","storedString":"View as...","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"817":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"818":{"morph":{"__isSmartRef__":true,"id":814},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"819":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":1,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(81.0,29.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"820":{"morph":{"__isSmartRef__":true,"id":813},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"821":{"sourceObj":{"__isSmartRef__":true,"id":813},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":812},"targetMethodName":"trigger","varMapping":{"__isSmartRef__":true,"id":822},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"822":{"source":{"__isSmartRef__":true,"id":813},"target":{"__isSmartRef__":true,"id":812}},"823":{"sourceObj":{"__isSmartRef__":true,"id":813},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":813},"targetMethodName":"setLabel","varMapping":{"__isSmartRef__":true,"id":824},"converterString":"function () { return this.getSourceObj().command.asString() }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"824":{"source":{"__isSmartRef__":true,"id":813},"target":{"__isSmartRef__":true,"id":813}},"825":{"scaleVertical":true,"scaleHorizontal":true},"826":{"__LivelyClassName__":"lively.ide.NodeFilter","__SourceModuleName__":"Global.lively.ide.BrowserFramework"},"827":{"__LivelyClassName__":"lively.ide.NodeFilter","__SourceModuleName__":"Global.lively.ide.BrowserFramework"},"828":{"attributes":["isClassNode","isGrammarNode","isChangeNode","isFunctionNode","isObjectNode"],"__LivelyClassName__":"lively.ide.NodeTypeFilter","__SourceModuleName__":"Global.lively.ide.BrowserFramework"},"829":{"__LivelyClassName__":"lively.ide.NodeFilter","__SourceModuleName__":"Global.lively.ide.BrowserFramework"},"830":{"__LivelyClassName__":"lively.ide.NodeFilter","__SourceModuleName__":"Global.lively.ide.BrowserFramework"},"831":{"__LivelyClassName__":"lively.ide.NodeFilter","__SourceModuleName__":"Global.lively.ide.BrowserFramework"},"832":{"sourceObj":{"__isSmartRef__":true,"id":727},"sourceAttrName":"setPane1Content","targetObj":{"__isSmartRef__":true,"id":833},"targetMethodName":"updateList","varMapping":{"__isSmartRef__":true,"id":1116},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"833":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":834},"itemList":[{"__isSmartRef__":true,"id":835},{"__isSmartRef__":true,"id":1040},{"__isSmartRef__":true,"id":1041},{"__isSmartRef__":true,"id":1042},{"__isSmartRef__":true,"id":1043},{"__isSmartRef__":true,"id":1044},{"__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},{"__isSmartRef__":true,"id":1053},{"__isSmartRef__":true,"id":1054},{"__isSmartRef__":true,"id":1055},{"__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},{"__isSmartRef__":true,"id":1064},{"__isSmartRef__":true,"id":1065},{"__isSmartRef__":true,"id":1066},{"__isSmartRef__":true,"id":1067},{"__isSmartRef__":true,"id":1068},{"__isSmartRef__":true,"id":1069},{"__isSmartRef__":true,"id":1070},{"__isSmartRef__":true,"id":1071},{"__isSmartRef__":true,"id":1072},{"__isSmartRef__":true,"id":1073},{"__isSmartRef__":true,"id":1074},{"__isSmartRef__":true,"id":1075},{"__isSmartRef__":true,"id":1076},{"__isSmartRef__":true,"id":1077},{"__isSmartRef__":true,"id":1078},{"__isSmartRef__":true,"id":1079},{"__isSmartRef__":true,"id":1080},{"__isSmartRef__":true,"id":1081},{"__isSmartRef__":true,"id":1082},{"__isSmartRef__":true,"id":1083},{"__isSmartRef__":true,"id":1084},{"__isSmartRef__":true,"id":1085},{"__isSmartRef__":true,"id":1086},{"__isSmartRef__":true,"id":1087},{"__isSmartRef__":true,"id":1088},{"__isSmartRef__":true,"id":1089}],"eventHandler":{"__isSmartRef__":true,"id":1090},"derivationIds":[],"id":"57B245DC-0CE9-4B23-9300-D160C7B3105C","_FontFamily":"Helvetica","_FontSize":10,"grabbingEnabled":false,"droppingEnabled":true,"halosEnabled":true,"_ClipMode":"auto","__serializedExpressions__":["_Position"],"selection":{"__isSmartRef__":true,"id":1091},"selectedLineNo":10,"owner":{"__isSmartRef__":true,"id":719},"layout":{"__isSmartRef__":true,"id":1092},"attributeConnections":[{"__isSmartRef__":true,"id":1093},{"__isSmartRef__":true,"id":1095},{"__isSmartRef__":true,"id":1097},{"__isSmartRef__":true,"id":1099}],"doNotSerialize":["$$selection"],"doNotCopyProperties":["$$selection"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1101},"__LivelyClassName__":"lively.morphic.List","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,21.5)"},"834":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor","_Fill"],"_BorderWidth":0,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(141.8,264.9)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(243,243,243)"},"835":{"isListItem":true,"string":"ast/","value":{"__isSmartRef__":true,"id":836}},"836":{"target":{"__isSmartRef__":true,"id":837},"browser":{"__isSmartRef__":true,"id":727},"parent":{"__isSmartRef__":true,"id":838},"localName":"ast/","__LivelyClassName__":"lively.ide.NamespaceNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"837":{"protocol":"http:","hostname":"lively-kernel.org","pathname":"/repository/webwerkstatt/core/lively/ast/","__LivelyClassName__":"URL","__SourceModuleName__":"Global.lively.Network"},"838":{"target":{"__isSmartRef__":true,"id":839},"browser":{"__isSmartRef__":true,"id":727},"parent":null,"allFiles":["lively/flot.js","lively/Traits.js","lively/DOMAbstraction.js","lively/Data.js","lively/Base.js","lively/defaultconfig.js","lively/LKFileParser.ometa","lively/Helper.js","lively/LocalStorage.js","lively/LogHelper.js","lively/PartsBin.js","lively/PartCaching.js","lively/LayerableMorphs.js","lively/bindings.js","lively/SmalltalkParserSupport.js","lively/SmalltalkParser.js","lively/date.format.js","lively/Ometa.js","lively/PartsTestFramework.js","lively/JSON.js","lively/Presentation.js","lively/bootstrap.js","lively/CrayonColors.js","lively/NewMorphicCompat.js","lively/localconfig.js","lively/Touch.js","lively/LKFileParser.js","lively/Main.js","lively/Tracing.js","lively/Migration.js","lively/Network.js","lively/SmalltalkParser.ometa","lively/WidgetsTraits.js","lively/TestFramework.js","lively/jsMorphic.js","lively/OldModel.js","lively/ChangeSet.js","lively/ide.js","lively/morphic.js","lively/NoMoreModels.js"],"subNamespacePaths":[{"__isSmartRef__":true,"id":840},{"__isSmartRef__":true,"id":841},{"__isSmartRef__":true,"id":842},{"__isSmartRef__":true,"id":843},{"__isSmartRef__":true,"id":844},{"__isSmartRef__":true,"id":837},{"__isSmartRef__":true,"id":845},{"__isSmartRef__":true,"id":846},{"__isSmartRef__":true,"id":847}],"parentNamespacePath":{"__isSmartRef__":true,"id":848},"_childNodes":[{"__isSmartRef__":true,"id":836},{"__isSmartRef__":true,"id":849},{"__isSmartRef__":true,"id":850},{"__isSmartRef__":true,"id":851},{"__isSmartRef__":true,"id":852},{"__isSmartRef__":true,"id":853},{"__isSmartRef__":true,"id":854},{"__isSmartRef__":true,"id":855},{"__isSmartRef__":true,"id":856},{"__isSmartRef__":true,"id":857},{"__isSmartRef__":true,"id":858},{"__isSmartRef__":true,"id":999},{"__isSmartRef__":true,"id":1000},{"__isSmartRef__":true,"id":1001},{"__isSmartRef__":true,"id":1002},{"__isSmartRef__":true,"id":1003},{"__isSmartRef__":true,"id":1004},{"__isSmartRef__":true,"id":1005},{"__isSmartRef__":true,"id":1006},{"__isSmartRef__":true,"id":1007},{"__isSmartRef__":true,"id":1008},{"__isSmartRef__":true,"id":1009},{"__isSmartRef__":true,"id":1010},{"__isSmartRef__":true,"id":1011},{"__isSmartRef__":true,"id":1012},{"__isSmartRef__":true,"id":1013},{"__isSmartRef__":true,"id":1014},{"__isSmartRef__":true,"id":1015},{"__isSmartRef__":true,"id":1016},{"__isSmartRef__":true,"id":1017},{"__isSmartRef__":true,"id":1018},{"__isSmartRef__":true,"id":1019},{"__isSmartRef__":true,"id":1020},{"__isSmartRef__":true,"id":1021},{"__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},{"__isSmartRef__":true,"id":1030},{"__isSmartRef__":true,"id":1031},{"__isSmartRef__":true,"id":1032},{"__isSmartRef__":true,"id":1033},{"__isSmartRef__":true,"id":1034},{"__isSmartRef__":true,"id":1035},{"__isSmartRef__":true,"id":1036},{"__isSmartRef__":true,"id":1037},{"__isSmartRef__":true,"id":1038}],"__LivelyClassName__":"lively.ide.SourceControlNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"839":{"__LivelyClassName__":"AnotherSourceDatabase","__SourceModuleName__":"Global.lively.ide.SourceDatabase"},"840":{"protocol":"http:","hostname":"lively-kernel.org","pathname":"/repository/webwerkstatt/core/lively/persistence/","__LivelyClassName__":"URL","__SourceModuleName__":"Global.lively.Network"},"841":{"protocol":"http:","hostname":"lively-kernel.org","pathname":"/repository/webwerkstatt/core/lively/bindings/","__LivelyClassName__":"URL","__SourceModuleName__":"Global.lively.Network"},"842":{"protocol":"http:","hostname":"lively-kernel.org","pathname":"/repository/webwerkstatt/core/lively/jsMorphic/","__LivelyClassName__":"URL","__SourceModuleName__":"Global.lively.Network"},"843":{"protocol":"http:","hostname":"lively-kernel.org","pathname":"/repository/webwerkstatt/core/lively/tests/","__LivelyClassName__":"URL","__SourceModuleName__":"Global.lively.Network"},"844":{"protocol":"http:","hostname":"lively-kernel.org","pathname":"/repository/webwerkstatt/core/lively/lang/","__LivelyClassName__":"URL","__SourceModuleName__":"Global.lively.Network"},"845":{"protocol":"http:","hostname":"lively-kernel.org","pathname":"/repository/webwerkstatt/core/lively/experimental/","__LivelyClassName__":"URL","__SourceModuleName__":"Global.lively.Network"},"846":{"protocol":"http:","hostname":"lively-kernel.org","pathname":"/repository/webwerkstatt/core/lively/ide/","__LivelyClassName__":"URL","__SourceModuleName__":"Global.lively.Network"},"847":{"protocol":"http:","hostname":"lively-kernel.org","pathname":"/repository/webwerkstatt/core/lively/morphic/","__LivelyClassName__":"URL","__SourceModuleName__":"Global.lively.Network"},"848":{"protocol":"http:","hostname":"lively-kernel.org","pathname":"/repository/webwerkstatt/core/lively/../","__LivelyClassName__":"URL","__SourceModuleName__":"Global.lively.Network"},"849":{"target":{"__isSmartRef__":true,"id":841},"browser":{"__isSmartRef__":true,"id":727},"parent":{"__isSmartRef__":true,"id":838},"localName":"bindings/","__LivelyClassName__":"lively.ide.NamespaceNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"850":{"target":{"__isSmartRef__":true,"id":845},"browser":{"__isSmartRef__":true,"id":727},"parent":{"__isSmartRef__":true,"id":838},"localName":"experimental/","__LivelyClassName__":"lively.ide.NamespaceNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"851":{"target":{"__isSmartRef__":true,"id":846},"browser":{"__isSmartRef__":true,"id":727},"parent":{"__isSmartRef__":true,"id":838},"localName":"ide/","__LivelyClassName__":"lively.ide.NamespaceNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"852":{"target":{"__isSmartRef__":true,"id":842},"browser":{"__isSmartRef__":true,"id":727},"parent":{"__isSmartRef__":true,"id":838},"localName":"jsMorphic/","__LivelyClassName__":"lively.ide.NamespaceNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"853":{"target":{"__isSmartRef__":true,"id":844},"browser":{"__isSmartRef__":true,"id":727},"parent":{"__isSmartRef__":true,"id":838},"localName":"lang/","__LivelyClassName__":"lively.ide.NamespaceNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"854":{"target":{"__isSmartRef__":true,"id":847},"browser":{"__isSmartRef__":true,"id":727},"parent":{"__isSmartRef__":true,"id":838},"localName":"morphic/","__LivelyClassName__":"lively.ide.NamespaceNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"855":{"target":{"__isSmartRef__":true,"id":840},"browser":{"__isSmartRef__":true,"id":727},"parent":{"__isSmartRef__":true,"id":838},"localName":"persistence/","__LivelyClassName__":"lively.ide.NamespaceNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"856":{"target":{"__isSmartRef__":true,"id":843},"browser":{"__isSmartRef__":true,"id":727},"parent":{"__isSmartRef__":true,"id":838},"localName":"tests/","__LivelyClassName__":"lively.ide.NamespaceNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"857":{"target":{"__isSmartRef__":true,"id":848},"browser":{"__isSmartRef__":true,"id":727},"parent":{"__isSmartRef__":true,"id":838},"localName":"../","__LivelyClassName__":"lively.ide.NamespaceNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"858":{"target":{"__isSmartRef__":true,"id":859},"browser":{"__isSmartRef__":true,"id":727},"parent":{"__isSmartRef__":true,"id":838},"moduleName":"lively/Base.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"859":{"name":"lively/Base.js","type":"completeFileDef","startIndex":0,"stopIndex":43696,"fileName":"lively/Base.js","_subElements":[{"__isSmartRef__":true,"id":860},{"__isSmartRef__":true,"id":861},{"__isSmartRef__":true,"id":862},{"__isSmartRef__":true,"id":863},{"__isSmartRef__":true,"id":864},{"__isSmartRef__":true,"id":865},{"__isSmartRef__":true,"id":866},{"__isSmartRef__":true,"id":867},{"__isSmartRef__":true,"id":868},{"__isSmartRef__":true,"id":869},{"__isSmartRef__":true,"id":870},{"__isSmartRef__":true,"id":871},{"__isSmartRef__":true,"id":872},{"__isSmartRef__":true,"id":873},{"__isSmartRef__":true,"id":874},{"__isSmartRef__":true,"id":875},{"__isSmartRef__":true,"id":876},{"__isSmartRef__":true,"id":891},{"__isSmartRef__":true,"id":892},{"__isSmartRef__":true,"id":915},{"__isSmartRef__":true,"id":916},{"__isSmartRef__":true,"id":924},{"__isSmartRef__":true,"id":925},{"__isSmartRef__":true,"id":926},{"__isSmartRef__":true,"id":930},{"__isSmartRef__":true,"id":931},{"__isSmartRef__":true,"id":971},{"__isSmartRef__":true,"id":972},{"__isSmartRef__":true,"id":979},{"__isSmartRef__":true,"id":980},{"__isSmartRef__":true,"id":981},{"__isSmartRef__":true,"id":982},{"__isSmartRef__":true,"id":983},{"__isSmartRef__":true,"id":984},{"__isSmartRef__":true,"id":985},{"__isSmartRef__":true,"id":986},{"__isSmartRef__":true,"id":989},{"__isSmartRef__":true,"id":990},{"__isSmartRef__":true,"id":991},{"__isSmartRef__":true,"id":992},{"__isSmartRef__":true,"id":993},{"__isSmartRef__":true,"id":994},{"__isSmartRef__":true,"id":995},{"__isSmartRef__":true,"id":996},{"__isSmartRef__":true,"id":997},{"__isSmartRef__":true,"id":998}],"sourceControl":{"__isSmartRef__":true,"id":839},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"860":{"name":null,"type":"comment","startIndex":0,"stopIndex":1357,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"861":{"name":null,"type":"unknown","startIndex":1358,"stopIndex":1409,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"862":{"name":"dbgOn","type":"functionDef","startIndex":1410,"stopIndex":1631,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"863":{"name":"assert","type":"functionDef","startIndex":1632,"stopIndex":1882,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"864":{"name":null,"type":"comment","startIndex":1883,"stopIndex":2004,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"865":{"name":null,"type":"unknown","startIndex":2005,"stopIndex":3844,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"866":{"name":null,"type":"comment","startIndex":3845,"stopIndex":3846,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"867":{"name":"namespace","type":"functionDef","startIndex":3847,"stopIndex":4156,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"868":{"name":null,"type":"comment","startIndex":4157,"stopIndex":4158,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"869":{"name":"__oldNamespace","type":"functionDef","startIndex":4159,"stopIndex":5469,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"870":{"name":"testModuleLoad","type":"functionDef","startIndex":5470,"stopIndex":6192,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"871":{"name":null,"type":"comment","startIndex":6193,"stopIndex":6193,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"872":{"name":"module","type":"functionDef","startIndex":6194,"stopIndex":8502,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"873":{"name":null,"type":"comment","startIndex":8503,"stopIndex":8503,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"874":{"name":"require","type":"functionDef","startIndex":8504,"stopIndex":9008,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"875":{"name":null,"type":"comment","startIndex":9009,"stopIndex":9280,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"876":{"name":"Function.prototype","type":"klassExtensionDef","startIndex":9281,"stopIndex":19262,"fileName":"lively/Base.js","_subElements":[{"__isSmartRef__":true,"id":877},{"__isSmartRef__":true,"id":879},{"__isSmartRef__":true,"id":880},{"__isSmartRef__":true,"id":881},{"__isSmartRef__":true,"id":882},{"__isSmartRef__":true,"id":883},{"__isSmartRef__":true,"id":884},{"__isSmartRef__":true,"id":885},{"__isSmartRef__":true,"id":886},{"__isSmartRef__":true,"id":887},{"__isSmartRef__":true,"id":888},{"__isSmartRef__":true,"id":889},{"__isSmartRef__":true,"id":890}],"sourceControl":{"__isSmartRef__":true,"id":839},"categories":[{"__isSmartRef__":true,"id":878}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"877":{"name":"defaultCategoryName","type":"propertyDef","startIndex":9318,"stopIndex":9361,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":true,"category":{"__isSmartRef__":true,"id":878},"className":"Function.prototype","_owner":{"__isSmartRef__":true,"id":876},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"878":{"name":"default category","type":"categoryDef","startIndex":9315,"stopIndex":19259,"fileName":"lively/Base.js","_subElements":[{"__isSmartRef__":true,"id":877},{"__isSmartRef__":true,"id":879},{"__isSmartRef__":true,"id":880},{"__isSmartRef__":true,"id":881},{"__isSmartRef__":true,"id":882},{"__isSmartRef__":true,"id":883},{"__isSmartRef__":true,"id":884},{"__isSmartRef__":true,"id":885},{"__isSmartRef__":true,"id":886},{"__isSmartRef__":true,"id":887},{"__isSmartRef__":true,"id":888},{"__isSmartRef__":true,"id":889},{"__isSmartRef__":true,"id":890}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"879":{"name":"subclass","type":"propertyDef","startIndex":9364,"stopIndex":11610,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":true,"category":{"__isSmartRef__":true,"id":878},"className":"Function.prototype","_owner":{"__isSmartRef__":true,"id":876},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"880":{"name":"addMethods","type":"propertyDef","startIndex":11613,"stopIndex":12465,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":true,"category":{"__isSmartRef__":true,"id":878},"className":"Function.prototype","_owner":{"__isSmartRef__":true,"id":876},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"881":{"name":"addCategorizedMethods","type":"propertyDef","startIndex":12468,"stopIndex":17069,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":true,"category":{"__isSmartRef__":true,"id":878},"className":"Function.prototype","_owner":{"__isSmartRef__":true,"id":876},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"882":{"name":"addProperties","type":"propertyDef","startIndex":17073,"stopIndex":17201,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":true,"category":{"__isSmartRef__":true,"id":878},"className":"Function.prototype","_owner":{"__isSmartRef__":true,"id":876},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"883":{"name":"isSubclassOf","type":"propertyDef","startIndex":17204,"stopIndex":17298,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":true,"category":{"__isSmartRef__":true,"id":878},"className":"Function.prototype","_owner":{"__isSmartRef__":true,"id":876},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"884":{"name":"allSubclasses","type":"propertyDef","startIndex":17301,"stopIndex":17456,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":true,"category":{"__isSmartRef__":true,"id":878},"className":"Function.prototype","_owner":{"__isSmartRef__":true,"id":876},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"885":{"name":"withAllSubclasses","type":"propertyDef","startIndex":17458,"stopIndex":17538,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":true,"category":{"__isSmartRef__":true,"id":878},"className":"Function.prototype","_owner":{"__isSmartRef__":true,"id":876},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"886":{"name":"directSubclasses","type":"propertyDef","startIndex":17542,"stopIndex":17701,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":true,"category":{"__isSmartRef__":true,"id":878},"className":"Function.prototype","_owner":{"__isSmartRef__":true,"id":876},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"887":{"name":"withAllSortedSubclassesDo","type":"propertyDef","startIndex":17704,"stopIndex":18604,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":true,"category":{"__isSmartRef__":true,"id":878},"className":"Function.prototype","_owner":{"__isSmartRef__":true,"id":876},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"888":{"name":"superclasses","type":"propertyDef","startIndex":18607,"stopIndex":18814,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":true,"category":{"__isSmartRef__":true,"id":878},"className":"Function.prototype","_owner":{"__isSmartRef__":true,"id":876},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"889":{"name":"categoryNameFor","type":"propertyDef","startIndex":18817,"stopIndex":19065,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":true,"category":{"__isSmartRef__":true,"id":878},"className":"Function.prototype","_owner":{"__isSmartRef__":true,"id":876},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"890":{"name":"remove","type":"propertyDef","startIndex":19067,"stopIndex":19256,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":true,"category":{"__isSmartRef__":true,"id":878},"className":"Function.prototype","_owner":{"__isSmartRef__":true,"id":876},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"891":{"name":null,"type":"comment","startIndex":19263,"stopIndex":19263,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"892":{"name":"Class","type":"objectDef","startIndex":19264,"stopIndex":26463,"fileName":"lively/Base.js","_subElements":[{"__isSmartRef__":true,"id":893},{"__isSmartRef__":true,"id":895},{"__isSmartRef__":true,"id":896},{"__isSmartRef__":true,"id":897},{"__isSmartRef__":true,"id":898},{"__isSmartRef__":true,"id":899},{"__isSmartRef__":true,"id":900},{"__isSmartRef__":true,"id":901},{"__isSmartRef__":true,"id":902},{"__isSmartRef__":true,"id":903},{"__isSmartRef__":true,"id":904},{"__isSmartRef__":true,"id":905},{"__isSmartRef__":true,"id":906},{"__isSmartRef__":true,"id":907},{"__isSmartRef__":true,"id":908},{"__isSmartRef__":true,"id":909},{"__isSmartRef__":true,"id":910},{"__isSmartRef__":true,"id":911},{"__isSmartRef__":true,"id":912},{"__isSmartRef__":true,"id":913},{"__isSmartRef__":true,"id":914}],"sourceControl":{"__isSmartRef__":true,"id":839},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"893":{"name":"anonymousCounter","type":"propertyDef","startIndex":19279,"stopIndex":19302,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":true,"category":{"__isSmartRef__":true,"id":894},"_owner":{"__isSmartRef__":true,"id":892},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"894":{"name":"default category","type":"categoryDef","startIndex":12,"stopIndex":7197,"fileName":null,"_subElements":[{"__isSmartRef__":true,"id":893},{"__isSmartRef__":true,"id":895},{"__isSmartRef__":true,"id":896},{"__isSmartRef__":true,"id":897},{"__isSmartRef__":true,"id":898},{"__isSmartRef__":true,"id":899},{"__isSmartRef__":true,"id":900},{"__isSmartRef__":true,"id":901},{"__isSmartRef__":true,"id":902},{"__isSmartRef__":true,"id":903},{"__isSmartRef__":true,"id":904},{"__isSmartRef__":true,"id":905},{"__isSmartRef__":true,"id":906},{"__isSmartRef__":true,"id":907},{"__isSmartRef__":true,"id":908},{"__isSmartRef__":true,"id":909},{"__isSmartRef__":true,"id":910},{"__isSmartRef__":true,"id":911},{"__isSmartRef__":true,"id":912},{"__isSmartRef__":true,"id":913},{"__isSmartRef__":true,"id":914}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"895":{"name":"initializerTemplate","type":"propertyDef","startIndex":19305,"stopIndex":19403,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":true,"category":{"__isSmartRef__":true,"id":894},"_owner":{"__isSmartRef__":true,"id":892},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"896":{"name":"newInitializer","type":"propertyDef","startIndex":19406,"stopIndex":19595,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":true,"category":{"__isSmartRef__":true,"id":894},"_owner":{"__isSmartRef__":true,"id":892},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"897":{"name":"initializer","type":"propertyDef","startIndex":19598,"stopIndex":20275,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":true,"category":{"__isSmartRef__":true,"id":894},"_owner":{"__isSmartRef__":true,"id":892},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"898":{"name":"def","type":"propertyDef","startIndex":20278,"stopIndex":21549,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":true,"category":{"__isSmartRef__":true,"id":894},"_owner":{"__isSmartRef__":true,"id":892},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"899":{"name":"isValidIdentifier","type":"propertyDef","startIndex":21552,"stopIndex":21667,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":true,"category":{"__isSmartRef__":true,"id":894},"_owner":{"__isSmartRef__":true,"id":892},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"900":{"name":"isClass","type":"propertyDef","startIndex":21670,"stopIndex":21996,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":true,"category":{"__isSmartRef__":true,"id":894},"_owner":{"__isSmartRef__":true,"id":892},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"901":{"name":"className","type":"propertyDef","startIndex":21999,"stopIndex":22291,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":true,"category":{"__isSmartRef__":true,"id":894},"_owner":{"__isSmartRef__":true,"id":892},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"902":{"name":"forName","type":"propertyDef","startIndex":22294,"stopIndex":22526,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":true,"category":{"__isSmartRef__":true,"id":894},"_owner":{"__isSmartRef__":true,"id":892},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"903":{"name":"deleteObjectNamed","type":"propertyDef","startIndex":22529,"stopIndex":22727,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":true,"category":{"__isSmartRef__":true,"id":894},"_owner":{"__isSmartRef__":true,"id":892},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"904":{"name":"unqualifiedNameFor","type":"propertyDef","startIndex":22730,"stopIndex":23063,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":true,"category":{"__isSmartRef__":true,"id":894},"_owner":{"__isSmartRef__":true,"id":892},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"905":{"name":"namespaceFor","type":"propertyDef","startIndex":23066,"stopIndex":23362,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":true,"category":{"__isSmartRef__":true,"id":894},"_owner":{"__isSmartRef__":true,"id":892},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"906":{"name":"withAllClassNames","type":"propertyDef","startIndex":23365,"stopIndex":23705,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":true,"category":{"__isSmartRef__":true,"id":894},"_owner":{"__isSmartRef__":true,"id":892},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"907":{"name":"makeEnum","type":"propertyDef","startIndex":23708,"stopIndex":24024,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":true,"category":{"__isSmartRef__":true,"id":894},"_owner":{"__isSmartRef__":true,"id":892},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"908":{"name":"getConstructor","type":"propertyDef","startIndex":24027,"stopIndex":24187,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":true,"category":{"__isSmartRef__":true,"id":894},"_owner":{"__isSmartRef__":true,"id":892},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"909":{"name":"getPrototype","type":"propertyDef","startIndex":24190,"stopIndex":24305,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":true,"category":{"__isSmartRef__":true,"id":894},"_owner":{"__isSmartRef__":true,"id":892},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"910":{"name":"applyPrototypeMethod","type":"propertyDef","startIndex":24308,"stopIndex":24569,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":true,"category":{"__isSmartRef__":true,"id":894},"_owner":{"__isSmartRef__":true,"id":892},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"911":{"name":"getSuperConstructor","type":"propertyDef","startIndex":24572,"stopIndex":24702,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":true,"category":{"__isSmartRef__":true,"id":894},"_owner":{"__isSmartRef__":true,"id":892},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"912":{"name":"getSuperPrototype","type":"propertyDef","startIndex":24705,"stopIndex":24865,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":true,"category":{"__isSmartRef__":true,"id":894},"_owner":{"__isSmartRef__":true,"id":892},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"913":{"name":"addPins","type":"propertyDef","startIndex":24868,"stopIndex":25864,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":true,"category":{"__isSmartRef__":true,"id":894},"_owner":{"__isSmartRef__":true,"id":892},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"914":{"name":"addMixin","type":"propertyDef","startIndex":25867,"stopIndex":26458,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":true,"category":{"__isSmartRef__":true,"id":894},"_owner":{"__isSmartRef__":true,"id":892},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"915":{"name":null,"type":"comment","startIndex":26464,"stopIndex":26464,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"916":{"name":"Namespace","type":"klassDef","startIndex":26465,"stopIndex":28058,"fileName":"lively/Base.js","_subElements":[{"__isSmartRef__":true,"id":917},{"__isSmartRef__":true,"id":919},{"__isSmartRef__":true,"id":921},{"__isSmartRef__":true,"id":922},{"__isSmartRef__":true,"id":923}],"sourceControl":{"__isSmartRef__":true,"id":839},"superclassName":"Object","categories":[{"__isSmartRef__":true,"id":918},{"__isSmartRef__":true,"id":920}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"917":{"name":"initialize","type":"propertyDef","startIndex":26513,"stopIndex":26679,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":false,"category":{"__isSmartRef__":true,"id":918},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":916},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"918":{"name":"initializing","type":"categoryDef","startIndex":26494,"stopIndex":26682,"fileName":"lively/Base.js","_subElements":[{"__isSmartRef__":true,"id":917}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"919":{"name":"gather","type":"propertyDef","startIndex":26699,"stopIndex":27025,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":false,"category":{"__isSmartRef__":true,"id":920},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":916},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"920":{"name":"accessing","type":"categoryDef","startIndex":26684,"stopIndex":28055,"fileName":"lively/Base.js","_subElements":[{"__isSmartRef__":true,"id":919},{"__isSmartRef__":true,"id":921},{"__isSmartRef__":true,"id":922},{"__isSmartRef__":true,"id":923}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"921":{"name":"subNamespaces","type":"propertyDef","startIndex":27028,"stopIndex":27262,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":false,"category":{"__isSmartRef__":true,"id":920},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":916},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"922":{"name":"classes","type":"propertyDef","startIndex":27265,"stopIndex":27616,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":false,"category":{"__isSmartRef__":true,"id":920},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":916},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"923":{"name":"functions","type":"propertyDef","startIndex":27619,"stopIndex":28052,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":false,"category":{"__isSmartRef__":true,"id":920},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":916},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"924":{"name":null,"type":"comment","startIndex":28059,"stopIndex":28101,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"925":{"name":"Global","type":"klassExtensionDef","startIndex":28102,"stopIndex":28145,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"traits":["Namespace.prototype"],"categories":[],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"926":{"name":"Global","type":"klassExtensionDef","startIndex":28146,"stopIndex":28238,"fileName":"lively/Base.js","_subElements":[{"__isSmartRef__":true,"id":927},{"__isSmartRef__":true,"id":929}],"sourceControl":{"__isSmartRef__":true,"id":839},"categories":[{"__isSmartRef__":true,"id":928}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"927":{"name":"namespaceIdentifier","type":"propertyDef","startIndex":28170,"stopIndex":28203,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":true,"category":{"__isSmartRef__":true,"id":928},"className":"Global","_owner":{"__isSmartRef__":true,"id":926},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"928":{"name":"default category","type":"categoryDef","startIndex":28168,"stopIndex":28235,"fileName":"lively/Base.js","_subElements":[{"__isSmartRef__":true,"id":927},{"__isSmartRef__":true,"id":929}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"929":{"name":"isLoaded","type":"propertyDef","startIndex":28205,"stopIndex":28233,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":true,"category":{"__isSmartRef__":true,"id":928},"className":"Global","_owner":{"__isSmartRef__":true,"id":926},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"930":{"name":null,"type":"comment","startIndex":28239,"stopIndex":28239,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"931":{"name":"Namespace","type":"klassExtensionDef","startIndex":28240,"stopIndex":37492,"fileName":"lively/Base.js","_subElements":[{"__isSmartRef__":true,"id":932},{"__isSmartRef__":true,"id":934},{"__isSmartRef__":true,"id":936},{"__isSmartRef__":true,"id":938},{"__isSmartRef__":true,"id":939},{"__isSmartRef__":true,"id":940},{"__isSmartRef__":true,"id":941},{"__isSmartRef__":true,"id":942},{"__isSmartRef__":true,"id":944},{"__isSmartRef__":true,"id":945},{"__isSmartRef__":true,"id":946},{"__isSmartRef__":true,"id":947},{"__isSmartRef__":true,"id":948},{"__isSmartRef__":true,"id":949},{"__isSmartRef__":true,"id":950},{"__isSmartRef__":true,"id":951},{"__isSmartRef__":true,"id":952},{"__isSmartRef__":true,"id":954},{"__isSmartRef__":true,"id":955},{"__isSmartRef__":true,"id":956},{"__isSmartRef__":true,"id":958},{"__isSmartRef__":true,"id":959},{"__isSmartRef__":true,"id":960},{"__isSmartRef__":true,"id":962},{"__isSmartRef__":true,"id":963},{"__isSmartRef__":true,"id":964},{"__isSmartRef__":true,"id":966},{"__isSmartRef__":true,"id":967},{"__isSmartRef__":true,"id":969},{"__isSmartRef__":true,"id":970}],"sourceControl":{"__isSmartRef__":true,"id":839},"categories":[{"__isSmartRef__":true,"id":933},{"__isSmartRef__":true,"id":935},{"__isSmartRef__":true,"id":937},{"__isSmartRef__":true,"id":943},{"__isSmartRef__":true,"id":953},{"__isSmartRef__":true,"id":957},{"__isSmartRef__":true,"id":961},{"__isSmartRef__":true,"id":965},{"__isSmartRef__":true,"id":968}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"932":{"name":"isLivelyModule","type":"propertyDef","startIndex":28278,"stopIndex":28302,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":false,"category":{"__isSmartRef__":true,"id":933},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":931},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"933":{"name":"properties","type":"categoryDef","startIndex":28262,"stopIndex":28305,"fileName":"lively/Base.js","_subElements":[{"__isSmartRef__":true,"id":932}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"934":{"name":"beAnonymous","type":"propertyDef","startIndex":28325,"stopIndex":28500,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":false,"category":{"__isSmartRef__":true,"id":935},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":931},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"935":{"name":"initializing","type":"categoryDef","startIndex":28307,"stopIndex":28503,"fileName":"lively/Base.js","_subElements":[{"__isSmartRef__":true,"id":934}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"936":{"name":"name","type":"propertyDef","startIndex":28563,"stopIndex":28840,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":false,"category":{"__isSmartRef__":true,"id":937},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":931},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"937":{"name":"accessing","type":"categoryDef","startIndex":28505,"stopIndex":31344,"fileName":"lively/Base.js","_subElements":[{"__isSmartRef__":true,"id":936},{"__isSmartRef__":true,"id":938},{"__isSmartRef__":true,"id":939},{"__isSmartRef__":true,"id":940},{"__isSmartRef__":true,"id":941}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"938":{"name":"findUri","type":"propertyDef","startIndex":28843,"stopIndex":29796,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":false,"category":{"__isSmartRef__":true,"id":937},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":931},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"939":{"name":"uri","type":"propertyDef","startIndex":29799,"stopIndex":31140,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":false,"category":{"__isSmartRef__":true,"id":937},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":931},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"940":{"name":"relativePath","type":"propertyDef","startIndex":31142,"stopIndex":31259,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":false,"category":{"__isSmartRef__":true,"id":937},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":931},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"941":{"name":"lastPart","type":"propertyDef","startIndex":31262,"stopIndex":31342,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":false,"category":{"__isSmartRef__":true,"id":937},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":931},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"942":{"name":"addDependendModule","type":"propertyDef","startIndex":31371,"stopIndex":31717,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":false,"category":{"__isSmartRef__":true,"id":943},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":931},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"943":{"name":"module dependencies","type":"categoryDef","startIndex":31346,"stopIndex":33811,"fileName":"lively/Base.js","_subElements":[{"__isSmartRef__":true,"id":942},{"__isSmartRef__":true,"id":944},{"__isSmartRef__":true,"id":945},{"__isSmartRef__":true,"id":946},{"__isSmartRef__":true,"id":947},{"__isSmartRef__":true,"id":948},{"__isSmartRef__":true,"id":949},{"__isSmartRef__":true,"id":950},{"__isSmartRef__":true,"id":951}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"944":{"name":"informDependendModules","type":"propertyDef","startIndex":31720,"stopIndex":31971,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":false,"category":{"__isSmartRef__":true,"id":943},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":931},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"945":{"name":"traceDependendModules","type":"propertyDef","startIndex":31974,"stopIndex":32316,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":false,"category":{"__isSmartRef__":true,"id":943},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":931},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"946":{"name":"addRequiredModule","type":"propertyDef","startIndex":32319,"stopIndex":32787,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":false,"category":{"__isSmartRef__":true,"id":943},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":931},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"947":{"name":"removeRequiredModule","type":"propertyDef","startIndex":32790,"stopIndex":33169,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":false,"category":{"__isSmartRef__":true,"id":943},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":931},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"948":{"name":"pendingRequirementNames","type":"propertyDef","startIndex":33172,"stopIndex":33352,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":false,"category":{"__isSmartRef__":true,"id":943},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":931},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"949":{"name":"hasPendingRequirements","type":"propertyDef","startIndex":33355,"stopIndex":33481,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":false,"category":{"__isSmartRef__":true,"id":943},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":931},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"950":{"name":"loadRequirementsFirst","type":"propertyDef","startIndex":33484,"stopIndex":33606,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":false,"category":{"__isSmartRef__":true,"id":943},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":931},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"951":{"name":"wasRequiredBy","type":"propertyDef","startIndex":33609,"stopIndex":33808,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":false,"category":{"__isSmartRef__":true,"id":943},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":931},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"952":{"name":"addOnloadCallback","type":"propertyDef","startIndex":33833,"stopIndex":33959,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":false,"category":{"__isSmartRef__":true,"id":953},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":931},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"953":{"name":"load callbacks","type":"categoryDef","startIndex":33813,"stopIndex":34377,"fileName":"lively/Base.js","_subElements":[{"__isSmartRef__":true,"id":952},{"__isSmartRef__":true,"id":954},{"__isSmartRef__":true,"id":955}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"954":{"name":"runOnloadCallbacks","type":"propertyDef","startIndex":33962,"stopIndex":34302,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":false,"category":{"__isSmartRef__":true,"id":953},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":931},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"955":{"name":"isAnonymous","type":"propertyDef","startIndex":34305,"stopIndex":34373,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":false,"category":{"__isSmartRef__":true,"id":953},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":931},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"956":{"name":"isLoaded","type":"propertyDef","startIndex":34392,"stopIndex":34455,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":false,"category":{"__isSmartRef__":true,"id":957},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":931},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"957":{"name":"testing","type":"categoryDef","startIndex":34379,"stopIndex":34716,"fileName":"lively/Base.js","_subElements":[{"__isSmartRef__":true,"id":956},{"__isSmartRef__":true,"id":958},{"__isSmartRef__":true,"id":959}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"958":{"name":"isLoading","type":"propertyDef","startIndex":34458,"stopIndex":34641,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":false,"category":{"__isSmartRef__":true,"id":957},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":931},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"959":{"name":"isAnonymous","type":"propertyDef","startIndex":34644,"stopIndex":34712,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":false,"category":{"__isSmartRef__":true,"id":957},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":931},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"960":{"name":"load","type":"propertyDef","startIndex":34731,"stopIndex":35878,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":false,"category":{"__isSmartRef__":true,"id":961},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":931},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"961":{"name":"loading","type":"categoryDef","startIndex":34718,"stopIndex":36224,"fileName":"lively/Base.js","_subElements":[{"__isSmartRef__":true,"id":960},{"__isSmartRef__":true,"id":962},{"__isSmartRef__":true,"id":963}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"962":{"name":"activate","type":"propertyDef","startIndex":35881,"stopIndex":35965,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":false,"category":{"__isSmartRef__":true,"id":961},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":931},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"963":{"name":"deactivate","type":"propertyDef","startIndex":35968,"stopIndex":36221,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":false,"category":{"__isSmartRef__":true,"id":961},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":931},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"964":{"name":"remove","type":"propertyDef","startIndex":36240,"stopIndex":36515,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":false,"category":{"__isSmartRef__":true,"id":965},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":931},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"965":{"name":"removing","type":"categoryDef","startIndex":36226,"stopIndex":36685,"fileName":"lively/Base.js","_subElements":[{"__isSmartRef__":true,"id":964},{"__isSmartRef__":true,"id":966}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"966":{"name":"removeScriptNode","type":"propertyDef","startIndex":36517,"stopIndex":36682,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":false,"category":{"__isSmartRef__":true,"id":965},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":931},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"967":{"name":"toString","type":"propertyDef","startIndex":36702,"stopIndex":36780,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":false,"category":{"__isSmartRef__":true,"id":968},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":931},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"968":{"name":"debugging","type":"categoryDef","startIndex":36687,"stopIndex":37489,"fileName":"lively/Base.js","_subElements":[{"__isSmartRef__":true,"id":967},{"__isSmartRef__":true,"id":969},{"__isSmartRef__":true,"id":970}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"969":{"name":"inspect","type":"propertyDef","startIndex":36782,"stopIndex":36858,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":false,"category":{"__isSmartRef__":true,"id":968},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":931},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"970":{"name":"logError","type":"propertyDef","startIndex":36860,"stopIndex":37487,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":false,"category":{"__isSmartRef__":true,"id":968},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":931},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"971":{"name":null,"type":"comment","startIndex":37493,"stopIndex":37493,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"972":{"name":"Namespace","type":"klassExtensionDef","startIndex":37494,"stopIndex":40205,"fileName":"lively/Base.js","_subElements":[{"__isSmartRef__":true,"id":973},{"__isSmartRef__":true,"id":975},{"__isSmartRef__":true,"id":976},{"__isSmartRef__":true,"id":977},{"__isSmartRef__":true,"id":978}],"sourceControl":{"__isSmartRef__":true,"id":839},"categories":[{"__isSmartRef__":true,"id":974}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"973":{"name":"namespaceStack","type":"propertyDef","startIndex":37521,"stopIndex":37549,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":true,"category":{"__isSmartRef__":true,"id":974},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":972},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"974":{"name":"default category","type":"categoryDef","startIndex":37519,"stopIndex":40202,"fileName":"lively/Base.js","_subElements":[{"__isSmartRef__":true,"id":973},{"__isSmartRef__":true,"id":975},{"__isSmartRef__":true,"id":976},{"__isSmartRef__":true,"id":977},{"__isSmartRef__":true,"id":978}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"975":{"name":"current","type":"propertyDef","startIndex":37551,"stopIndex":37612,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":true,"category":{"__isSmartRef__":true,"id":974},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":972},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"976":{"name":"topologicalSortLoadedModules","type":"propertyDef","startIndex":37614,"stopIndex":39015,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":true,"category":{"__isSmartRef__":true,"id":974},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":972},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"977":{"name":"bootstrapModules","type":"propertyDef","startIndex":39018,"stopIndex":40056,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":true,"category":{"__isSmartRef__":true,"id":974},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":972},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"978":{"name":"bootstrapModulesString","type":"propertyDef","startIndex":40059,"stopIndex":40201,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":true,"category":{"__isSmartRef__":true,"id":974},"className":"Namespace","_owner":{"__isSmartRef__":true,"id":972},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"979":{"name":null,"type":"comment","startIndex":40206,"stopIndex":40206,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"980":{"name":"createLivelyNamespace","type":"functionDef","startIndex":40207,"stopIndex":40779,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"981":{"name":null,"type":"comment","startIndex":40780,"stopIndex":40780,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"982":{"name":"moveNamespaceClassToLivelyLang","type":"functionDef","startIndex":40781,"stopIndex":41086,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"983":{"name":null,"type":"comment","startIndex":41087,"stopIndex":41087,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"984":{"name":"addUsefulStuffToLivelyNS","type":"functionDef","startIndex":41088,"stopIndex":41195,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"985":{"name":null,"type":"comment","startIndex":41196,"stopIndex":41196,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"986":{"name":"lively.Module","type":"klassExtensionDef","startIndex":41197,"stopIndex":41799,"fileName":"lively/Base.js","_subElements":[{"__isSmartRef__":true,"id":987}],"sourceControl":{"__isSmartRef__":true,"id":839},"categories":[{"__isSmartRef__":true,"id":988}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"987":{"name":"findAllInThenDo","type":"propertyDef","startIndex":41228,"stopIndex":41795,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"_isStatic":true,"category":{"__isSmartRef__":true,"id":988},"className":"lively.Module","_owner":{"__isSmartRef__":true,"id":986},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"988":{"name":"default category","type":"categoryDef","startIndex":41226,"stopIndex":41796,"fileName":"lively/Base.js","_subElements":[{"__isSmartRef__":true,"id":987}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"989":{"name":null,"type":"comment","startIndex":41800,"stopIndex":41800,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"990":{"name":"setupLivelyLang","type":"functionDef","startIndex":41801,"stopIndex":42218,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"991":{"name":null,"type":"comment","startIndex":42219,"stopIndex":42319,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"992":{"name":"getStack","type":"functionDef","startIndex":42320,"stopIndex":42638,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"993":{"name":null,"type":"comment","startIndex":42639,"stopIndex":42639,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"994":{"name":"printStack","type":"functionDef","startIndex":42640,"stopIndex":43241,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"995":{"name":null,"type":"comment","startIndex":43242,"stopIndex":43242,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"996":{"name":"logStack","type":"functionDef","startIndex":43243,"stopIndex":43303,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"997":{"name":null,"type":"comment","startIndex":43304,"stopIndex":43304,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"998":{"name":"setupjQuery","type":"functionDef","startIndex":43305,"stopIndex":43696,"fileName":"lively/Base.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":839},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"999":{"browser":{"__isSmartRef__":true,"id":727},"parent":{"__isSmartRef__":true,"id":838},"moduleName":"lively/bindings.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"1000":{"browser":{"__isSmartRef__":true,"id":727},"parent":{"__isSmartRef__":true,"id":838},"moduleName":"lively/bootstrap.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"1001":{"browser":{"__isSmartRef__":true,"id":727},"parent":{"__isSmartRef__":true,"id":838},"moduleName":"lively/ChangeSet.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"1002":{"browser":{"__isSmartRef__":true,"id":727},"parent":{"__isSmartRef__":true,"id":838},"moduleName":"lively/CrayonColors.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"1003":{"browser":{"__isSmartRef__":true,"id":727},"parent":{"__isSmartRef__":true,"id":838},"moduleName":"lively/Data.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"1004":{"browser":{"__isSmartRef__":true,"id":727},"parent":{"__isSmartRef__":true,"id":838},"moduleName":"lively/date.format.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"1005":{"browser":{"__isSmartRef__":true,"id":727},"parent":{"__isSmartRef__":true,"id":838},"moduleName":"lively/defaultconfig.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"1006":{"browser":{"__isSmartRef__":true,"id":727},"parent":{"__isSmartRef__":true,"id":838},"moduleName":"lively/DOMAbstraction.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"1007":{"browser":{"__isSmartRef__":true,"id":727},"parent":{"__isSmartRef__":true,"id":838},"moduleName":"lively/flot.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"1008":{"browser":{"__isSmartRef__":true,"id":727},"parent":{"__isSmartRef__":true,"id":838},"moduleName":"lively/Helper.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"1009":{"browser":{"__isSmartRef__":true,"id":727},"parent":{"__isSmartRef__":true,"id":838},"moduleName":"lively/ide.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"1010":{"browser":{"__isSmartRef__":true,"id":727},"parent":{"__isSmartRef__":true,"id":838},"moduleName":"lively/jsMorphic.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"1011":{"browser":{"__isSmartRef__":true,"id":727},"parent":{"__isSmartRef__":true,"id":838},"moduleName":"lively/JSON.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"1012":{"browser":{"__isSmartRef__":true,"id":727},"parent":{"__isSmartRef__":true,"id":838},"moduleName":"lively/LayerableMorphs.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"1013":{"browser":{"__isSmartRef__":true,"id":727},"parent":{"__isSmartRef__":true,"id":838},"moduleName":"lively/LKFileParser.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"1014":{"browser":{"__isSmartRef__":true,"id":727},"parent":{"__isSmartRef__":true,"id":838},"moduleName":"lively/LKFileParser.ometa","showAll":false,"__LivelyClassName__":"lively.ide.CompleteOmetaFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"1015":{"browser":{"__isSmartRef__":true,"id":727},"parent":{"__isSmartRef__":true,"id":838},"moduleName":"lively/localconfig.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"1016":{"browser":{"__isSmartRef__":true,"id":727},"parent":{"__isSmartRef__":true,"id":838},"moduleName":"lively/LocalStorage.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"1017":{"browser":{"__isSmartRef__":true,"id":727},"parent":{"__isSmartRef__":true,"id":838},"moduleName":"lively/LogHelper.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"1018":{"browser":{"__isSmartRef__":true,"id":727},"parent":{"__isSmartRef__":true,"id":838},"moduleName":"lively/Main.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"1019":{"browser":{"__isSmartRef__":true,"id":727},"parent":{"__isSmartRef__":true,"id":838},"moduleName":"lively/Migration.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"1020":{"browser":{"__isSmartRef__":true,"id":727},"parent":{"__isSmartRef__":true,"id":838},"moduleName":"lively/morphic.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"1021":{"browser":{"__isSmartRef__":true,"id":727},"parent":{"__isSmartRef__":true,"id":838},"moduleName":"lively/Network.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"1022":{"browser":{"__isSmartRef__":true,"id":727},"parent":{"__isSmartRef__":true,"id":838},"moduleName":"lively/NewMorphicCompat.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"1023":{"browser":{"__isSmartRef__":true,"id":727},"parent":{"__isSmartRef__":true,"id":838},"moduleName":"lively/NoMoreModels.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"1024":{"browser":{"__isSmartRef__":true,"id":727},"parent":{"__isSmartRef__":true,"id":838},"moduleName":"lively/OldModel.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"1025":{"browser":{"__isSmartRef__":true,"id":727},"parent":{"__isSmartRef__":true,"id":838},"moduleName":"lively/Ometa.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"1026":{"browser":{"__isSmartRef__":true,"id":727},"parent":{"__isSmartRef__":true,"id":838},"moduleName":"lively/PartCaching.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"1027":{"browser":{"__isSmartRef__":true,"id":727},"parent":{"__isSmartRef__":true,"id":838},"moduleName":"lively/PartsBin.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"1028":{"browser":{"__isSmartRef__":true,"id":727},"parent":{"__isSmartRef__":true,"id":838},"moduleName":"lively/PartsTestFramework.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"1029":{"browser":{"__isSmartRef__":true,"id":727},"parent":{"__isSmartRef__":true,"id":838},"moduleName":"lively/Presentation.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"1030":{"browser":{"__isSmartRef__":true,"id":727},"parent":{"__isSmartRef__":true,"id":838},"moduleName":"lively/SmalltalkParser.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"1031":{"browser":{"__isSmartRef__":true,"id":727},"parent":{"__isSmartRef__":true,"id":838},"moduleName":"lively/SmalltalkParser.ometa","showAll":false,"__LivelyClassName__":"lively.ide.CompleteOmetaFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"1032":{"browser":{"__isSmartRef__":true,"id":727},"parent":{"__isSmartRef__":true,"id":838},"moduleName":"lively/SmalltalkParserSupport.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"1033":{"browser":{"__isSmartRef__":true,"id":727},"parent":{"__isSmartRef__":true,"id":838},"moduleName":"lively/TestFramework.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"1034":{"browser":{"__isSmartRef__":true,"id":727},"parent":{"__isSmartRef__":true,"id":838},"moduleName":"lively/Touch.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"1035":{"browser":{"__isSmartRef__":true,"id":727},"parent":{"__isSmartRef__":true,"id":838},"moduleName":"lively/Tracing.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"1036":{"browser":{"__isSmartRef__":true,"id":727},"parent":{"__isSmartRef__":true,"id":838},"moduleName":"lively/Traits.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"1037":{"browser":{"__isSmartRef__":true,"id":727},"parent":{"__isSmartRef__":true,"id":838},"moduleName":"lively/WidgetsTraits.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"1038":{"target":{"__isSmartRef__":true,"id":1039},"browser":{"__isSmartRef__":true,"id":727},"__LivelyClassName__":"lively.ide.ChangeSetNode","__SourceModuleName__":"Global.lively.ide.LocalBrowser"},"1039":{"name":"Local code","__LivelyClassName__":"ChangeSet","__SourceModuleName__":"Global.lively.ChangeSet"},"1040":{"isListItem":true,"string":"bindings/","value":{"__isSmartRef__":true,"id":849}},"1041":{"isListItem":true,"string":"experimental/","value":{"__isSmartRef__":true,"id":850}},"1042":{"isListItem":true,"string":"ide/","value":{"__isSmartRef__":true,"id":851}},"1043":{"isListItem":true,"string":"jsMorphic/","value":{"__isSmartRef__":true,"id":852}},"1044":{"isListItem":true,"string":"lang/","value":{"__isSmartRef__":true,"id":853}},"1045":{"isListItem":true,"string":"morphic/","value":{"__isSmartRef__":true,"id":854}},"1046":{"isListItem":true,"string":"persistence/","value":{"__isSmartRef__":true,"id":855}},"1047":{"isListItem":true,"string":"tests/","value":{"__isSmartRef__":true,"id":856}},"1048":{"isListItem":true,"string":"../","value":{"__isSmartRef__":true,"id":857}},"1049":{"isListItem":true,"string":"Base.js","value":{"__isSmartRef__":true,"id":858}},"1050":{"isListItem":true,"string":"bindings.js (not parsed)","value":{"__isSmartRef__":true,"id":999}},"1051":{"isListItem":true,"string":"bootstrap.js (not parsed)","value":{"__isSmartRef__":true,"id":1000}},"1052":{"isListItem":true,"string":"ChangeSet.js (not parsed)","value":{"__isSmartRef__":true,"id":1001}},"1053":{"isListItem":true,"string":"CrayonColors.js (not parsed)","value":{"__isSmartRef__":true,"id":1002}},"1054":{"isListItem":true,"string":"Data.js (not parsed)","value":{"__isSmartRef__":true,"id":1003}},"1055":{"isListItem":true,"string":"date.format.js (not parsed)","value":{"__isSmartRef__":true,"id":1004}},"1056":{"isListItem":true,"string":"defaultconfig.js (not parsed)","value":{"__isSmartRef__":true,"id":1005}},"1057":{"isListItem":true,"string":"DOMAbstraction.js (not parsed)","value":{"__isSmartRef__":true,"id":1006}},"1058":{"isListItem":true,"string":"flot.js (not parsed)","value":{"__isSmartRef__":true,"id":1007}},"1059":{"isListItem":true,"string":"Helper.js (not parsed)","value":{"__isSmartRef__":true,"id":1008}},"1060":{"isListItem":true,"string":"ide.js (not parsed)","value":{"__isSmartRef__":true,"id":1009}},"1061":{"isListItem":true,"string":"jsMorphic.js (not parsed)","value":{"__isSmartRef__":true,"id":1010}},"1062":{"isListItem":true,"string":"JSON.js (not parsed)","value":{"__isSmartRef__":true,"id":1011}},"1063":{"isListItem":true,"string":"LayerableMorphs.js (not parsed)","value":{"__isSmartRef__":true,"id":1012}},"1064":{"isListItem":true,"string":"LKFileParser.js (not parsed)","value":{"__isSmartRef__":true,"id":1013}},"1065":{"isListItem":true,"string":"LKFileParser.ometa (not parsed)","value":{"__isSmartRef__":true,"id":1014}},"1066":{"isListItem":true,"string":"localconfig.js (not parsed)","value":{"__isSmartRef__":true,"id":1015}},"1067":{"isListItem":true,"string":"LocalStorage.js (not parsed)","value":{"__isSmartRef__":true,"id":1016}},"1068":{"isListItem":true,"string":"LogHelper.js (not parsed)","value":{"__isSmartRef__":true,"id":1017}},"1069":{"isListItem":true,"string":"Main.js (not parsed)","value":{"__isSmartRef__":true,"id":1018}},"1070":{"isListItem":true,"string":"Migration.js (not parsed)","value":{"__isSmartRef__":true,"id":1019}},"1071":{"isListItem":true,"string":"morphic.js (not parsed)","value":{"__isSmartRef__":true,"id":1020}},"1072":{"isListItem":true,"string":"Network.js (not parsed)","value":{"__isSmartRef__":true,"id":1021}},"1073":{"isListItem":true,"string":"NewMorphicCompat.js (not parsed)","value":{"__isSmartRef__":true,"id":1022}},"1074":{"isListItem":true,"string":"NoMoreModels.js (not parsed)","value":{"__isSmartRef__":true,"id":1023}},"1075":{"isListItem":true,"string":"OldModel.js (not parsed)","value":{"__isSmartRef__":true,"id":1024}},"1076":{"isListItem":true,"string":"Ometa.js (not parsed)","value":{"__isSmartRef__":true,"id":1025}},"1077":{"isListItem":true,"string":"PartCaching.js (not parsed)","value":{"__isSmartRef__":true,"id":1026}},"1078":{"isListItem":true,"string":"PartsBin.js (not parsed)","value":{"__isSmartRef__":true,"id":1027}},"1079":{"isListItem":true,"string":"PartsTestFramework.js (not parsed)","value":{"__isSmartRef__":true,"id":1028}},"1080":{"isListItem":true,"string":"Presentation.js (not parsed)","value":{"__isSmartRef__":true,"id":1029}},"1081":{"isListItem":true,"string":"SmalltalkParser.js (not parsed)","value":{"__isSmartRef__":true,"id":1030}},"1082":{"isListItem":true,"string":"SmalltalkParser.ometa (not parsed)","value":{"__isSmartRef__":true,"id":1031}},"1083":{"isListItem":true,"string":"SmalltalkParserSupport.js (not parsed)","value":{"__isSmartRef__":true,"id":1032}},"1084":{"isListItem":true,"string":"TestFramework.js (not parsed)","value":{"__isSmartRef__":true,"id":1033}},"1085":{"isListItem":true,"string":"Touch.js (not parsed)","value":{"__isSmartRef__":true,"id":1034}},"1086":{"isListItem":true,"string":"Tracing.js (not parsed)","value":{"__isSmartRef__":true,"id":1035}},"1087":{"isListItem":true,"string":"Traits.js (not parsed)","value":{"__isSmartRef__":true,"id":1036}},"1088":{"isListItem":true,"string":"WidgetsTraits.js (not parsed)","value":{"__isSmartRef__":true,"id":1037}},"1089":{"isListItem":true,"string":"Local code","value":{"__isSmartRef__":true,"id":1038}},"1090":{"morph":{"__isSmartRef__":true,"id":833},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1091":{"target":{"__isSmartRef__":true,"id":859},"browser":{"__isSmartRef__":true,"id":727},"parent":{"__isSmartRef__":true,"id":838},"moduleName":"lively/Base.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"1092":{"scaleVertical":true,"scaleHorizontal":true},"1093":{"sourceObj":{"__isSmartRef__":true,"id":833},"sourceAttrName":"selection","targetObj":{"__isSmartRef__":true,"id":727},"targetMethodName":"setPane1Selection","varMapping":{"__isSmartRef__":true,"id":1094},"updaterString":"function ($upd, v) { $upd(v, this.sourceObj) }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1094":{"source":{"__isSmartRef__":true,"id":833},"target":{"__isSmartRef__":true,"id":727}},"1095":{"sourceObj":{"__isSmartRef__":true,"id":833},"sourceAttrName":"getSelection","targetObj":{"__isSmartRef__":true,"id":727},"targetMethodName":"getPane1Selection","varMapping":{"__isSmartRef__":true,"id":1096},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1096":{"source":{"__isSmartRef__":true,"id":833},"target":{"__isSmartRef__":true,"id":727}},"1097":{"sourceObj":{"__isSmartRef__":true,"id":833},"sourceAttrName":"getList","targetObj":{"__isSmartRef__":true,"id":727},"targetMethodName":"getPane1Content","varMapping":{"__isSmartRef__":true,"id":1098},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1098":{"source":{"__isSmartRef__":true,"id":833},"target":{"__isSmartRef__":true,"id":727}},"1099":{"sourceObj":{"__isSmartRef__":true,"id":833},"sourceAttrName":"getMenu","targetObj":{"__isSmartRef__":true,"id":727},"targetMethodName":"getPane1Menu","varMapping":{"__isSmartRef__":true,"id":1100},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1100":{"source":{"__isSmartRef__":true,"id":833},"target":{"__isSmartRef__":true,"id":727}},"1101":{"onDownPressed":{"__isSmartRef__":true,"id":1102},"onUpPressed":{"__isSmartRef__":true,"id":1109}},"1102":{"varMapping":{"__isSmartRef__":true,"id":1103},"source":"function onDownPressed(evt) {\n $super(evt);\n this.focus.bind(this).delay(0);\n return true;\n }","funcProperties":{"__isSmartRef__":true,"id":1108},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1103":{"this":{"__isSmartRef__":true,"id":833},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1104}},"1104":{"$super":{"__isSmartRef__":true,"id":1105}},"1105":{"varMapping":{"__isSmartRef__":true,"id":1106},"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":1107},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1106":{"obj":{"__isSmartRef__":true,"id":833},"name":"onDownPressed"},"1107":{},"1108":{},"1109":{"varMapping":{"__isSmartRef__":true,"id":1110},"source":"function onUpPressed(evt) {\n $super(evt);\n this.focus.bind(this).delay(0);\n return true;\n }","funcProperties":{"__isSmartRef__":true,"id":1115},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1110":{"this":{"__isSmartRef__":true,"id":833},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1111}},"1111":{"$super":{"__isSmartRef__":true,"id":1112}},"1112":{"varMapping":{"__isSmartRef__":true,"id":1113},"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":1114},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1113":{"obj":{"__isSmartRef__":true,"id":833},"name":"onUpPressed"},"1114":{},"1115":{},"1116":{"source":{"__isSmartRef__":true,"id":727},"target":{"__isSmartRef__":true,"id":833}},"1117":{"sourceObj":{"__isSmartRef__":true,"id":727},"sourceAttrName":"setPane2Content","targetObj":{"__isSmartRef__":true,"id":1118},"targetMethodName":"updateList","varMapping":{"__isSmartRef__":true,"id":1191},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1118":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":1119},"itemList":[{"__isSmartRef__":true,"id":1120},{"__isSmartRef__":true,"id":1122},{"__isSmartRef__":true,"id":1124},{"__isSmartRef__":true,"id":1126},{"__isSmartRef__":true,"id":1128},{"__isSmartRef__":true,"id":1130},{"__isSmartRef__":true,"id":1132},{"__isSmartRef__":true,"id":1134},{"__isSmartRef__":true,"id":1136},{"__isSmartRef__":true,"id":1138},{"__isSmartRef__":true,"id":1140},{"__isSmartRef__":true,"id":1142},{"__isSmartRef__":true,"id":1144},{"__isSmartRef__":true,"id":1146},{"__isSmartRef__":true,"id":1148},{"__isSmartRef__":true,"id":1150},{"__isSmartRef__":true,"id":1152},{"__isSmartRef__":true,"id":1154},{"__isSmartRef__":true,"id":1156},{"__isSmartRef__":true,"id":1158},{"__isSmartRef__":true,"id":1160},{"__isSmartRef__":true,"id":1162},{"__isSmartRef__":true,"id":1164}],"eventHandler":{"__isSmartRef__":true,"id":1166},"derivationIds":[],"id":"91446008-495D-4154-A67E-C9D7A95DA3DD","_FontFamily":"Helvetica","_FontSize":10,"grabbingEnabled":false,"droppingEnabled":true,"halosEnabled":true,"_ClipMode":"auto","__serializedExpressions__":["_Position"],"selection":null,"selectedLineNo":-1,"owner":{"__isSmartRef__":true,"id":719},"layout":{"__isSmartRef__":true,"id":1167},"attributeConnections":[{"__isSmartRef__":true,"id":1168},{"__isSmartRef__":true,"id":1170},{"__isSmartRef__":true,"id":1172},{"__isSmartRef__":true,"id":1174}],"doNotSerialize":["$$selection"],"doNotCopyProperties":["$$selection"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1176},"__LivelyClassName__":"lively.morphic.List","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(141.8,21.5)"},"1119":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor","_Fill"],"_BorderWidth":0,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(141.8,264.9)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(243,243,243)"},"1120":{"isListItem":true,"string":"dbgOn (function)","value":{"__isSmartRef__":true,"id":1121}},"1121":{"target":{"__isSmartRef__":true,"id":862},"browser":{"__isSmartRef__":true,"id":727},"__LivelyClassName__":"lively.ide.FunctionFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"1122":{"isListItem":true,"string":"assert (function)","value":{"__isSmartRef__":true,"id":1123}},"1123":{"target":{"__isSmartRef__":true,"id":863},"browser":{"__isSmartRef__":true,"id":727},"__LivelyClassName__":"lively.ide.FunctionFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"1124":{"isListItem":true,"string":"namespace (function)","value":{"__isSmartRef__":true,"id":1125}},"1125":{"target":{"__isSmartRef__":true,"id":867},"browser":{"__isSmartRef__":true,"id":727},"__LivelyClassName__":"lively.ide.FunctionFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"1126":{"isListItem":true,"string":"__oldNamespace (function)","value":{"__isSmartRef__":true,"id":1127}},"1127":{"target":{"__isSmartRef__":true,"id":869},"browser":{"__isSmartRef__":true,"id":727},"__LivelyClassName__":"lively.ide.FunctionFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"1128":{"isListItem":true,"string":"testModuleLoad (function)","value":{"__isSmartRef__":true,"id":1129}},"1129":{"target":{"__isSmartRef__":true,"id":870},"browser":{"__isSmartRef__":true,"id":727},"__LivelyClassName__":"lively.ide.FunctionFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"1130":{"isListItem":true,"string":"module (function)","value":{"__isSmartRef__":true,"id":1131}},"1131":{"target":{"__isSmartRef__":true,"id":872},"browser":{"__isSmartRef__":true,"id":727},"__LivelyClassName__":"lively.ide.FunctionFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"1132":{"isListItem":true,"string":"require (function)","value":{"__isSmartRef__":true,"id":1133}},"1133":{"target":{"__isSmartRef__":true,"id":874},"browser":{"__isSmartRef__":true,"id":727},"__LivelyClassName__":"lively.ide.FunctionFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"1134":{"isListItem":true,"string":"Function.prototype (extension)","value":{"__isSmartRef__":true,"id":1135}},"1135":{"target":{"__isSmartRef__":true,"id":876},"browser":{"__isSmartRef__":true,"id":727},"__LivelyClassName__":"lively.ide.CategorizedClassFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"1136":{"isListItem":true,"string":"Class (object)","value":{"__isSmartRef__":true,"id":1137}},"1137":{"target":{"__isSmartRef__":true,"id":892},"browser":{"__isSmartRef__":true,"id":727},"__LivelyClassName__":"lively.ide.ObjectFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"1138":{"isListItem":true,"string":"Namespace","value":{"__isSmartRef__":true,"id":1139}},"1139":{"target":{"__isSmartRef__":true,"id":916},"browser":{"__isSmartRef__":true,"id":727},"__LivelyClassName__":"lively.ide.CategorizedClassFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"1140":{"isListItem":true,"string":"Global (extension)","value":{"__isSmartRef__":true,"id":1141}},"1141":{"target":{"__isSmartRef__":true,"id":925},"browser":{"__isSmartRef__":true,"id":727},"__LivelyClassName__":"lively.ide.CategorizedClassFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"1142":{"isListItem":true,"string":"Global (extension)","value":{"__isSmartRef__":true,"id":1143}},"1143":{"target":{"__isSmartRef__":true,"id":926},"browser":{"__isSmartRef__":true,"id":727},"__LivelyClassName__":"lively.ide.CategorizedClassFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"1144":{"isListItem":true,"string":"Namespace (extension)","value":{"__isSmartRef__":true,"id":1145}},"1145":{"target":{"__isSmartRef__":true,"id":931},"browser":{"__isSmartRef__":true,"id":727},"__LivelyClassName__":"lively.ide.CategorizedClassFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"1146":{"isListItem":true,"string":"Namespace (extension)","value":{"__isSmartRef__":true,"id":1147}},"1147":{"target":{"__isSmartRef__":true,"id":972},"browser":{"__isSmartRef__":true,"id":727},"__LivelyClassName__":"lively.ide.CategorizedClassFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"1148":{"isListItem":true,"string":"createLivelyNamespace (function)","value":{"__isSmartRef__":true,"id":1149}},"1149":{"target":{"__isSmartRef__":true,"id":980},"browser":{"__isSmartRef__":true,"id":727},"__LivelyClassName__":"lively.ide.FunctionFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"1150":{"isListItem":true,"string":"moveNamespaceClassToLivelyLang (function)","value":{"__isSmartRef__":true,"id":1151}},"1151":{"target":{"__isSmartRef__":true,"id":982},"browser":{"__isSmartRef__":true,"id":727},"__LivelyClassName__":"lively.ide.FunctionFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"1152":{"isListItem":true,"string":"addUsefulStuffToLivelyNS (function)","value":{"__isSmartRef__":true,"id":1153}},"1153":{"target":{"__isSmartRef__":true,"id":984},"browser":{"__isSmartRef__":true,"id":727},"__LivelyClassName__":"lively.ide.FunctionFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"1154":{"isListItem":true,"string":"lively.Module (extension)","value":{"__isSmartRef__":true,"id":1155}},"1155":{"target":{"__isSmartRef__":true,"id":986},"browser":{"__isSmartRef__":true,"id":727},"__LivelyClassName__":"lively.ide.CategorizedClassFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"1156":{"isListItem":true,"string":"setupLivelyLang (function)","value":{"__isSmartRef__":true,"id":1157}},"1157":{"target":{"__isSmartRef__":true,"id":990},"browser":{"__isSmartRef__":true,"id":727},"__LivelyClassName__":"lively.ide.FunctionFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"1158":{"isListItem":true,"string":"getStack (function)","value":{"__isSmartRef__":true,"id":1159}},"1159":{"target":{"__isSmartRef__":true,"id":992},"browser":{"__isSmartRef__":true,"id":727},"__LivelyClassName__":"lively.ide.FunctionFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"1160":{"isListItem":true,"string":"printStack (function)","value":{"__isSmartRef__":true,"id":1161}},"1161":{"target":{"__isSmartRef__":true,"id":994},"browser":{"__isSmartRef__":true,"id":727},"__LivelyClassName__":"lively.ide.FunctionFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"1162":{"isListItem":true,"string":"logStack (function)","value":{"__isSmartRef__":true,"id":1163}},"1163":{"target":{"__isSmartRef__":true,"id":996},"browser":{"__isSmartRef__":true,"id":727},"__LivelyClassName__":"lively.ide.FunctionFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"1164":{"isListItem":true,"string":"setupjQuery (function)","value":{"__isSmartRef__":true,"id":1165}},"1165":{"target":{"__isSmartRef__":true,"id":998},"browser":{"__isSmartRef__":true,"id":727},"__LivelyClassName__":"lively.ide.FunctionFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"1166":{"morph":{"__isSmartRef__":true,"id":1118},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1167":{"scaleVertical":true,"scaleHorizontal":true},"1168":{"sourceObj":{"__isSmartRef__":true,"id":1118},"sourceAttrName":"selection","targetObj":{"__isSmartRef__":true,"id":727},"targetMethodName":"setPane2Selection","varMapping":{"__isSmartRef__":true,"id":1169},"updaterString":"function ($upd, v) { $upd(v, this.sourceObj) }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1169":{"source":{"__isSmartRef__":true,"id":1118},"target":{"__isSmartRef__":true,"id":727}},"1170":{"sourceObj":{"__isSmartRef__":true,"id":1118},"sourceAttrName":"getSelection","targetObj":{"__isSmartRef__":true,"id":727},"targetMethodName":"getPane2Selection","varMapping":{"__isSmartRef__":true,"id":1171},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1171":{"source":{"__isSmartRef__":true,"id":1118},"target":{"__isSmartRef__":true,"id":727}},"1172":{"sourceObj":{"__isSmartRef__":true,"id":1118},"sourceAttrName":"getList","targetObj":{"__isSmartRef__":true,"id":727},"targetMethodName":"getPane2Content","varMapping":{"__isSmartRef__":true,"id":1173},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1173":{"source":{"__isSmartRef__":true,"id":1118},"target":{"__isSmartRef__":true,"id":727}},"1174":{"sourceObj":{"__isSmartRef__":true,"id":1118},"sourceAttrName":"getMenu","targetObj":{"__isSmartRef__":true,"id":727},"targetMethodName":"getPane2Menu","varMapping":{"__isSmartRef__":true,"id":1175},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1175":{"source":{"__isSmartRef__":true,"id":1118},"target":{"__isSmartRef__":true,"id":727}},"1176":{"onDownPressed":{"__isSmartRef__":true,"id":1177},"onUpPressed":{"__isSmartRef__":true,"id":1184}},"1177":{"varMapping":{"__isSmartRef__":true,"id":1178},"source":"function onDownPressed(evt) {\n $super(evt);\n this.focus.bind(this).delay(0);\n return true;\n }","funcProperties":{"__isSmartRef__":true,"id":1183},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1178":{"this":{"__isSmartRef__":true,"id":1118},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1179}},"1179":{"$super":{"__isSmartRef__":true,"id":1180}},"1180":{"varMapping":{"__isSmartRef__":true,"id":1181},"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":1182},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1181":{"obj":{"__isSmartRef__":true,"id":1118},"name":"onDownPressed"},"1182":{},"1183":{},"1184":{"varMapping":{"__isSmartRef__":true,"id":1185},"source":"function onUpPressed(evt) {\n $super(evt);\n this.focus.bind(this).delay(0);\n return true;\n }","funcProperties":{"__isSmartRef__":true,"id":1190},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1185":{"this":{"__isSmartRef__":true,"id":1118},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1186}},"1186":{"$super":{"__isSmartRef__":true,"id":1187}},"1187":{"varMapping":{"__isSmartRef__":true,"id":1188},"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":1189},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1188":{"obj":{"__isSmartRef__":true,"id":1118},"name":"onUpPressed"},"1189":{},"1190":{},"1191":{"source":{"__isSmartRef__":true,"id":727},"target":{"__isSmartRef__":true,"id":1118}},"1192":{"sourceObj":{"__isSmartRef__":true,"id":727},"sourceAttrName":"setPane3Content","targetObj":{"__isSmartRef__":true,"id":1193},"targetMethodName":"updateList","varMapping":{"__isSmartRef__":true,"id":1220},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1193":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":1194},"itemList":["-----"],"eventHandler":{"__isSmartRef__":true,"id":1195},"derivationIds":[],"id":"9A1FDBF7-3234-4E22-8584-10518EF6E42B","_FontFamily":"Helvetica","_FontSize":10,"grabbingEnabled":false,"droppingEnabled":true,"halosEnabled":true,"_ClipMode":"auto","__serializedExpressions__":["_Position"],"selection":null,"selectedLineNo":-1,"owner":{"__isSmartRef__":true,"id":719},"layout":{"__isSmartRef__":true,"id":1196},"attributeConnections":[{"__isSmartRef__":true,"id":1197},{"__isSmartRef__":true,"id":1199},{"__isSmartRef__":true,"id":1201},{"__isSmartRef__":true,"id":1203}],"doNotSerialize":["$$selection"],"doNotCopyProperties":["$$selection"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1205},"__LivelyClassName__":"lively.morphic.List","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(283.5,21.5)"},"1194":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor","_Fill"],"_BorderWidth":0,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(141.8,264.9)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(243,243,243)"},"1195":{"morph":{"__isSmartRef__":true,"id":1193},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1196":{"scaleVertical":true,"scaleHorizontal":true},"1197":{"sourceObj":{"__isSmartRef__":true,"id":1193},"sourceAttrName":"selection","targetObj":{"__isSmartRef__":true,"id":727},"targetMethodName":"setPane3Selection","varMapping":{"__isSmartRef__":true,"id":1198},"updaterString":"function ($upd, v) { $upd(v, this.sourceObj) }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1198":{"source":{"__isSmartRef__":true,"id":1193},"target":{"__isSmartRef__":true,"id":727}},"1199":{"sourceObj":{"__isSmartRef__":true,"id":1193},"sourceAttrName":"getSelection","targetObj":{"__isSmartRef__":true,"id":727},"targetMethodName":"getPane3Selection","varMapping":{"__isSmartRef__":true,"id":1200},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1200":{"source":{"__isSmartRef__":true,"id":1193},"target":{"__isSmartRef__":true,"id":727}},"1201":{"sourceObj":{"__isSmartRef__":true,"id":1193},"sourceAttrName":"getList","targetObj":{"__isSmartRef__":true,"id":727},"targetMethodName":"getPane3Content","varMapping":{"__isSmartRef__":true,"id":1202},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1202":{"source":{"__isSmartRef__":true,"id":1193},"target":{"__isSmartRef__":true,"id":727}},"1203":{"sourceObj":{"__isSmartRef__":true,"id":1193},"sourceAttrName":"getMenu","targetObj":{"__isSmartRef__":true,"id":727},"targetMethodName":"getPane3Menu","varMapping":{"__isSmartRef__":true,"id":1204},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1204":{"source":{"__isSmartRef__":true,"id":1193},"target":{"__isSmartRef__":true,"id":727}},"1205":{"onDownPressed":{"__isSmartRef__":true,"id":1206},"onUpPressed":{"__isSmartRef__":true,"id":1213}},"1206":{"varMapping":{"__isSmartRef__":true,"id":1207},"source":"function onDownPressed(evt) {\n $super(evt);\n this.focus.bind(this).delay(0);\n return true;\n }","funcProperties":{"__isSmartRef__":true,"id":1212},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1207":{"this":{"__isSmartRef__":true,"id":1193},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1208}},"1208":{"$super":{"__isSmartRef__":true,"id":1209}},"1209":{"varMapping":{"__isSmartRef__":true,"id":1210},"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":1211},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1210":{"obj":{"__isSmartRef__":true,"id":1193},"name":"onDownPressed"},"1211":{},"1212":{},"1213":{"varMapping":{"__isSmartRef__":true,"id":1214},"source":"function onUpPressed(evt) {\n $super(evt);\n this.focus.bind(this).delay(0);\n return true;\n }","funcProperties":{"__isSmartRef__":true,"id":1219},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1214":{"this":{"__isSmartRef__":true,"id":1193},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1215}},"1215":{"$super":{"__isSmartRef__":true,"id":1216}},"1216":{"varMapping":{"__isSmartRef__":true,"id":1217},"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":1218},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1217":{"obj":{"__isSmartRef__":true,"id":1193},"name":"onUpPressed"},"1218":{},"1219":{},"1220":{"source":{"__isSmartRef__":true,"id":727},"target":{"__isSmartRef__":true,"id":1193}},"1221":{"sourceObj":{"__isSmartRef__":true,"id":727},"sourceAttrName":"setPane4Content","targetObj":{"__isSmartRef__":true,"id":1222},"targetMethodName":"updateList","varMapping":{"__isSmartRef__":true,"id":1249},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1222":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":1223},"itemList":["-----"],"eventHandler":{"__isSmartRef__":true,"id":1224},"derivationIds":[],"id":"E01BA1B4-FA8B-491C-AEDB-A5E40B70A014","_FontFamily":"Helvetica","_FontSize":10,"grabbingEnabled":false,"droppingEnabled":true,"halosEnabled":true,"_ClipMode":"auto","__serializedExpressions__":["_Position"],"selection":null,"selectedLineNo":-1,"owner":{"__isSmartRef__":true,"id":719},"layout":{"__isSmartRef__":true,"id":1225},"attributeConnections":[{"__isSmartRef__":true,"id":1226},{"__isSmartRef__":true,"id":1228},{"__isSmartRef__":true,"id":1230},{"__isSmartRef__":true,"id":1232}],"doNotSerialize":["$$selection"],"doNotCopyProperties":["$$selection"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1234},"__LivelyClassName__":"lively.morphic.List","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(425.3,21.5)"},"1223":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor","_Fill"],"_BorderWidth":0,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(141.8,264.9)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(243,243,243)"},"1224":{"morph":{"__isSmartRef__":true,"id":1222},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1225":{"scaleVertical":true,"scaleHorizontal":true},"1226":{"sourceObj":{"__isSmartRef__":true,"id":1222},"sourceAttrName":"selection","targetObj":{"__isSmartRef__":true,"id":727},"targetMethodName":"setPane4Selection","varMapping":{"__isSmartRef__":true,"id":1227},"updaterString":"function ($upd, v) { $upd(v, this.sourceObj) }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1227":{"source":{"__isSmartRef__":true,"id":1222},"target":{"__isSmartRef__":true,"id":727}},"1228":{"sourceObj":{"__isSmartRef__":true,"id":1222},"sourceAttrName":"getSelection","targetObj":{"__isSmartRef__":true,"id":727},"targetMethodName":"getPane4Selection","varMapping":{"__isSmartRef__":true,"id":1229},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1229":{"source":{"__isSmartRef__":true,"id":1222},"target":{"__isSmartRef__":true,"id":727}},"1230":{"sourceObj":{"__isSmartRef__":true,"id":1222},"sourceAttrName":"getList","targetObj":{"__isSmartRef__":true,"id":727},"targetMethodName":"getPane4Content","varMapping":{"__isSmartRef__":true,"id":1231},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1231":{"source":{"__isSmartRef__":true,"id":1222},"target":{"__isSmartRef__":true,"id":727}},"1232":{"sourceObj":{"__isSmartRef__":true,"id":1222},"sourceAttrName":"getMenu","targetObj":{"__isSmartRef__":true,"id":727},"targetMethodName":"getPane4Menu","varMapping":{"__isSmartRef__":true,"id":1233},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1233":{"source":{"__isSmartRef__":true,"id":1222},"target":{"__isSmartRef__":true,"id":727}},"1234":{"onDownPressed":{"__isSmartRef__":true,"id":1235},"onUpPressed":{"__isSmartRef__":true,"id":1242}},"1235":{"varMapping":{"__isSmartRef__":true,"id":1236},"source":"function onDownPressed(evt) {\n $super(evt);\n this.focus.bind(this).delay(0);\n return true;\n }","funcProperties":{"__isSmartRef__":true,"id":1241},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1236":{"this":{"__isSmartRef__":true,"id":1222},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1237}},"1237":{"$super":{"__isSmartRef__":true,"id":1238}},"1238":{"varMapping":{"__isSmartRef__":true,"id":1239},"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":1240},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1239":{"obj":{"__isSmartRef__":true,"id":1222},"name":"onDownPressed"},"1240":{},"1241":{},"1242":{"varMapping":{"__isSmartRef__":true,"id":1243},"source":"function onUpPressed(evt) {\n $super(evt);\n this.focus.bind(this).delay(0);\n return true;\n }","funcProperties":{"__isSmartRef__":true,"id":1248},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1243":{"this":{"__isSmartRef__":true,"id":1222},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1244}},"1244":{"$super":{"__isSmartRef__":true,"id":1245}},"1245":{"varMapping":{"__isSmartRef__":true,"id":1246},"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":1247},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1246":{"obj":{"__isSmartRef__":true,"id":1222},"name":"onUpPressed"},"1247":{},"1248":{},"1249":{"source":{"__isSmartRef__":true,"id":727},"target":{"__isSmartRef__":true,"id":1222}},"1250":{"sourceObj":{"__isSmartRef__":true,"id":727},"sourceAttrName":"setSourceString","targetObj":{"__isSmartRef__":true,"id":1251},"targetMethodName":"setTextString","varMapping":{"__isSmartRef__":true,"id":1261},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1251":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":1252},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":1253}],"eventHandler":{"__isSmartRef__":true,"id":1255},"_ClipMode":"auto","derivationIds":[],"id":"417D4B1C-DBC3-4D02-90EA-ABD3576CEB1E","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":true,"_HandStyle":null,"allowInput":true,"_FontFamily":"Courier","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":719},"accessibleInInactiveWindow":true,"layout":{"__isSmartRef__":true,"id":1256},"noEval":true,"syntaxHighlightingWhileTyping":true,"attributeConnections":[{"__isSmartRef__":true,"id":1257},{"__isSmartRef__":true,"id":1259}],"doNotSerialize":["$$textString","$$savedTextString"],"doNotCopyProperties":["$$textString","$$savedTextString"],"textString":"/*\n * Copyright (c) 2006-2009 Sun Microsystems, Inc.\n * Copyright (c) 2008-2011 Hasso Plattner Institute\n *\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\n// set to the context enclosing the SVG context.\n// rk: replaced \"this.window.top || this.window\" with \"this.window\"\n// rk: when is it necessary to use the parent context?\nvar Global = this.window || GLOBAL /*for Node.js*/;\nfunction dbgOn(cond, optMessage) {\n if (optMessage) console.log(optMessage);\n if (cond) debugger; // note that rhino has issues with this keyword\n // also call as: throw dbgOn(new Error(....))\n return cond;\n}\n\nfunction assert(value, message) {\n if (value) { return; }\n // capture the stack\n var stack;\n try { throw new Error() } catch(e) { stack = e.stack || '' };\n alert('Assertion failed' + (message ? ': ' + message : '!') + '\\n' + stack);\n};\n\n// namespace logic adapted from\n// http://higher-order.blogspot.com/2008/02/designing-clientserver-web-applications.html\nvar using = (function() {\n\n function Util(args) { // args is an escaping arguments array\n this.objects = Array.prototype.concat.apply([], args);\n //var ownArgs = this.objects = new Array(args.length);\n //for (var i = 0; i < args.length; i++) ownArgs[i] = args[i];\n };\n\n Util.prototype = {\n\n log: function(msg) {\n console.log(msg);\n },\n\n run: function(inner) {\n var args = this.objects;\n if (this.moduleName) {\n // little convenience,\n if (args.length > 0) this.log('using().module(): ignoring args ' + args);\n return module(this.moduleName).requires().toRun(inner);\n } else return inner.apply(args[0], args);\n },\n\n model: function(model) {\n // KP: interestingly, declaring the above as \"model: function model(model)\"\n // seems to bind model to to the function, not the formal parameter, at least in rhino!\n this.model = model;\n return this;\n },\n\n module: function(moduleName) {\n this.moduleName = moduleName;\n return this;\n },\n\n link: function link(literal, variableMap) {\n variableMap = variableMap || {};\n return new lively.data.Resolver().link(literal, [], undefined, variableMap, this.objects, this.model);\n },\n\n extend: function extend(base, extLiteral) {\n return this.link(Object.extend(Object.clone(base), extLiteral));\n },\n\n test: function(inner) {\n try {\n return this.run(inner);\n } catch (er) {\n alert('test failed: ' + er);\n return undefined;\n }\n }\n }\n\n return function using() {\n return new Util(arguments);\n }\n})();\n\n\nfunction namespace(spec, context) {\n var codeDB;\n if (spec[0] == '$') {\n codeDB = spec.substring(1, spec.indexOf('.'));\n spec = spec.substring(spec.indexOf('.') + 1);\n }\n var ret = __oldNamespace(spec, context);\n if (codeDB) {\n ret.fromDB = codeDB;\n }\n return ret;\n};\n\n\nfunction __oldNamespace(spec, context) {\n var i,N;\n context = context || Global;\n spec = spec.valueOf();\n if (typeof spec === 'object') {\n if (typeof spec.length === 'number') {//assume an array-like object\n for (i = 0,N = spec.length; i < N; i++) {\n return namespace(spec[i], context);\n }\n } else {//spec is a specification object e.g, {com: {trifork: ['model,view']}}\n for (i in spec) if (spec.hasOwnProperty(i)) {\n context[i] = context[i] || new lively.lang.Namespace(context, i);\n return namespace(spec[i], context[i]);//recursively descend tree\n }\n }\n } else if (typeof spec === 'string') {\n (function handleStringCase() {\n var parts;\n parts = spec.split('.');\n for (i = 0, N = parts.length; i= 0) {\n ea.pendingRequirements = [];\n ea.load();\n testModuleLoad.delay(6);\n }\n\t});\n console.log('Module load check done. ' + modules.length + ' modules loaded.');\n}).delay(10);\n\nfunction module(moduleName) {\n\n moduleName = LivelyMigrationSupport.fixModuleName(moduleName);\n\n function isNamespaceAwareModule(moduleName) {\n return moduleName && !moduleName.endsWith('.js');\n }\n\n function convertUrlToNSIdentifier(url) {\n var result = url;\n result = result.replace(/\\//g, '.');\n // get rid of '.js'\n if (result.endsWith('.js')) result = result.substring(0, result.lastIndexOf('.'));\n return result;\n }\n\n function createNamespaceModule(moduleName) {\n return namespace(isNamespaceAwareModule(moduleName) ? moduleName : convertUrlToNSIdentifier(moduleName));\n }\n\n function basicRequire(/*module, requiredModuleNameOrAnArray, anotherRequiredModuleName, ...*/) {\n // support modulenames as array and parameterlist\n var args = $A(arguments),\n module = args.shift(),\n preReqModuleNames = Object.isArray(args[0]) ? args[0] : args,\n requiredModules = [];\n for (var i = 0; i < preReqModuleNames.length; i++) {\n var name = LivelyMigrationSupport.fixModuleName(preReqModuleNames[i]),\n reqModule = createNamespaceModule(name);\n module.addRequiredModule(reqModule);\n requiredModules.push(reqModule);\n }\n\n return {\n toRun: function(code) {\n var debugCode = code;\n code = code.curry(module); // pass in own module name for nested requirements\n var codeWrapper = function() { // run code with namespace modules as additional parameters\n try {\n module.activate();\n code.apply(this, requiredModules);\n module._isLoaded = true;\n } catch(e) {\n module.logError(module + '>>basicRequire: ' + e, debugCode)\n } finally {\n module.deactivate();\n }\n }\n module.addOnloadCallback(codeWrapper);\n module.load();\n }\n };\n };\n\n dbgOn(!Object.isString(moduleName));\n var module = createNamespaceModule(moduleName);\n module.wasDefined = true;\n module.requires = basicRequire.curry(module);\n return module;\n};\n\nfunction require(/*requiredModuleNameOrAnArray, anotherRequiredModuleName, ...*/) {\n var getUniqueName = function() { return 'anonymous_module_' + require.counter },\n args = $A(arguments);\n require.counter !== undefined ? require.counter++ : require.counter = 0;\n var m = module(getUniqueName()).beAnonymous();\n if (lively.Config.showModuleDefStack)\n try { throw new Error() } catch(e) { m.defStack = e.stack }\n return m.requires(Object.isArray(args[0]) ? args[0] : args);\n};\n\n\n// ===========================================================================\n// Our JS library extensions (JS 1.5, no particular browser or graphics engine)\n// ===========================================================================\n\n/**\n * LK class system.\n */\n\nObject.extend(Function.prototype, {\n\n defaultCategoryName: 'default category',\n\n subclass: function(/*... */) {\n // Main method of the LK class system.\n\n // {className} is the name of the new class constructor which this method synthesizes\n // and binds to {className} in the Global namespace.\n // Remaining arguments are (inline) properties and methods to be copied into the prototype\n // of the newly created constructor.\n\n // modified from prototype.js\n\n var args = $A(arguments),\n className = args.shift(),\n targetScope = Global,\n shortName = null;\n\n if (className) {\n targetScope = Class.namespaceFor(className);\n shortName = Class.unqualifiedNameFor(className);\n } else {\n shortName = \"anonymous_\" + (Class.anonymousCounter++);\n className = shortName;\n }\n\n var klass;\n if (className && targetScope[shortName] && (targetScope[shortName].superclass === this)) {\n // preserve the class to allow using the subclass construct in interactive development\n klass = targetScope[shortName];\n } else {\n klass = Class.newInitializer(shortName);\n klass.superclass = this;\n var protoclass = function() { }; // that's the constructor of the new prototype object\n protoclass.prototype = this.prototype;\n klass.prototype = new protoclass();\n klass.prototype.constructor = klass;\n klass.prototype.constructor.type = className; // KP: .name would be better but js ignores .name on anonymous functions\n klass.prototype.constructor.displayName = className; // for debugging, because name can not be assigned\n if (className) targetScope[shortName] = klass; // otherwise it's anonymous\n\n // remember the module that contains the class def\n if (Global.lively && lively.lang && lively.lang.Namespace)\n klass.sourceModule = lively.lang.Namespace.current();\n };\n\n // the remaining args should be category strings or source objects\n this.addMethods.apply(klass, args);\n\n if (!klass.prototype.initialize)\n klass.prototype.initialize = Functions.Empty;\n\n return klass;\n },\n\n addMethods: function(/*...*/) {\n var args = arguments,\n category = this.defaultCategoryName,\n traits = [];\n for (var i = 0; i < args.length; i++) {\n if (Object.isString(args[i])) {\n category = args[i];\n } else if (Global.RealTrait && args[i] instanceof RealTrait) {\n // FIXME Traits are optional and defined in lively.Traits\n // This should go somewhere into lively.Traits...\n // we apply traits afterwards because they can override behavior\n traits.push(args[i]);\n } else {\n this.addCategorizedMethods(category, args[i] instanceof Function ? (args[i])() : args[i]);\n }\n }\n for (i = 0; i < traits.length; i++) {\n traits[i].applyTo(this);\n }\n },\n\n addCategorizedMethods: function(categoryName, source) {\n // first parameter is a category name\n // copy all the methods and properties from {source} into the\n // prototype property of the receiver, which is intended to be\n // a class constructor. Method arguments named '$super' are treated\n // specially, see Prototype.js documentation for \"Class.create()\" for details.\n // derived from Class.Methods.addMethods() in prototype.js\n\n // prepare the categories\n if (!this.categories) this.categories = {};\n if (!this.categories[categoryName]) this.categories[categoryName] = [];\n var currentCategoryNames = this.categories[categoryName];\n\n if (!source)\n throw dbgOn(new Error('no source in addCategorizedMethods!'));\n\n var ancestor = this.superclass && this.superclass.prototype;\n\n var className = this.type || \"Anonymous\";\n\n for (var property in source) {\n\n if (property == 'constructor') continue;\n\n var getter = source.__lookupGetter__(property);\n if (getter) this.prototype.__defineGetter__(property, getter);\n var setter = source.__lookupSetter__(property);\n if (setter) this.prototype.__defineSetter__(property, setter);\n if (getter || setter) continue;\n\n currentCategoryNames.push(property);\n\n var value = source[property];\n // weirdly, RegExps are functions in Safari, so testing for\n // Object.isFunction on regexp field values will return true.\n // But they're not full-blown functions and don't\n // inherit argumentNames from Function.prototype\n\n var hasSuperCall = ancestor && Object.isFunction(value) &&\n value.argumentNames && value.argumentNames().first() == \"$super\";\n if (hasSuperCall) {\n // wrapped in a function to save the value of 'method' for advice\n (function() {\n var method = value,\n advice = (function(m) {\n var cs = function callSuper() {\n var method = ancestor[m];\n if (!method) {\n throw new Error(Strings.format('Trying to call super of' +\n '%s>>%s but super method non existing in %s',\n className, m, ancestor.constructor.type));\n }\n return method.apply(this, arguments);\n };\n cs.varMapping = {ancestor: ancestor, m: m};\n cs.isSuperCall = true;\n return cs;\n })(property);\n\n advice.methodName = \"$super:\" + (this.superclass ? this.superclass.type + \">>\" : \"\") + property;\n\n value = Object.extend(advice.wrap(method), {\n valueOf: function() { return method },\n toString: function() { return method.toString() },\n originalFunction: method,\n methodName: advice.methodName,\n isSuperWrapper: true\n });\n // for lively.Closures\n method.varMapping = {$super: advice};\n })();\n }\n\n this.prototype[property] = value;\n\n if (property === \"formals\") { // rk FIXME remove this cruft\n // special property (used to be pins, but now called formals to disambiguate old and new style\n Class.addPins(this, value);\n } else if (Object.isFunction(value)) {\n // remember name for profiling in WebKit\n value.displayName = className + \"$\" + property;\n\n // remember where it was defined\n if (Global.lively && lively.lang && lively.lang.Namespace)\n value.sourceModule = lively.lang.Namespace.current();\n\n for (; value; value = value.originalFunction) {\n if (value.methodName) {\n //console.log(\"class \" + this.prototype.constructor.type\n // + \" borrowed \" + value.qualifiedMethodName());\n }\n value.declaredClass = this.prototype.constructor.type;\n value.methodName = property;\n }\n }\n } // end of for (var property in source)\n\n return this;\n },\n\n\n addProperties: function(spec, recordType) {\n Class.addMixin(this, recordType.prototype.create(spec).prototype);\n },\n\n isSubclassOf: function(aClass) {\n return this.superclasses().include(aClass);\n },\n\n allSubclasses: function() {\n var klass = this;\n return Global.classes(true).select(function(ea) { return ea.isSubclassOf(klass) });\n },\n withAllSubclasses: function() { return [this].concat(this.allSubclasses()) },\n\n\n directSubclasses: function() {\n var klass = this;\n return Global.classes(true).select(function(ea) { return ea.superclass === klass });\n },\n\n withAllSortedSubclassesDo: function(func) {\n // this method iterates func on all subclasses of klass (including klass)\n // it is ensured that the klasses are sorted by a) subclass relationship and b) name (not type!)\n // func gets as parameters: 1) the class 2) index in list 3) level of inheritance\n // compared to klass (1 for direct subclasses and so on)\n\n function createSortedSubclassList(klass, level) {\n var list = klass.directSubclasses()\n .sortBy(function(ea) { return ea.name.charCodeAt(0) })\n .collect(function(subclass) { return createSortedSubclassList(subclass, level + 1) })\n .flatten();\n return [{klass: klass, level: level}].concat(list)\n }\n\n return createSortedSubclassList(this, 0).collect(function(spec, idx) { return func(spec.klass, idx, spec.level) })\n },\n\n superclasses: function() {\n if (!this.superclass) return [];\n if (this.superclass === Object) return [Object];\n return this.superclass.superclasses().concat([this.superclass]);\n },\n\n categoryNameFor: function(propName) {\n for (var categoryName in this.categories) {\n if (this.categories[categoryName].include(propName)) {\n return categoryName;\n }\n }\n return null;\n },\n remove: function() {\n var ownerNamespace = Class.namespaceFor(this.type),\n ownName = Class.unqualifiedNameFor(this.type);\n delete ownerNamespace[ownName];\n },\n\n});\n\nvar Class = {\n\n anonymousCounter: 0,\n\n initializerTemplate: (function CLASS(){ Class.initializer.apply(this, arguments) }).toString(),\n\n newInitializer: function(name) {\n // this hack ensures that class instances have a name\n return eval(Class.initializerTemplate.replace(/CLASS/g, name) + \";\" + name);\n },\n\n initializer: function initializer() {\n var firstArg = arguments[0];\n // maybe special initialization required\n if (firstArg && firstArg.isImporter) {\n this.deserialize.apply(this, arguments);\n } else if (firstArg && firstArg.isCopier) {\n this.copyFrom.apply(this, arguments);\n } else if (firstArg && firstArg.isInstanceRestorer) {\n // just do nothing\n // for WebCards and other JSON-based dersialization logic\n } else {\n // if this.initialize is undefined then prolly the constructor was called without 'new'\n this.initialize.apply(this, arguments);\n }\n },\n\n def: function Class$def(constr, superConstr, optProtos, optStatics) {\n // currently not used\n // Main method of the LK class system.\n\n // {className} is the name of the new class constructor which this method synthesizes\n // and binds to {className} in the Global namespace.\n // Remaining arguments are (inline) properties and methods to be copied into the prototype\n // of the newly created constructor.\n\n // modified from prototype.js\n\n var klass = Class.newInitializer(\"klass\");\n klass.superclass = superConstr;\n\n var protoclass = function() { }; // that's the constructor of the new prototype object\n protoclass.prototype = superConstr.prototype;\n\n klass.prototype = new protoclass();\n\n // Object.extend(klass.prototype, constr.prototype);\n klass.prototype.constructor = klass;\n var className = constr.name; // getName()\n klass.addMethods({initialize: constr});\n // KP: .name would be better but js ignores .name on anonymous functions\n klass.type = className;\n\n\n if (optProtos) klass.addMethods(optProtos);\n if (optStatics) Object.extend(klass, optStatics);\n\n Global[className] = klass;\n return klass;\n },\n\n isValidIdentifier: function(str) {\n return /^(?:[a-zA-Z_][\\w\\-]*[.])*[a-zA-Z_][\\w\\-]*$/.test(str);\n },\n\n isClass: function Class$isClass(object) {\n if (object === Object\n || object === Array\n || object === Function\n || object === String\n || object === Number) {\n return true;\n }\n return (object instanceof Function) && (object.superclass !== undefined);\n },\n\n className: function Class$className(cl) {\n if (cl === Object) return \"Object\"\n if (cl === Array) return \"Array\"\n if (cl === Function) return \"Function\"\n if (cl === String) return \"String\"\n if (cl === Number) return \"Number\"\n return cl.type;\n },\n\n forName: function forName(name) {\n // lookup the class object given the qualified name\n var ns = Class.namespaceFor(name),\n shortName = Class.unqualifiedNameFor(name);\n return ns[shortName];\n },\n\n deleteObjectNamed: function Class$deleteObjectNamed(name) {\n var ns = Class.namespaceFor(name),\n shortName = Class.unqualifiedNameFor(name);\n delete ns[shortName];\n },\n\n unqualifiedNameFor: function Class$unqualifiedNameFor(name) {\n var lastDot = name.lastIndexOf('.'), // lastDot may be -1\n unqualifiedName = name.substring(lastDot + 1);\n if (!Class.isValidIdentifier(unqualifiedName)) throw new Error('not a name ' + unqualifiedName);\n return unqualifiedName;\n },\n\n namespaceFor: function Class$namespaceFor(className) {\n // get the namespace object given the qualified name\n var lastDot = className ? className.lastIndexOf('.') : -1;\n if (lastDot < 0) return Global;\n else return namespace(className.substring(0, lastDot));\n },\n\n withAllClassNames: function Class$withAllClassNames(scope, callback) {\n for (var name in scope) {\n try {\n if (Class.isClass(scope[name]))\n callback(name);\n } catch (er) { // FF exceptions\n }\n }\n callback(\"Object\");\n callback(\"Global\");\n },\n\n makeEnum: function Class$makeEnum(strings) {\n // simple mechanism for making objecs with property values set to\n // property names, to be used as enums.\n\n var e = {};\n for (var i = 0; i < strings.length; i++) {\n e[strings[i]] = strings[i];\n }\n return e;\n },\n\n getConstructor: function Class$getConstructor(object) {\n var c = object.constructor;\n return (c && c.getOriginal) ? c.getOriginal() : c;\n },\n\n getPrototype: function Class$getPrototype(object) {\n return this.getConstructor(object).prototype;\n },\n\n applyPrototypeMethod: function Class$applyPrototypeMethod(methodName, target, args) {\n var method = this.getPrototype(target);\n if (!method) throw new Error(\"method \" + methodName + \" not found\");\n return method.apply(this, args);\n },\n\n getSuperConstructor: function Class$getSuperConstructor(object) {\n return this.getConstructor(object).superclass;\n },\n\n getSuperPrototype: function Class$getSuperPrototype(object) {\n var sup = this.getSuperConstructor(object);\n return sup && sup.prototype;\n },\n\n addPins: function Class$addPins(cls, spec) {\n if (Global.Relay) {\n Class.addMixin(cls, Relay.newDelegationMixin(spec).prototype);\n return;\n }\n // this is for refactoring away from Relay and friends\n if (!Object.isArray(spec)) throw new Error('Cannot deal with non-Array spec in addPins');\n function unstripName(name) { return name.replace(/[\\+|\\-]?(.*)/, '$1') };\n function needsSetter(name) { return !name.startsWith('-') };\n function needsGetter(name) { return !name.startsWith('+') };\n var mixinSpec = {};\n spec.forEach(function(specString) {\n var name = unstripName(specString);\n if (needsSetter(specString))\n mixinSpec['set' + name] = function(value) { return this['_' + name] = value }\n if (needsGetter(specString))\n mixinSpec['get' + name] = function() { return this['_' + name] }\n })\n Class.addMixin(cls, mixinSpec);\n },\n\n addMixin: function Class$addMixin(cls, source) {\n var spec = {};\n for (var prop in source) {\n var value = source[prop];\n switch (prop) {\n case \"constructor\": case \"initialize\": case \"deserialize\": case \"copyFrom\":\n case \"toString\": case \"definition\": case \"description\":\n break;\n default:\n if (cls.prototype[prop] === undefined) // do not override existing values!\n spec[prop] = value;\n }\n }\n cls.addMethods(spec);\n },\n\n};\n\nObject.subclass('Namespace',\n'initializing', {\n\n initialize: function(context, nsName) {\n this.namespaceIdentifier = context.namespaceIdentifier + '.' + nsName;\n this.createTime = new Date();\n },\n},\n'accessing', {\n gather: function(selector, condition, recursive) {\n var result = Object.values(this).select(function(ea) { return condition.call(this, ea) }, this);\n if (!recursive) return result;\n return this.subNamespaces().inject(result, function(result, ns) { return result.concat(ns[selector](true)) });\n },\n\n subNamespaces: function(recursive) {\n return this.gather(\n 'subNamespaces',\n function(ea) { return (ea instanceof lively.lang.Namespace || ea === Global) && ea !== this },\n recursive);\n },\n\n classes: function(recursive) {\n var normalClasses = this.gather(\n 'classes',\n function(ea) { return ea && ea !== this.constructor && Class.isClass(ea) },\n recursive);\n if (this === Global)\n return [Array, Number, String, Function].concat(normalClasses);\n return normalClasses;\n },\n\n functions: function(recursive) {\n return this.gather(\n 'functions',\n function(ea) { return ea\n && !Class.isClass(ea)\n && Object.isFunction(ea)\n && !ea.declaredClass\n && this.requires !== ea\n && ea.getOriginal() === ea },\n recursive);\n },\n\n});\n\n// let Glabal act like a namespace itself\nObject.extend(Global, Namespace.prototype);\nObject.extend(Global, {\n namespaceIdentifier: 'Global',\n isLoaded: Functions.True,\n});\n\nNamespace.addMethods(\n'properties', {\n isLivelyModule: true,\n},\n'initializing', {\n beAnonymous: function() {\n this._isAnonymous = true;\n this.sourceModuleName = lively.lang.Namespace.current().namespaceIdentifier;\n return this;\n },\n},\n'accessing', { // module specific, should be a subclass?\n\n name: function() {\n var identifier = this.namespaceIdentifier,\n globalIdStart = 'Global.';\n if (identifier.startsWith(globalIdStart)) {\n identifier = identifier.substring(globalIdStart.length);\n }\n return identifier;\n },\n\n findUri: function(optFileType) {\n var fileType = optFileType || 'js',\n fileExtension = '.' + fileType,\n namespacePrefix;\n if (this.namespaceIdentifier.startsWith('Global.')) {\n namespacePrefix = 'Global.';\n } else {\n throw dbgOn(new Error('unknown namespaceIdentifier'));\n }\n var relativePath = this.namespaceIdentifier\n .substr(namespacePrefix.length)\n .replace(/\\./g, '/');\n if (!relativePath.match(/\\.js$/)) {\n relativePath += fileExtension;\n }\n var uri = '';\n lively.Config.modulePaths.forEach(function(ea) {\n if (relativePath.substring(0, ea.length) == ea) {\n uri = lively.Config.rootPath + relativePath;\n }\n });\n if (uri == '') {\n uri = lively.Config.codeBase + relativePath;\n }\n return uri;\n },\n\n uri: function(optType) { // FIXME cleanup necessary\n if (this.__cachedUri && !optType) { return this.__cachedUri; }\n var url;\n if (this.fromDB) {\n var id = this.namespaceIdentifier; // something like lively.Core\n var namespacePrefix;\n if (id.startsWith('Global.')) {\n namespacePrefix = 'Global.';\n id = id.substring(7);\n } else\n throw dbgOn(new Error('unknown namespaceIdentifier'));\n\n // FIXME: extract to lively.Config.codeBaseDB\n url = lively.Config.couchDBURL + '/' + this.fromDB + '/_design/raw_data/_list/javascript/for-module?module=' + id;\n this.__cachedUri = url;\n return url;\n } else {\n var id = this.namespaceIdentifier; // something like lively.Core\n var namespacePrefix;\n if (!this.isAnonymous()) {\n url = this.findUri(optType);\n } else {\n if (id.startsWith('Global.')) namespacePrefix = 'Global.';\n else throw dbgOn(new Error('unknown namespaceIdentifier'));\n url = lively.Config.codeBase + this.namespaceIdentifier.substr(namespacePrefix.length).replace(/\\./g, '/');\n }\n\n this.__cachedUri = url;\n return url;\n }\n },\n relativePath: function(optType) {\n return new URL(this.uri(optType)).relativePathFrom(URL.codeBase);\n },\n\n lastPart: function() {\n return this.name().match(/[^.]+$/)[0];\n }\n\n},\n'module dependencies', {\n addDependendModule: function(depModule) {\n if (!this.dependendModules) this.dependendModules = [];\n this.dependendModules.push(depModule);\n\n // keep a copy of the dependencies for debugging\n if (!this.debugDependendModules) this.debugDependendModules = [];\n this.debugDependendModules.push(depModule);\n },\n\n informDependendModules: function() {\n if (!this.dependendModules) return;\n var deps = this.dependendModules.uniq();\n this.dependendModules = [];\n deps.forEach(function(ea) { ea.removeRequiredModule(this) }, this);\n },\n\n traceDependendModules: function(visited) {\n visited = visited || [];\n var deps = this.debugDependendModules || [];\n deps = deps.withoutAll(visited)\n visited.push(this);\n return [this.namespaceIdentifier, deps.collect(function(ea) {\n return ea.traceDependendModules(visited)\n })]\n },\n\n addRequiredModule: function(requiredModule) {\n // privateRequirements is just for keeping track later on\n if (!this.privateRequirements) this.privateRequirements = [];\n this.privateRequirements.push(requiredModule);\n\n if (requiredModule.isLoaded()) return;\n if (!this.pendingRequirements) this.pendingRequirements = [];\n this.pendingRequirements.push(requiredModule);\n requiredModule.addDependendModule(this);\n },\n\n removeRequiredModule: function(requiredModule) {\n if (this.pendingRequirements && !this.pendingRequirements.include(requiredModule))\n throw dbgOn(new Error('requiredModule not there'));\n this.pendingRequirements = this.pendingRequirements.without(requiredModule);\n if (!this.hasPendingRequirements()) {\n this.load();\n }\n },\n\n pendingRequirementNames: function() {\n if (!this.pendingRequirements) return [];\n return this.pendingRequirements.collect(function(ea) { return ea.uri() });\n },\n\n hasPendingRequirements: function() {\n return this.pendingRequirements && this.pendingRequirements.length > 0;\n },\n\n loadRequirementsFirst: function() {\n this.pendingRequirements && this.pendingRequirements.invoke('load');\n },\n\n wasRequiredBy: function() {\n return Global.subNamespaces(true).select(function(m) {\n return m.privateRequirements && m.privateRequirements.include(this);\n }, this);\n },\n},\n'load callbacks', {\n addOnloadCallback: function(cb) {\n if (!this.callbacks) this.callbacks = [];\n this.callbacks.push(cb);\n },\n\n runOnloadCallbacks: function() {\n if (!this.callbacks) return;\n var cb;\n while (cb = this.callbacks.shift()) {\n try {cb()} catch(e) {\n this.logError('runOnloadCallbacks: ' + cb.name + ': ' + e);\n throw e\n }\n };\n },\n\n isAnonymous: function() {\n return this._isAnonymous\n },\n\n},\n'testing', {\n isLoaded: function() {\n return this._isLoaded;\n },\n\n isLoading: function() {\n if (this.isLoaded()) return false;\n if (this.uri().include('anonymous')) return true;\n return JSLoader.scriptInDOM(this.uri());\n },\n\n isAnonymous: function() {\n return this._isAnonymous\n },\n\n},\n'loading', {\n load: function(loadSync) {\n if (loadSync) {\n var prevWasSync = this.constructor.loadSync;\n this.constructor.loadSync = true;\n }\n if (this.isLoaded()) {\n this.runOnloadCallbacks();\n return;\n }\n if (this.isLoading() && this.wasDefined && !this.hasPendingRequirements()) {\n this.runOnloadCallbacks();\n // time is not only the time needed for the request and code evaluation\n // but the complete time span from the creation of the module (when the module is first encountered)\n // to evaluation the evaluation of its code, including load time of all requirements\n var time = this.createTime ? new Date() - this.createTime : 'na';\n console.log(this.uri() + ' loaded in ' + time + ' ms');\n this.informDependendModules();\n return;\n }\n if (this.isLoading()) {\n this.loadRequirementsFirst();\n return;\n }\n JSLoader.loadJs(this.uri(), null, this.constructor.loadSync);\n if (loadSync) this.constructor.loadSync = prevWasSync;\n },\n\n activate: function() {\n this.constructor.namespaceStack.push(this);\n },\n\n deactivate: function() {\n var m = this.constructor.namespaceStack.pop();\n if (m !== this)\n throw new Error('Wrong module: ' + this.namespaceIdentifier +\n ' instead of expected ' + m.namespaceIdentifier )\n },\n},\n'removing', {\n remove: function() {\n var ownerNamespace = Class.namespaceFor(this.namespaceIdentifier),\n ownName = Class.unqualifiedNameFor(this.namespaceIdentifier)\n JSLoader.removeAllScriptsThatLinkTo(this.uri());\n delete ownerNamespace[ownName];\n },\n removeScriptNode: function() {\n var node = document.getElementById(this.uri());\n if (!node) return\n node.parentNode.removeChild(node);\n },\n},\n'debugging', {\n toString: function() { return 'module(' + this.namespaceIdentifier + ')' },\n inspect: function() { this.toString() + ' defined at ' + this.defStack },\n logError: function(e, optCode) {\n var list = this.traceDependendModules();\n var msg = 'Error while loading ' + this.moduleName + ': ' + e;\n msg += '\\ndependencies: ' + Strings.printNested(list)\n if (Global.lively && lively.morphic && lively.morphic.World && lively.morphic.World.current() && lively.morphic.World.current().logError)\n lively.morphic.World.current().logError(e)\n\n if (e.stack) msg = msg + e.stack;\n\n if (optCode)\n msg += \"code:\\n\" + optCode;\n console.error(msg);\n dbgOn(true);\n },\n});\n\nObject.extend(Namespace, {\n namespaceStack: [Global],\n current: function() { return this.namespaceStack.last() },\n topologicalSortLoadedModules: function() {\n if (lively.Config.standAlone) {\n var scripIds = [];\n $('body script').each(function() { scripIds.push($(this).attr('id')) });\n return scripIds.collect(function(id) {\n var name = id.replace(/^..\\//, '');\n return module(name);\n });\n }\n\n // get currently loaded modules that really are js files\n var modules = Global.subNamespaces(true)\n .reject(function(ea) { return ea.isAnonymous(); })\n .select(function(ea) {\n return ea.isLoaded() && new WebResource(ea.uri()).exists() });\n\n // topological sort modules according to their requirements\n var sortedModules = [], i = 0;\n while (i < 1000 && modules.length > 0) {\n i++;\n var canBeLoaded = modules.select(function(module) {\n if (!module.privateRequirements) return true;\n return module.privateRequirements.all(function(requirement) {\n return sortedModules.include(requirement) })\n })\n sortedModules = sortedModules.concat(canBeLoaded);\n modules = modules.withoutAll(canBeLoaded);\n }\n if (modules.length > 0)\n throw new Error('Cannot find dependencies for all modules!');\n\n return sortedModules;\n },\n\n bootstrapModules: function() {\n // return a string to include in bootstrap.js\n var urls = this.topologicalSortLoadedModules()\n .collect(function(ea) { return new URL(ea.uri()).relativePathFrom(URL.codeBase) })\n // omit modules outside of core\n .reject(function(path) { return path.startsWith('..') });\n var manual = [LivelyLoader.libsFile,\n 'lively/Migration.js',\n 'lively/JSON.js',\n 'lively/lang/Object.js',\n 'lively/lang/Function.js',\n 'lively/lang/String.js',\n 'lively/lang/Array.js',\n 'lively/lang/Number.js',\n 'lively/lang/Date.js',\n 'lively/defaultconfig.js',\n 'lively/localconfig.js',\n 'lively/Base.js',\n 'lively/lang/Closure.js', // FIXME: require module instead\n 'lively/lang/UUID.js', // FIXME: require module instead\n 'lively/LocalStorage.js'];\n urls = manual.concat(urls);\n return urls;\n },\n\n bootstrapModulesString: function() {\n var urls = this.bootstrapModules();\n return '[\\'' + urls.join('\\', \\'') + '\\']';\n }\n});\n\n(function createLivelyNamespace(Global) {\n // namespace('lively.lang');\n var preExistingLively = Global.lively;\n delete Global.lively;\n var lively = new Global.Namespace(Global, 'lively');\n // FIXME this is just a hack to get properties of a potentially\n // predefined \"lively\" object over to the namespace lively object\n // namespaces should deal with this in general\n if (preExistingLively) {\n for (var name in preExistingLively) {\n lively[name] = preExistingLively[name];\n }\n }\n Global.lively = lively;\n})(Global);\n\n(function moveNamespaceClassToLivelyLang(Global) {\n var lively = Global.lively,\n Namespace = Global.Namespace;\n lively.lang = new Namespace(lively, 'lang');\n lively.lang.Namespace = Namespace;\n // alias\n lively.Module = lively.lang.Namespace;\n delete Global.Namespace;\n})(Global);\n\n(function addUsefulStuffToLivelyNS(Global, lively) {\n lively.assert = Global.assert;\n})(Global, lively);\n\nObject.extend(lively.Module, {\n findAllInThenDo: function(url, callback) {\n var dir = new URL(url).getDirectory();\n if (url.isLeaf()) {\n throw new Error(url + ' is not a directory!');\n }\n var webR = dir.asWebResource();\n lively.bindings.connect(webR, 'subDocuments', {onLoad: function(files) {\n var moduleNames = files.invoke('getURL') .invoke('asModuleName'),\n modules = moduleNames.collect(function(name) { return module(name); })\n callback(modules);\n }}, 'onLoad');\n webR.getSubElements();\n }\n});\n\n(function setupLivelyLang(lively) {\n lively.lang.Execution = {\n showStack: Functions.Null,\n resetDebuggingStack: Functions.Null,\n installStackTracers: Functions.Null\n };\n lively.lang.let = function(/** **/) {\n // lively.lang.let(y, function(x) { body }) is equivalent to { let y = x; body; }\n return arguments[arguments.length - 1].apply(this, arguments);\n }\n})(lively);\n\n/*\n * Stack Viewer when Dan's StackTracer is not available\n * FIXME rk: move this to Helper.js?\n */\nfunction getStack() {\n var result = [];\n for(var caller = arguments.callee.caller; caller; caller = caller.caller) {\n if (result.indexOf(caller) != -1) {\n result.push({name: \"recursive call can't be traced\"});\n break;\n }\n result.push(caller);\n };\n return result;\n};\n\nfunction printStack() {\n function guessFunctionName(func) {\n var qName = func.qualifiedMethodName && func.qualifiedMethodName(),\n regExpRes = func.toString().match(/function (.+)\\(/);\n return qName || (regExpRes && regExpRes[1]) || func;\n };\n\n var string = \"== Stack ==\\n\",\n stack = getStack();\n stack.shift(); // for getStack\n stack.shift(); // for printStack (me)\n var indent = \"\";\n for (var i=0; i < stack.length; i++) {\n string += indent + i + \": \" +guessFunctionName(stack[i]) + \"\\n\";\n indent += \" \";\n };\n return string;\n};\n\nfunction logStack() {\n this.console.log(printStack());\n};\n\n(function setupjQuery(Global) {\n var lively = Global.lively,\n jQuery = Global.jQuery;\n // we still are adding jQuery to Global but this is DEPRECATED\n // We need to be able to run with libraries requiring different jQuery versions\n // so we will restrict \"our\" to lively.$ in the future\n Global.$ = lively.$ = jQuery.noConflict(/*true -- really removes $*/);\n})(Global);","specialHighlighting":"none","styleClass":["Browser_codePaneText"],"focusHaloBorderWidth":0.5,"_lastSyntaxHighlightTime":5,"priorSelectionRange":[0,0],"charsReplaced":"/*\n * Copyright (c) 2006-2009 Sun Microsystems, Inc.\n * Copyright (c) 2008-2011 Hasso Plattner Institute\n *\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\n// set to the context enclosing the SVG context.\n// rk: replaced \"this.window.top || this.window\" with \"this.window\"\n// rk: when is it necessary to use the parent context?\nvar Global = this.window || GLOBAL /*for Node.js*/;\nfunction dbgOn(cond, optMessage) {\n if (optMessage) console.log(optMessage);\n if (cond) debugger; // note that rhino has issues with this keyword\n // also call as: throw dbgOn(new Error(....))\n return cond;\n}\n\nfunction assert(value, message) {\n if (value) { return; }\n // capture the stack\n var stack;\n try { throw new Error() } catch(e) { stack = e.stack || '' };\n alert('Assertion failed' + (message ? ': ' + message : '!') + '\\n' + stack);\n};\n\n// namespace logic adapted from\n// http://higher-order.blogspot.com/2008/02/designing-clientserver-web-applications.html\nvar using = (function() {\n\n function Util(args) { // args is an escaping arguments array\n this.objects = Array.prototype.concat.apply([], args);\n //var ownArgs = this.objects = new Array(args.length);\n //for (var i = 0; i < args.length; i++) ownArgs[i] = args[i];\n };\n\n Util.prototype = {\n\n log: function(msg) {\n console.log(msg);\n },\n\n run: function(inner) {\n var args = this.objects;\n if (this.moduleName) {\n // little convenience,\n if (args.length > 0) this.log('using().module(): ignoring args ' + args);\n return module(this.moduleName).requires().toRun(inner);\n } else return inner.apply(args[0], args);\n },\n\n model: function(model) {\n // KP: interestingly, declaring the above as \"model: function model(model)\"\n // seems to bind model to to the function, not the formal parameter, at least in rhino!\n this.model = model;\n return this;\n },\n\n module: function(moduleName) {\n this.moduleName = moduleName;\n return this;\n },\n\n link: function link(literal, variableMap) {\n variableMap = variableMap || {};\n return new lively.data.Resolver().link(literal, [], undefined, variableMap, this.objects, this.model);\n },\n\n extend: function extend(base, extLiteral) {\n return this.link(Object.extend(Object.clone(base), extLiteral));\n },\n\n test: function(inner) {\n try {\n return this.run(inner);\n } catch (er) {\n alert('test failed: ' + er);\n return undefined;\n }\n }\n }\n\n return function using() {\n return new Util(arguments);\n }\n})();\n\n\nfunction namespace(spec, context) {\n var codeDB;\n if (spec[0] == '$') {\n codeDB = spec.substring(1, spec.indexOf('.'));\n spec = spec.substring(spec.indexOf('.') + 1);\n }\n var ret = __oldNamespace(spec, context);\n if (codeDB) {\n ret.fromDB = codeDB;\n }\n return ret;\n};\n\n\nfunction __oldNamespace(spec, context) {\n var i,N;\n context = context || Global;\n spec = spec.valueOf();\n if (typeof spec === 'object') {\n if (typeof spec.length === 'number') {//assume an array-like object\n for (i = 0,N = spec.length; i < N; i++) {\n return namespace(spec[i], context);\n }\n } else {//spec is a specification object e.g, {com: {trifork: ['model,view']}}\n for (i in spec) if (spec.hasOwnProperty(i)) {\n context[i] = context[i] || new lively.lang.Namespace(context, i);\n return namespace(spec[i], context[i]);//recursively descend tree\n }\n }\n } else if (typeof spec === 'string') {\n (function handleStringCase() {\n var parts;\n parts = spec.split('.');\n for (i = 0, N = parts.length; i= 0) {\n ea.pendingRequirements = [];\n ea.load();\n testModuleLoad.delay(6);\n }\n\t});\n console.log('Module load check done. ' + modules.length + ' modules loaded.');\n}).delay(10);\n\nfunction module(moduleName) {\n\n moduleName = LivelyMigrationSupport.fixModuleName(moduleName);\n\n function isNamespaceAwareModule(moduleName) {\n return moduleName && !moduleName.endsWith('.js');\n }\n\n function convertUrlToNSIdentifier(url) {\n var result = url;\n result = result.replace(/\\//g, '.');\n // get rid of '.js'\n if (result.endsWith('.js')) result = result.substring(0, result.lastIndexOf('.'));\n return result;\n }\n\n function createNamespaceModule(moduleName) {\n return namespace(isNamespaceAwareModule(moduleName) ? moduleName : convertUrlToNSIdentifier(moduleName));\n }\n\n function basicRequire(/*module, requiredModuleNameOrAnArray, anotherRequiredModuleName, ...*/) {\n // support modulenames as array and parameterlist\n var args = $A(arguments),\n module = args.shift(),\n preReqModuleNames = Object.isArray(args[0]) ? args[0] : args,\n requiredModules = [];\n for (var i = 0; i < preReqModuleNames.length; i++) {\n var name = LivelyMigrationSupport.fixModuleName(preReqModuleNames[i]),\n reqModule = createNamespaceModule(name);\n module.addRequiredModule(reqModule);\n requiredModules.push(reqModule);\n }\n\n return {\n toRun: function(code) {\n var debugCode = code;\n code = code.curry(module); // pass in own module name for nested requirements\n var codeWrapper = function() { // run code with namespace modules as additional parameters\n try {\n module.activate();\n code.apply(this, requiredModules);\n module._isLoaded = true;\n } catch(e) {\n module.logError(module + '>>basicRequire: ' + e, debugCode)\n } finally {\n module.deactivate();\n }\n }\n module.addOnloadCallback(codeWrapper);\n module.load();\n }\n };\n };\n\n dbgOn(!Object.isString(moduleName));\n var module = createNamespaceModule(moduleName);\n module.wasDefined = true;\n module.requires = basicRequire.curry(module);\n return module;\n};\n\nfunction require(/*requiredModuleNameOrAnArray, anotherRequiredModuleName, ...*/) {\n var getUniqueName = function() { return 'anonymous_module_' + require.counter },\n args = $A(arguments);\n require.counter !== undefined ? require.counter++ : require.counter = 0;\n var m = module(getUniqueName()).beAnonymous();\n if (lively.Config.showModuleDefStack)\n try { throw new Error() } catch(e) { m.defStack = e.stack }\n return m.requires(Object.isArray(args[0]) ? args[0] : args);\n};\n\n\n// ===========================================================================\n// Our JS library extensions (JS 1.5, no particular browser or graphics engine)\n// ===========================================================================\n\n/**\n * LK class system.\n */\n\nObject.extend(Function.prototype, {\n\n defaultCategoryName: 'default category',\n\n subclass: function(/*... */) {\n // Main method of the LK class system.\n\n // {className} is the name of the new class constructor which this method synthesizes\n // and binds to {className} in the Global namespace.\n // Remaining arguments are (inline) properties and methods to be copied into the prototype\n // of the newly created constructor.\n\n // modified from prototype.js\n\n var args = $A(arguments),\n className = args.shift(),\n targetScope = Global,\n shortName = null;\n\n if (className) {\n targetScope = Class.namespaceFor(className);\n shortName = Class.unqualifiedNameFor(className);\n } else {\n shortName = \"anonymous_\" + (Class.anonymousCounter++);\n className = shortName;\n }\n\n var klass;\n if (className && targetScope[shortName] && (targetScope[shortName].superclass === this)) {\n // preserve the class to allow using the subclass construct in interactive development\n klass = targetScope[shortName];\n } else {\n klass = Class.newInitializer(shortName);\n klass.superclass = this;\n var protoclass = function() { }; // that's the constructor of the new prototype object\n protoclass.prototype = this.prototype;\n klass.prototype = new protoclass();\n klass.prototype.constructor = klass;\n klass.prototype.constructor.type = className; // KP: .name would be better but js ignores .name on anonymous functions\n klass.prototype.constructor.displayName = className; // for debugging, because name can not be assigned\n if (className) targetScope[shortName] = klass; // otherwise it's anonymous\n\n // remember the module that contains the class def\n if (Global.lively && lively.lang && lively.lang.Namespace)\n klass.sourceModule = lively.lang.Namespace.current();\n };\n\n // the remaining args should be category strings or source objects\n this.addMethods.apply(klass, args);\n\n if (!klass.prototype.initialize)\n klass.prototype.initialize = Functions.Empty;\n\n return klass;\n },\n\n addMethods: function(/*...*/) {\n var args = arguments,\n category = this.defaultCategoryName,\n traits = [];\n for (var i = 0; i < args.length; i++) {\n if (Object.isString(args[i])) {\n category = args[i];\n } else if (Global.RealTrait && args[i] instanceof RealTrait) {\n // FIXME Traits are optional and defined in lively.Traits\n // This should go somewhere into lively.Traits...\n // we apply traits afterwards because they can override behavior\n traits.push(args[i]);\n } else {\n this.addCategorizedMethods(category, args[i] instanceof Function ? (args[i])() : args[i]);\n }\n }\n for (i = 0; i < traits.length; i++) {\n traits[i].applyTo(this);\n }\n },\n\n addCategorizedMethods: function(categoryName, source) {\n // first parameter is a category name\n // copy all the methods and properties from {source} into the\n // prototype property of the receiver, which is intended to be\n // a class constructor. Method arguments named '$super' are treated\n // specially, see Prototype.js documentation for \"Class.create()\" for details.\n // derived from Class.Methods.addMethods() in prototype.js\n\n // prepare the categories\n if (!this.categories) this.categories = {};\n if (!this.categories[categoryName]) this.categories[categoryName] = [];\n var currentCategoryNames = this.categories[categoryName];\n\n if (!source)\n throw dbgOn(new Error('no source in addCategorizedMethods!'));\n\n var ancestor = this.superclass && this.superclass.prototype;\n\n var className = this.type || \"Anonymous\";\n\n for (var property in source) {\n\n if (property == 'constructor') continue;\n\n var getter = source.__lookupGetter__(property);\n if (getter) this.prototype.__defineGetter__(property, getter);\n var setter = source.__lookupSetter__(property);\n if (setter) this.prototype.__defineSetter__(property, setter);\n if (getter || setter) continue;\n\n currentCategoryNames.push(property);\n\n var value = source[property];\n // weirdly, RegExps are functions in Safari, so testing for\n // Object.isFunction on regexp field values will return true.\n // But they're not full-blown functions and don't\n // inherit argumentNames from Function.prototype\n\n var hasSuperCall = ancestor && Object.isFunction(value) &&\n value.argumentNames && value.argumentNames().first() == \"$super\";\n if (hasSuperCall) {\n // wrapped in a function to save the value of 'method' for advice\n (function() {\n var method = value,\n advice = (function(m) {\n var cs = function callSuper() {\n var method = ancestor[m];\n if (!method) {\n throw new Error(Strings.format('Trying to call super of' +\n '%s>>%s but super method non existing in %s',\n className, m, ancestor.constructor.type));\n }\n return method.apply(this, arguments);\n };\n cs.varMapping = {ancestor: ancestor, m: m};\n cs.isSuperCall = true;\n return cs;\n })(property);\n\n advice.methodName = \"$super:\" + (this.superclass ? this.superclass.type + \">>\" : \"\") + property;\n\n value = Object.extend(advice.wrap(method), {\n valueOf: function() { return method },\n toString: function() { return method.toString() },\n originalFunction: method,\n methodName: advice.methodName,\n isSuperWrapper: true\n });\n // for lively.Closures\n method.varMapping = {$super: advice};\n })();\n }\n\n this.prototype[property] = value;\n\n if (property === \"formals\") { // rk FIXME remove this cruft\n // special property (used to be pins, but now called formals to disambiguate old and new style\n Class.addPins(this, value);\n } else if (Object.isFunction(value)) {\n // remember name for profiling in WebKit\n value.displayName = className + \"$\" + property;\n\n // remember where it was defined\n if (Global.lively && lively.lang && lively.lang.Namespace)\n value.sourceModule = lively.lang.Namespace.current();\n\n for (; value; value = value.originalFunction) {\n if (value.methodName) {\n //console.log(\"class \" + this.prototype.constructor.type\n // + \" borrowed \" + value.qualifiedMethodName());\n }\n value.declaredClass = this.prototype.constructor.type;\n value.methodName = property;\n }\n }\n } // end of for (var property in source)\n\n return this;\n },\n\n\n addProperties: function(spec, recordType) {\n Class.addMixin(this, recordType.prototype.create(spec).prototype);\n },\n\n isSubclassOf: function(aClass) {\n return this.superclasses().include(aClass);\n },\n\n allSubclasses: function() {\n var klass = this;\n return Global.classes(true).select(function(ea) { return ea.isSubclassOf(klass) });\n },\n withAllSubclasses: function() { return [this].concat(this.allSubclasses()) },\n\n\n directSubclasses: function() {\n var klass = this;\n return Global.classes(true).select(function(ea) { return ea.superclass === klass });\n },\n\n withAllSortedSubclassesDo: function(func) {\n // this method iterates func on all subclasses of klass (including klass)\n // it is ensured that the klasses are sorted by a) subclass relationship and b) name (not type!)\n // func gets as parameters: 1) the class 2) index in list 3) level of inheritance\n // compared to klass (1 for direct subclasses and so on)\n\n function createSortedSubclassList(klass, level) {\n var list = klass.directSubclasses()\n .sortBy(function(ea) { return ea.name.charCodeAt(0) })\n .collect(function(subclass) { return createSortedSubclassList(subclass, level + 1) })\n .flatten();\n return [{klass: klass, level: level}].concat(list)\n }\n\n return createSortedSubclassList(this, 0).collect(function(spec, idx) { return func(spec.klass, idx, spec.level) })\n },\n\n superclasses: function() {\n if (!this.superclass) return [];\n if (this.superclass === Object) return [Object];\n return this.superclass.superclasses().concat([this.superclass]);\n },\n\n categoryNameFor: function(propName) {\n for (var categoryName in this.categories) {\n if (this.categories[categoryName].include(propName)) {\n return categoryName;\n }\n }\n return null;\n },\n remove: function() {\n var ownerNamespace = Class.namespaceFor(this.type),\n ownName = Class.unqualifiedNameFor(this.type);\n delete ownerNamespace[ownName];\n },\n\n});\n\nvar Class = {\n\n anonymousCounter: 0,\n\n initializerTemplate: (function CLASS(){ Class.initializer.apply(this, arguments) }).toString(),\n\n newInitializer: function(name) {\n // this hack ensures that class instances have a name\n return eval(Class.initializerTemplate.replace(/CLASS/g, name) + \";\" + name);\n },\n\n initializer: function initializer() {\n var firstArg = arguments[0];\n // maybe special initialization required\n if (firstArg && firstArg.isImporter) {\n this.deserialize.apply(this, arguments);\n } else if (firstArg && firstArg.isCopier) {\n this.copyFrom.apply(this, arguments);\n } else if (firstArg && firstArg.isInstanceRestorer) {\n // just do nothing\n // for WebCards and other JSON-based dersialization logic\n } else {\n // if this.initialize is undefined then prolly the constructor was called without 'new'\n this.initialize.apply(this, arguments);\n }\n },\n\n def: function Class$def(constr, superConstr, optProtos, optStatics) {\n // currently not used\n // Main method of the LK class system.\n\n // {className} is the name of the new class constructor which this method synthesizes\n // and binds to {className} in the Global namespace.\n // Remaining arguments are (inline) properties and methods to be copied into the prototype\n // of the newly created constructor.\n\n // modified from prototype.js\n\n var klass = Class.newInitializer(\"klass\");\n klass.superclass = superConstr;\n\n var protoclass = function() { }; // that's the constructor of the new prototype object\n protoclass.prototype = superConstr.prototype;\n\n klass.prototype = new protoclass();\n\n // Object.extend(klass.prototype, constr.prototype);\n klass.prototype.constructor = klass;\n var className = constr.name; // getName()\n klass.addMethods({initialize: constr});\n // KP: .name would be better but js ignores .name on anonymous functions\n klass.type = className;\n\n\n if (optProtos) klass.addMethods(optProtos);\n if (optStatics) Object.extend(klass, optStatics);\n\n Global[className] = klass;\n return klass;\n },\n\n isValidIdentifier: function(str) {\n return /^(?:[a-zA-Z_][\\w\\-]*[.])*[a-zA-Z_][\\w\\-]*$/.test(str);\n },\n\n isClass: function Class$isClass(object) {\n if (object === Object\n || object === Array\n || object === Function\n || object === String\n || object === Number) {\n return true;\n }\n return (object instanceof Function) && (object.superclass !== undefined);\n },\n\n className: function Class$className(cl) {\n if (cl === Object) return \"Object\"\n if (cl === Array) return \"Array\"\n if (cl === Function) return \"Function\"\n if (cl === String) return \"String\"\n if (cl === Number) return \"Number\"\n return cl.type;\n },\n\n forName: function forName(name) {\n // lookup the class object given the qualified name\n var ns = Class.namespaceFor(name),\n shortName = Class.unqualifiedNameFor(name);\n return ns[shortName];\n },\n\n deleteObjectNamed: function Class$deleteObjectNamed(name) {\n var ns = Class.namespaceFor(name),\n shortName = Class.unqualifiedNameFor(name);\n delete ns[shortName];\n },\n\n unqualifiedNameFor: function Class$unqualifiedNameFor(name) {\n var lastDot = name.lastIndexOf('.'), // lastDot may be -1\n unqualifiedName = name.substring(lastDot + 1);\n if (!Class.isValidIdentifier(unqualifiedName)) throw new Error('not a name ' + unqualifiedName);\n return unqualifiedName;\n },\n\n namespaceFor: function Class$namespaceFor(className) {\n // get the namespace object given the qualified name\n var lastDot = className ? className.lastIndexOf('.') : -1;\n if (lastDot < 0) return Global;\n else return namespace(className.substring(0, lastDot));\n },\n\n withAllClassNames: function Class$withAllClassNames(scope, callback) {\n for (var name in scope) {\n try {\n if (Class.isClass(scope[name]))\n callback(name);\n } catch (er) { // FF exceptions\n }\n }\n callback(\"Object\");\n callback(\"Global\");\n },\n\n makeEnum: function Class$makeEnum(strings) {\n // simple mechanism for making objecs with property values set to\n // property names, to be used as enums.\n\n var e = {};\n for (var i = 0; i < strings.length; i++) {\n e[strings[i]] = strings[i];\n }\n return e;\n },\n\n getConstructor: function Class$getConstructor(object) {\n var c = object.constructor;\n return (c && c.getOriginal) ? c.getOriginal() : c;\n },\n\n getPrototype: function Class$getPrototype(object) {\n return this.getConstructor(object).prototype;\n },\n\n applyPrototypeMethod: function Class$applyPrototypeMethod(methodName, target, args) {\n var method = this.getPrototype(target);\n if (!method) throw new Error(\"method \" + methodName + \" not found\");\n return method.apply(this, args);\n },\n\n getSuperConstructor: function Class$getSuperConstructor(object) {\n return this.getConstructor(object).superclass;\n },\n\n getSuperPrototype: function Class$getSuperPrototype(object) {\n var sup = this.getSuperConstructor(object);\n return sup && sup.prototype;\n },\n\n addPins: function Class$addPins(cls, spec) {\n if (Global.Relay) {\n Class.addMixin(cls, Relay.newDelegationMixin(spec).prototype);\n return;\n }\n // this is for refactoring away from Relay and friends\n if (!Object.isArray(spec)) throw new Error('Cannot deal with non-Array spec in addPins');\n function unstripName(name) { return name.replace(/[\\+|\\-]?(.*)/, '$1') };\n function needsSetter(name) { return !name.startsWith('-') };\n function needsGetter(name) { return !name.startsWith('+') };\n var mixinSpec = {};\n spec.forEach(function(specString) {\n var name = unstripName(specString);\n if (needsSetter(specString))\n mixinSpec['set' + name] = function(value) { return this['_' + name] = value }\n if (needsGetter(specString))\n mixinSpec['get' + name] = function() { return this['_' + name] }\n })\n Class.addMixin(cls, mixinSpec);\n },\n\n addMixin: function Class$addMixin(cls, source) {\n var spec = {};\n for (var prop in source) {\n var value = source[prop];\n switch (prop) {\n case \"constructor\": case \"initialize\": case \"deserialize\": case \"copyFrom\":\n case \"toString\": case \"definition\": case \"description\":\n break;\n default:\n if (cls.prototype[prop] === undefined) // do not override existing values!\n spec[prop] = value;\n }\n }\n cls.addMethods(spec);\n },\n\n};\n\nObject.subclass('Namespace',\n'initializing', {\n\n initialize: function(context, nsName) {\n this.namespaceIdentifier = context.namespaceIdentifier + '.' + nsName;\n this.createTime = new Date();\n },\n},\n'accessing', {\n gather: function(selector, condition, recursive) {\n var result = Object.values(this).select(function(ea) { return condition.call(this, ea) }, this);\n if (!recursive) return result;\n return this.subNamespaces().inject(result, function(result, ns) { return result.concat(ns[selector](true)) });\n },\n\n subNamespaces: function(recursive) {\n return this.gather(\n 'subNamespaces',\n function(ea) { return (ea instanceof lively.lang.Namespace || ea === Global) && ea !== this },\n recursive);\n },\n\n classes: function(recursive) {\n var normalClasses = this.gather(\n 'classes',\n function(ea) { return ea && ea !== this.constructor && Class.isClass(ea) },\n recursive);\n if (this === Global)\n return [Array, Number, String, Function].concat(normalClasses);\n return normalClasses;\n },\n\n functions: function(recursive) {\n return this.gather(\n 'functions',\n function(ea) { return ea\n && !Class.isClass(ea)\n && Object.isFunction(ea)\n && !ea.declaredClass\n && this.requires !== ea\n && ea.getOriginal() === ea },\n recursive);\n },\n\n});\n\n// let Glabal act like a namespace itself\nObject.extend(Global, Namespace.prototype);\nObject.extend(Global, {\n namespaceIdentifier: 'Global',\n isLoaded: Functions.True,\n});\n\nNamespace.addMethods(\n'properties', {\n isLivelyModule: true,\n},\n'initializing', {\n beAnonymous: function() {\n this._isAnonymous = true;\n this.sourceModuleName = lively.lang.Namespace.current().namespaceIdentifier;\n return this;\n },\n},\n'accessing', { // module specific, should be a subclass?\n\n name: function() {\n var identifier = this.namespaceIdentifier,\n globalIdStart = 'Global.';\n if (identifier.startsWith(globalIdStart)) {\n identifier = identifier.substring(globalIdStart.length);\n }\n return identifier;\n },\n\n findUri: function(optFileType) {\n var fileType = optFileType || 'js',\n fileExtension = '.' + fileType,\n namespacePrefix;\n if (this.namespaceIdentifier.startsWith('Global.')) {\n namespacePrefix = 'Global.';\n } else {\n throw dbgOn(new Error('unknown namespaceIdentifier'));\n }\n var relativePath = this.namespaceIdentifier\n .substr(namespacePrefix.length)\n .replace(/\\./g, '/');\n if (!relativePath.match(/\\.js$/)) {\n relativePath += fileExtension;\n }\n var uri = '';\n lively.Config.modulePaths.forEach(function(ea) {\n if (relativePath.substring(0, ea.length) == ea) {\n uri = lively.Config.rootPath + relativePath;\n }\n });\n if (uri == '') {\n uri = lively.Config.codeBase + relativePath;\n }\n return uri;\n },\n\n uri: function(optType) { // FIXME cleanup necessary\n if (this.__cachedUri && !optType) { return this.__cachedUri; }\n var url;\n if (this.fromDB) {\n var id = this.namespaceIdentifier; // something like lively.Core\n var namespacePrefix;\n if (id.startsWith('Global.')) {\n namespacePrefix = 'Global.';\n id = id.substring(7);\n } else\n throw dbgOn(new Error('unknown namespaceIdentifier'));\n\n // FIXME: extract to lively.Config.codeBaseDB\n url = lively.Config.couchDBURL + '/' + this.fromDB + '/_design/raw_data/_list/javascript/for-module?module=' + id;\n this.__cachedUri = url;\n return url;\n } else {\n var id = this.namespaceIdentifier; // something like lively.Core\n var namespacePrefix;\n if (!this.isAnonymous()) {\n url = this.findUri(optType);\n } else {\n if (id.startsWith('Global.')) namespacePrefix = 'Global.';\n else throw dbgOn(new Error('unknown namespaceIdentifier'));\n url = lively.Config.codeBase + this.namespaceIdentifier.substr(namespacePrefix.length).replace(/\\./g, '/');\n }\n\n this.__cachedUri = url;\n return url;\n }\n },\n relativePath: function(optType) {\n return new URL(this.uri(optType)).relativePathFrom(URL.codeBase);\n },\n\n lastPart: function() {\n return this.name().match(/[^.]+$/)[0];\n }\n\n},\n'module dependencies', {\n addDependendModule: function(depModule) {\n if (!this.dependendModules) this.dependendModules = [];\n this.dependendModules.push(depModule);\n\n // keep a copy of the dependencies for debugging\n if (!this.debugDependendModules) this.debugDependendModules = [];\n this.debugDependendModules.push(depModule);\n },\n\n informDependendModules: function() {\n if (!this.dependendModules) return;\n var deps = this.dependendModules.uniq();\n this.dependendModules = [];\n deps.forEach(function(ea) { ea.removeRequiredModule(this) }, this);\n },\n\n traceDependendModules: function(visited) {\n visited = visited || [];\n var deps = this.debugDependendModules || [];\n deps = deps.withoutAll(visited)\n visited.push(this);\n return [this.namespaceIdentifier, deps.collect(function(ea) {\n return ea.traceDependendModules(visited)\n })]\n },\n\n addRequiredModule: function(requiredModule) {\n // privateRequirements is just for keeping track later on\n if (!this.privateRequirements) this.privateRequirements = [];\n this.privateRequirements.push(requiredModule);\n\n if (requiredModule.isLoaded()) return;\n if (!this.pendingRequirements) this.pendingRequirements = [];\n this.pendingRequirements.push(requiredModule);\n requiredModule.addDependendModule(this);\n },\n\n removeRequiredModule: function(requiredModule) {\n if (this.pendingRequirements && !this.pendingRequirements.include(requiredModule))\n throw dbgOn(new Error('requiredModule not there'));\n this.pendingRequirements = this.pendingRequirements.without(requiredModule);\n if (!this.hasPendingRequirements()) {\n this.load();\n }\n },\n\n pendingRequirementNames: function() {\n if (!this.pendingRequirements) return [];\n return this.pendingRequirements.collect(function(ea) { return ea.uri() });\n },\n\n hasPendingRequirements: function() {\n return this.pendingRequirements && this.pendingRequirements.length > 0;\n },\n\n loadRequirementsFirst: function() {\n this.pendingRequirements && this.pendingRequirements.invoke('load');\n },\n\n wasRequiredBy: function() {\n return Global.subNamespaces(true).select(function(m) {\n return m.privateRequirements && m.privateRequirements.include(this);\n }, this);\n },\n},\n'load callbacks', {\n addOnloadCallback: function(cb) {\n if (!this.callbacks) this.callbacks = [];\n this.callbacks.push(cb);\n },\n\n runOnloadCallbacks: function() {\n if (!this.callbacks) return;\n var cb;\n while (cb = this.callbacks.shift()) {\n try {cb()} catch(e) {\n this.logError('runOnloadCallbacks: ' + cb.name + ': ' + e);\n throw e\n }\n };\n },\n\n isAnonymous: function() {\n return this._isAnonymous\n },\n\n},\n'testing', {\n isLoaded: function() {\n return this._isLoaded;\n },\n\n isLoading: function() {\n if (this.isLoaded()) return false;\n if (this.uri().include('anonymous')) return true;\n return JSLoader.scriptInDOM(this.uri());\n },\n\n isAnonymous: function() {\n return this._isAnonymous\n },\n\n},\n'loading', {\n load: function(loadSync) {\n if (loadSync) {\n var prevWasSync = this.constructor.loadSync;\n this.constructor.loadSync = true;\n }\n if (this.isLoaded()) {\n this.runOnloadCallbacks();\n return;\n }\n if (this.isLoading() && this.wasDefined && !this.hasPendingRequirements()) {\n this.runOnloadCallbacks();\n // time is not only the time needed for the request and code evaluation\n // but the complete time span from the creation of the module (when the module is first encountered)\n // to evaluation the evaluation of its code, including load time of all requirements\n var time = this.createTime ? new Date() - this.createTime : 'na';\n console.log(this.uri() + ' loaded in ' + time + ' ms');\n this.informDependendModules();\n return;\n }\n if (this.isLoading()) {\n this.loadRequirementsFirst();\n return;\n }\n JSLoader.loadJs(this.uri(), null, this.constructor.loadSync);\n if (loadSync) this.constructor.loadSync = prevWasSync;\n },\n\n activate: function() {\n this.constructor.namespaceStack.push(this);\n },\n\n deactivate: function() {\n var m = this.constructor.namespaceStack.pop();\n if (m !== this)\n throw new Error('Wrong module: ' + this.namespaceIdentifier +\n ' instead of expected ' + m.namespaceIdentifier )\n },\n},\n'removing', {\n remove: function() {\n var ownerNamespace = Class.namespaceFor(this.namespaceIdentifier),\n ownName = Class.unqualifiedNameFor(this.namespaceIdentifier)\n JSLoader.removeAllScriptsThatLinkTo(this.uri());\n delete ownerNamespace[ownName];\n },\n removeScriptNode: function() {\n var node = document.getElementById(this.uri());\n if (!node) return\n node.parentNode.removeChild(node);\n },\n},\n'debugging', {\n toString: function() { return 'module(' + this.namespaceIdentifier + ')' },\n inspect: function() { this.toString() + ' defined at ' + this.defStack },\n logError: function(e, optCode) {\n var list = this.traceDependendModules();\n var msg = 'Error while loading ' + this.moduleName + ': ' + e;\n msg += '\\ndependencies: ' + Strings.printNested(list)\n if (Global.lively && lively.morphic && lively.morphic.World && lively.morphic.World.current() && lively.morphic.World.current().logError)\n lively.morphic.World.current().logError(e)\n\n if (e.stack) msg = msg + e.stack;\n\n if (optCode)\n msg += \"code:\\n\" + optCode;\n console.error(msg);\n dbgOn(true);\n },\n});\n\nObject.extend(Namespace, {\n namespaceStack: [Global],\n current: function() { return this.namespaceStack.last() },\n topologicalSortLoadedModules: function() {\n if (lively.Config.standAlone) {\n var scripIds = [];\n $('body script').each(function() { scripIds.push($(this).attr('id')) });\n return scripIds.collect(function(id) {\n var name = id.replace(/^..\\//, '');\n return module(name);\n });\n }\n\n // get currently loaded modules that really are js files\n var modules = Global.subNamespaces(true)\n .reject(function(ea) { return ea.isAnonymous(); })\n .select(function(ea) {\n return ea.isLoaded() && new WebResource(ea.uri()).exists() });\n\n // topological sort modules according to their requirements\n var sortedModules = [], i = 0;\n while (i < 1000 && modules.length > 0) {\n i++;\n var canBeLoaded = modules.select(function(module) {\n if (!module.privateRequirements) return true;\n return module.privateRequirements.all(function(requirement) {\n return sortedModules.include(requirement) })\n })\n sortedModules = sortedModules.concat(canBeLoaded);\n modules = modules.withoutAll(canBeLoaded);\n }\n if (modules.length > 0)\n throw new Error('Cannot find dependencies for all modules!');\n\n return sortedModules;\n },\n\n bootstrapModules: function() {\n // return a string to include in bootstrap.js\n var urls = this.topologicalSortLoadedModules()\n .collect(function(ea) { return new URL(ea.uri()).relativePathFrom(URL.codeBase) })\n // omit modules outside of core\n .reject(function(path) { return path.startsWith('..') });\n var manual = [LivelyLoader.libsFile,\n 'lively/Migration.js',\n 'lively/JSON.js',\n 'lively/lang/Object.js',\n 'lively/lang/Function.js',\n 'lively/lang/String.js',\n 'lively/lang/Array.js',\n 'lively/lang/Number.js',\n 'lively/lang/Date.js',\n 'lively/defaultconfig.js',\n 'lively/localconfig.js',\n 'lively/Base.js',\n 'lively/lang/Closure.js', // FIXME: require module instead\n 'lively/lang/UUID.js', // FIXME: require module instead\n 'lively/LocalStorage.js'];\n urls = manual.concat(urls);\n return urls;\n },\n\n bootstrapModulesString: function() {\n var urls = this.bootstrapModules();\n return '[\\'' + urls.join('\\', \\'') + '\\']';\n }\n});\n\n(function createLivelyNamespace(Global) {\n // namespace('lively.lang');\n var preExistingLively = Global.lively;\n delete Global.lively;\n var lively = new Global.Namespace(Global, 'lively');\n // FIXME this is just a hack to get properties of a potentially\n // predefined \"lively\" object over to the namespace lively object\n // namespaces should deal with this in general\n if (preExistingLively) {\n for (var name in preExistingLively) {\n lively[name] = preExistingLively[name];\n }\n }\n Global.lively = lively;\n})(Global);\n\n(function moveNamespaceClassToLivelyLang(Global) {\n var lively = Global.lively,\n Namespace = Global.Namespace;\n lively.lang = new Namespace(lively, 'lang');\n lively.lang.Namespace = Namespace;\n // alias\n lively.Module = lively.lang.Namespace;\n delete Global.Namespace;\n})(Global);\n\n(function addUsefulStuffToLivelyNS(Global, lively) {\n lively.assert = Global.assert;\n})(Global, lively);\n\nObject.extend(lively.Module, {\n findAllInThenDo: function(url, callback) {\n var dir = new URL(url).getDirectory();\n if (url.isLeaf()) {\n throw new Error(url + ' is not a directory!');\n }\n var webR = dir.asWebResource();\n lively.bindings.connect(webR, 'subDocuments', {onLoad: function(files) {\n var moduleNames = files.invoke('getURL') .invoke('asModuleName'),\n modules = moduleNames.collect(function(name) { return module(name); })\n callback(modules);\n }}, 'onLoad');\n webR.getSubElements();\n }\n});\n\n(function setupLivelyLang(lively) {\n lively.lang.Execution = {\n showStack: Functions.Null,\n resetDebuggingStack: Functions.Null,\n installStackTracers: Functions.Null\n };\n lively.lang.let = function(/** **/) {\n // lively.lang.let(y, function(x) { body }) is equivalent to { let y = x; body; }\n return arguments[arguments.length - 1].apply(this, arguments);\n }\n})(lively);\n\n/*\n * Stack Viewer when Dan's StackTracer is not available\n * FIXME rk: move this to Helper.js?\n */\nfunction getStack() {\n var result = [];\n for(var caller = arguments.callee.caller; caller; caller = caller.caller) {\n if (result.indexOf(caller) != -1) {\n result.push({name: \"recursive call can't be traced\"});\n break;\n }\n result.push(caller);\n };\n return result;\n};\n\nfunction printStack() {\n function guessFunctionName(func) {\n var qName = func.qualifiedMethodName && func.qualifiedMethodName(),\n regExpRes = func.toString().match(/function (.+)\\(/);\n return qName || (regExpRes && regExpRes[1]) || func;\n };\n\n var string = \"== Stack ==\\n\",\n stack = getStack();\n stack.shift(); // for getStack\n stack.shift(); // for printStack (me)\n var indent = \"\";\n for (var i=0; i < stack.length; i++) {\n string += indent + i + \": \" +guessFunctionName(stack[i]) + \"\\n\";\n indent += \" \";\n };\n return string;\n};\n\nfunction logStack() {\n this.console.log(printStack());\n};\n\n(function setupjQuery(Global) {\n var lively = Global.lively,\n jQuery = Global.jQuery;\n // we still are adding jQuery to Global but this is DEPRECATED\n // We need to be able to run with libraries requiring different jQuery versions\n // so we will restrict \"our\" to lively.$ in the future\n Global.$ = lively.$ = jQuery.noConflict(/*true -- really removes $*/);\n})(Global);","lastFindLoc":43697,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,322.2)"},"1252":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor","_Fill"],"_BorderWidth":1,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(567.0,393.8)","_Padding":"lively.rect(5,5,0,0)","_BorderColor":"Color.rgb(102,102,102)","_Fill":"Color.rgb(255,255,255)"},"1253":{"style":{"__isSmartRef__":true,"id":1254},"chunkOwner":{"__isSmartRef__":true,"id":1251},"_id":"_89","storedString":"/*\n * Copyright (c) 2006-2009 Sun Microsystems, Inc.\n * Copyright (c) 2008-2011 Hasso Plattner Institute\n *\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\n// set to the context enclosing the SVG context.\n// rk: replaced \"this.window.top || this.window\" with \"this.window\"\n// rk: when is it necessary to use the parent context?\nvar Global = this.window || GLOBAL /*for Node.js*/;\nfunction dbgOn(cond, optMessage) {\n if (optMessage) console.log(optMessage);\n if (cond) debugger; // note that rhino has issues with this keyword\n // also call as: throw dbgOn(new Error(....))\n return cond;\n}\n\nfunction assert(value, message) {\n if (value) { return; }\n // capture the stack\n var stack;\n try { throw new Error() } catch(e) { stack = e.stack || '' };\n alert('Assertion failed' + (message ? ': ' + message : '!') + '\\n' + stack);\n};\n\n// namespace logic adapted from\n// http://higher-order.blogspot.com/2008/02/designing-clientserver-web-applications.html\nvar using = (function() {\n\n function Util(args) { // args is an escaping arguments array\n this.objects = Array.prototype.concat.apply([], args);\n //var ownArgs = this.objects = new Array(args.length);\n //for (var i = 0; i < args.length; i++) ownArgs[i] = args[i];\n };\n\n Util.prototype = {\n\n log: function(msg) {\n console.log(msg);\n },\n\n run: function(inner) {\n var args = this.objects;\n if (this.moduleName) {\n // little convenience,\n if (args.length > 0) this.log('using().module(): ignoring args ' + args);\n return module(this.moduleName).requires().toRun(inner);\n } else return inner.apply(args[0], args);\n },\n\n model: function(model) {\n // KP: interestingly, declaring the above as \"model: function model(model)\"\n // seems to bind model to to the function, not the formal parameter, at least in rhino!\n this.model = model;\n return this;\n },\n\n module: function(moduleName) {\n this.moduleName = moduleName;\n return this;\n },\n\n link: function link(literal, variableMap) {\n variableMap = variableMap || {};\n return new lively.data.Resolver().link(literal, [], undefined, variableMap, this.objects, this.model);\n },\n\n extend: function extend(base, extLiteral) {\n return this.link(Object.extend(Object.clone(base), extLiteral));\n },\n\n test: function(inner) {\n try {\n return this.run(inner);\n } catch (er) {\n alert('test failed: ' + er);\n return undefined;\n }\n }\n }\n\n return function using() {\n return new Util(arguments);\n }\n})();\n\n\nfunction namespace(spec, context) {\n var codeDB;\n if (spec[0] == '$') {\n codeDB = spec.substring(1, spec.indexOf('.'));\n spec = spec.substring(spec.indexOf('.') + 1);\n }\n var ret = __oldNamespace(spec, context);\n if (codeDB) {\n ret.fromDB = codeDB;\n }\n return ret;\n};\n\n\nfunction __oldNamespace(spec, context) {\n var i,N;\n context = context || Global;\n spec = spec.valueOf();\n if (typeof spec === 'object') {\n if (typeof spec.length === 'number') {//assume an array-like object\n for (i = 0,N = spec.length; i < N; i++) {\n return namespace(spec[i], context);\n }\n } else {//spec is a specification object e.g, {com: {trifork: ['model,view']}}\n for (i in spec) if (spec.hasOwnProperty(i)) {\n context[i] = context[i] || new lively.lang.Namespace(context, i);\n return namespace(spec[i], context[i]);//recursively descend tree\n }\n }\n } else if (typeof spec === 'string') {\n (function handleStringCase() {\n var parts;\n parts = spec.split('.');\n for (i = 0, N = parts.length; i= 0) {\n ea.pendingRequirements = [];\n ea.load();\n testModuleLoad.delay(6);\n }\n\t});\n console.log('Module load check done. ' + modules.length + ' modules loaded.');\n}).delay(10);\n\nfunction module(moduleName) {\n\n moduleName = LivelyMigrationSupport.fixModuleName(moduleName);\n\n function isNamespaceAwareModule(moduleName) {\n return moduleName && !moduleName.endsWith('.js');\n }\n\n function convertUrlToNSIdentifier(url) {\n var result = url;\n result = result.replace(/\\//g, '.');\n // get rid of '.js'\n if (result.endsWith('.js')) result = result.substring(0, result.lastIndexOf('.'));\n return result;\n }\n\n function createNamespaceModule(moduleName) {\n return namespace(isNamespaceAwareModule(moduleName) ? moduleName : convertUrlToNSIdentifier(moduleName));\n }\n\n function basicRequire(/*module, requiredModuleNameOrAnArray, anotherRequiredModuleName, ...*/) {\n // support modulenames as array and parameterlist\n var args = $A(arguments),\n module = args.shift(),\n preReqModuleNames = Object.isArray(args[0]) ? args[0] : args,\n requiredModules = [];\n for (var i = 0; i < preReqModuleNames.length; i++) {\n var name = LivelyMigrationSupport.fixModuleName(preReqModuleNames[i]),\n reqModule = createNamespaceModule(name);\n module.addRequiredModule(reqModule);\n requiredModules.push(reqModule);\n }\n\n return {\n toRun: function(code) {\n var debugCode = code;\n code = code.curry(module); // pass in own module name for nested requirements\n var codeWrapper = function() { // run code with namespace modules as additional parameters\n try {\n module.activate();\n code.apply(this, requiredModules);\n module._isLoaded = true;\n } catch(e) {\n module.logError(module + '>>basicRequire: ' + e, debugCode)\n } finally {\n module.deactivate();\n }\n }\n module.addOnloadCallback(codeWrapper);\n module.load();\n }\n };\n };\n\n dbgOn(!Object.isString(moduleName));\n var module = createNamespaceModule(moduleName);\n module.wasDefined = true;\n module.requires = basicRequire.curry(module);\n return module;\n};\n\nfunction require(/*requiredModuleNameOrAnArray, anotherRequiredModuleName, ...*/) {\n var getUniqueName = function() { return 'anonymous_module_' + require.counter },\n args = $A(arguments);\n require.counter !== undefined ? require.counter++ : require.counter = 0;\n var m = module(getUniqueName()).beAnonymous();\n if (lively.Config.showModuleDefStack)\n try { throw new Error() } catch(e) { m.defStack = e.stack }\n return m.requires(Object.isArray(args[0]) ? args[0] : args);\n};\n\n\n// ===========================================================================\n// Our JS library extensions (JS 1.5, no particular browser or graphics engine)\n// ===========================================================================\n\n/**\n * LK class system.\n */\n\nObject.extend(Function.prototype, {\n\n defaultCategoryName: 'default category',\n\n subclass: function(/*... */) {\n // Main method of the LK class system.\n\n // {className} is the name of the new class constructor which this method synthesizes\n // and binds to {className} in the Global namespace.\n // Remaining arguments are (inline) properties and methods to be copied into the prototype\n // of the newly created constructor.\n\n // modified from prototype.js\n\n var args = $A(arguments),\n className = args.shift(),\n targetScope = Global,\n shortName = null;\n\n if (className) {\n targetScope = Class.namespaceFor(className);\n shortName = Class.unqualifiedNameFor(className);\n } else {\n shortName = \"anonymous_\" + (Class.anonymousCounter++);\n className = shortName;\n }\n\n var klass;\n if (className && targetScope[shortName] && (targetScope[shortName].superclass === this)) {\n // preserve the class to allow using the subclass construct in interactive development\n klass = targetScope[shortName];\n } else {\n klass = Class.newInitializer(shortName);\n klass.superclass = this;\n var protoclass = function() { }; // that's the constructor of the new prototype object\n protoclass.prototype = this.prototype;\n klass.prototype = new protoclass();\n klass.prototype.constructor = klass;\n klass.prototype.constructor.type = className; // KP: .name would be better but js ignores .name on anonymous functions\n klass.prototype.constructor.displayName = className; // for debugging, because name can not be assigned\n if (className) targetScope[shortName] = klass; // otherwise it's anonymous\n\n // remember the module that contains the class def\n if (Global.lively && lively.lang && lively.lang.Namespace)\n klass.sourceModule = lively.lang.Namespace.current();\n };\n\n // the remaining args should be category strings or source objects\n this.addMethods.apply(klass, args);\n\n if (!klass.prototype.initialize)\n klass.prototype.initialize = Functions.Empty;\n\n return klass;\n },\n\n addMethods: function(/*...*/) {\n var args = arguments,\n category = this.defaultCategoryName,\n traits = [];\n for (var i = 0; i < args.length; i++) {\n if (Object.isString(args[i])) {\n category = args[i];\n } else if (Global.RealTrait && args[i] instanceof RealTrait) {\n // FIXME Traits are optional and defined in lively.Traits\n // This should go somewhere into lively.Traits...\n // we apply traits afterwards because they can override behavior\n traits.push(args[i]);\n } else {\n this.addCategorizedMethods(category, args[i] instanceof Function ? (args[i])() : args[i]);\n }\n }\n for (i = 0; i < traits.length; i++) {\n traits[i].applyTo(this);\n }\n },\n\n addCategorizedMethods: function(categoryName, source) {\n // first parameter is a category name\n // copy all the methods and properties from {source} into the\n // prototype property of the receiver, which is intended to be\n // a class constructor. Method arguments named '$super' are treated\n // specially, see Prototype.js documentation for \"Class.create()\" for details.\n // derived from Class.Methods.addMethods() in prototype.js\n\n // prepare the categories\n if (!this.categories) this.categories = {};\n if (!this.categories[categoryName]) this.categories[categoryName] = [];\n var currentCategoryNames = this.categories[categoryName];\n\n if (!source)\n throw dbgOn(new Error('no source in addCategorizedMethods!'));\n\n var ancestor = this.superclass && this.superclass.prototype;\n\n var className = this.type || \"Anonymous\";\n\n for (var property in source) {\n\n if (property == 'constructor') continue;\n\n var getter = source.__lookupGetter__(property);\n if (getter) this.prototype.__defineGetter__(property, getter);\n var setter = source.__lookupSetter__(property);\n if (setter) this.prototype.__defineSetter__(property, setter);\n if (getter || setter) continue;\n\n currentCategoryNames.push(property);\n\n var value = source[property];\n // weirdly, RegExps are functions in Safari, so testing for\n // Object.isFunction on regexp field values will return true.\n // But they're not full-blown functions and don't\n // inherit argumentNames from Function.prototype\n\n var hasSuperCall = ancestor && Object.isFunction(value) &&\n value.argumentNames && value.argumentNames().first() == \"$super\";\n if (hasSuperCall) {\n // wrapped in a function to save the value of 'method' for advice\n (function() {\n var method = value,\n advice = (function(m) {\n var cs = function callSuper() {\n var method = ancestor[m];\n if (!method) {\n throw new Error(Strings.format('Trying to call super of' +\n '%s>>%s but super method non existing in %s',\n className, m, ancestor.constructor.type));\n }\n return method.apply(this, arguments);\n };\n cs.varMapping = {ancestor: ancestor, m: m};\n cs.isSuperCall = true;\n return cs;\n })(property);\n\n advice.methodName = \"$super:\" + (this.superclass ? this.superclass.type + \">>\" : \"\") + property;\n\n value = Object.extend(advice.wrap(method), {\n valueOf: function() { return method },\n toString: function() { return method.toString() },\n originalFunction: method,\n methodName: advice.methodName,\n isSuperWrapper: true\n });\n // for lively.Closures\n method.varMapping = {$super: advice};\n })();\n }\n\n this.prototype[property] = value;\n\n if (property === \"formals\") { // rk FIXME remove this cruft\n // special property (used to be pins, but now called formals to disambiguate old and new style\n Class.addPins(this, value);\n } else if (Object.isFunction(value)) {\n // remember name for profiling in WebKit\n value.displayName = className + \"$\" + property;\n\n // remember where it was defined\n if (Global.lively && lively.lang && lively.lang.Namespace)\n value.sourceModule = lively.lang.Namespace.current();\n\n for (; value; value = value.originalFunction) {\n if (value.methodName) {\n //console.log(\"class \" + this.prototype.constructor.type\n // + \" borrowed \" + value.qualifiedMethodName());\n }\n value.declaredClass = this.prototype.constructor.type;\n value.methodName = property;\n }\n }\n } // end of for (var property in source)\n\n return this;\n },\n\n\n addProperties: function(spec, recordType) {\n Class.addMixin(this, recordType.prototype.create(spec).prototype);\n },\n\n isSubclassOf: function(aClass) {\n return this.superclasses().include(aClass);\n },\n\n allSubclasses: function() {\n var klass = this;\n return Global.classes(true).select(function(ea) { return ea.isSubclassOf(klass) });\n },\n withAllSubclasses: function() { return [this].concat(this.allSubclasses()) },\n\n\n directSubclasses: function() {\n var klass = this;\n return Global.classes(true).select(function(ea) { return ea.superclass === klass });\n },\n\n withAllSortedSubclassesDo: function(func) {\n // this method iterates func on all subclasses of klass (including klass)\n // it is ensured that the klasses are sorted by a) subclass relationship and b) name (not type!)\n // func gets as parameters: 1) the class 2) index in list 3) level of inheritance\n // compared to klass (1 for direct subclasses and so on)\n\n function createSortedSubclassList(klass, level) {\n var list = klass.directSubclasses()\n .sortBy(function(ea) { return ea.name.charCodeAt(0) })\n .collect(function(subclass) { return createSortedSubclassList(subclass, level + 1) })\n .flatten();\n return [{klass: klass, level: level}].concat(list)\n }\n\n return createSortedSubclassList(this, 0).collect(function(spec, idx) { return func(spec.klass, idx, spec.level) })\n },\n\n superclasses: function() {\n if (!this.superclass) return [];\n if (this.superclass === Object) return [Object];\n return this.superclass.superclasses().concat([this.superclass]);\n },\n\n categoryNameFor: function(propName) {\n for (var categoryName in this.categories) {\n if (this.categories[categoryName].include(propName)) {\n return categoryName;\n }\n }\n return null;\n },\n remove: function() {\n var ownerNamespace = Class.namespaceFor(this.type),\n ownName = Class.unqualifiedNameFor(this.type);\n delete ownerNamespace[ownName];\n },\n\n});\n\nvar Class = {\n\n anonymousCounter: 0,\n\n initializerTemplate: (function CLASS(){ Class.initializer.apply(this, arguments) }).toString(),\n\n newInitializer: function(name) {\n // this hack ensures that class instances have a name\n return eval(Class.initializerTemplate.replace(/CLASS/g, name) + \";\" + name);\n },\n\n initializer: function initializer() {\n var firstArg = arguments[0];\n // maybe special initialization required\n if (firstArg && firstArg.isImporter) {\n this.deserialize.apply(this, arguments);\n } else if (firstArg && firstArg.isCopier) {\n this.copyFrom.apply(this, arguments);\n } else if (firstArg && firstArg.isInstanceRestorer) {\n // just do nothing\n // for WebCards and other JSON-based dersialization logic\n } else {\n // if this.initialize is undefined then prolly the constructor was called without 'new'\n this.initialize.apply(this, arguments);\n }\n },\n\n def: function Class$def(constr, superConstr, optProtos, optStatics) {\n // currently not used\n // Main method of the LK class system.\n\n // {className} is the name of the new class constructor which this method synthesizes\n // and binds to {className} in the Global namespace.\n // Remaining arguments are (inline) properties and methods to be copied into the prototype\n // of the newly created constructor.\n\n // modified from prototype.js\n\n var klass = Class.newInitializer(\"klass\");\n klass.superclass = superConstr;\n\n var protoclass = function() { }; // that's the constructor of the new prototype object\n protoclass.prototype = superConstr.prototype;\n\n klass.prototype = new protoclass();\n\n // Object.extend(klass.prototype, constr.prototype);\n klass.prototype.constructor = klass;\n var className = constr.name; // getName()\n klass.addMethods({initialize: constr});\n // KP: .name would be better but js ignores .name on anonymous functions\n klass.type = className;\n\n\n if (optProtos) klass.addMethods(optProtos);\n if (optStatics) Object.extend(klass, optStatics);\n\n Global[className] = klass;\n return klass;\n },\n\n isValidIdentifier: function(str) {\n return /^(?:[a-zA-Z_][\\w\\-]*[.])*[a-zA-Z_][\\w\\-]*$/.test(str);\n },\n\n isClass: function Class$isClass(object) {\n if (object === Object\n || object === Array\n || object === Function\n || object === String\n || object === Number) {\n return true;\n }\n return (object instanceof Function) && (object.superclass !== undefined);\n },\n\n className: function Class$className(cl) {\n if (cl === Object) return \"Object\"\n if (cl === Array) return \"Array\"\n if (cl === Function) return \"Function\"\n if (cl === String) return \"String\"\n if (cl === Number) return \"Number\"\n return cl.type;\n },\n\n forName: function forName(name) {\n // lookup the class object given the qualified name\n var ns = Class.namespaceFor(name),\n shortName = Class.unqualifiedNameFor(name);\n return ns[shortName];\n },\n\n deleteObjectNamed: function Class$deleteObjectNamed(name) {\n var ns = Class.namespaceFor(name),\n shortName = Class.unqualifiedNameFor(name);\n delete ns[shortName];\n },\n\n unqualifiedNameFor: function Class$unqualifiedNameFor(name) {\n var lastDot = name.lastIndexOf('.'), // lastDot may be -1\n unqualifiedName = name.substring(lastDot + 1);\n if (!Class.isValidIdentifier(unqualifiedName)) throw new Error('not a name ' + unqualifiedName);\n return unqualifiedName;\n },\n\n namespaceFor: function Class$namespaceFor(className) {\n // get the namespace object given the qualified name\n var lastDot = className ? className.lastIndexOf('.') : -1;\n if (lastDot < 0) return Global;\n else return namespace(className.substring(0, lastDot));\n },\n\n withAllClassNames: function Class$withAllClassNames(scope, callback) {\n for (var name in scope) {\n try {\n if (Class.isClass(scope[name]))\n callback(name);\n } catch (er) { // FF exceptions\n }\n }\n callback(\"Object\");\n callback(\"Global\");\n },\n\n makeEnum: function Class$makeEnum(strings) {\n // simple mechanism for making objecs with property values set to\n // property names, to be used as enums.\n\n var e = {};\n for (var i = 0; i < strings.length; i++) {\n e[strings[i]] = strings[i];\n }\n return e;\n },\n\n getConstructor: function Class$getConstructor(object) {\n var c = object.constructor;\n return (c && c.getOriginal) ? c.getOriginal() : c;\n },\n\n getPrototype: function Class$getPrototype(object) {\n return this.getConstructor(object).prototype;\n },\n\n applyPrototypeMethod: function Class$applyPrototypeMethod(methodName, target, args) {\n var method = this.getPrototype(target);\n if (!method) throw new Error(\"method \" + methodName + \" not found\");\n return method.apply(this, args);\n },\n\n getSuperConstructor: function Class$getSuperConstructor(object) {\n return this.getConstructor(object).superclass;\n },\n\n getSuperPrototype: function Class$getSuperPrototype(object) {\n var sup = this.getSuperConstructor(object);\n return sup && sup.prototype;\n },\n\n addPins: function Class$addPins(cls, spec) {\n if (Global.Relay) {\n Class.addMixin(cls, Relay.newDelegationMixin(spec).prototype);\n return;\n }\n // this is for refactoring away from Relay and friends\n if (!Object.isArray(spec)) throw new Error('Cannot deal with non-Array spec in addPins');\n function unstripName(name) { return name.replace(/[\\+|\\-]?(.*)/, '$1') };\n function needsSetter(name) { return !name.startsWith('-') };\n function needsGetter(name) { return !name.startsWith('+') };\n var mixinSpec = {};\n spec.forEach(function(specString) {\n var name = unstripName(specString);\n if (needsSetter(specString))\n mixinSpec['set' + name] = function(value) { return this['_' + name] = value }\n if (needsGetter(specString))\n mixinSpec['get' + name] = function() { return this['_' + name] }\n })\n Class.addMixin(cls, mixinSpec);\n },\n\n addMixin: function Class$addMixin(cls, source) {\n var spec = {};\n for (var prop in source) {\n var value = source[prop];\n switch (prop) {\n case \"constructor\": case \"initialize\": case \"deserialize\": case \"copyFrom\":\n case \"toString\": case \"definition\": case \"description\":\n break;\n default:\n if (cls.prototype[prop] === undefined) // do not override existing values!\n spec[prop] = value;\n }\n }\n cls.addMethods(spec);\n },\n\n};\n\nObject.subclass('Namespace',\n'initializing', {\n\n initialize: function(context, nsName) {\n this.namespaceIdentifier = context.namespaceIdentifier + '.' + nsName;\n this.createTime = new Date();\n },\n},\n'accessing', {\n gather: function(selector, condition, recursive) {\n var result = Object.values(this).select(function(ea) { return condition.call(this, ea) }, this);\n if (!recursive) return result;\n return this.subNamespaces().inject(result, function(result, ns) { return result.concat(ns[selector](true)) });\n },\n\n subNamespaces: function(recursive) {\n return this.gather(\n 'subNamespaces',\n function(ea) { return (ea instanceof lively.lang.Namespace || ea === Global) && ea !== this },\n recursive);\n },\n\n classes: function(recursive) {\n var normalClasses = this.gather(\n 'classes',\n function(ea) { return ea && ea !== this.constructor && Class.isClass(ea) },\n recursive);\n if (this === Global)\n return [Array, Number, String, Function].concat(normalClasses);\n return normalClasses;\n },\n\n functions: function(recursive) {\n return this.gather(\n 'functions',\n function(ea) { return ea\n && !Class.isClass(ea)\n && Object.isFunction(ea)\n && !ea.declaredClass\n && this.requires !== ea\n && ea.getOriginal() === ea },\n recursive);\n },\n\n});\n\n// let Glabal act like a namespace itself\nObject.extend(Global, Namespace.prototype);\nObject.extend(Global, {\n namespaceIdentifier: 'Global',\n isLoaded: Functions.True,\n});\n\nNamespace.addMethods(\n'properties', {\n isLivelyModule: true,\n},\n'initializing', {\n beAnonymous: function() {\n this._isAnonymous = true;\n this.sourceModuleName = lively.lang.Namespace.current().namespaceIdentifier;\n return this;\n },\n},\n'accessing', { // module specific, should be a subclass?\n\n name: function() {\n var identifier = this.namespaceIdentifier,\n globalIdStart = 'Global.';\n if (identifier.startsWith(globalIdStart)) {\n identifier = identifier.substring(globalIdStart.length);\n }\n return identifier;\n },\n\n findUri: function(optFileType) {\n var fileType = optFileType || 'js',\n fileExtension = '.' + fileType,\n namespacePrefix;\n if (this.namespaceIdentifier.startsWith('Global.')) {\n namespacePrefix = 'Global.';\n } else {\n throw dbgOn(new Error('unknown namespaceIdentifier'));\n }\n var relativePath = this.namespaceIdentifier\n .substr(namespacePrefix.length)\n .replace(/\\./g, '/');\n if (!relativePath.match(/\\.js$/)) {\n relativePath += fileExtension;\n }\n var uri = '';\n lively.Config.modulePaths.forEach(function(ea) {\n if (relativePath.substring(0, ea.length) == ea) {\n uri = lively.Config.rootPath + relativePath;\n }\n });\n if (uri == '') {\n uri = lively.Config.codeBase + relativePath;\n }\n return uri;\n },\n\n uri: function(optType) { // FIXME cleanup necessary\n if (this.__cachedUri && !optType) { return this.__cachedUri; }\n var url;\n if (this.fromDB) {\n var id = this.namespaceIdentifier; // something like lively.Core\n var namespacePrefix;\n if (id.startsWith('Global.')) {\n namespacePrefix = 'Global.';\n id = id.substring(7);\n } else\n throw dbgOn(new Error('unknown namespaceIdentifier'));\n\n // FIXME: extract to lively.Config.codeBaseDB\n url = lively.Config.couchDBURL + '/' + this.fromDB + '/_design/raw_data/_list/javascript/for-module?module=' + id;\n this.__cachedUri = url;\n return url;\n } else {\n var id = this.namespaceIdentifier; // something like lively.Core\n var namespacePrefix;\n if (!this.isAnonymous()) {\n url = this.findUri(optType);\n } else {\n if (id.startsWith('Global.')) namespacePrefix = 'Global.';\n else throw dbgOn(new Error('unknown namespaceIdentifier'));\n url = lively.Config.codeBase + this.namespaceIdentifier.substr(namespacePrefix.length).replace(/\\./g, '/');\n }\n\n this.__cachedUri = url;\n return url;\n }\n },\n relativePath: function(optType) {\n return new URL(this.uri(optType)).relativePathFrom(URL.codeBase);\n },\n\n lastPart: function() {\n return this.name().match(/[^.]+$/)[0];\n }\n\n},\n'module dependencies', {\n addDependendModule: function(depModule) {\n if (!this.dependendModules) this.dependendModules = [];\n this.dependendModules.push(depModule);\n\n // keep a copy of the dependencies for debugging\n if (!this.debugDependendModules) this.debugDependendModules = [];\n this.debugDependendModules.push(depModule);\n },\n\n informDependendModules: function() {\n if (!this.dependendModules) return;\n var deps = this.dependendModules.uniq();\n this.dependendModules = [];\n deps.forEach(function(ea) { ea.removeRequiredModule(this) }, this);\n },\n\n traceDependendModules: function(visited) {\n visited = visited || [];\n var deps = this.debugDependendModules || [];\n deps = deps.withoutAll(visited)\n visited.push(this);\n return [this.namespaceIdentifier, deps.collect(function(ea) {\n return ea.traceDependendModules(visited)\n })]\n },\n\n addRequiredModule: function(requiredModule) {\n // privateRequirements is just for keeping track later on\n if (!this.privateRequirements) this.privateRequirements = [];\n this.privateRequirements.push(requiredModule);\n\n if (requiredModule.isLoaded()) return;\n if (!this.pendingRequirements) this.pendingRequirements = [];\n this.pendingRequirements.push(requiredModule);\n requiredModule.addDependendModule(this);\n },\n\n removeRequiredModule: function(requiredModule) {\n if (this.pendingRequirements && !this.pendingRequirements.include(requiredModule))\n throw dbgOn(new Error('requiredModule not there'));\n this.pendingRequirements = this.pendingRequirements.without(requiredModule);\n if (!this.hasPendingRequirements()) {\n this.load();\n }\n },\n\n pendingRequirementNames: function() {\n if (!this.pendingRequirements) return [];\n return this.pendingRequirements.collect(function(ea) { return ea.uri() });\n },\n\n hasPendingRequirements: function() {\n return this.pendingRequirements && this.pendingRequirements.length > 0;\n },\n\n loadRequirementsFirst: function() {\n this.pendingRequirements && this.pendingRequirements.invoke('load');\n },\n\n wasRequiredBy: function() {\n return Global.subNamespaces(true).select(function(m) {\n return m.privateRequirements && m.privateRequirements.include(this);\n }, this);\n },\n},\n'load callbacks', {\n addOnloadCallback: function(cb) {\n if (!this.callbacks) this.callbacks = [];\n this.callbacks.push(cb);\n },\n\n runOnloadCallbacks: function() {\n if (!this.callbacks) return;\n var cb;\n while (cb = this.callbacks.shift()) {\n try {cb()} catch(e) {\n this.logError('runOnloadCallbacks: ' + cb.name + ': ' + e);\n throw e\n }\n };\n },\n\n isAnonymous: function() {\n return this._isAnonymous\n },\n\n},\n'testing', {\n isLoaded: function() {\n return this._isLoaded;\n },\n\n isLoading: function() {\n if (this.isLoaded()) return false;\n if (this.uri().include('anonymous')) return true;\n return JSLoader.scriptInDOM(this.uri());\n },\n\n isAnonymous: function() {\n return this._isAnonymous\n },\n\n},\n'loading', {\n load: function(loadSync) {\n if (loadSync) {\n var prevWasSync = this.constructor.loadSync;\n this.constructor.loadSync = true;\n }\n if (this.isLoaded()) {\n this.runOnloadCallbacks();\n return;\n }\n if (this.isLoading() && this.wasDefined && !this.hasPendingRequirements()) {\n this.runOnloadCallbacks();\n // time is not only the time needed for the request and code evaluation\n // but the complete time span from the creation of the module (when the module is first encountered)\n // to evaluation the evaluation of its code, including load time of all requirements\n var time = this.createTime ? new Date() - this.createTime : 'na';\n console.log(this.uri() + ' loaded in ' + time + ' ms');\n this.informDependendModules();\n return;\n }\n if (this.isLoading()) {\n this.loadRequirementsFirst();\n return;\n }\n JSLoader.loadJs(this.uri(), null, this.constructor.loadSync);\n if (loadSync) this.constructor.loadSync = prevWasSync;\n },\n\n activate: function() {\n this.constructor.namespaceStack.push(this);\n },\n\n deactivate: function() {\n var m = this.constructor.namespaceStack.pop();\n if (m !== this)\n throw new Error('Wrong module: ' + this.namespaceIdentifier +\n ' instead of expected ' + m.namespaceIdentifier )\n },\n},\n'removing', {\n remove: function() {\n var ownerNamespace = Class.namespaceFor(this.namespaceIdentifier),\n ownName = Class.unqualifiedNameFor(this.namespaceIdentifier)\n JSLoader.removeAllScriptsThatLinkTo(this.uri());\n delete ownerNamespace[ownName];\n },\n removeScriptNode: function() {\n var node = document.getElementById(this.uri());\n if (!node) return\n node.parentNode.removeChild(node);\n },\n},\n'debugging', {\n toString: function() { return 'module(' + this.namespaceIdentifier + ')' },\n inspect: function() { this.toString() + ' defined at ' + this.defStack },\n logError: function(e, optCode) {\n var list = this.traceDependendModules();\n var msg = 'Error while loading ' + this.moduleName + ': ' + e;\n msg += '\\ndependencies: ' + Strings.printNested(list)\n if (Global.lively && lively.morphic && lively.morphic.World && lively.morphic.World.current() && lively.morphic.World.current().logError)\n lively.morphic.World.current().logError(e)\n\n if (e.stack) msg = msg + e.stack;\n\n if (optCode)\n msg += \"code:\\n\" + optCode;\n console.error(msg);\n dbgOn(true);\n },\n});\n\nObject.extend(Namespace, {\n namespaceStack: [Global],\n current: function() { return this.namespaceStack.last() },\n topologicalSortLoadedModules: function() {\n if (lively.Config.standAlone) {\n var scripIds = [];\n $('body script').each(function() { scripIds.push($(this).attr('id')) });\n return scripIds.collect(function(id) {\n var name = id.replace(/^..\\//, '');\n return module(name);\n });\n }\n\n // get currently loaded modules that really are js files\n var modules = Global.subNamespaces(true)\n .reject(function(ea) { return ea.isAnonymous(); })\n .select(function(ea) {\n return ea.isLoaded() && new WebResource(ea.uri()).exists() });\n\n // topological sort modules according to their requirements\n var sortedModules = [], i = 0;\n while (i < 1000 && modules.length > 0) {\n i++;\n var canBeLoaded = modules.select(function(module) {\n if (!module.privateRequirements) return true;\n return module.privateRequirements.all(function(requirement) {\n return sortedModules.include(requirement) })\n })\n sortedModules = sortedModules.concat(canBeLoaded);\n modules = modules.withoutAll(canBeLoaded);\n }\n if (modules.length > 0)\n throw new Error('Cannot find dependencies for all modules!');\n\n return sortedModules;\n },\n\n bootstrapModules: function() {\n // return a string to include in bootstrap.js\n var urls = this.topologicalSortLoadedModules()\n .collect(function(ea) { return new URL(ea.uri()).relativePathFrom(URL.codeBase) })\n // omit modules outside of core\n .reject(function(path) { return path.startsWith('..') });\n var manual = [LivelyLoader.libsFile,\n 'lively/Migration.js',\n 'lively/JSON.js',\n 'lively/lang/Object.js',\n 'lively/lang/Function.js',\n 'lively/lang/String.js',\n 'lively/lang/Array.js',\n 'lively/lang/Number.js',\n 'lively/lang/Date.js',\n 'lively/defaultconfig.js',\n 'lively/localconfig.js',\n 'lively/Base.js',\n 'lively/lang/Closure.js', // FIXME: require module instead\n 'lively/lang/UUID.js', // FIXME: require module instead\n 'lively/LocalStorage.js'];\n urls = manual.concat(urls);\n return urls;\n },\n\n bootstrapModulesString: function() {\n var urls = this.bootstrapModules();\n return '[\\'' + urls.join('\\', \\'') + '\\']';\n }\n});\n\n(function createLivelyNamespace(Global) {\n // namespace('lively.lang');\n var preExistingLively = Global.lively;\n delete Global.lively;\n var lively = new Global.Namespace(Global, 'lively');\n // FIXME this is just a hack to get properties of a potentially\n // predefined \"lively\" object over to the namespace lively object\n // namespaces should deal with this in general\n if (preExistingLively) {\n for (var name in preExistingLively) {\n lively[name] = preExistingLively[name];\n }\n }\n Global.lively = lively;\n})(Global);\n\n(function moveNamespaceClassToLivelyLang(Global) {\n var lively = Global.lively,\n Namespace = Global.Namespace;\n lively.lang = new Namespace(lively, 'lang');\n lively.lang.Namespace = Namespace;\n // alias\n lively.Module = lively.lang.Namespace;\n delete Global.Namespace;\n})(Global);\n\n(function addUsefulStuffToLivelyNS(Global, lively) {\n lively.assert = Global.assert;\n})(Global, lively);\n\nObject.extend(lively.Module, {\n findAllInThenDo: function(url, callback) {\n var dir = new URL(url).getDirectory();\n if (url.isLeaf()) {\n throw new Error(url + ' is not a directory!');\n }\n var webR = dir.asWebResource();\n lively.bindings.connect(webR, 'subDocuments', {onLoad: function(files) {\n var moduleNames = files.invoke('getURL') .invoke('asModuleName'),\n modules = moduleNames.collect(function(name) { return module(name); })\n callback(modules);\n }}, 'onLoad');\n webR.getSubElements();\n }\n});\n\n(function setupLivelyLang(lively) {\n lively.lang.Execution = {\n showStack: Functions.Null,\n resetDebuggingStack: Functions.Null,\n installStackTracers: Functions.Null\n };\n lively.lang.let = function(/** **/) {\n // lively.lang.let(y, function(x) { body }) is equivalent to { let y = x; body; }\n return arguments[arguments.length - 1].apply(this, arguments);\n }\n})(lively);\n\n/*\n * Stack Viewer when Dan's StackTracer is not available\n * FIXME rk: move this to Helper.js?\n */\nfunction getStack() {\n var result = [];\n for(var caller = arguments.callee.caller; caller; caller = caller.caller) {\n if (result.indexOf(caller) != -1) {\n result.push({name: \"recursive call can't be traced\"});\n break;\n }\n result.push(caller);\n };\n return result;\n};\n\nfunction printStack() {\n function guessFunctionName(func) {\n var qName = func.qualifiedMethodName && func.qualifiedMethodName(),\n regExpRes = func.toString().match(/function (.+)\\(/);\n return qName || (regExpRes && regExpRes[1]) || func;\n };\n\n var string = \"== Stack ==\\n\",\n stack = getStack();\n stack.shift(); // for getStack\n stack.shift(); // for printStack (me)\n var indent = \"\";\n for (var i=0; i < stack.length; i++) {\n string += indent + i + \": \" +guessFunctionName(stack[i]) + \"\\n\";\n indent += \" \";\n };\n return string;\n};\n\nfunction logStack() {\n this.console.log(printStack());\n};\n\n(function setupjQuery(Global) {\n var lively = Global.lively,\n jQuery = Global.jQuery;\n // we still are adding jQuery to Global but this is DEPRECATED\n // We need to be able to run with libraries requiring different jQuery versions\n // so we will restrict \"our\" to lively.$ in the future\n Global.$ = lively.$ = jQuery.noConflict(/*true -- really removes $*/);\n})(Global);","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1254":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1255":{"morph":{"__isSmartRef__":true,"id":1251},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1256":{"scaleVertical":true,"scaleHorizontal":true},"1257":{"sourceObj":{"__isSmartRef__":true,"id":1251},"sourceAttrName":"textString","targetObj":{"__isSmartRef__":true,"id":1251},"targetMethodName":"highlightSyntaxDebounced","varMapping":{"__isSmartRef__":true,"id":1258},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1258":{"source":{"__isSmartRef__":true,"id":1251},"target":{"__isSmartRef__":true,"id":1251}},"1259":{"sourceObj":{"__isSmartRef__":true,"id":1251},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":727},"targetMethodName":"setSourceString","varMapping":{"__isSmartRef__":true,"id":1260},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1260":{"source":{"__isSmartRef__":true,"id":1251},"target":{"__isSmartRef__":true,"id":727}},"1261":{"source":{"__isSmartRef__":true,"id":727},"target":{"__isSmartRef__":true,"id":1251}},"1262":{"sourceObj":{"__isSmartRef__":true,"id":727},"sourceAttrName":"targetURL","targetObj":{"__isSmartRef__":true,"id":720},"targetMethodName":"setTextString","varMapping":{"__isSmartRef__":true,"id":1263},"updaterString":"function ($upd, value) { value && $upd(String(value)) }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1263":{"source":{"__isSmartRef__":true,"id":727},"target":{"__isSmartRef__":true,"id":720}},"1264":{"source":{"__isSmartRef__":true,"id":720},"target":{"__isSmartRef__":true,"id":727}},"1265":{"submorphs":[{"__isSmartRef__":true,"id":1266}],"scripts":[],"shape":{"__isSmartRef__":true,"id":1271},"eventHandler":{"__isSmartRef__":true,"id":1272},"_ClipMode":"visible","derivationIds":[],"id":"F84A7870-0CD0-4933-A064-14B392906AE5","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"__serializedExpressions__":["_Position"],"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":1266},"_PreviousBorderWidth":1,"owner":{"__isSmartRef__":true,"id":719},"attributeConnections":[{"__isSmartRef__":true,"id":1273}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"layout":{"__isSmartRef__":true,"id":1275},"isPressed":false,"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(453.6,0.0)"},"1266":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":1267},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":1268}],"eventHandler":{"__isSmartRef__":true,"id":1270},"_ClipMode":"hidden","derivationIds":[],"id":"0D3B0DE5-4E7B-44FA-A13F-C04DCE7C46CB","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":8,"__serializedExpressions__":["_TextColor"],"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":1265},"isLabel":true,"_Align":"center","eventsAreIgnored":true,"_TextStylingMode":true,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(0,0,0)"},"1267":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(68.0,21.5)","_Padding":"lively.rect(2,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"1268":{"style":{"__isSmartRef__":true,"id":1269},"chunkOwner":{"__isSmartRef__":true,"id":1266},"_id":"_19","storedString":"Codebase","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1269":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1270":{"morph":{"__isSmartRef__":true,"id":1266},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1271":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":1,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(68.0,21.5)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"1272":{"morph":{"__isSmartRef__":true,"id":1265},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1273":{"sourceObj":{"__isSmartRef__":true,"id":1265},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":727},"targetMethodName":"setTargetURL","varMapping":{"__isSmartRef__":true,"id":1274},"converterString":"function () { return URL.codeBase.withFilename('lively/')}","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1274":{"source":{"__isSmartRef__":true,"id":1265},"target":{"__isSmartRef__":true,"id":727}},"1275":{"scaleVertical":true,"scaleHorizontal":true},"1276":{"submorphs":[{"__isSmartRef__":true,"id":1277}],"scripts":[],"shape":{"__isSmartRef__":true,"id":1282},"eventHandler":{"__isSmartRef__":true,"id":1283},"_ClipMode":"visible","derivationIds":[],"id":"76FD453E-8341-4C59-9172-F6CA84181018","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"__serializedExpressions__":["_Position"],"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":1277},"_PreviousBorderWidth":1,"owner":{"__isSmartRef__":true,"id":719},"attributeConnections":[{"__isSmartRef__":true,"id":1284}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"layout":{"__isSmartRef__":true,"id":1286},"isPressed":false,"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(521.6,0.0)"},"1277":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":1278},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":1279}],"eventHandler":{"__isSmartRef__":true,"id":1281},"_ClipMode":"hidden","derivationIds":[],"id":"12D4B8D8-0617-492D-B4C6-9856DCF8A53E","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":8,"__serializedExpressions__":["_TextColor"],"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":1276},"isLabel":true,"_Align":"center","eventsAreIgnored":true,"_TextStylingMode":true,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(0,0,0)"},"1278":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(45.4,21.5)","_Padding":"lively.rect(2,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"1279":{"style":{"__isSmartRef__":true,"id":1280},"chunkOwner":{"__isSmartRef__":true,"id":1277},"_id":"_20","storedString":"Local","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1280":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1281":{"morph":{"__isSmartRef__":true,"id":1277},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1282":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":1,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(45.4,21.5)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"1283":{"morph":{"__isSmartRef__":true,"id":1276},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1284":{"sourceObj":{"__isSmartRef__":true,"id":1276},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":727},"targetMethodName":"setTargetURL","varMapping":{"__isSmartRef__":true,"id":1285},"converterString":"function () {\n return $world.getUserName() ? $world.getUserDir() : URL.source.getDirectory() }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1285":{"source":{"__isSmartRef__":true,"id":1276},"target":{"__isSmartRef__":true,"id":727}},"1286":{"scaleVertical":true,"scaleHorizontal":true},"1287":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":1288},"eventHandler":{"__isSmartRef__":true,"id":1293},"_ClipMode":"visible","derivationIds":[],"id":"117A6CC2-6987-4887-A8B6-11F8BB9EB4D2","droppingEnabled":true,"halosEnabled":true,"draggingEnabled":true,"__serializedExpressions__":["_Position"],"fixed":[{"__isSmartRef__":true,"id":729},{"__isSmartRef__":true,"id":743},{"__isSmartRef__":true,"id":757},{"__isSmartRef__":true,"id":771},{"__isSmartRef__":true,"id":785},{"__isSmartRef__":true,"id":799},{"__isSmartRef__":true,"id":813}],"scalingBelow":[{"__isSmartRef__":true,"id":1251}],"scalingAbove":[{"__isSmartRef__":true,"id":833},{"__isSmartRef__":true,"id":1118},{"__isSmartRef__":true,"id":1193},{"__isSmartRef__":true,"id":1222}],"minHeight":20,"pointerConnection":null,"owner":{"__isSmartRef__":true,"id":719},"styleClass":["Browser_resizer"],"layout":{"__isSmartRef__":true,"id":1294},"__LivelyClassName__":"lively.morphic.HorizontalDivider","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,315.0)"},"1288":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"_Fill":{"__isSmartRef__":true,"id":1289},"_BorderRadius":3,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(567.0,7.2)","_Padding":"lively.rect(0,0,0,0)"},"1289":{"stops":[{"__isSmartRef__":true,"id":1290},{"__isSmartRef__":true,"id":1291},{"__isSmartRef__":true,"id":1292}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"1290":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(235,235,235)"},"1291":{"offset":0.5,"__serializedExpressions__":["color"],"color":"Color.rgb(215,215,215)"},"1292":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(184,184,184)"},"1293":{"morph":{"__isSmartRef__":true,"id":1287},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1294":{"scaleVertical":true,"scaleHorizontal":true},"1295":{"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(567.0,716.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(230,230,230)"},"1296":{"morph":{"__isSmartRef__":true,"id":719},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1297":{"resizeWidth":true,"resizeHeight":true,"adjustForNewBounds":true},"1298":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":1299},"eventHandler":{"__isSmartRef__":true,"id":1300},"_ClipMode":"visible","derivationIds":[],"id":"BC9A27CF-5141-4DAF-AA4D-E65A6D397C0C","droppingEnabled":true,"halosEnabled":true,"_StyleClassNames":["reframe-handle corner"],"owner":{"__isSmartRef__":true,"id":620},"dragStartPoint":null,"originalTargetExtent":null,"__serializedExpressions__":["_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1301},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(561.0,728.0)"},"1299":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(14.0,14.0)","_Padding":"lively.rect(0,0,0,0)"},"1300":{"morph":{"__isSmartRef__":true,"id":1298},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1301":{"onDragStart":{"__isSmartRef__":true,"id":1302},"onDrag":{"__isSmartRef__":true,"id":1309},"onDragEnd":{"__isSmartRef__":true,"id":1316}},"1302":{"varMapping":{"__isSmartRef__":true,"id":1303},"source":"function onDragStart(evt) {\n this.dragStartPoint = evt.mousePoint;\n this.originalTargetExtent = this.owner.getExtent();\n }","funcProperties":{"__isSmartRef__":true,"id":1308},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1303":{"this":{"__isSmartRef__":true,"id":1298},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1304}},"1304":{"$super":{"__isSmartRef__":true,"id":1305}},"1305":{"varMapping":{"__isSmartRef__":true,"id":1306},"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":1307},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1306":{"obj":{"__isSmartRef__":true,"id":1298},"name":"onDragStart"},"1307":{},"1308":{},"1309":{"varMapping":{"__isSmartRef__":true,"id":1310},"source":"function onDrag(evt) {\n var moveDelta = evt.mousePoint.subPt(this.dragStartPoint)\n var newExtent = this.originalTargetExtent.addPt(moveDelta);\n if (newExtent.x < this.owner.minWidth) newExtent.x = this.owner.minWidth;\n if (newExtent.y < this.owner.minHeight) newExtent.y = this.owner.minHeight;\n this.owner.setExtent(newExtent);\n //console.log(\"WindowExtent: \"+this.owner.getExtent().x+\" , \"+this.owner.getExtent().y);\n this.align(this.bounds().bottomRight(), this.owner.getExtent());\n }","funcProperties":{"__isSmartRef__":true,"id":1315},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1310":{"this":{"__isSmartRef__":true,"id":1298},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1311}},"1311":{"$super":{"__isSmartRef__":true,"id":1312}},"1312":{"varMapping":{"__isSmartRef__":true,"id":1313},"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":1314},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1313":{"obj":{"__isSmartRef__":true,"id":1298},"name":"onDrag"},"1314":{},"1315":{},"1316":{"varMapping":{"__isSmartRef__":true,"id":1317},"source":"function onDragEnd(evt) {\n this.dragStartPoint = null;\n this.originalTargetExtent = null;\n this.owner.alignBottomReframeHandle();\n this.owner.alignRightReframeHandle();\n }","funcProperties":{"__isSmartRef__":true,"id":1322},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1317":{"this":{"__isSmartRef__":true,"id":1298},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1318}},"1318":{"$super":{"__isSmartRef__":true,"id":1319}},"1319":{"varMapping":{"__isSmartRef__":true,"id":1320},"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":1321},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1320":{"obj":{"__isSmartRef__":true,"id":1298},"name":"onDragEnd"},"1321":{},"1322":{},"1323":{"_BorderWidth":0,"_Fill":null,"_StrokeOpacity":0,"_BorderRadius":0,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__serializedExpressions__":["_Padding","_Extent"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Padding":"lively.rect(0,0,0,0)","_Extent":"lively.pt(575.0,742.0)"},"1324":{"morph":{"__isSmartRef__":true,"id":620},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1325":{"adjustForNewBounds":true},"1326":{"source":{"__isSmartRef__":true,"id":75},"target":{"__isSmartRef__":true,"id":82}},"1327":{"submorphs":[{"__isSmartRef__":true,"id":1328}],"scripts":[],"shape":{"__isSmartRef__":true,"id":1333},"eventHandler":{"__isSmartRef__":true,"id":1334},"_ClipMode":"visible","derivationIds":[],"id":"5723C642-355F-426B-BABA-7C5589800F4E","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":1328},"_PreviousBorderWidth":1,"owner":{"__isSmartRef__":true,"id":74},"attributeConnections":[{"__isSmartRef__":true,"id":1335}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"layout":{"__isSmartRef__":true,"id":1337},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(453.6,0.0)"},"1328":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":1329},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":1330}],"eventHandler":{"__isSmartRef__":true,"id":1332},"_ClipMode":"hidden","derivationIds":[],"id":"F1687E1A-EC9B-4F4D-83EE-A039957CF450","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":8,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":1327},"isLabel":true,"_Align":"center","eventsAreIgnored":true,"_TextStylingMode":true,"__serializedExpressions__":["_TextColor"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(0,0,0)"},"1329":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(68.0,21.5)","_Padding":"lively.rect(2,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"1330":{"style":{"__isSmartRef__":true,"id":1331},"chunkOwner":{"__isSmartRef__":true,"id":1328},"_id":"_19961","storedString":"Codebase","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1331":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1332":{"morph":{"__isSmartRef__":true,"id":1328},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1333":{"_BorderWidth":1,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(68.0,21.5)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"1334":{"morph":{"__isSmartRef__":true,"id":1327},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1335":{"sourceObj":{"__isSmartRef__":true,"id":1327},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":82},"targetMethodName":"setTargetURL","varMapping":{"__isSmartRef__":true,"id":1336},"converterString":"function () { return URL.codeBase.withFilename('lively/')}","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1336":{"source":{"__isSmartRef__":true,"id":1327},"target":{"__isSmartRef__":true,"id":82}},"1337":{"scaleVertical":true,"scaleHorizontal":true},"1338":{"submorphs":[{"__isSmartRef__":true,"id":1339}],"scripts":[],"shape":{"__isSmartRef__":true,"id":1344},"eventHandler":{"__isSmartRef__":true,"id":1345},"_ClipMode":"visible","derivationIds":[],"id":"800C360C-3A25-4BB0-9883-331F0656B65C","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":1339},"_PreviousBorderWidth":1,"owner":{"__isSmartRef__":true,"id":74},"attributeConnections":[{"__isSmartRef__":true,"id":1346}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"layout":{"__isSmartRef__":true,"id":1348},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(521.6,0.0)"},"1339":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":1340},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":1341}],"eventHandler":{"__isSmartRef__":true,"id":1343},"_ClipMode":"hidden","derivationIds":[],"id":"61879C94-ACF2-408A-889F-48389A21D35F","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":8,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":1338},"isLabel":true,"_Align":"center","eventsAreIgnored":true,"_TextStylingMode":true,"__serializedExpressions__":["_TextColor"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(0,0,0)"},"1340":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(45.4,21.5)","_Padding":"lively.rect(2,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"1341":{"style":{"__isSmartRef__":true,"id":1342},"chunkOwner":{"__isSmartRef__":true,"id":1339},"_id":"_19962","storedString":"Local","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1342":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1343":{"morph":{"__isSmartRef__":true,"id":1339},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1344":{"_BorderWidth":1,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(45.4,21.5)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"1345":{"morph":{"__isSmartRef__":true,"id":1338},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1346":{"sourceObj":{"__isSmartRef__":true,"id":1338},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":82},"targetMethodName":"setTargetURL","varMapping":{"__isSmartRef__":true,"id":1347},"converterString":"function () {\n return $world.getUserName() ? $world.getUserDir() : URL.source.getDirectory() }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1347":{"source":{"__isSmartRef__":true,"id":1338},"target":{"__isSmartRef__":true,"id":82}},"1348":{"scaleVertical":true,"scaleHorizontal":true},"1349":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":1350},"eventHandler":{"__isSmartRef__":true,"id":1355},"_ClipMode":"visible","derivationIds":[],"id":"99B6D8D5-F7DB-4090-B499-3A1D6C24BCEF","droppingEnabled":true,"halosEnabled":true,"draggingEnabled":true,"fixed":[{"__isSmartRef__":true,"id":84},{"__isSmartRef__":true,"id":98},{"__isSmartRef__":true,"id":112},{"__isSmartRef__":true,"id":126},{"__isSmartRef__":true,"id":140},{"__isSmartRef__":true,"id":154},{"__isSmartRef__":true,"id":168}],"scalingBelow":[{"__isSmartRef__":true,"id":69}],"scalingAbove":[{"__isSmartRef__":true,"id":189},{"__isSmartRef__":true,"id":481},{"__isSmartRef__":true,"id":557},{"__isSmartRef__":true,"id":588}],"minHeight":20,"pointerConnection":null,"owner":{"__isSmartRef__":true,"id":74},"styleClass":["Browser_resizer"],"layout":{"__isSmartRef__":true,"id":1356},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.HorizontalDivider","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,315.0)"},"1350":{"_Fill":{"__isSmartRef__":true,"id":1351},"_BorderRadius":3,"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(567.0,7.2)","_Padding":"lively.rect(0,0,0,0)"},"1351":{"stops":[{"__isSmartRef__":true,"id":1352},{"__isSmartRef__":true,"id":1353},{"__isSmartRef__":true,"id":1354}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"1352":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(235,235,235)"},"1353":{"offset":0.5,"__serializedExpressions__":["color"],"color":"Color.rgb(215,215,215)"},"1354":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(184,184,184)"},"1355":{"morph":{"__isSmartRef__":true,"id":1349},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1356":{"scaleVertical":true,"scaleHorizontal":true},"1357":{"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(567.0,716.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(230,230,230)"},"1358":{"morph":{"__isSmartRef__":true,"id":74},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1359":{"resizeWidth":true,"resizeHeight":true,"adjustForNewBounds":true},"1360":{"scaleVertical":true,"scaleHorizontal":true},"1361":{"sourceObj":{"__isSmartRef__":true,"id":69},"sourceAttrName":"textString","targetObj":{"__isSmartRef__":true,"id":69},"targetMethodName":"highlightSyntaxDebounced","varMapping":{"__isSmartRef__":true,"id":1362},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1362":{"source":{"__isSmartRef__":true,"id":69},"target":{"__isSmartRef__":true,"id":69}},"1363":{"sourceObj":{"__isSmartRef__":true,"id":69},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":82},"targetMethodName":"setSourceString","varMapping":{"__isSmartRef__":true,"id":1364},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1364":{"source":{"__isSmartRef__":true,"id":69},"target":{"__isSmartRef__":true,"id":82}},"1365":{"submorphs":[{"__isSmartRef__":true,"id":1366}],"scripts":[],"id":"767E289E-BB3E-4DB3-8C01-373DFFC3B1F8","shape":{"__isSmartRef__":true,"id":3374},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"Rectangle","partsBinMetaInfo":{"__isSmartRef__":true,"id":3375},"eventHandler":{"__isSmartRef__":true,"id":3388},"attributeConnections":[],"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","C284F4DE-14F1-43C2-A4D0-1BAE909D98DA","9EEF20FD-27E3-4A31-8DBC-36073E64666F","283BD2F7-EFEE-4D83-876B-A8F2BD099B93","50245F69-C51D-40B5-BFD8-EE4870A65AF5","410821C9-3A7A-4ACB-8AEF-6B82AAB72D55","EFEAD1DE-A920-4272-BB24-C0361CBF2906","A5D165E3-E5BD-43E3-B6B0-9C23B5CC1964","6CC2F1A6-9C53-4980-80E4-0167A10F9942","95406291-4689-49C6-ADE6-C2C642AC0B5C","33084DB2-FE6B-44DA-AF4A-5C017450FC97","46D25FF6-F6EA-49A2-B643-59628686B2DC","9648CC00-8E9E-4911-A41B-46CED518B0D3","E1275348-0270-4F01-BE65-8C80AC5A5588","734AED0F-F7BE-44E8-92CE-86F1AE7F6D55","42AD8A44-C2B7-462F-89AE-4AE94C29A9D5","9548995B-025B-42CC-9DC4-44999A80E52F","0AA45256-249A-420C-A183-0A3BE69F95C6","3FF6DBA9-F3C1-4D0D-999B-981406660635","5BDFFDB8-16A6-4122-8CF6-2EC7C7CFA0DE","F73CBC23-DED8-4667-B4C4-4842BBD64AF5","F4E6EC9B-F4BE-4249-AB50-3EE510BF3ACD","5E0F549D-154A-4598-972D-7FB5D7EB2597","4EFF8DE7-D20D-4C65-B931-9AE67A17ABAD","81382340-4F55-428F-8FA9-23679D643920","12AEE6D1-BD69-4690-84DC-EBFC54F436CF","C434C7E8-49F2-4EDF-AA66-363EDB6AA0F8","EE756834-F5B4-47EB-993C-83C2B8B448FB","3DAC0D13-C416-4EF8-9BA1-62A438291A79","34E85AE0-DDA3-4AA1-B38C-895F46CE103C","4166C41F-80E0-4ABF-B227-790BA8E282AB","D6333D2B-EC4C-477A-8510-2F6A8697533E","6844D2AF-106E-4F2C-AE50-A7E19C08F587","736BBE17-08F6-471F-A1EC-85B517B8ADA2"],"partTests":{"__isSmartRef__":true,"id":3389},"_ClipMode":"auto","moved":true,"owner":{"__isSmartRef__":true,"id":11},"layout":{"__isSmartRef__":true,"id":3394},"isBeingDragged":false,"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(8.1,41.2)"},"1366":{"item":{"__isSmartRef__":true,"id":1367},"parent":null,"depth":0,"submorphs":[{"__isSmartRef__":true,"id":1371},{"__isSmartRef__":true,"id":1420},{"__isSmartRef__":true,"id":1469},{"__isSmartRef__":true,"id":1524},{"__isSmartRef__":true,"id":1579},{"__isSmartRef__":true,"id":1628},{"__isSmartRef__":true,"id":1675},{"__isSmartRef__":true,"id":1730},{"__isSmartRef__":true,"id":1785},{"__isSmartRef__":true,"id":1840},{"__isSmartRef__":true,"id":1889},{"__isSmartRef__":true,"id":1938},{"__isSmartRef__":true,"id":1993},{"__isSmartRef__":true,"id":2042},{"__isSmartRef__":true,"id":2091},{"__isSmartRef__":true,"id":2140},{"__isSmartRef__":true,"id":2189},{"__isSmartRef__":true,"id":2244},{"__isSmartRef__":true,"id":2293},{"__isSmartRef__":true,"id":2342},{"__isSmartRef__":true,"id":2391},{"__isSmartRef__":true,"id":2446},{"__isSmartRef__":true,"id":2495},{"__isSmartRef__":true,"id":2550},{"__isSmartRef__":true,"id":2599},{"__isSmartRef__":true,"id":2654},{"__isSmartRef__":true,"id":2764},{"__isSmartRef__":true,"id":2813},{"__isSmartRef__":true,"id":2868},{"__isSmartRef__":true,"id":2923},{"__isSmartRef__":true,"id":2972},{"__isSmartRef__":true,"id":3021},{"__isSmartRef__":true,"id":3076},{"__isSmartRef__":true,"id":3131},{"__isSmartRef__":true,"id":3182},{"__isSmartRef__":true,"id":3237},{"__isSmartRef__":true,"id":3286},{"__isSmartRef__":true,"id":2709}],"scripts":[],"shape":{"__isSmartRef__":true,"id":3349},"derivationIds":[null,"01A6356E-C15D-4F8D-BBB6-8680B231177D","8C1A96D3-6843-4386-9FC2-67909491ADEA","B85242E4-52C0-4A2B-9704-D5973B5BE1FE","8674A527-60C2-400B-82C8-B9209A0E288F","A851FE58-8397-4F98-BAE6-339C4926C930","2F1F744A-AA0E-4AB5-9D27-2EF1599780DD","98C0C210-DC70-452B-B05C-3B97B6CC4501","2D252C30-0809-4CDD-85A6-224D3B4186DC","5D83B1E4-35D8-403E-BABC-68E6E581B41C","48C1E58B-63D5-4C4B-A618-49EC747D4D2A","18F7D7DD-933D-4F14-AD42-27D4E5007E90","C7B88DEE-33BC-4C19-A8CA-C875519F03FB","B9610924-8476-414F-AF8C-4B18464386B1","3CBB6CB7-B377-4C0F-8906-7D0EBB8C1EB9","4EB0E124-3A4F-4BAB-ADCC-90E994E6F063","2248AE83-905F-4289-9C28-C08A0CE81D44","6722763D-AF2A-4186-AC25-1BCFCDD5D86F","3CC06143-943E-49E6-BBEF-094170056209","81130FBB-61ED-4567-BF03-7DA1DF84A8B8","445967DD-B3DE-4549-925F-75F5850757D7","FB1B17A2-78E6-46AD-B956-557B044AFE3F","BC5F0D9A-7059-4A21-B6D5-FD24FD58EB94","B57AF529-0187-4F02-8B37-5C01BCE44F88","D8021CB8-17EB-4641-A33A-60581D80E90A","48211CBE-B665-47DE-8B09-EA18C5A80082","0963EBD4-CBC3-47DD-AAFD-1329BF14A381","A5F36FD3-A2CC-4060-9A35-17A942EE2967","CB01C699-0407-4F5A-8D3C-2CDE89925CAB","04B7E806-6576-41C5-AEB1-1815818472C1","A5350C62-3BC3-4C49-B830-E903AC65A5FA","53F7D5D3-C850-46ED-B54F-3C64A6AE9D53","5CE8A645-6B3E-4F01-ACA1-0DDCCD0BBDB2","1035DB0D-166B-4586-BFE7-C3E0DA40840D"],"id":"83DF8BAC-F39E-495F-A4B2-76E6F3E7A165","eventHandler":{"__isSmartRef__":true,"id":3350},"_ClipMode":"visible","droppingEnabled":true,"halosEnabled":true,"layout":{"__isSmartRef__":true,"id":3351},"isInLayoutCycle":true,"draggingEnabled":false,"dragAndDrop":true,"childNodes":[{"__isSmartRef__":true,"id":1371},{"__isSmartRef__":true,"id":1420},{"__isSmartRef__":true,"id":1469},{"__isSmartRef__":true,"id":1524},{"__isSmartRef__":true,"id":1579},{"__isSmartRef__":true,"id":1628},{"__isSmartRef__":true,"id":1675},{"__isSmartRef__":true,"id":1730},{"__isSmartRef__":true,"id":1785},{"__isSmartRef__":true,"id":1840},{"__isSmartRef__":true,"id":1889},{"__isSmartRef__":true,"id":1938},{"__isSmartRef__":true,"id":1993},{"__isSmartRef__":true,"id":2042},{"__isSmartRef__":true,"id":2091},{"__isSmartRef__":true,"id":2140},{"__isSmartRef__":true,"id":2189},{"__isSmartRef__":true,"id":2244},{"__isSmartRef__":true,"id":2293},{"__isSmartRef__":true,"id":2342},{"__isSmartRef__":true,"id":2391},{"__isSmartRef__":true,"id":2446},{"__isSmartRef__":true,"id":2495},{"__isSmartRef__":true,"id":2550},{"__isSmartRef__":true,"id":2599},{"__isSmartRef__":true,"id":2654},{"__isSmartRef__":true,"id":2709},{"__isSmartRef__":true,"id":2764},{"__isSmartRef__":true,"id":2813},{"__isSmartRef__":true,"id":2868},{"__isSmartRef__":true,"id":2923},{"__isSmartRef__":true,"id":2972},{"__isSmartRef__":true,"id":3021},{"__isSmartRef__":true,"id":3076},{"__isSmartRef__":true,"id":3131},{"__isSmartRef__":true,"id":3182},{"__isSmartRef__":true,"id":3237},{"__isSmartRef__":true,"id":3286}],"icon":{"__isSmartRef__":true,"id":3354},"label":{"__isSmartRef__":true,"id":3360},"owner":{"__isSmartRef__":true,"id":1365},"isBeingDragged":false,"attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"showsHalos":false,"name":"ObjectInspectorTree","node":null,"showMoreNode":null,"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3369},"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(-2.0,0.0)"},"1367":{"data":{"__isSmartRef__":true,"id":69},"inspector":{"__isSmartRef__":true,"id":11},"parent":{"__isSmartRef__":true,"id":1368},"description":"Text","children":[{"__isSmartRef__":true,"id":1369},{"__isSmartRef__":true,"id":1418},{"__isSmartRef__":true,"id":1467},{"__isSmartRef__":true,"id":1522},{"__isSmartRef__":true,"id":1577},{"__isSmartRef__":true,"id":1626},{"__isSmartRef__":true,"id":1673},{"__isSmartRef__":true,"id":1728},{"__isSmartRef__":true,"id":1783},{"__isSmartRef__":true,"id":1838},{"__isSmartRef__":true,"id":1887},{"__isSmartRef__":true,"id":1936},{"__isSmartRef__":true,"id":1991},{"__isSmartRef__":true,"id":2040},{"__isSmartRef__":true,"id":2089},{"__isSmartRef__":true,"id":2138},{"__isSmartRef__":true,"id":2187},{"__isSmartRef__":true,"id":2242},{"__isSmartRef__":true,"id":2291},{"__isSmartRef__":true,"id":2340},{"__isSmartRef__":true,"id":2389},{"__isSmartRef__":true,"id":2444},{"__isSmartRef__":true,"id":2493},{"__isSmartRef__":true,"id":2548},{"__isSmartRef__":true,"id":2597},{"__isSmartRef__":true,"id":2652},{"__isSmartRef__":true,"id":2707},{"__isSmartRef__":true,"id":2762},{"__isSmartRef__":true,"id":2811},{"__isSmartRef__":true,"id":2866},{"__isSmartRef__":true,"id":2921},{"__isSmartRef__":true,"id":2970},{"__isSmartRef__":true,"id":3019},{"__isSmartRef__":true,"id":3074},{"__isSmartRef__":true,"id":3129},{"__isSmartRef__":true,"id":3178},{"__isSmartRef__":true,"id":3235},{"__isSmartRef__":true,"id":3284}],"attributeConnections":[],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3336}},"1368":{"":{"__isSmartRef__":true,"id":69}},"1369":{"data":true,"inspector":{"__isSmartRef__":true,"id":11},"parent":{"__isSmartRef__":true,"id":69},"name":"accessibleInInactiveWindow","description":"true","attributeConnections":[{"__isSmartRef__":true,"id":1370}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1411}},"1370":{"sourceObj":{"__isSmartRef__":true,"id":1369},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":1371},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":1410},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1371":{"item":{"__isSmartRef__":true,"id":1369},"parent":{"__isSmartRef__":true,"id":1366},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":1372}],"scripts":[],"shape":{"__isSmartRef__":true,"id":1405},"eventHandler":{"__isSmartRef__":true,"id":1406},"_ClipMode":"visible","derivationIds":[],"id":"AEE38F72-C6D9-41D3-BAA9-F1DD2B0DE240","droppingEnabled":true,"halosEnabled":true,"layout":{"__isSmartRef__":true,"id":1407},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":1373},"label":{"__isSmartRef__":true,"id":1386},"node":{"__isSmartRef__":true,"id":1372},"owner":{"__isSmartRef__":true,"id":1366},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,0.0)"},"1372":{"submorphs":[{"__isSmartRef__":true,"id":1373},{"__isSmartRef__":true,"id":1386}],"scripts":[],"shape":{"__isSmartRef__":true,"id":1401},"eventHandler":{"__isSmartRef__":true,"id":1402},"_ClipMode":"visible","derivationIds":[],"id":"732F8CD4-1F30-4EF3-82CD-A8E11C0AD43D","droppingEnabled":true,"halosEnabled":true,"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":1403},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":1371},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"1373":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":1374},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":1375}],"eventHandler":{"__isSmartRef__":true,"id":1377},"_ClipMode":"visible","derivationIds":[],"id":"3867795D-91C6-4E3D-B647-C07F12B5BEC1","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":1372},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1378},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"1374":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"1375":{"style":{"__isSmartRef__":true,"id":1376},"chunkOwner":{"__isSmartRef__":true,"id":1373},"_id":"_20629","storedString":"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1376":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1377":{"morph":{"__isSmartRef__":true,"id":1373},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1378":{"onMouseDown":{"__isSmartRef__":true,"id":1379}},"1379":{"varMapping":{"__isSmartRef__":true,"id":1380},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1380":{"this":{"__isSmartRef__":true,"id":1373},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1381}},"1381":{"$super":{"__isSmartRef__":true,"id":1382}},"1382":{"varMapping":{"__isSmartRef__":true,"id":1383},"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":1384},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1383":{"obj":{"__isSmartRef__":true,"id":1373},"name":"onMouseDown"},"1384":{},"1385":{},"1386":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":1387},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":1388},{"__isSmartRef__":true,"id":1390}],"eventHandler":{"__isSmartRef__":true,"id":1392},"_ClipMode":"visible","derivationIds":[],"id":"BF07597E-DD1F-4B6A-BFC5-D0D657FE1838","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":1372},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1393},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"1387":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(200.0,16.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"1388":{"style":{"__isSmartRef__":true,"id":1389},"chunkOwner":{"__isSmartRef__":true,"id":1386},"_id":"_39737","storedString":"accessibleInInactiveWindow","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1389":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1390":{"style":{"__isSmartRef__":true,"id":1391},"chunkOwner":{"__isSmartRef__":true,"id":1386},"_id":"_39738","storedString":" true","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1391":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"1392":{"morph":{"__isSmartRef__":true,"id":1386},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1393":{"onMouseDown":{"__isSmartRef__":true,"id":1394}},"1394":{"varMapping":{"__isSmartRef__":true,"id":1395},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1400},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1395":{"this":{"__isSmartRef__":true,"id":1386},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1396}},"1396":{"$super":{"__isSmartRef__":true,"id":1397}},"1397":{"varMapping":{"__isSmartRef__":true,"id":1398},"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":1399},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1398":{"obj":{"__isSmartRef__":true,"id":1386},"name":"onMouseDown"},"1399":{},"1400":{},"1401":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"1402":{"morph":{"__isSmartRef__":true,"id":1372},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1403":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":1404}},"1404":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":1372},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"1405":{"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"1406":{"morph":{"__isSmartRef__":true,"id":1371},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1407":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":1408}},"1408":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":1409},"spacing":0,"container":{"__isSmartRef__":true,"id":1371},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"1409":{"top":0,"right":0,"bottom":0,"left":0},"1410":{"source":{"__isSmartRef__":true,"id":1369},"target":{"__isSmartRef__":true,"id":1371}},"1411":{"onSelect":{"__isSmartRef__":true,"id":1412},"onUpdate":{"__isSmartRef__":true,"id":1415}},"1412":{"varMapping":{"__isSmartRef__":true,"id":1413},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":1414},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1413":{"this":{"__isSmartRef__":true,"id":1369}},"1414":{},"1415":{"varMapping":{"__isSmartRef__":true,"id":1416},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":1417},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1416":{"this":{"__isSmartRef__":true,"id":1369}},"1417":{},"1418":{"data":true,"inspector":{"__isSmartRef__":true,"id":11},"parent":{"__isSmartRef__":true,"id":69},"name":"allowInput","description":"true","attributeConnections":[{"__isSmartRef__":true,"id":1419}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1460}},"1419":{"sourceObj":{"__isSmartRef__":true,"id":1418},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":1420},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":1459},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1420":{"item":{"__isSmartRef__":true,"id":1418},"parent":{"__isSmartRef__":true,"id":1366},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":1421}],"scripts":[],"shape":{"__isSmartRef__":true,"id":1454},"eventHandler":{"__isSmartRef__":true,"id":1455},"_ClipMode":"visible","derivationIds":[],"id":"88EDEABB-DD19-4203-BA81-D07D5010A543","droppingEnabled":true,"halosEnabled":true,"layout":{"__isSmartRef__":true,"id":1456},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":1422},"label":{"__isSmartRef__":true,"id":1435},"node":{"__isSmartRef__":true,"id":1421},"owner":{"__isSmartRef__":true,"id":1366},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,20.0)"},"1421":{"submorphs":[{"__isSmartRef__":true,"id":1422},{"__isSmartRef__":true,"id":1435}],"scripts":[],"shape":{"__isSmartRef__":true,"id":1450},"eventHandler":{"__isSmartRef__":true,"id":1451},"_ClipMode":"visible","derivationIds":[],"id":"8A78CD56-BE22-4E2B-AF31-7B7FEBFB83CE","droppingEnabled":true,"halosEnabled":true,"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":1452},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":1420},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"1422":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":1423},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":1424}],"eventHandler":{"__isSmartRef__":true,"id":1426},"_ClipMode":"visible","derivationIds":[],"id":"C36BF49A-888A-4238-88E1-DF4B021BD8C5","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":1421},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1427},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"1423":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"1424":{"style":{"__isSmartRef__":true,"id":1425},"chunkOwner":{"__isSmartRef__":true,"id":1422},"_id":"_20634","storedString":"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1425":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1426":{"morph":{"__isSmartRef__":true,"id":1422},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1427":{"onMouseDown":{"__isSmartRef__":true,"id":1428}},"1428":{"varMapping":{"__isSmartRef__":true,"id":1429},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1434},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1429":{"this":{"__isSmartRef__":true,"id":1422},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1430}},"1430":{"$super":{"__isSmartRef__":true,"id":1431}},"1431":{"varMapping":{"__isSmartRef__":true,"id":1432},"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":1433},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1432":{"obj":{"__isSmartRef__":true,"id":1422},"name":"onMouseDown"},"1433":{},"1434":{},"1435":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":1436},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":1437},{"__isSmartRef__":true,"id":1439}],"eventHandler":{"__isSmartRef__":true,"id":1441},"_ClipMode":"visible","derivationIds":[],"id":"279705E2-BD57-4B75-8484-5E59BC6E0A34","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":1421},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1442},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"1436":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(93.0,16.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"1437":{"style":{"__isSmartRef__":true,"id":1438},"chunkOwner":{"__isSmartRef__":true,"id":1435},"_id":"_39739","storedString":"allowInput","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1438":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1439":{"style":{"__isSmartRef__":true,"id":1440},"chunkOwner":{"__isSmartRef__":true,"id":1435},"_id":"_39740","storedString":" true","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1440":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"1441":{"morph":{"__isSmartRef__":true,"id":1435},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1442":{"onMouseDown":{"__isSmartRef__":true,"id":1443}},"1443":{"varMapping":{"__isSmartRef__":true,"id":1444},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1449},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1444":{"this":{"__isSmartRef__":true,"id":1435},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1445}},"1445":{"$super":{"__isSmartRef__":true,"id":1446}},"1446":{"varMapping":{"__isSmartRef__":true,"id":1447},"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":1448},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1447":{"obj":{"__isSmartRef__":true,"id":1435},"name":"onMouseDown"},"1448":{},"1449":{},"1450":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"1451":{"morph":{"__isSmartRef__":true,"id":1421},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1452":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":1453}},"1453":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":1421},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"1454":{"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"1455":{"morph":{"__isSmartRef__":true,"id":1420},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1456":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":1457}},"1457":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":1458},"spacing":0,"container":{"__isSmartRef__":true,"id":1420},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"1458":{"top":0,"right":0,"bottom":0,"left":0},"1459":{"source":{"__isSmartRef__":true,"id":1418},"target":{"__isSmartRef__":true,"id":1420}},"1460":{"onSelect":{"__isSmartRef__":true,"id":1461},"onUpdate":{"__isSmartRef__":true,"id":1464}},"1461":{"varMapping":{"__isSmartRef__":true,"id":1462},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":1463},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1462":{"this":{"__isSmartRef__":true,"id":1418}},"1463":{},"1464":{"varMapping":{"__isSmartRef__":true,"id":1465},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":1466},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1465":{"this":{"__isSmartRef__":true,"id":1418}},"1466":{},"1467":{"data":[{"__isSmartRef__":true,"id":1361},{"__isSmartRef__":true,"id":1363}],"inspector":{"__isSmartRef__":true,"id":11},"parent":{"__isSmartRef__":true,"id":69},"name":"attributeConnections","description":"[...]","children":[],"attributeConnections":[{"__isSmartRef__":true,"id":1468}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1509}},"1468":{"sourceObj":{"__isSmartRef__":true,"id":1467},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":1469},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":1508},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1469":{"item":{"__isSmartRef__":true,"id":1467},"parent":{"__isSmartRef__":true,"id":1366},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":1470}],"scripts":[],"shape":{"__isSmartRef__":true,"id":1503},"eventHandler":{"__isSmartRef__":true,"id":1504},"_ClipMode":"visible","derivationIds":[],"id":"87653013-1BC9-47BC-81D8-434BB88AF0BB","droppingEnabled":true,"halosEnabled":true,"layout":{"__isSmartRef__":true,"id":1505},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":1471},"label":{"__isSmartRef__":true,"id":1484},"node":{"__isSmartRef__":true,"id":1470},"owner":{"__isSmartRef__":true,"id":1366},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,40.0)"},"1470":{"submorphs":[{"__isSmartRef__":true,"id":1471},{"__isSmartRef__":true,"id":1484}],"scripts":[],"shape":{"__isSmartRef__":true,"id":1499},"eventHandler":{"__isSmartRef__":true,"id":1500},"_ClipMode":"visible","derivationIds":[],"id":"CB900C44-A7F4-4F1E-AA72-A6D1E891C5AC","droppingEnabled":true,"halosEnabled":true,"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":1501},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":1469},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"1471":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":1472},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":1473}],"eventHandler":{"__isSmartRef__":true,"id":1475},"_ClipMode":"visible","derivationIds":[],"id":"34E88FAA-C2B2-45D3-BD73-AF028CB7BBED","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":1470},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1476},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"1472":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"1473":{"style":{"__isSmartRef__":true,"id":1474},"chunkOwner":{"__isSmartRef__":true,"id":1471},"_id":"_20639","storedString":"►","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1474":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1475":{"morph":{"__isSmartRef__":true,"id":1471},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1476":{"onMouseDown":{"__isSmartRef__":true,"id":1477}},"1477":{"varMapping":{"__isSmartRef__":true,"id":1478},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1483},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1478":{"this":{"__isSmartRef__":true,"id":1471},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1479}},"1479":{"$super":{"__isSmartRef__":true,"id":1480}},"1480":{"varMapping":{"__isSmartRef__":true,"id":1481},"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":1482},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1481":{"obj":{"__isSmartRef__":true,"id":1471},"name":"onMouseDown"},"1482":{},"1483":{},"1484":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":1485},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":1486},{"__isSmartRef__":true,"id":1488}],"eventHandler":{"__isSmartRef__":true,"id":1490},"_ClipMode":"visible","derivationIds":[],"id":"665CC70A-65AF-4DD4-AB34-C9A41DF6DB87","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":1470},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1491},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"1485":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(152.0,16.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"1486":{"style":{"__isSmartRef__":true,"id":1487},"chunkOwner":{"__isSmartRef__":true,"id":1484},"_id":"_39741","storedString":"attributeConnections","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1487":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1488":{"style":{"__isSmartRef__":true,"id":1489},"chunkOwner":{"__isSmartRef__":true,"id":1484},"_id":"_39742","storedString":" [...]","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1489":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"1490":{"morph":{"__isSmartRef__":true,"id":1484},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1491":{"onMouseDown":{"__isSmartRef__":true,"id":1492}},"1492":{"varMapping":{"__isSmartRef__":true,"id":1493},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1498},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1493":{"this":{"__isSmartRef__":true,"id":1484},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1494}},"1494":{"$super":{"__isSmartRef__":true,"id":1495}},"1495":{"varMapping":{"__isSmartRef__":true,"id":1496},"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":1497},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1496":{"obj":{"__isSmartRef__":true,"id":1484},"name":"onMouseDown"},"1497":{},"1498":{},"1499":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"1500":{"morph":{"__isSmartRef__":true,"id":1470},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1501":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":1502}},"1502":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":1470},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"1503":{"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"1504":{"morph":{"__isSmartRef__":true,"id":1469},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1505":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":1506}},"1506":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":1507},"spacing":0,"container":{"__isSmartRef__":true,"id":1469},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"1507":{"top":0,"right":0,"bottom":0,"left":0},"1508":{"source":{"__isSmartRef__":true,"id":1467},"target":{"__isSmartRef__":true,"id":1469}},"1509":{"onSelect":{"__isSmartRef__":true,"id":1510},"onExpand":{"__isSmartRef__":true,"id":1513},"onUpdateChildren":{"__isSmartRef__":true,"id":1516},"onUpdate":{"__isSmartRef__":true,"id":1519}},"1510":{"varMapping":{"__isSmartRef__":true,"id":1511},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":1512},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1511":{"this":{"__isSmartRef__":true,"id":1467}},"1512":{},"1513":{"varMapping":{"__isSmartRef__":true,"id":1514},"source":"function onExpand() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":1515},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1514":{"this":{"__isSmartRef__":true,"id":1467}},"1515":{},"1516":{"varMapping":{"__isSmartRef__":true,"id":1517},"source":"function onUpdateChildren() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":1518},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1517":{"this":{"__isSmartRef__":true,"id":1467}},"1518":{},"1519":{"varMapping":{"__isSmartRef__":true,"id":1520},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":1521},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1520":{"this":{"__isSmartRef__":true,"id":1467}},"1521":{},"1522":{"inspector":{"__isSmartRef__":true,"id":11},"parent":{"__isSmartRef__":true,"id":69},"name":"cachedBounds","description":"Rectangle","children":[],"attributeConnections":[{"__isSmartRef__":true,"id":1523}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedExpressions__":["data"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1564},"data":"lively.rect(0,322.2000000000001,567.0000000000002,393.8)"},"1523":{"sourceObj":{"__isSmartRef__":true,"id":1522},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":1524},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":1563},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1524":{"item":{"__isSmartRef__":true,"id":1522},"parent":{"__isSmartRef__":true,"id":1366},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":1525}],"scripts":[],"shape":{"__isSmartRef__":true,"id":1558},"eventHandler":{"__isSmartRef__":true,"id":1559},"_ClipMode":"visible","derivationIds":[],"id":"C1DA6DFE-DF76-4D21-9125-6E29DA851D43","droppingEnabled":true,"halosEnabled":true,"layout":{"__isSmartRef__":true,"id":1560},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":1526},"label":{"__isSmartRef__":true,"id":1539},"node":{"__isSmartRef__":true,"id":1525},"owner":{"__isSmartRef__":true,"id":1366},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,60.0)"},"1525":{"submorphs":[{"__isSmartRef__":true,"id":1526},{"__isSmartRef__":true,"id":1539}],"scripts":[],"shape":{"__isSmartRef__":true,"id":1554},"eventHandler":{"__isSmartRef__":true,"id":1555},"_ClipMode":"visible","derivationIds":[],"id":"5BD9C078-D248-408A-AF37-9DDABCBE0A1F","droppingEnabled":true,"halosEnabled":true,"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":1556},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":1524},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"1526":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":1527},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":1528}],"eventHandler":{"__isSmartRef__":true,"id":1530},"_ClipMode":"visible","derivationIds":[],"id":"29F05708-0A2D-4D44-B255-7A2C44EFEF80","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":1525},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1531},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"1527":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"1528":{"style":{"__isSmartRef__":true,"id":1529},"chunkOwner":{"__isSmartRef__":true,"id":1526},"_id":"_20644","storedString":"►","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1529":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1530":{"morph":{"__isSmartRef__":true,"id":1526},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1531":{"onMouseDown":{"__isSmartRef__":true,"id":1532}},"1532":{"varMapping":{"__isSmartRef__":true,"id":1533},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1538},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1533":{"this":{"__isSmartRef__":true,"id":1526},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1534}},"1534":{"$super":{"__isSmartRef__":true,"id":1535}},"1535":{"varMapping":{"__isSmartRef__":true,"id":1536},"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":1537},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1536":{"obj":{"__isSmartRef__":true,"id":1526},"name":"onMouseDown"},"1537":{},"1538":{},"1539":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":1540},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":1541},{"__isSmartRef__":true,"id":1543}],"eventHandler":{"__isSmartRef__":true,"id":1545},"_ClipMode":"visible","derivationIds":[],"id":"3913D26D-D137-4592-B40A-E264F7D38491","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":1525},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1546},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"1540":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(157.0,16.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"1541":{"style":{"__isSmartRef__":true,"id":1542},"chunkOwner":{"__isSmartRef__":true,"id":1539},"_id":"_39743","storedString":"cachedBounds","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1542":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1543":{"style":{"__isSmartRef__":true,"id":1544},"chunkOwner":{"__isSmartRef__":true,"id":1539},"_id":"_39744","storedString":" Rectangle","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1544":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"1545":{"morph":{"__isSmartRef__":true,"id":1539},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1546":{"onMouseDown":{"__isSmartRef__":true,"id":1547}},"1547":{"varMapping":{"__isSmartRef__":true,"id":1548},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1553},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1548":{"this":{"__isSmartRef__":true,"id":1539},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1549}},"1549":{"$super":{"__isSmartRef__":true,"id":1550}},"1550":{"varMapping":{"__isSmartRef__":true,"id":1551},"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":1552},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1551":{"obj":{"__isSmartRef__":true,"id":1539},"name":"onMouseDown"},"1552":{},"1553":{},"1554":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"1555":{"morph":{"__isSmartRef__":true,"id":1525},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1556":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":1557}},"1557":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":1525},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"1558":{"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"1559":{"morph":{"__isSmartRef__":true,"id":1524},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1560":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":1561}},"1561":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":1562},"spacing":0,"container":{"__isSmartRef__":true,"id":1524},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"1562":{"top":0,"right":0,"bottom":0,"left":0},"1563":{"source":{"__isSmartRef__":true,"id":1522},"target":{"__isSmartRef__":true,"id":1524}},"1564":{"onSelect":{"__isSmartRef__":true,"id":1565},"onExpand":{"__isSmartRef__":true,"id":1568},"onUpdateChildren":{"__isSmartRef__":true,"id":1571},"onUpdate":{"__isSmartRef__":true,"id":1574}},"1565":{"varMapping":{"__isSmartRef__":true,"id":1566},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":1567},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1566":{"this":{"__isSmartRef__":true,"id":1522}},"1567":{},"1568":{"varMapping":{"__isSmartRef__":true,"id":1569},"source":"function onExpand() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":1570},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1569":{"this":{"__isSmartRef__":true,"id":1522}},"1570":{},"1571":{"varMapping":{"__isSmartRef__":true,"id":1572},"source":"function onUpdateChildren() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":1573},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1572":{"this":{"__isSmartRef__":true,"id":1522}},"1573":{},"1574":{"varMapping":{"__isSmartRef__":true,"id":1575},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":1576},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1575":{"this":{"__isSmartRef__":true,"id":1522}},"1576":{},"1577":{"data":"/*\n * Copyright (c) 2006-2009 Sun Microsystems, Inc.\n * Copyright (c) 2008-2011 Hasso Plattner Institute\n *\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\n// set to the context enclosing the SVG context.\n// rk: replaced \"this.window.top || this.window\" with \"this.window\"\n// rk: when is it necessary to use the parent context?\nvar Global = this.window || GLOBAL /*for Node.js*/;\nfunction dbgOn(cond, optMessage) {\n if (optMessage) console.log(optMessage);\n if (cond) debugger; // note that rhino has issues with this keyword\n // also call as: throw dbgOn(new Error(....))\n return cond;\n}\n\nfunction assert(value, message) {\n if (value) { return; }\n // capture the stack\n var stack;\n try { throw new Error() } catch(e) { stack = e.stack || '' };\n alert('Assertion failed' + (message ? ': ' + message : '!') + '\\n' + stack);\n};\n\n// namespace logic adapted from\n// http://higher-order.blogspot.com/2008/02/designing-clientserver-web-applications.html\nvar using = (function() {\n\n function Util(args) { // args is an escaping arguments array\n this.objects = Array.prototype.concat.apply([], args);\n //var ownArgs = this.objects = new Array(args.length);\n //for (var i = 0; i < args.length; i++) ownArgs[i] = args[i];\n };\n\n Util.prototype = {\n\n log: function(msg) {\n console.log(msg);\n },\n\n run: function(inner) {\n var args = this.objects;\n if (this.moduleName) {\n // little convenience,\n if (args.length > 0) this.log('using().module(): ignoring args ' + args);\n return module(this.moduleName).requires().toRun(inner);\n } else return inner.apply(args[0], args);\n },\n\n model: function(model) {\n // KP: interestingly, declaring the above as \"model: function model(model)\"\n // seems to bind model to to the function, not the formal parameter, at least in rhino!\n this.model = model;\n return this;\n },\n\n module: function(moduleName) {\n this.moduleName = moduleName;\n return this;\n },\n\n link: function link(literal, variableMap) {\n variableMap = variableMap || {};\n return new lively.data.Resolver().link(literal, [], undefined, variableMap, this.objects, this.model);\n },\n\n extend: function extend(base, extLiteral) {\n return this.link(Object.extend(Object.clone(base), extLiteral));\n },\n\n test: function(inner) {\n try {\n return this.run(inner);\n } catch (er) {\n alert('test failed: ' + er);\n return undefined;\n }\n }\n }\n\n return function using() {\n return new Util(arguments);\n }\n})();\n\n\nfunction namespace(spec, context) {\n var codeDB;\n if (spec[0] == '$') {\n codeDB = spec.substring(1, spec.indexOf('.'));\n spec = spec.substring(spec.indexOf('.') + 1);\n }\n var ret = __oldNamespace(spec, context);\n if (codeDB) {\n ret.fromDB = codeDB;\n }\n return ret;\n};\n\n\nfunction __oldNamespace(spec, context) {\n var i,N;\n context = context || Global;\n spec = spec.valueOf();\n if (typeof spec === 'object') {\n if (typeof spec.length === 'number') {//assume an array-like object\n for (i = 0,N = spec.length; i < N; i++) {\n return namespace(spec[i], context);\n }\n } else {//spec is a specification object e.g, {com: {trifork: ['model,view']}}\n for (i in spec) if (spec.hasOwnProperty(i)) {\n context[i] = context[i] || new lively.lang.Namespace(context, i);\n return namespace(spec[i], context[i]);//recursively descend tree\n }\n }\n } else if (typeof spec === 'string') {\n (function handleStringCase() {\n var parts;\n parts = spec.split('.');\n for (i = 0, N = parts.length; i= 0) {\n ea.pendingRequirements = [];\n ea.load();\n testModuleLoad.delay(6);\n }\n\t});\n console.log('Module load check done. ' + modules.length + ' modules loaded.');\n}).delay(10);\n\nfunction module(moduleName) {\n\n moduleName = LivelyMigrationSupport.fixModuleName(moduleName);\n\n function isNamespaceAwareModule(moduleName) {\n return moduleName && !moduleName.endsWith('.js');\n }\n\n function convertUrlToNSIdentifier(url) {\n var result = url;\n result = result.replace(/\\//g, '.');\n // get rid of '.js'\n if (result.endsWith('.js')) result = result.substring(0, result.lastIndexOf('.'));\n return result;\n }\n\n function createNamespaceModule(moduleName) {\n return namespace(isNamespaceAwareModule(moduleName) ? moduleName : convertUrlToNSIdentifier(moduleName));\n }\n\n function basicRequire(/*module, requiredModuleNameOrAnArray, anotherRequiredModuleName, ...*/) {\n // support modulenames as array and parameterlist\n var args = $A(arguments),\n module = args.shift(),\n preReqModuleNames = Object.isArray(args[0]) ? args[0] : args,\n requiredModules = [];\n for (var i = 0; i < preReqModuleNames.length; i++) {\n var name = LivelyMigrationSupport.fixModuleName(preReqModuleNames[i]),\n reqModule = createNamespaceModule(name);\n module.addRequiredModule(reqModule);\n requiredModules.push(reqModule);\n }\n\n return {\n toRun: function(code) {\n var debugCode = code;\n code = code.curry(module); // pass in own module name for nested requirements\n var codeWrapper = function() { // run code with namespace modules as additional parameters\n try {\n module.activate();\n code.apply(this, requiredModules);\n module._isLoaded = true;\n } catch(e) {\n module.logError(module + '>>basicRequire: ' + e, debugCode)\n } finally {\n module.deactivate();\n }\n }\n module.addOnloadCallback(codeWrapper);\n module.load();\n }\n };\n };\n\n dbgOn(!Object.isString(moduleName));\n var module = createNamespaceModule(moduleName);\n module.wasDefined = true;\n module.requires = basicRequire.curry(module);\n return module;\n};\n\nfunction require(/*requiredModuleNameOrAnArray, anotherRequiredModuleName, ...*/) {\n var getUniqueName = function() { return 'anonymous_module_' + require.counter },\n args = $A(arguments);\n require.counter !== undefined ? require.counter++ : require.counter = 0;\n var m = module(getUniqueName()).beAnonymous();\n if (lively.Config.showModuleDefStack)\n try { throw new Error() } catch(e) { m.defStack = e.stack }\n return m.requires(Object.isArray(args[0]) ? args[0] : args);\n};\n\n\n// ===========================================================================\n// Our JS library extensions (JS 1.5, no particular browser or graphics engine)\n// ===========================================================================\n\n/**\n * LK class system.\n */\n\nObject.extend(Function.prototype, {\n\n defaultCategoryName: 'default category',\n\n subclass: function(/*... */) {\n // Main method of the LK class system.\n\n // {className} is the name of the new class constructor which this method synthesizes\n // and binds to {className} in the Global namespace.\n // Remaining arguments are (inline) properties and methods to be copied into the prototype\n // of the newly created constructor.\n\n // modified from prototype.js\n\n var args = $A(arguments),\n className = args.shift(),\n targetScope = Global,\n shortName = null;\n\n if (className) {\n targetScope = Class.namespaceFor(className);\n shortName = Class.unqualifiedNameFor(className);\n } else {\n shortName = \"anonymous_\" + (Class.anonymousCounter++);\n className = shortName;\n }\n\n var klass;\n if (className && targetScope[shortName] && (targetScope[shortName].superclass === this)) {\n // preserve the class to allow using the subclass construct in interactive development\n klass = targetScope[shortName];\n } else {\n klass = Class.newInitializer(shortName);\n klass.superclass = this;\n var protoclass = function() { }; // that's the constructor of the new prototype object\n protoclass.prototype = this.prototype;\n klass.prototype = new protoclass();\n klass.prototype.constructor = klass;\n klass.prototype.constructor.type = className; // KP: .name would be better but js ignores .name on anonymous functions\n klass.prototype.constructor.displayName = className; // for debugging, because name can not be assigned\n if (className) targetScope[shortName] = klass; // otherwise it's anonymous\n\n // remember the module that contains the class def\n if (Global.lively && lively.lang && lively.lang.Namespace)\n klass.sourceModule = lively.lang.Namespace.current();\n };\n\n // the remaining args should be category strings or source objects\n this.addMethods.apply(klass, args);\n\n if (!klass.prototype.initialize)\n klass.prototype.initialize = Functions.Empty;\n\n return klass;\n },\n\n addMethods: function(/*...*/) {\n var args = arguments,\n category = this.defaultCategoryName,\n traits = [];\n for (var i = 0; i < args.length; i++) {\n if (Object.isString(args[i])) {\n category = args[i];\n } else if (Global.RealTrait && args[i] instanceof RealTrait) {\n // FIXME Traits are optional and defined in lively.Traits\n // This should go somewhere into lively.Traits...\n // we apply traits afterwards because they can override behavior\n traits.push(args[i]);\n } else {\n this.addCategorizedMethods(category, args[i] instanceof Function ? (args[i])() : args[i]);\n }\n }\n for (i = 0; i < traits.length; i++) {\n traits[i].applyTo(this);\n }\n },\n\n addCategorizedMethods: function(categoryName, source) {\n // first parameter is a category name\n // copy all the methods and properties from {source} into the\n // prototype property of the receiver, which is intended to be\n // a class constructor. Method arguments named '$super' are treated\n // specially, see Prototype.js documentation for \"Class.create()\" for details.\n // derived from Class.Methods.addMethods() in prototype.js\n\n // prepare the categories\n if (!this.categories) this.categories = {};\n if (!this.categories[categoryName]) this.categories[categoryName] = [];\n var currentCategoryNames = this.categories[categoryName];\n\n if (!source)\n throw dbgOn(new Error('no source in addCategorizedMethods!'));\n\n var ancestor = this.superclass && this.superclass.prototype;\n\n var className = this.type || \"Anonymous\";\n\n for (var property in source) {\n\n if (property == 'constructor') continue;\n\n var getter = source.__lookupGetter__(property);\n if (getter) this.prototype.__defineGetter__(property, getter);\n var setter = source.__lookupSetter__(property);\n if (setter) this.prototype.__defineSetter__(property, setter);\n if (getter || setter) continue;\n\n currentCategoryNames.push(property);\n\n var value = source[property];\n // weirdly, RegExps are functions in Safari, so testing for\n // Object.isFunction on regexp field values will return true.\n // But they're not full-blown functions and don't\n // inherit argumentNames from Function.prototype\n\n var hasSuperCall = ancestor && Object.isFunction(value) &&\n value.argumentNames && value.argumentNames().first() == \"$super\";\n if (hasSuperCall) {\n // wrapped in a function to save the value of 'method' for advice\n (function() {\n var method = value,\n advice = (function(m) {\n var cs = function callSuper() {\n var method = ancestor[m];\n if (!method) {\n throw new Error(Strings.format('Trying to call super of' +\n '%s>>%s but super method non existing in %s',\n className, m, ancestor.constructor.type));\n }\n return method.apply(this, arguments);\n };\n cs.varMapping = {ancestor: ancestor, m: m};\n cs.isSuperCall = true;\n return cs;\n })(property);\n\n advice.methodName = \"$super:\" + (this.superclass ? this.superclass.type + \">>\" : \"\") + property;\n\n value = Object.extend(advice.wrap(method), {\n valueOf: function() { return method },\n toString: function() { return method.toString() },\n originalFunction: method,\n methodName: advice.methodName,\n isSuperWrapper: true\n });\n // for lively.Closures\n method.varMapping = {$super: advice};\n })();\n }\n\n this.prototype[property] = value;\n\n if (property === \"formals\") { // rk FIXME remove this cruft\n // special property (used to be pins, but now called formals to disambiguate old and new style\n Class.addPins(this, value);\n } else if (Object.isFunction(value)) {\n // remember name for profiling in WebKit\n value.displayName = className + \"$\" + property;\n\n // remember where it was defined\n if (Global.lively && lively.lang && lively.lang.Namespace)\n value.sourceModule = lively.lang.Namespace.current();\n\n for (; value; value = value.originalFunction) {\n if (value.methodName) {\n //console.log(\"class \" + this.prototype.constructor.type\n // + \" borrowed \" + value.qualifiedMethodName());\n }\n value.declaredClass = this.prototype.constructor.type;\n value.methodName = property;\n }\n }\n } // end of for (var property in source)\n\n return this;\n },\n\n\n addProperties: function(spec, recordType) {\n Class.addMixin(this, recordType.prototype.create(spec).prototype);\n },\n\n isSubclassOf: function(aClass) {\n return this.superclasses().include(aClass);\n },\n\n allSubclasses: function() {\n var klass = this;\n return Global.classes(true).select(function(ea) { return ea.isSubclassOf(klass) });\n },\n withAllSubclasses: function() { return [this].concat(this.allSubclasses()) },\n\n\n directSubclasses: function() {\n var klass = this;\n return Global.classes(true).select(function(ea) { return ea.superclass === klass });\n },\n\n withAllSortedSubclassesDo: function(func) {\n // this method iterates func on all subclasses of klass (including klass)\n // it is ensured that the klasses are sorted by a) subclass relationship and b) name (not type!)\n // func gets as parameters: 1) the class 2) index in list 3) level of inheritance\n // compared to klass (1 for direct subclasses and so on)\n\n function createSortedSubclassList(klass, level) {\n var list = klass.directSubclasses()\n .sortBy(function(ea) { return ea.name.charCodeAt(0) })\n .collect(function(subclass) { return createSortedSubclassList(subclass, level + 1) })\n .flatten();\n return [{klass: klass, level: level}].concat(list)\n }\n\n return createSortedSubclassList(this, 0).collect(function(spec, idx) { return func(spec.klass, idx, spec.level) })\n },\n\n superclasses: function() {\n if (!this.superclass) return [];\n if (this.superclass === Object) return [Object];\n return this.superclass.superclasses().concat([this.superclass]);\n },\n\n categoryNameFor: function(propName) {\n for (var categoryName in this.categories) {\n if (this.categories[categoryName].include(propName)) {\n return categoryName;\n }\n }\n return null;\n },\n remove: function() {\n var ownerNamespace = Class.namespaceFor(this.type),\n ownName = Class.unqualifiedNameFor(this.type);\n delete ownerNamespace[ownName];\n },\n\n});\n\nvar Class = {\n\n anonymousCounter: 0,\n\n initializerTemplate: (function CLASS(){ Class.initializer.apply(this, arguments) }).toString(),\n\n newInitializer: function(name) {\n // this hack ensures that class instances have a name\n return eval(Class.initializerTemplate.replace(/CLASS/g, name) + \";\" + name);\n },\n\n initializer: function initializer() {\n var firstArg = arguments[0];\n // maybe special initialization required\n if (firstArg && firstArg.isImporter) {\n this.deserialize.apply(this, arguments);\n } else if (firstArg && firstArg.isCopier) {\n this.copyFrom.apply(this, arguments);\n } else if (firstArg && firstArg.isInstanceRestorer) {\n // just do nothing\n // for WebCards and other JSON-based dersialization logic\n } else {\n // if this.initialize is undefined then prolly the constructor was called without 'new'\n this.initialize.apply(this, arguments);\n }\n },\n\n def: function Class$def(constr, superConstr, optProtos, optStatics) {\n // currently not used\n // Main method of the LK class system.\n\n // {className} is the name of the new class constructor which this method synthesizes\n // and binds to {className} in the Global namespace.\n // Remaining arguments are (inline) properties and methods to be copied into the prototype\n // of the newly created constructor.\n\n // modified from prototype.js\n\n var klass = Class.newInitializer(\"klass\");\n klass.superclass = superConstr;\n\n var protoclass = function() { }; // that's the constructor of the new prototype object\n protoclass.prototype = superConstr.prototype;\n\n klass.prototype = new protoclass();\n\n // Object.extend(klass.prototype, constr.prototype);\n klass.prototype.constructor = klass;\n var className = constr.name; // getName()\n klass.addMethods({initialize: constr});\n // KP: .name would be better but js ignores .name on anonymous functions\n klass.type = className;\n\n\n if (optProtos) klass.addMethods(optProtos);\n if (optStatics) Object.extend(klass, optStatics);\n\n Global[className] = klass;\n return klass;\n },\n\n isValidIdentifier: function(str) {\n return /^(?:[a-zA-Z_][\\w\\-]*[.])*[a-zA-Z_][\\w\\-]*$/.test(str);\n },\n\n isClass: function Class$isClass(object) {\n if (object === Object\n || object === Array\n || object === Function\n || object === String\n || object === Number) {\n return true;\n }\n return (object instanceof Function) && (object.superclass !== undefined);\n },\n\n className: function Class$className(cl) {\n if (cl === Object) return \"Object\"\n if (cl === Array) return \"Array\"\n if (cl === Function) return \"Function\"\n if (cl === String) return \"String\"\n if (cl === Number) return \"Number\"\n return cl.type;\n },\n\n forName: function forName(name) {\n // lookup the class object given the qualified name\n var ns = Class.namespaceFor(name),\n shortName = Class.unqualifiedNameFor(name);\n return ns[shortName];\n },\n\n deleteObjectNamed: function Class$deleteObjectNamed(name) {\n var ns = Class.namespaceFor(name),\n shortName = Class.unqualifiedNameFor(name);\n delete ns[shortName];\n },\n\n unqualifiedNameFor: function Class$unqualifiedNameFor(name) {\n var lastDot = name.lastIndexOf('.'), // lastDot may be -1\n unqualifiedName = name.substring(lastDot + 1);\n if (!Class.isValidIdentifier(unqualifiedName)) throw new Error('not a name ' + unqualifiedName);\n return unqualifiedName;\n },\n\n namespaceFor: function Class$namespaceFor(className) {\n // get the namespace object given the qualified name\n var lastDot = className ? className.lastIndexOf('.') : -1;\n if (lastDot < 0) return Global;\n else return namespace(className.substring(0, lastDot));\n },\n\n withAllClassNames: function Class$withAllClassNames(scope, callback) {\n for (var name in scope) {\n try {\n if (Class.isClass(scope[name]))\n callback(name);\n } catch (er) { // FF exceptions\n }\n }\n callback(\"Object\");\n callback(\"Global\");\n },\n\n makeEnum: function Class$makeEnum(strings) {\n // simple mechanism for making objecs with property values set to\n // property names, to be used as enums.\n\n var e = {};\n for (var i = 0; i < strings.length; i++) {\n e[strings[i]] = strings[i];\n }\n return e;\n },\n\n getConstructor: function Class$getConstructor(object) {\n var c = object.constructor;\n return (c && c.getOriginal) ? c.getOriginal() : c;\n },\n\n getPrototype: function Class$getPrototype(object) {\n return this.getConstructor(object).prototype;\n },\n\n applyPrototypeMethod: function Class$applyPrototypeMethod(methodName, target, args) {\n var method = this.getPrototype(target);\n if (!method) throw new Error(\"method \" + methodName + \" not found\");\n return method.apply(this, args);\n },\n\n getSuperConstructor: function Class$getSuperConstructor(object) {\n return this.getConstructor(object).superclass;\n },\n\n getSuperPrototype: function Class$getSuperPrototype(object) {\n var sup = this.getSuperConstructor(object);\n return sup && sup.prototype;\n },\n\n addPins: function Class$addPins(cls, spec) {\n if (Global.Relay) {\n Class.addMixin(cls, Relay.newDelegationMixin(spec).prototype);\n return;\n }\n // this is for refactoring away from Relay and friends\n if (!Object.isArray(spec)) throw new Error('Cannot deal with non-Array spec in addPins');\n function unstripName(name) { return name.replace(/[\\+|\\-]?(.*)/, '$1') };\n function needsSetter(name) { return !name.startsWith('-') };\n function needsGetter(name) { return !name.startsWith('+') };\n var mixinSpec = {};\n spec.forEach(function(specString) {\n var name = unstripName(specString);\n if (needsSetter(specString))\n mixinSpec['set' + name] = function(value) { return this['_' + name] = value }\n if (needsGetter(specString))\n mixinSpec['get' + name] = function() { return this['_' + name] }\n })\n Class.addMixin(cls, mixinSpec);\n },\n\n addMixin: function Class$addMixin(cls, source) {\n var spec = {};\n for (var prop in source) {\n var value = source[prop];\n switch (prop) {\n case \"constructor\": case \"initialize\": case \"deserialize\": case \"copyFrom\":\n case \"toString\": case \"definition\": case \"description\":\n break;\n default:\n if (cls.prototype[prop] === undefined) // do not override existing values!\n spec[prop] = value;\n }\n }\n cls.addMethods(spec);\n },\n\n};\n\nObject.subclass('Namespace',\n'initializing', {\n\n initialize: function(context, nsName) {\n this.namespaceIdentifier = context.namespaceIdentifier + '.' + nsName;\n this.createTime = new Date();\n },\n},\n'accessing', {\n gather: function(selector, condition, recursive) {\n var result = Object.values(this).select(function(ea) { return condition.call(this, ea) }, this);\n if (!recursive) return result;\n return this.subNamespaces().inject(result, function(result, ns) { return result.concat(ns[selector](true)) });\n },\n\n subNamespaces: function(recursive) {\n return this.gather(\n 'subNamespaces',\n function(ea) { return (ea instanceof lively.lang.Namespace || ea === Global) && ea !== this },\n recursive);\n },\n\n classes: function(recursive) {\n var normalClasses = this.gather(\n 'classes',\n function(ea) { return ea && ea !== this.constructor && Class.isClass(ea) },\n recursive);\n if (this === Global)\n return [Array, Number, String, Function].concat(normalClasses);\n return normalClasses;\n },\n\n functions: function(recursive) {\n return this.gather(\n 'functions',\n function(ea) { return ea\n && !Class.isClass(ea)\n && Object.isFunction(ea)\n && !ea.declaredClass\n && this.requires !== ea\n && ea.getOriginal() === ea },\n recursive);\n },\n\n});\n\n// let Glabal act like a namespace itself\nObject.extend(Global, Namespace.prototype);\nObject.extend(Global, {\n namespaceIdentifier: 'Global',\n isLoaded: Functions.True,\n});\n\nNamespace.addMethods(\n'properties', {\n isLivelyModule: true,\n},\n'initializing', {\n beAnonymous: function() {\n this._isAnonymous = true;\n this.sourceModuleName = lively.lang.Namespace.current().namespaceIdentifier;\n return this;\n },\n},\n'accessing', { // module specific, should be a subclass?\n\n name: function() {\n var identifier = this.namespaceIdentifier,\n globalIdStart = 'Global.';\n if (identifier.startsWith(globalIdStart)) {\n identifier = identifier.substring(globalIdStart.length);\n }\n return identifier;\n },\n\n findUri: function(optFileType) {\n var fileType = optFileType || 'js',\n fileExtension = '.' + fileType,\n namespacePrefix;\n if (this.namespaceIdentifier.startsWith('Global.')) {\n namespacePrefix = 'Global.';\n } else {\n throw dbgOn(new Error('unknown namespaceIdentifier'));\n }\n var relativePath = this.namespaceIdentifier\n .substr(namespacePrefix.length)\n .replace(/\\./g, '/');\n if (!relativePath.match(/\\.js$/)) {\n relativePath += fileExtension;\n }\n var uri = '';\n lively.Config.modulePaths.forEach(function(ea) {\n if (relativePath.substring(0, ea.length) == ea) {\n uri = lively.Config.rootPath + relativePath;\n }\n });\n if (uri == '') {\n uri = lively.Config.codeBase + relativePath;\n }\n return uri;\n },\n\n uri: function(optType) { // FIXME cleanup necessary\n if (this.__cachedUri && !optType) { return this.__cachedUri; }\n var url;\n if (this.fromDB) {\n var id = this.namespaceIdentifier; // something like lively.Core\n var namespacePrefix;\n if (id.startsWith('Global.')) {\n namespacePrefix = 'Global.';\n id = id.substring(7);\n } else\n throw dbgOn(new Error('unknown namespaceIdentifier'));\n\n // FIXME: extract to lively.Config.codeBaseDB\n url = lively.Config.couchDBURL + '/' + this.fromDB + '/_design/raw_data/_list/javascript/for-module?module=' + id;\n this.__cachedUri = url;\n return url;\n } else {\n var id = this.namespaceIdentifier; // something like lively.Core\n var namespacePrefix;\n if (!this.isAnonymous()) {\n url = this.findUri(optType);\n } else {\n if (id.startsWith('Global.')) namespacePrefix = 'Global.';\n else throw dbgOn(new Error('unknown namespaceIdentifier'));\n url = lively.Config.codeBase + this.namespaceIdentifier.substr(namespacePrefix.length).replace(/\\./g, '/');\n }\n\n this.__cachedUri = url;\n return url;\n }\n },\n relativePath: function(optType) {\n return new URL(this.uri(optType)).relativePathFrom(URL.codeBase);\n },\n\n lastPart: function() {\n return this.name().match(/[^.]+$/)[0];\n }\n\n},\n'module dependencies', {\n addDependendModule: function(depModule) {\n if (!this.dependendModules) this.dependendModules = [];\n this.dependendModules.push(depModule);\n\n // keep a copy of the dependencies for debugging\n if (!this.debugDependendModules) this.debugDependendModules = [];\n this.debugDependendModules.push(depModule);\n },\n\n informDependendModules: function() {\n if (!this.dependendModules) return;\n var deps = this.dependendModules.uniq();\n this.dependendModules = [];\n deps.forEach(function(ea) { ea.removeRequiredModule(this) }, this);\n },\n\n traceDependendModules: function(visited) {\n visited = visited || [];\n var deps = this.debugDependendModules || [];\n deps = deps.withoutAll(visited)\n visited.push(this);\n return [this.namespaceIdentifier, deps.collect(function(ea) {\n return ea.traceDependendModules(visited)\n })]\n },\n\n addRequiredModule: function(requiredModule) {\n // privateRequirements is just for keeping track later on\n if (!this.privateRequirements) this.privateRequirements = [];\n this.privateRequirements.push(requiredModule);\n\n if (requiredModule.isLoaded()) return;\n if (!this.pendingRequirements) this.pendingRequirements = [];\n this.pendingRequirements.push(requiredModule);\n requiredModule.addDependendModule(this);\n },\n\n removeRequiredModule: function(requiredModule) {\n if (this.pendingRequirements && !this.pendingRequirements.include(requiredModule))\n throw dbgOn(new Error('requiredModule not there'));\n this.pendingRequirements = this.pendingRequirements.without(requiredModule);\n if (!this.hasPendingRequirements()) {\n this.load();\n }\n },\n\n pendingRequirementNames: function() {\n if (!this.pendingRequirements) return [];\n return this.pendingRequirements.collect(function(ea) { return ea.uri() });\n },\n\n hasPendingRequirements: function() {\n return this.pendingRequirements && this.pendingRequirements.length > 0;\n },\n\n loadRequirementsFirst: function() {\n this.pendingRequirements && this.pendingRequirements.invoke('load');\n },\n\n wasRequiredBy: function() {\n return Global.subNamespaces(true).select(function(m) {\n return m.privateRequirements && m.privateRequirements.include(this);\n }, this);\n },\n},\n'load callbacks', {\n addOnloadCallback: function(cb) {\n if (!this.callbacks) this.callbacks = [];\n this.callbacks.push(cb);\n },\n\n runOnloadCallbacks: function() {\n if (!this.callbacks) return;\n var cb;\n while (cb = this.callbacks.shift()) {\n try {cb()} catch(e) {\n this.logError('runOnloadCallbacks: ' + cb.name + ': ' + e);\n throw e\n }\n };\n },\n\n isAnonymous: function() {\n return this._isAnonymous\n },\n\n},\n'testing', {\n isLoaded: function() {\n return this._isLoaded;\n },\n\n isLoading: function() {\n if (this.isLoaded()) return false;\n if (this.uri().include('anonymous')) return true;\n return JSLoader.scriptInDOM(this.uri());\n },\n\n isAnonymous: function() {\n return this._isAnonymous\n },\n\n},\n'loading', {\n load: function(loadSync) {\n if (loadSync) {\n var prevWasSync = this.constructor.loadSync;\n this.constructor.loadSync = true;\n }\n if (this.isLoaded()) {\n this.runOnloadCallbacks();\n return;\n }\n if (this.isLoading() && this.wasDefined && !this.hasPendingRequirements()) {\n this.runOnloadCallbacks();\n // time is not only the time needed for the request and code evaluation\n // but the complete time span from the creation of the module (when the module is first encountered)\n // to evaluation the evaluation of its code, including load time of all requirements\n var time = this.createTime ? new Date() - this.createTime : 'na';\n console.log(this.uri() + ' loaded in ' + time + ' ms');\n this.informDependendModules();\n return;\n }\n if (this.isLoading()) {\n this.loadRequirementsFirst();\n return;\n }\n JSLoader.loadJs(this.uri(), null, this.constructor.loadSync);\n if (loadSync) this.constructor.loadSync = prevWasSync;\n },\n\n activate: function() {\n this.constructor.namespaceStack.push(this);\n },\n\n deactivate: function() {\n var m = this.constructor.namespaceStack.pop();\n if (m !== this)\n throw new Error('Wrong module: ' + this.namespaceIdentifier +\n ' instead of expected ' + m.namespaceIdentifier )\n },\n},\n'removing', {\n remove: function() {\n var ownerNamespace = Class.namespaceFor(this.namespaceIdentifier),\n ownName = Class.unqualifiedNameFor(this.namespaceIdentifier)\n JSLoader.removeAllScriptsThatLinkTo(this.uri());\n delete ownerNamespace[ownName];\n },\n removeScriptNode: function() {\n var node = document.getElementById(this.uri());\n if (!node) return\n node.parentNode.removeChild(node);\n },\n},\n'debugging', {\n toString: function() { return 'module(' + this.namespaceIdentifier + ')' },\n inspect: function() { this.toString() + ' defined at ' + this.defStack },\n logError: function(e, optCode) {\n var list = this.traceDependendModules();\n var msg = 'Error while loading ' + this.moduleName + ': ' + e;\n msg += '\\ndependencies: ' + Strings.printNested(list)\n if (Global.lively && lively.morphic && lively.morphic.World && lively.morphic.World.current() && lively.morphic.World.current().logError)\n lively.morphic.World.current().logError(e)\n\n if (e.stack) msg = msg + e.stack;\n\n if (optCode)\n msg += \"code:\\n\" + optCode;\n console.error(msg);\n dbgOn(true);\n },\n});\n\nObject.extend(Namespace, {\n namespaceStack: [Global],\n current: function() { return this.namespaceStack.last() },\n topologicalSortLoadedModules: function() {\n if (lively.Config.standAlone) {\n var scripIds = [];\n $('body script').each(function() { scripIds.push($(this).attr('id')) });\n return scripIds.collect(function(id) {\n var name = id.replace(/^..\\//, '');\n return module(name);\n });\n }\n\n // get currently loaded modules that really are js files\n var modules = Global.subNamespaces(true)\n .reject(function(ea) { return ea.isAnonymous(); })\n .select(function(ea) {\n return ea.isLoaded() && new WebResource(ea.uri()).exists() });\n\n // topological sort modules according to their requirements\n var sortedModules = [], i = 0;\n while (i < 1000 && modules.length > 0) {\n i++;\n var canBeLoaded = modules.select(function(module) {\n if (!module.privateRequirements) return true;\n return module.privateRequirements.all(function(requirement) {\n return sortedModules.include(requirement) })\n })\n sortedModules = sortedModules.concat(canBeLoaded);\n modules = modules.withoutAll(canBeLoaded);\n }\n if (modules.length > 0)\n throw new Error('Cannot find dependencies for all modules!');\n\n return sortedModules;\n },\n\n bootstrapModules: function() {\n // return a string to include in bootstrap.js\n var urls = this.topologicalSortLoadedModules()\n .collect(function(ea) { return new URL(ea.uri()).relativePathFrom(URL.codeBase) })\n // omit modules outside of core\n .reject(function(path) { return path.startsWith('..') });\n var manual = [LivelyLoader.libsFile,\n 'lively/Migration.js',\n 'lively/JSON.js',\n 'lively/lang/Object.js',\n 'lively/lang/Function.js',\n 'lively/lang/String.js',\n 'lively/lang/Array.js',\n 'lively/lang/Number.js',\n 'lively/lang/Date.js',\n 'lively/defaultconfig.js',\n 'lively/localconfig.js',\n 'lively/Base.js',\n 'lively/lang/Closure.js', // FIXME: require module instead\n 'lively/lang/UUID.js', // FIXME: require module instead\n 'lively/LocalStorage.js'];\n urls = manual.concat(urls);\n return urls;\n },\n\n bootstrapModulesString: function() {\n var urls = this.bootstrapModules();\n return '[\\'' + urls.join('\\', \\'') + '\\']';\n }\n});\n\n(function createLivelyNamespace(Global) {\n // namespace('lively.lang');\n var preExistingLively = Global.lively;\n delete Global.lively;\n var lively = new Global.Namespace(Global, 'lively');\n // FIXME this is just a hack to get properties of a potentially\n // predefined \"lively\" object over to the namespace lively object\n // namespaces should deal with this in general\n if (preExistingLively) {\n for (var name in preExistingLively) {\n lively[name] = preExistingLively[name];\n }\n }\n Global.lively = lively;\n})(Global);\n\n(function moveNamespaceClassToLivelyLang(Global) {\n var lively = Global.lively,\n Namespace = Global.Namespace;\n lively.lang = new Namespace(lively, 'lang');\n lively.lang.Namespace = Namespace;\n // alias\n lively.Module = lively.lang.Namespace;\n delete Global.Namespace;\n})(Global);\n\n(function addUsefulStuffToLivelyNS(Global, lively) {\n lively.assert = Global.assert;\n})(Global, lively);\n\nObject.extend(lively.Module, {\n findAllInThenDo: function(url, callback) {\n var dir = new URL(url).getDirectory();\n if (url.isLeaf()) {\n throw new Error(url + ' is not a directory!');\n }\n var webR = dir.asWebResource();\n lively.bindings.connect(webR, 'subDocuments', {onLoad: function(files) {\n var moduleNames = files.invoke('getURL') .invoke('asModuleName'),\n modules = moduleNames.collect(function(name) { return module(name); })\n callback(modules);\n }}, 'onLoad');\n webR.getSubElements();\n }\n});\n\n(function setupLivelyLang(lively) {\n lively.lang.Execution = {\n showStack: Functions.Null,\n resetDebuggingStack: Functions.Null,\n installStackTracers: Functions.Null\n };\n lively.lang.let = function(/** **/) {\n // lively.lang.let(y, function(x) { body }) is equivalent to { let y = x; body; }\n return arguments[arguments.length - 1].apply(this, arguments);\n }\n})(lively);\n\n/*\n * Stack Viewer when Dan's StackTracer is not available\n * FIXME rk: move this to Helper.js?\n */\nfunction getStack() {\n var result = [];\n for(var caller = arguments.callee.caller; caller; caller = caller.caller) {\n if (result.indexOf(caller) != -1) {\n result.push({name: \"recursive call can't be traced\"});\n break;\n }\n result.push(caller);\n };\n return result;\n};\n\nfunction printStack() {\n function guessFunctionName(func) {\n var qName = func.qualifiedMethodName && func.qualifiedMethodName(),\n regExpRes = func.toString().match(/function (.+)\\(/);\n return qName || (regExpRes && regExpRes[1]) || func;\n };\n\n var string = \"== Stack ==\\n\",\n stack = getStack();\n stack.shift(); // for getStack\n stack.shift(); // for printStack (me)\n var indent = \"\";\n for (var i=0; i < stack.length; i++) {\n string += indent + i + \": \" +guessFunctionName(stack[i]) + \"\\n\";\n indent += \" \";\n };\n return string;\n};\n\nfunction logStack() {\n this.console.log(printStack());\n};\n\n(function setupjQuery(Global) {\n var lively = Global.lively,\n jQuery = Global.jQuery;\n // we still are adding jQuery to Global but this is DEPRECATED\n // We need to be able to run with libraries requiring different jQuery versions\n // so we will restrict \"our\" to lively.$ in the future\n Global.$ = lively.$ = jQuery.noConflict(/*true -- really removes $*/);\n})(Global);","inspector":{"__isSmartRef__":true,"id":11},"parent":{"__isSmartRef__":true,"id":69},"name":"cachedTextString","description":"/* * Copyright (c) 2006-2009 Sun Mic...","attributeConnections":[{"__isSmartRef__":true,"id":1578}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1619}},"1578":{"sourceObj":{"__isSmartRef__":true,"id":1577},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":1579},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":1618},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1579":{"item":{"__isSmartRef__":true,"id":1577},"parent":{"__isSmartRef__":true,"id":1366},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":1580}],"scripts":[],"shape":{"__isSmartRef__":true,"id":1613},"eventHandler":{"__isSmartRef__":true,"id":1614},"_ClipMode":"visible","derivationIds":[],"id":"41CB9D15-8390-497A-BF0E-11F9C1D90CDC","droppingEnabled":true,"halosEnabled":true,"layout":{"__isSmartRef__":true,"id":1615},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":1581},"label":{"__isSmartRef__":true,"id":1594},"node":{"__isSmartRef__":true,"id":1580},"owner":{"__isSmartRef__":true,"id":1366},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,80.0)"},"1580":{"submorphs":[{"__isSmartRef__":true,"id":1581},{"__isSmartRef__":true,"id":1594}],"scripts":[],"shape":{"__isSmartRef__":true,"id":1609},"eventHandler":{"__isSmartRef__":true,"id":1610},"_ClipMode":"visible","derivationIds":[],"id":"299F15FB-440D-4D69-97BE-811C18FF2DA2","droppingEnabled":true,"halosEnabled":true,"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":1611},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":1579},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"1581":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":1582},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":1583}],"eventHandler":{"__isSmartRef__":true,"id":1585},"_ClipMode":"visible","derivationIds":[],"id":"C56A8E36-394C-453B-AF07-324D2B9EF43F","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":1580},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1586},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"1582":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"1583":{"style":{"__isSmartRef__":true,"id":1584},"chunkOwner":{"__isSmartRef__":true,"id":1581},"_id":"_20649","storedString":"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1584":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1585":{"morph":{"__isSmartRef__":true,"id":1581},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1586":{"onMouseDown":{"__isSmartRef__":true,"id":1587}},"1587":{"varMapping":{"__isSmartRef__":true,"id":1588},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1593},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1588":{"this":{"__isSmartRef__":true,"id":1581},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1589}},"1589":{"$super":{"__isSmartRef__":true,"id":1590}},"1590":{"varMapping":{"__isSmartRef__":true,"id":1591},"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":1592},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1591":{"obj":{"__isSmartRef__":true,"id":1581},"name":"onMouseDown"},"1592":{},"1593":{},"1594":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":1595},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":1596},{"__isSmartRef__":true,"id":1598}],"eventHandler":{"__isSmartRef__":true,"id":1600},"_ClipMode":"visible","derivationIds":[],"id":"77F101CD-0A35-4934-9731-5D2D1F30B72B","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":1580},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1601},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"1595":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(339.0,16.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"1596":{"style":{"__isSmartRef__":true,"id":1597},"chunkOwner":{"__isSmartRef__":true,"id":1594},"_id":"_39745","storedString":"cachedTextString","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1597":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1598":{"style":{"__isSmartRef__":true,"id":1599},"chunkOwner":{"__isSmartRef__":true,"id":1594},"_id":"_39746","storedString":" /* * Copyright (c) 2006-2009 Sun Mic...","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1599":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"1600":{"morph":{"__isSmartRef__":true,"id":1594},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1601":{"onMouseDown":{"__isSmartRef__":true,"id":1602}},"1602":{"varMapping":{"__isSmartRef__":true,"id":1603},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1608},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1603":{"this":{"__isSmartRef__":true,"id":1594},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1604}},"1604":{"$super":{"__isSmartRef__":true,"id":1605}},"1605":{"varMapping":{"__isSmartRef__":true,"id":1606},"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":1607},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1606":{"obj":{"__isSmartRef__":true,"id":1594},"name":"onMouseDown"},"1607":{},"1608":{},"1609":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(344.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"1610":{"morph":{"__isSmartRef__":true,"id":1580},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1611":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":1612}},"1612":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":1580},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"1613":{"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(354.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"1614":{"morph":{"__isSmartRef__":true,"id":1579},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1615":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":1616}},"1616":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":1617},"spacing":0,"container":{"__isSmartRef__":true,"id":1579},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"1617":{"top":0,"right":0,"bottom":0,"left":0},"1618":{"source":{"__isSmartRef__":true,"id":1577},"target":{"__isSmartRef__":true,"id":1579}},"1619":{"onSelect":{"__isSmartRef__":true,"id":1620},"onUpdate":{"__isSmartRef__":true,"id":1623}},"1620":{"varMapping":{"__isSmartRef__":true,"id":1621},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":1622},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1621":{"this":{"__isSmartRef__":true,"id":1577}},"1622":{},"1623":{"varMapping":{"__isSmartRef__":true,"id":1624},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":1625},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1624":{"this":{"__isSmartRef__":true,"id":1577}},"1625":{},"1626":{"data":"","inspector":{"__isSmartRef__":true,"id":11},"parent":{"__isSmartRef__":true,"id":69},"name":"charsTyped","description":"","attributeConnections":[{"__isSmartRef__":true,"id":1627}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1666}},"1627":{"sourceObj":{"__isSmartRef__":true,"id":1626},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":1628},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":1665},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1628":{"item":{"__isSmartRef__":true,"id":1626},"parent":{"__isSmartRef__":true,"id":1366},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":1629}],"scripts":[],"shape":{"__isSmartRef__":true,"id":1660},"eventHandler":{"__isSmartRef__":true,"id":1661},"_ClipMode":"visible","derivationIds":[],"id":"C5D55B44-1BBE-493C-9260-9A8B6D8EC768","droppingEnabled":true,"halosEnabled":true,"layout":{"__isSmartRef__":true,"id":1662},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":1630},"label":{"__isSmartRef__":true,"id":1643},"node":{"__isSmartRef__":true,"id":1629},"owner":{"__isSmartRef__":true,"id":1366},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,100.0)"},"1629":{"submorphs":[{"__isSmartRef__":true,"id":1630},{"__isSmartRef__":true,"id":1643}],"scripts":[],"shape":{"__isSmartRef__":true,"id":1656},"eventHandler":{"__isSmartRef__":true,"id":1657},"_ClipMode":"visible","derivationIds":[],"id":"D279F2F3-AF7D-4606-8E82-8DB1C4A81BC2","droppingEnabled":true,"halosEnabled":true,"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":1658},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":1628},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"1630":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":1631},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":1632}],"eventHandler":{"__isSmartRef__":true,"id":1634},"_ClipMode":"visible","derivationIds":[],"id":"F2BCD972-DEEA-454D-ACF6-7C534B6BEB63","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":1629},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1635},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"1631":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"1632":{"style":{"__isSmartRef__":true,"id":1633},"chunkOwner":{"__isSmartRef__":true,"id":1630},"_id":"_20654","storedString":"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1633":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1634":{"morph":{"__isSmartRef__":true,"id":1630},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1635":{"onMouseDown":{"__isSmartRef__":true,"id":1636}},"1636":{"varMapping":{"__isSmartRef__":true,"id":1637},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1642},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1637":{"this":{"__isSmartRef__":true,"id":1630},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1638}},"1638":{"$super":{"__isSmartRef__":true,"id":1639}},"1639":{"varMapping":{"__isSmartRef__":true,"id":1640},"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":1641},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1640":{"obj":{"__isSmartRef__":true,"id":1630},"name":"onMouseDown"},"1641":{},"1642":{},"1643":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":1644},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":1645}],"eventHandler":{"__isSmartRef__":true,"id":1647},"_ClipMode":"visible","derivationIds":[],"id":"4BBE12FB-190A-4202-9DD0-C291D5B15593","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":1629},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1648},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"1644":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(76.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"1645":{"style":{"__isSmartRef__":true,"id":1646},"chunkOwner":{"__isSmartRef__":true,"id":1643},"_id":"_20656","storedString":"charsTyped","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1646":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1647":{"morph":{"__isSmartRef__":true,"id":1643},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1648":{"onMouseDown":{"__isSmartRef__":true,"id":1649}},"1649":{"varMapping":{"__isSmartRef__":true,"id":1650},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1655},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1650":{"this":{"__isSmartRef__":true,"id":1643},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1651}},"1651":{"$super":{"__isSmartRef__":true,"id":1652}},"1652":{"varMapping":{"__isSmartRef__":true,"id":1653},"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":1654},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1653":{"obj":{"__isSmartRef__":true,"id":1643},"name":"onMouseDown"},"1654":{},"1655":{},"1656":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"1657":{"morph":{"__isSmartRef__":true,"id":1629},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1658":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":1659}},"1659":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":1629},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"1660":{"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"1661":{"morph":{"__isSmartRef__":true,"id":1628},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1662":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":1663}},"1663":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":1664},"spacing":0,"container":{"__isSmartRef__":true,"id":1628},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"1664":{"top":0,"right":0,"bottom":0,"left":0},"1665":{"source":{"__isSmartRef__":true,"id":1626},"target":{"__isSmartRef__":true,"id":1628}},"1666":{"onSelect":{"__isSmartRef__":true,"id":1667},"onUpdate":{"__isSmartRef__":true,"id":1670}},"1667":{"varMapping":{"__isSmartRef__":true,"id":1668},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":1669},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1668":{"this":{"__isSmartRef__":true,"id":1626}},"1669":{},"1670":{"varMapping":{"__isSmartRef__":true,"id":1671},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":1672},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1671":{"this":{"__isSmartRef__":true,"id":1626}},"1672":{},"1673":{"data":[],"inspector":{"__isSmartRef__":true,"id":11},"parent":{"__isSmartRef__":true,"id":69},"name":"derivationIds","description":"[]","children":[],"attributeConnections":[{"__isSmartRef__":true,"id":1674}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1715}},"1674":{"sourceObj":{"__isSmartRef__":true,"id":1673},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":1675},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":1714},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1675":{"item":{"__isSmartRef__":true,"id":1673},"parent":{"__isSmartRef__":true,"id":1366},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":1676}],"scripts":[],"shape":{"__isSmartRef__":true,"id":1709},"eventHandler":{"__isSmartRef__":true,"id":1710},"_ClipMode":"visible","derivationIds":[],"id":"7664FA42-1B4F-4240-A2D3-F9A0F42A5CE7","droppingEnabled":true,"halosEnabled":true,"layout":{"__isSmartRef__":true,"id":1711},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":1677},"label":{"__isSmartRef__":true,"id":1690},"node":{"__isSmartRef__":true,"id":1676},"owner":{"__isSmartRef__":true,"id":1366},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,120.0)"},"1676":{"submorphs":[{"__isSmartRef__":true,"id":1677},{"__isSmartRef__":true,"id":1690}],"scripts":[],"shape":{"__isSmartRef__":true,"id":1705},"eventHandler":{"__isSmartRef__":true,"id":1706},"_ClipMode":"visible","derivationIds":[],"id":"4E35EDE5-4004-4062-BD81-9F02374EB4BD","droppingEnabled":true,"halosEnabled":true,"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":1707},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":1675},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"1677":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":1678},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":1679}],"eventHandler":{"__isSmartRef__":true,"id":1681},"_ClipMode":"visible","derivationIds":[],"id":"1D7CFD31-8E3F-4564-8DE3-77C96D53E72B","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":1676},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1682},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"1678":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"1679":{"style":{"__isSmartRef__":true,"id":1680},"chunkOwner":{"__isSmartRef__":true,"id":1677},"_id":"_20658","storedString":"►","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1680":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1681":{"morph":{"__isSmartRef__":true,"id":1677},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1682":{"onMouseDown":{"__isSmartRef__":true,"id":1683}},"1683":{"varMapping":{"__isSmartRef__":true,"id":1684},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1689},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1684":{"this":{"__isSmartRef__":true,"id":1677},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1685}},"1685":{"$super":{"__isSmartRef__":true,"id":1686}},"1686":{"varMapping":{"__isSmartRef__":true,"id":1687},"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":1688},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1687":{"obj":{"__isSmartRef__":true,"id":1677},"name":"onMouseDown"},"1688":{},"1689":{},"1690":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":1691},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":1692},{"__isSmartRef__":true,"id":1694}],"eventHandler":{"__isSmartRef__":true,"id":1696},"_ClipMode":"visible","derivationIds":[],"id":"48BF402B-A1C5-425D-AF8A-6E8A6220D5D8","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":1676},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1697},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"1691":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(94.0,16.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"1692":{"style":{"__isSmartRef__":true,"id":1693},"chunkOwner":{"__isSmartRef__":true,"id":1690},"_id":"_39747","storedString":"derivationIds","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1693":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1694":{"style":{"__isSmartRef__":true,"id":1695},"chunkOwner":{"__isSmartRef__":true,"id":1690},"_id":"_39748","storedString":" []","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1695":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"1696":{"morph":{"__isSmartRef__":true,"id":1690},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1697":{"onMouseDown":{"__isSmartRef__":true,"id":1698}},"1698":{"varMapping":{"__isSmartRef__":true,"id":1699},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1704},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1699":{"this":{"__isSmartRef__":true,"id":1690},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1700}},"1700":{"$super":{"__isSmartRef__":true,"id":1701}},"1701":{"varMapping":{"__isSmartRef__":true,"id":1702},"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":1703},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1702":{"obj":{"__isSmartRef__":true,"id":1690},"name":"onMouseDown"},"1703":{},"1704":{},"1705":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"1706":{"morph":{"__isSmartRef__":true,"id":1676},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1707":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":1708}},"1708":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":1676},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"1709":{"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"1710":{"morph":{"__isSmartRef__":true,"id":1675},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1711":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":1712}},"1712":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":1713},"spacing":0,"container":{"__isSmartRef__":true,"id":1675},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"1713":{"top":0,"right":0,"bottom":0,"left":0},"1714":{"source":{"__isSmartRef__":true,"id":1673},"target":{"__isSmartRef__":true,"id":1675}},"1715":{"onSelect":{"__isSmartRef__":true,"id":1716},"onExpand":{"__isSmartRef__":true,"id":1719},"onUpdateChildren":{"__isSmartRef__":true,"id":1722},"onUpdate":{"__isSmartRef__":true,"id":1725}},"1716":{"varMapping":{"__isSmartRef__":true,"id":1717},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":1718},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1717":{"this":{"__isSmartRef__":true,"id":1673}},"1718":{},"1719":{"varMapping":{"__isSmartRef__":true,"id":1720},"source":"function onExpand() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":1721},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1720":{"this":{"__isSmartRef__":true,"id":1673}},"1721":{},"1722":{"varMapping":{"__isSmartRef__":true,"id":1723},"source":"function onUpdateChildren() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":1724},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1723":{"this":{"__isSmartRef__":true,"id":1673}},"1724":{},"1725":{"varMapping":{"__isSmartRef__":true,"id":1726},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":1727},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1726":{"this":{"__isSmartRef__":true,"id":1673}},"1727":{},"1728":{"data":["$$textString","$$savedTextString"],"inspector":{"__isSmartRef__":true,"id":11},"parent":{"__isSmartRef__":true,"id":69},"name":"doNotCopyProperties","description":"[...]","children":[],"attributeConnections":[{"__isSmartRef__":true,"id":1729}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1770}},"1729":{"sourceObj":{"__isSmartRef__":true,"id":1728},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":1730},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":1769},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1730":{"item":{"__isSmartRef__":true,"id":1728},"parent":{"__isSmartRef__":true,"id":1366},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":1731}],"scripts":[],"shape":{"__isSmartRef__":true,"id":1764},"eventHandler":{"__isSmartRef__":true,"id":1765},"_ClipMode":"visible","derivationIds":[],"id":"79AEC93D-F231-48CE-8E62-E85156FB3F3D","droppingEnabled":true,"halosEnabled":true,"layout":{"__isSmartRef__":true,"id":1766},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":1732},"label":{"__isSmartRef__":true,"id":1745},"node":{"__isSmartRef__":true,"id":1731},"owner":{"__isSmartRef__":true,"id":1366},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,140.0)"},"1731":{"submorphs":[{"__isSmartRef__":true,"id":1732},{"__isSmartRef__":true,"id":1745}],"scripts":[],"shape":{"__isSmartRef__":true,"id":1760},"eventHandler":{"__isSmartRef__":true,"id":1761},"_ClipMode":"visible","derivationIds":[],"id":"7588E2F3-D7D5-4F40-8F81-F0E81E49C6A0","droppingEnabled":true,"halosEnabled":true,"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":1762},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":1730},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"1732":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":1733},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":1734}],"eventHandler":{"__isSmartRef__":true,"id":1736},"_ClipMode":"visible","derivationIds":[],"id":"529FE5A4-0F75-4553-B347-4B749A239DE8","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":1731},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1737},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"1733":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"1734":{"style":{"__isSmartRef__":true,"id":1735},"chunkOwner":{"__isSmartRef__":true,"id":1732},"_id":"_20663","storedString":"►","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1735":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1736":{"morph":{"__isSmartRef__":true,"id":1732},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1737":{"onMouseDown":{"__isSmartRef__":true,"id":1738}},"1738":{"varMapping":{"__isSmartRef__":true,"id":1739},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1744},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1739":{"this":{"__isSmartRef__":true,"id":1732},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1740}},"1740":{"$super":{"__isSmartRef__":true,"id":1741}},"1741":{"varMapping":{"__isSmartRef__":true,"id":1742},"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":1743},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1742":{"obj":{"__isSmartRef__":true,"id":1732},"name":"onMouseDown"},"1743":{},"1744":{},"1745":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":1746},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":1747},{"__isSmartRef__":true,"id":1749}],"eventHandler":{"__isSmartRef__":true,"id":1751},"_ClipMode":"visible","derivationIds":[],"id":"B8BDAB89-61D9-44C7-BD76-9E5F6E964A98","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":1731},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1752},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"1746":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(157.0,16.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"1747":{"style":{"__isSmartRef__":true,"id":1748},"chunkOwner":{"__isSmartRef__":true,"id":1745},"_id":"_39749","storedString":"doNotCopyProperties","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1748":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1749":{"style":{"__isSmartRef__":true,"id":1750},"chunkOwner":{"__isSmartRef__":true,"id":1745},"_id":"_39750","storedString":" [...]","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1750":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"1751":{"morph":{"__isSmartRef__":true,"id":1745},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1752":{"onMouseDown":{"__isSmartRef__":true,"id":1753}},"1753":{"varMapping":{"__isSmartRef__":true,"id":1754},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1759},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1754":{"this":{"__isSmartRef__":true,"id":1745},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1755}},"1755":{"$super":{"__isSmartRef__":true,"id":1756}},"1756":{"varMapping":{"__isSmartRef__":true,"id":1757},"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":1758},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1757":{"obj":{"__isSmartRef__":true,"id":1745},"name":"onMouseDown"},"1758":{},"1759":{},"1760":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"1761":{"morph":{"__isSmartRef__":true,"id":1731},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1762":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":1763}},"1763":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":1731},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"1764":{"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"1765":{"morph":{"__isSmartRef__":true,"id":1730},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1766":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":1767}},"1767":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":1768},"spacing":0,"container":{"__isSmartRef__":true,"id":1730},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"1768":{"top":0,"right":0,"bottom":0,"left":0},"1769":{"source":{"__isSmartRef__":true,"id":1728},"target":{"__isSmartRef__":true,"id":1730}},"1770":{"onSelect":{"__isSmartRef__":true,"id":1771},"onExpand":{"__isSmartRef__":true,"id":1774},"onUpdateChildren":{"__isSmartRef__":true,"id":1777},"onUpdate":{"__isSmartRef__":true,"id":1780}},"1771":{"varMapping":{"__isSmartRef__":true,"id":1772},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":1773},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1772":{"this":{"__isSmartRef__":true,"id":1728}},"1773":{},"1774":{"varMapping":{"__isSmartRef__":true,"id":1775},"source":"function onExpand() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":1776},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1775":{"this":{"__isSmartRef__":true,"id":1728}},"1776":{},"1777":{"varMapping":{"__isSmartRef__":true,"id":1778},"source":"function onUpdateChildren() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":1779},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1778":{"this":{"__isSmartRef__":true,"id":1728}},"1779":{},"1780":{"varMapping":{"__isSmartRef__":true,"id":1781},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":1782},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1781":{"this":{"__isSmartRef__":true,"id":1728}},"1782":{},"1783":{"data":["$$textString","$$savedTextString"],"inspector":{"__isSmartRef__":true,"id":11},"parent":{"__isSmartRef__":true,"id":69},"name":"doNotSerialize","description":"[...]","children":[],"attributeConnections":[{"__isSmartRef__":true,"id":1784}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1825}},"1784":{"sourceObj":{"__isSmartRef__":true,"id":1783},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":1785},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":1824},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1785":{"item":{"__isSmartRef__":true,"id":1783},"parent":{"__isSmartRef__":true,"id":1366},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":1786}],"scripts":[],"shape":{"__isSmartRef__":true,"id":1819},"eventHandler":{"__isSmartRef__":true,"id":1820},"_ClipMode":"visible","derivationIds":[],"id":"37C5C068-3A10-4FAA-9E76-11DE62347798","droppingEnabled":true,"halosEnabled":true,"layout":{"__isSmartRef__":true,"id":1821},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":1787},"label":{"__isSmartRef__":true,"id":1800},"node":{"__isSmartRef__":true,"id":1786},"owner":{"__isSmartRef__":true,"id":1366},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,160.0)"},"1786":{"submorphs":[{"__isSmartRef__":true,"id":1787},{"__isSmartRef__":true,"id":1800}],"scripts":[],"shape":{"__isSmartRef__":true,"id":1815},"eventHandler":{"__isSmartRef__":true,"id":1816},"_ClipMode":"visible","derivationIds":[],"id":"9CCEF9BA-7E68-4138-AEF1-9C55BA12BD00","droppingEnabled":true,"halosEnabled":true,"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":1817},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":1785},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"1787":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":1788},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":1789}],"eventHandler":{"__isSmartRef__":true,"id":1791},"_ClipMode":"visible","derivationIds":[],"id":"25271B98-0CF9-42B7-9868-1B2CB5AAFB30","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":1786},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1792},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"1788":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"1789":{"style":{"__isSmartRef__":true,"id":1790},"chunkOwner":{"__isSmartRef__":true,"id":1787},"_id":"_20668","storedString":"►","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1790":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1791":{"morph":{"__isSmartRef__":true,"id":1787},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1792":{"onMouseDown":{"__isSmartRef__":true,"id":1793}},"1793":{"varMapping":{"__isSmartRef__":true,"id":1794},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1799},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1794":{"this":{"__isSmartRef__":true,"id":1787},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1795}},"1795":{"$super":{"__isSmartRef__":true,"id":1796}},"1796":{"varMapping":{"__isSmartRef__":true,"id":1797},"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":1798},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1797":{"obj":{"__isSmartRef__":true,"id":1787},"name":"onMouseDown"},"1798":{},"1799":{},"1800":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":1801},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":1802},{"__isSmartRef__":true,"id":1804}],"eventHandler":{"__isSmartRef__":true,"id":1806},"_ClipMode":"visible","derivationIds":[],"id":"710FE345-EA40-4274-A8AD-7EF9F166BADB","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":1786},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1807},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"1801":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(117.0,16.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"1802":{"style":{"__isSmartRef__":true,"id":1803},"chunkOwner":{"__isSmartRef__":true,"id":1800},"_id":"_39751","storedString":"doNotSerialize","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1803":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1804":{"style":{"__isSmartRef__":true,"id":1805},"chunkOwner":{"__isSmartRef__":true,"id":1800},"_id":"_39752","storedString":" [...]","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1805":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"1806":{"morph":{"__isSmartRef__":true,"id":1800},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1807":{"onMouseDown":{"__isSmartRef__":true,"id":1808}},"1808":{"varMapping":{"__isSmartRef__":true,"id":1809},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1814},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1809":{"this":{"__isSmartRef__":true,"id":1800},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1810}},"1810":{"$super":{"__isSmartRef__":true,"id":1811}},"1811":{"varMapping":{"__isSmartRef__":true,"id":1812},"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":1813},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1812":{"obj":{"__isSmartRef__":true,"id":1800},"name":"onMouseDown"},"1813":{},"1814":{},"1815":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"1816":{"morph":{"__isSmartRef__":true,"id":1786},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1817":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":1818}},"1818":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":1786},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"1819":{"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"1820":{"morph":{"__isSmartRef__":true,"id":1785},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1821":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":1822}},"1822":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":1823},"spacing":0,"container":{"__isSmartRef__":true,"id":1785},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"1823":{"top":0,"right":0,"bottom":0,"left":0},"1824":{"source":{"__isSmartRef__":true,"id":1783},"target":{"__isSmartRef__":true,"id":1785}},"1825":{"onSelect":{"__isSmartRef__":true,"id":1826},"onExpand":{"__isSmartRef__":true,"id":1829},"onUpdateChildren":{"__isSmartRef__":true,"id":1832},"onUpdate":{"__isSmartRef__":true,"id":1835}},"1826":{"varMapping":{"__isSmartRef__":true,"id":1827},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":1828},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1827":{"this":{"__isSmartRef__":true,"id":1783}},"1828":{},"1829":{"varMapping":{"__isSmartRef__":true,"id":1830},"source":"function onExpand() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":1831},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1830":{"this":{"__isSmartRef__":true,"id":1783}},"1831":{},"1832":{"varMapping":{"__isSmartRef__":true,"id":1833},"source":"function onUpdateChildren() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":1834},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1833":{"this":{"__isSmartRef__":true,"id":1783}},"1834":{},"1835":{"varMapping":{"__isSmartRef__":true,"id":1836},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":1837},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1836":{"this":{"__isSmartRef__":true,"id":1783}},"1837":{},"1838":{"data":false,"inspector":{"__isSmartRef__":true,"id":11},"parent":{"__isSmartRef__":true,"id":69},"name":"droppingEnabled","description":"false","attributeConnections":[{"__isSmartRef__":true,"id":1839}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1880}},"1839":{"sourceObj":{"__isSmartRef__":true,"id":1838},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":1840},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":1879},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1840":{"item":{"__isSmartRef__":true,"id":1838},"parent":{"__isSmartRef__":true,"id":1366},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":1841}],"scripts":[],"shape":{"__isSmartRef__":true,"id":1874},"eventHandler":{"__isSmartRef__":true,"id":1875},"_ClipMode":"visible","derivationIds":[],"id":"D6A64DB0-BB11-440B-AE69-D8D7D6AA626C","droppingEnabled":true,"halosEnabled":true,"layout":{"__isSmartRef__":true,"id":1876},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":1842},"label":{"__isSmartRef__":true,"id":1855},"node":{"__isSmartRef__":true,"id":1841},"owner":{"__isSmartRef__":true,"id":1366},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,180.0)"},"1841":{"submorphs":[{"__isSmartRef__":true,"id":1842},{"__isSmartRef__":true,"id":1855}],"scripts":[],"shape":{"__isSmartRef__":true,"id":1870},"eventHandler":{"__isSmartRef__":true,"id":1871},"_ClipMode":"visible","derivationIds":[],"id":"602853F3-762E-41D7-B1F4-19027A8FDCE9","droppingEnabled":true,"halosEnabled":true,"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":1872},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":1840},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"1842":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":1843},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":1844}],"eventHandler":{"__isSmartRef__":true,"id":1846},"_ClipMode":"visible","derivationIds":[],"id":"45996A64-DABE-4270-B8F7-0A871E8CDC41","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":1841},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1847},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"1843":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"1844":{"style":{"__isSmartRef__":true,"id":1845},"chunkOwner":{"__isSmartRef__":true,"id":1842},"_id":"_20673","storedString":"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1845":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1846":{"morph":{"__isSmartRef__":true,"id":1842},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1847":{"onMouseDown":{"__isSmartRef__":true,"id":1848}},"1848":{"varMapping":{"__isSmartRef__":true,"id":1849},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1854},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1849":{"this":{"__isSmartRef__":true,"id":1842},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1850}},"1850":{"$super":{"__isSmartRef__":true,"id":1851}},"1851":{"varMapping":{"__isSmartRef__":true,"id":1852},"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":1853},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1852":{"obj":{"__isSmartRef__":true,"id":1842},"name":"onMouseDown"},"1853":{},"1854":{},"1855":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":1856},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":1857},{"__isSmartRef__":true,"id":1859}],"eventHandler":{"__isSmartRef__":true,"id":1861},"_ClipMode":"visible","derivationIds":[],"id":"574872C1-B227-44C2-8A0B-F7706FD00E87","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":1841},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1862},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"1856":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(136.0,16.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"1857":{"style":{"__isSmartRef__":true,"id":1858},"chunkOwner":{"__isSmartRef__":true,"id":1855},"_id":"_39753","storedString":"droppingEnabled","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1858":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1859":{"style":{"__isSmartRef__":true,"id":1860},"chunkOwner":{"__isSmartRef__":true,"id":1855},"_id":"_39754","storedString":" false","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1860":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"1861":{"morph":{"__isSmartRef__":true,"id":1855},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1862":{"onMouseDown":{"__isSmartRef__":true,"id":1863}},"1863":{"varMapping":{"__isSmartRef__":true,"id":1864},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1869},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1864":{"this":{"__isSmartRef__":true,"id":1855},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1865}},"1865":{"$super":{"__isSmartRef__":true,"id":1866}},"1866":{"varMapping":{"__isSmartRef__":true,"id":1867},"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":1868},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1867":{"obj":{"__isSmartRef__":true,"id":1855},"name":"onMouseDown"},"1868":{},"1869":{},"1870":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"1871":{"morph":{"__isSmartRef__":true,"id":1841},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1872":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":1873}},"1873":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":1841},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"1874":{"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"1875":{"morph":{"__isSmartRef__":true,"id":1840},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1876":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":1877}},"1877":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":1878},"spacing":0,"container":{"__isSmartRef__":true,"id":1840},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"1878":{"top":0,"right":0,"bottom":0,"left":0},"1879":{"source":{"__isSmartRef__":true,"id":1838},"target":{"__isSmartRef__":true,"id":1840}},"1880":{"onSelect":{"__isSmartRef__":true,"id":1881},"onUpdate":{"__isSmartRef__":true,"id":1884}},"1881":{"varMapping":{"__isSmartRef__":true,"id":1882},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":1883},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1882":{"this":{"__isSmartRef__":true,"id":1838}},"1883":{},"1884":{"varMapping":{"__isSmartRef__":true,"id":1885},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":1886},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1885":{"this":{"__isSmartRef__":true,"id":1838}},"1886":{},"1887":{"data":false,"inspector":{"__isSmartRef__":true,"id":11},"parent":{"__isSmartRef__":true,"id":69},"name":"evalEnabled","description":"false","attributeConnections":[{"__isSmartRef__":true,"id":1888}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1929}},"1888":{"sourceObj":{"__isSmartRef__":true,"id":1887},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":1889},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":1928},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1889":{"item":{"__isSmartRef__":true,"id":1887},"parent":{"__isSmartRef__":true,"id":1366},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":1890}],"scripts":[],"shape":{"__isSmartRef__":true,"id":1923},"eventHandler":{"__isSmartRef__":true,"id":1924},"_ClipMode":"visible","derivationIds":[],"id":"B133AC49-1EBA-45B1-9E7B-7A671EC9A4B8","droppingEnabled":true,"halosEnabled":true,"layout":{"__isSmartRef__":true,"id":1925},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":1891},"label":{"__isSmartRef__":true,"id":1904},"node":{"__isSmartRef__":true,"id":1890},"owner":{"__isSmartRef__":true,"id":1366},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,200.0)"},"1890":{"submorphs":[{"__isSmartRef__":true,"id":1891},{"__isSmartRef__":true,"id":1904}],"scripts":[],"shape":{"__isSmartRef__":true,"id":1919},"eventHandler":{"__isSmartRef__":true,"id":1920},"_ClipMode":"visible","derivationIds":[],"id":"935633CF-E596-41E7-86CB-2E8E008C80B0","droppingEnabled":true,"halosEnabled":true,"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":1921},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":1889},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"1891":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":1892},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":1893}],"eventHandler":{"__isSmartRef__":true,"id":1895},"_ClipMode":"visible","derivationIds":[],"id":"16011F04-3B5A-41FE-8123-691CD40DBB99","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":1890},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1896},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"1892":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"1893":{"style":{"__isSmartRef__":true,"id":1894},"chunkOwner":{"__isSmartRef__":true,"id":1891},"_id":"_20678","storedString":"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1894":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1895":{"morph":{"__isSmartRef__":true,"id":1891},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1896":{"onMouseDown":{"__isSmartRef__":true,"id":1897}},"1897":{"varMapping":{"__isSmartRef__":true,"id":1898},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1903},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1898":{"this":{"__isSmartRef__":true,"id":1891},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1899}},"1899":{"$super":{"__isSmartRef__":true,"id":1900}},"1900":{"varMapping":{"__isSmartRef__":true,"id":1901},"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":1902},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1901":{"obj":{"__isSmartRef__":true,"id":1891},"name":"onMouseDown"},"1902":{},"1903":{},"1904":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":1905},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":1906},{"__isSmartRef__":true,"id":1908}],"eventHandler":{"__isSmartRef__":true,"id":1910},"_ClipMode":"visible","derivationIds":[],"id":"B749D6BC-B42E-4267-B705-69FDB4C23064","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":1890},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1911},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"1905":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(111.0,16.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"1906":{"style":{"__isSmartRef__":true,"id":1907},"chunkOwner":{"__isSmartRef__":true,"id":1904},"_id":"_39755","storedString":"evalEnabled","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1907":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1908":{"style":{"__isSmartRef__":true,"id":1909},"chunkOwner":{"__isSmartRef__":true,"id":1904},"_id":"_39756","storedString":" false","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1909":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"1910":{"morph":{"__isSmartRef__":true,"id":1904},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1911":{"onMouseDown":{"__isSmartRef__":true,"id":1912}},"1912":{"varMapping":{"__isSmartRef__":true,"id":1913},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1918},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1913":{"this":{"__isSmartRef__":true,"id":1904},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1914}},"1914":{"$super":{"__isSmartRef__":true,"id":1915}},"1915":{"varMapping":{"__isSmartRef__":true,"id":1916},"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":1917},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1916":{"obj":{"__isSmartRef__":true,"id":1904},"name":"onMouseDown"},"1917":{},"1918":{},"1919":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"1920":{"morph":{"__isSmartRef__":true,"id":1890},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1921":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":1922}},"1922":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":1890},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"1923":{"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"1924":{"morph":{"__isSmartRef__":true,"id":1889},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1925":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":1926}},"1926":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":1927},"spacing":0,"container":{"__isSmartRef__":true,"id":1889},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"1927":{"top":0,"right":0,"bottom":0,"left":0},"1928":{"source":{"__isSmartRef__":true,"id":1887},"target":{"__isSmartRef__":true,"id":1889}},"1929":{"onSelect":{"__isSmartRef__":true,"id":1930},"onUpdate":{"__isSmartRef__":true,"id":1933}},"1930":{"varMapping":{"__isSmartRef__":true,"id":1931},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":1932},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1931":{"this":{"__isSmartRef__":true,"id":1887}},"1932":{},"1933":{"varMapping":{"__isSmartRef__":true,"id":1934},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":1935},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1934":{"this":{"__isSmartRef__":true,"id":1887}},"1935":{},"1936":{"data":{"__isSmartRef__":true,"id":73},"inspector":{"__isSmartRef__":true,"id":11},"parent":{"__isSmartRef__":true,"id":69},"name":"eventHandler","description":"EventHandler","children":[],"attributeConnections":[{"__isSmartRef__":true,"id":1937}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1978}},"1937":{"sourceObj":{"__isSmartRef__":true,"id":1936},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":1938},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":1977},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1938":{"item":{"__isSmartRef__":true,"id":1936},"parent":{"__isSmartRef__":true,"id":1366},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":1939}],"scripts":[],"shape":{"__isSmartRef__":true,"id":1972},"eventHandler":{"__isSmartRef__":true,"id":1973},"_ClipMode":"visible","derivationIds":[],"id":"F9A5F60F-01CE-4444-896D-9BC42C225664","droppingEnabled":true,"halosEnabled":true,"layout":{"__isSmartRef__":true,"id":1974},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":1940},"label":{"__isSmartRef__":true,"id":1953},"node":{"__isSmartRef__":true,"id":1939},"owner":{"__isSmartRef__":true,"id":1366},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,220.0)"},"1939":{"submorphs":[{"__isSmartRef__":true,"id":1940},{"__isSmartRef__":true,"id":1953}],"scripts":[],"shape":{"__isSmartRef__":true,"id":1968},"eventHandler":{"__isSmartRef__":true,"id":1969},"_ClipMode":"visible","derivationIds":[],"id":"29FF22FC-0FB3-48C1-8EA1-1E14293BBFEC","droppingEnabled":true,"halosEnabled":true,"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":1970},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":1938},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"1940":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":1941},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":1942}],"eventHandler":{"__isSmartRef__":true,"id":1944},"_ClipMode":"visible","derivationIds":[],"id":"1046DF53-281B-46E1-B0A2-5B1EC5F0A53D","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":1939},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1945},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"1941":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"1942":{"style":{"__isSmartRef__":true,"id":1943},"chunkOwner":{"__isSmartRef__":true,"id":1940},"_id":"_20683","storedString":"►","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1943":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1944":{"morph":{"__isSmartRef__":true,"id":1940},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1945":{"onMouseDown":{"__isSmartRef__":true,"id":1946}},"1946":{"varMapping":{"__isSmartRef__":true,"id":1947},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1952},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1947":{"this":{"__isSmartRef__":true,"id":1940},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1948}},"1948":{"$super":{"__isSmartRef__":true,"id":1949}},"1949":{"varMapping":{"__isSmartRef__":true,"id":1950},"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":1951},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1950":{"obj":{"__isSmartRef__":true,"id":1940},"name":"onMouseDown"},"1951":{},"1952":{},"1953":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":1954},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":1955},{"__isSmartRef__":true,"id":1957}],"eventHandler":{"__isSmartRef__":true,"id":1959},"_ClipMode":"visible","derivationIds":[],"id":"A6740603-C9E2-4B0D-B056-FC8A43BC7091","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":1939},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1960},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"1954":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(168.0,16.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"1955":{"style":{"__isSmartRef__":true,"id":1956},"chunkOwner":{"__isSmartRef__":true,"id":1953},"_id":"_39757","storedString":"eventHandler","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1956":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1957":{"style":{"__isSmartRef__":true,"id":1958},"chunkOwner":{"__isSmartRef__":true,"id":1953},"_id":"_39758","storedString":" EventHandler","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1958":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"1959":{"morph":{"__isSmartRef__":true,"id":1953},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1960":{"onMouseDown":{"__isSmartRef__":true,"id":1961}},"1961":{"varMapping":{"__isSmartRef__":true,"id":1962},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1967},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1962":{"this":{"__isSmartRef__":true,"id":1953},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1963}},"1963":{"$super":{"__isSmartRef__":true,"id":1964}},"1964":{"varMapping":{"__isSmartRef__":true,"id":1965},"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":1966},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1965":{"obj":{"__isSmartRef__":true,"id":1953},"name":"onMouseDown"},"1966":{},"1967":{},"1968":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"1969":{"morph":{"__isSmartRef__":true,"id":1939},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1970":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":1971}},"1971":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":1939},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"1972":{"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"1973":{"morph":{"__isSmartRef__":true,"id":1938},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1974":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":1975}},"1975":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":1976},"spacing":0,"container":{"__isSmartRef__":true,"id":1938},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"1976":{"top":0,"right":0,"bottom":0,"left":0},"1977":{"source":{"__isSmartRef__":true,"id":1936},"target":{"__isSmartRef__":true,"id":1938}},"1978":{"onSelect":{"__isSmartRef__":true,"id":1979},"onExpand":{"__isSmartRef__":true,"id":1982},"onUpdateChildren":{"__isSmartRef__":true,"id":1985},"onUpdate":{"__isSmartRef__":true,"id":1988}},"1979":{"varMapping":{"__isSmartRef__":true,"id":1980},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":1981},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1980":{"this":{"__isSmartRef__":true,"id":1936}},"1981":{},"1982":{"varMapping":{"__isSmartRef__":true,"id":1983},"source":"function onExpand() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":1984},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1983":{"this":{"__isSmartRef__":true,"id":1936}},"1984":{},"1985":{"varMapping":{"__isSmartRef__":true,"id":1986},"source":"function onUpdateChildren() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":1987},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1986":{"this":{"__isSmartRef__":true,"id":1936}},"1987":{},"1988":{"varMapping":{"__isSmartRef__":true,"id":1989},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":1990},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1989":{"this":{"__isSmartRef__":true,"id":1936}},"1990":{},"1991":{"data":true,"inspector":{"__isSmartRef__":true,"id":11},"parent":{"__isSmartRef__":true,"id":69},"name":"fixedHeight","description":"true","attributeConnections":[{"__isSmartRef__":true,"id":1992}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2033}},"1992":{"sourceObj":{"__isSmartRef__":true,"id":1991},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":1993},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":2032},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1993":{"item":{"__isSmartRef__":true,"id":1991},"parent":{"__isSmartRef__":true,"id":1366},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":1994}],"scripts":[],"shape":{"__isSmartRef__":true,"id":2027},"eventHandler":{"__isSmartRef__":true,"id":2028},"_ClipMode":"visible","derivationIds":[],"id":"C9AA24E6-40F1-430E-BC81-428D06D636CB","droppingEnabled":true,"halosEnabled":true,"layout":{"__isSmartRef__":true,"id":2029},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":1995},"label":{"__isSmartRef__":true,"id":2008},"node":{"__isSmartRef__":true,"id":1994},"owner":{"__isSmartRef__":true,"id":1366},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,240.0)"},"1994":{"submorphs":[{"__isSmartRef__":true,"id":1995},{"__isSmartRef__":true,"id":2008}],"scripts":[],"shape":{"__isSmartRef__":true,"id":2023},"eventHandler":{"__isSmartRef__":true,"id":2024},"_ClipMode":"visible","derivationIds":[],"id":"D272F1EB-DD1B-4C60-BFE8-304D96E10CA0","droppingEnabled":true,"halosEnabled":true,"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":2025},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":1993},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"1995":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":1996},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":1997}],"eventHandler":{"__isSmartRef__":true,"id":1999},"_ClipMode":"visible","derivationIds":[],"id":"00389B74-8ACB-4C0D-B353-02C35CFB8FB3","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":1994},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2000},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"1996":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"1997":{"style":{"__isSmartRef__":true,"id":1998},"chunkOwner":{"__isSmartRef__":true,"id":1995},"_id":"_20688","storedString":"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1998":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1999":{"morph":{"__isSmartRef__":true,"id":1995},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2000":{"onMouseDown":{"__isSmartRef__":true,"id":2001}},"2001":{"varMapping":{"__isSmartRef__":true,"id":2002},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":2007},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2002":{"this":{"__isSmartRef__":true,"id":1995},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2003}},"2003":{"$super":{"__isSmartRef__":true,"id":2004}},"2004":{"varMapping":{"__isSmartRef__":true,"id":2005},"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":2006},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2005":{"obj":{"__isSmartRef__":true,"id":1995},"name":"onMouseDown"},"2006":{},"2007":{},"2008":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2009},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":2010},{"__isSmartRef__":true,"id":2012}],"eventHandler":{"__isSmartRef__":true,"id":2014},"_ClipMode":"visible","derivationIds":[],"id":"C469EABF-50AA-4C34-9DF9-C6FC3BC184AC","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":1994},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2015},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"2009":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(100.0,16.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"2010":{"style":{"__isSmartRef__":true,"id":2011},"chunkOwner":{"__isSmartRef__":true,"id":2008},"_id":"_39759","storedString":"fixedHeight","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2011":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2012":{"style":{"__isSmartRef__":true,"id":2013},"chunkOwner":{"__isSmartRef__":true,"id":2008},"_id":"_39760","storedString":" true","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2013":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"2014":{"morph":{"__isSmartRef__":true,"id":2008},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2015":{"onMouseDown":{"__isSmartRef__":true,"id":2016}},"2016":{"varMapping":{"__isSmartRef__":true,"id":2017},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":2022},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2017":{"this":{"__isSmartRef__":true,"id":2008},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2018}},"2018":{"$super":{"__isSmartRef__":true,"id":2019}},"2019":{"varMapping":{"__isSmartRef__":true,"id":2020},"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":2021},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2020":{"obj":{"__isSmartRef__":true,"id":2008},"name":"onMouseDown"},"2021":{},"2022":{},"2023":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"2024":{"morph":{"__isSmartRef__":true,"id":1994},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2025":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":2026}},"2026":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":1994},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"2027":{"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"2028":{"morph":{"__isSmartRef__":true,"id":1993},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2029":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":2030}},"2030":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":2031},"spacing":0,"container":{"__isSmartRef__":true,"id":1993},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"2031":{"top":0,"right":0,"bottom":0,"left":0},"2032":{"source":{"__isSmartRef__":true,"id":1991},"target":{"__isSmartRef__":true,"id":1993}},"2033":{"onSelect":{"__isSmartRef__":true,"id":2034},"onUpdate":{"__isSmartRef__":true,"id":2037}},"2034":{"varMapping":{"__isSmartRef__":true,"id":2035},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":2036},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2035":{"this":{"__isSmartRef__":true,"id":1991}},"2036":{},"2037":{"varMapping":{"__isSmartRef__":true,"id":2038},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":2039},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2038":{"this":{"__isSmartRef__":true,"id":1991}},"2039":{},"2040":{"data":true,"inspector":{"__isSmartRef__":true,"id":11},"parent":{"__isSmartRef__":true,"id":69},"name":"fixedWidth","description":"true","attributeConnections":[{"__isSmartRef__":true,"id":2041}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2082}},"2041":{"sourceObj":{"__isSmartRef__":true,"id":2040},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":2042},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":2081},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2042":{"item":{"__isSmartRef__":true,"id":2040},"parent":{"__isSmartRef__":true,"id":1366},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":2043}],"scripts":[],"shape":{"__isSmartRef__":true,"id":2076},"eventHandler":{"__isSmartRef__":true,"id":2077},"_ClipMode":"visible","derivationIds":[],"id":"9020E0E1-BEF0-465C-BC22-069A9113AA8D","droppingEnabled":true,"halosEnabled":true,"layout":{"__isSmartRef__":true,"id":2078},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":2044},"label":{"__isSmartRef__":true,"id":2057},"node":{"__isSmartRef__":true,"id":2043},"owner":{"__isSmartRef__":true,"id":1366},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,260.0)"},"2043":{"submorphs":[{"__isSmartRef__":true,"id":2044},{"__isSmartRef__":true,"id":2057}],"scripts":[],"shape":{"__isSmartRef__":true,"id":2072},"eventHandler":{"__isSmartRef__":true,"id":2073},"_ClipMode":"visible","derivationIds":[],"id":"9427D0A7-FA28-45F4-A0A4-69FBED8ACB18","droppingEnabled":true,"halosEnabled":true,"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":2074},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":2042},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"2044":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2045},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":2046}],"eventHandler":{"__isSmartRef__":true,"id":2048},"_ClipMode":"visible","derivationIds":[],"id":"A393E01A-5DDF-4D80-A6F0-910E7EA126E8","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":2043},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2049},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"2045":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"2046":{"style":{"__isSmartRef__":true,"id":2047},"chunkOwner":{"__isSmartRef__":true,"id":2044},"_id":"_20693","storedString":"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2047":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2048":{"morph":{"__isSmartRef__":true,"id":2044},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2049":{"onMouseDown":{"__isSmartRef__":true,"id":2050}},"2050":{"varMapping":{"__isSmartRef__":true,"id":2051},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":2056},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2051":{"this":{"__isSmartRef__":true,"id":2044},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2052}},"2052":{"$super":{"__isSmartRef__":true,"id":2053}},"2053":{"varMapping":{"__isSmartRef__":true,"id":2054},"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":2055},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2054":{"obj":{"__isSmartRef__":true,"id":2044},"name":"onMouseDown"},"2055":{},"2056":{},"2057":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2058},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":2059},{"__isSmartRef__":true,"id":2061}],"eventHandler":{"__isSmartRef__":true,"id":2063},"_ClipMode":"visible","derivationIds":[],"id":"BDFDBD97-69F8-4329-866B-8C98D320FFE5","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":2043},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2064},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"2058":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(96.0,16.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"2059":{"style":{"__isSmartRef__":true,"id":2060},"chunkOwner":{"__isSmartRef__":true,"id":2057},"_id":"_39761","storedString":"fixedWidth","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2060":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2061":{"style":{"__isSmartRef__":true,"id":2062},"chunkOwner":{"__isSmartRef__":true,"id":2057},"_id":"_39762","storedString":" true","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2062":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"2063":{"morph":{"__isSmartRef__":true,"id":2057},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2064":{"onMouseDown":{"__isSmartRef__":true,"id":2065}},"2065":{"varMapping":{"__isSmartRef__":true,"id":2066},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":2071},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2066":{"this":{"__isSmartRef__":true,"id":2057},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2067}},"2067":{"$super":{"__isSmartRef__":true,"id":2068}},"2068":{"varMapping":{"__isSmartRef__":true,"id":2069},"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":2070},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2069":{"obj":{"__isSmartRef__":true,"id":2057},"name":"onMouseDown"},"2070":{},"2071":{},"2072":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"2073":{"morph":{"__isSmartRef__":true,"id":2043},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2074":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":2075}},"2075":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":2043},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"2076":{"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"2077":{"morph":{"__isSmartRef__":true,"id":2042},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2078":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":2079}},"2079":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":2080},"spacing":0,"container":{"__isSmartRef__":true,"id":2042},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"2080":{"top":0,"right":0,"bottom":0,"left":0},"2081":{"source":{"__isSmartRef__":true,"id":2040},"target":{"__isSmartRef__":true,"id":2042}},"2082":{"onSelect":{"__isSmartRef__":true,"id":2083},"onUpdate":{"__isSmartRef__":true,"id":2086}},"2083":{"varMapping":{"__isSmartRef__":true,"id":2084},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":2085},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2084":{"this":{"__isSmartRef__":true,"id":2040}},"2085":{},"2086":{"varMapping":{"__isSmartRef__":true,"id":2087},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":2088},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2087":{"this":{"__isSmartRef__":true,"id":2040}},"2088":{},"2089":{"data":0.5,"inspector":{"__isSmartRef__":true,"id":11},"parent":{"__isSmartRef__":true,"id":69},"name":"focusHaloBorderWidth","description":"0.5","attributeConnections":[{"__isSmartRef__":true,"id":2090}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2131}},"2090":{"sourceObj":{"__isSmartRef__":true,"id":2089},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":2091},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":2130},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2091":{"item":{"__isSmartRef__":true,"id":2089},"parent":{"__isSmartRef__":true,"id":1366},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":2092}],"scripts":[],"shape":{"__isSmartRef__":true,"id":2125},"eventHandler":{"__isSmartRef__":true,"id":2126},"_ClipMode":"visible","derivationIds":[],"id":"FD8B3BFF-3322-4888-9EDB-E077D3E94611","droppingEnabled":true,"halosEnabled":true,"layout":{"__isSmartRef__":true,"id":2127},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":2093},"label":{"__isSmartRef__":true,"id":2106},"node":{"__isSmartRef__":true,"id":2092},"owner":{"__isSmartRef__":true,"id":1366},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,280.0)"},"2092":{"submorphs":[{"__isSmartRef__":true,"id":2093},{"__isSmartRef__":true,"id":2106}],"scripts":[],"shape":{"__isSmartRef__":true,"id":2121},"eventHandler":{"__isSmartRef__":true,"id":2122},"_ClipMode":"visible","derivationIds":[],"id":"9BF4AB12-6EE8-430F-A381-24250BD95634","droppingEnabled":true,"halosEnabled":true,"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":2123},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":2091},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"2093":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2094},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":2095}],"eventHandler":{"__isSmartRef__":true,"id":2097},"_ClipMode":"visible","derivationIds":[],"id":"0BB278F9-103C-44F4-825C-69A73D9B7C01","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":2092},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2098},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"2094":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"2095":{"style":{"__isSmartRef__":true,"id":2096},"chunkOwner":{"__isSmartRef__":true,"id":2093},"_id":"_20698","storedString":"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2096":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2097":{"morph":{"__isSmartRef__":true,"id":2093},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2098":{"onMouseDown":{"__isSmartRef__":true,"id":2099}},"2099":{"varMapping":{"__isSmartRef__":true,"id":2100},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":2105},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2100":{"this":{"__isSmartRef__":true,"id":2093},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2101}},"2101":{"$super":{"__isSmartRef__":true,"id":2102}},"2102":{"varMapping":{"__isSmartRef__":true,"id":2103},"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":2104},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2103":{"obj":{"__isSmartRef__":true,"id":2093},"name":"onMouseDown"},"2104":{},"2105":{},"2106":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2107},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":2108},{"__isSmartRef__":true,"id":2110}],"eventHandler":{"__isSmartRef__":true,"id":2112},"_ClipMode":"visible","derivationIds":[],"id":"BE5437D3-6FC8-4692-A9BE-DA0FDE8DABAC","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":2092},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2113},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"2107":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(161.0,16.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"2108":{"style":{"__isSmartRef__":true,"id":2109},"chunkOwner":{"__isSmartRef__":true,"id":2106},"_id":"_39763","storedString":"focusHaloBorderWidth","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2109":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2110":{"style":{"__isSmartRef__":true,"id":2111},"chunkOwner":{"__isSmartRef__":true,"id":2106},"_id":"_39764","storedString":" 0.5","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2111":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"2112":{"morph":{"__isSmartRef__":true,"id":2106},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2113":{"onMouseDown":{"__isSmartRef__":true,"id":2114}},"2114":{"varMapping":{"__isSmartRef__":true,"id":2115},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":2120},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2115":{"this":{"__isSmartRef__":true,"id":2106},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2116}},"2116":{"$super":{"__isSmartRef__":true,"id":2117}},"2117":{"varMapping":{"__isSmartRef__":true,"id":2118},"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":2119},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2118":{"obj":{"__isSmartRef__":true,"id":2106},"name":"onMouseDown"},"2119":{},"2120":{},"2121":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"2122":{"morph":{"__isSmartRef__":true,"id":2092},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2123":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":2124}},"2124":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":2092},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"2125":{"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"2126":{"morph":{"__isSmartRef__":true,"id":2091},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2127":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":2128}},"2128":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":2129},"spacing":0,"container":{"__isSmartRef__":true,"id":2091},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"2129":{"top":0,"right":0,"bottom":0,"left":0},"2130":{"source":{"__isSmartRef__":true,"id":2089},"target":{"__isSmartRef__":true,"id":2091}},"2131":{"onSelect":{"__isSmartRef__":true,"id":2132},"onUpdate":{"__isSmartRef__":true,"id":2135}},"2132":{"varMapping":{"__isSmartRef__":true,"id":2133},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":2134},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2133":{"this":{"__isSmartRef__":true,"id":2089}},"2134":{},"2135":{"varMapping":{"__isSmartRef__":true,"id":2136},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":2137},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2136":{"this":{"__isSmartRef__":true,"id":2089}},"2137":{},"2138":{"data":false,"inspector":{"__isSmartRef__":true,"id":11},"parent":{"__isSmartRef__":true,"id":69},"name":"grabbingEnabled","description":"false","attributeConnections":[{"__isSmartRef__":true,"id":2139}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2180}},"2139":{"sourceObj":{"__isSmartRef__":true,"id":2138},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":2140},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":2179},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2140":{"item":{"__isSmartRef__":true,"id":2138},"parent":{"__isSmartRef__":true,"id":1366},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":2141}],"scripts":[],"shape":{"__isSmartRef__":true,"id":2174},"eventHandler":{"__isSmartRef__":true,"id":2175},"_ClipMode":"visible","derivationIds":[],"id":"84B205D4-9A2D-40CB-9DAB-DCAF45780E15","droppingEnabled":true,"halosEnabled":true,"layout":{"__isSmartRef__":true,"id":2176},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":2142},"label":{"__isSmartRef__":true,"id":2155},"node":{"__isSmartRef__":true,"id":2141},"owner":{"__isSmartRef__":true,"id":1366},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,300.0)"},"2141":{"submorphs":[{"__isSmartRef__":true,"id":2142},{"__isSmartRef__":true,"id":2155}],"scripts":[],"shape":{"__isSmartRef__":true,"id":2170},"eventHandler":{"__isSmartRef__":true,"id":2171},"_ClipMode":"visible","derivationIds":[],"id":"407192F6-5E1D-4FB7-8083-100B9D065C32","droppingEnabled":true,"halosEnabled":true,"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":2172},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":2140},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"2142":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2143},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":2144}],"eventHandler":{"__isSmartRef__":true,"id":2146},"_ClipMode":"visible","derivationIds":[],"id":"96A76E96-37A1-4E13-94AB-0E2C66DAECAE","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":2141},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2147},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"2143":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"2144":{"style":{"__isSmartRef__":true,"id":2145},"chunkOwner":{"__isSmartRef__":true,"id":2142},"_id":"_20703","storedString":"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2145":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2146":{"morph":{"__isSmartRef__":true,"id":2142},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2147":{"onMouseDown":{"__isSmartRef__":true,"id":2148}},"2148":{"varMapping":{"__isSmartRef__":true,"id":2149},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":2154},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2149":{"this":{"__isSmartRef__":true,"id":2142},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2150}},"2150":{"$super":{"__isSmartRef__":true,"id":2151}},"2151":{"varMapping":{"__isSmartRef__":true,"id":2152},"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":2153},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2152":{"obj":{"__isSmartRef__":true,"id":2142},"name":"onMouseDown"},"2153":{},"2154":{},"2155":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2156},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":2157},{"__isSmartRef__":true,"id":2159}],"eventHandler":{"__isSmartRef__":true,"id":2161},"_ClipMode":"visible","derivationIds":[],"id":"7E9AA2CA-0522-4B1A-BD8B-AAA4D0FF7D17","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":2141},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2162},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"2156":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(136.0,16.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"2157":{"style":{"__isSmartRef__":true,"id":2158},"chunkOwner":{"__isSmartRef__":true,"id":2155},"_id":"_39765","storedString":"grabbingEnabled","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2158":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2159":{"style":{"__isSmartRef__":true,"id":2160},"chunkOwner":{"__isSmartRef__":true,"id":2155},"_id":"_39766","storedString":" false","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2160":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"2161":{"morph":{"__isSmartRef__":true,"id":2155},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2162":{"onMouseDown":{"__isSmartRef__":true,"id":2163}},"2163":{"varMapping":{"__isSmartRef__":true,"id":2164},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":2169},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2164":{"this":{"__isSmartRef__":true,"id":2155},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2165}},"2165":{"$super":{"__isSmartRef__":true,"id":2166}},"2166":{"varMapping":{"__isSmartRef__":true,"id":2167},"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":2168},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2167":{"obj":{"__isSmartRef__":true,"id":2155},"name":"onMouseDown"},"2168":{},"2169":{},"2170":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"2171":{"morph":{"__isSmartRef__":true,"id":2141},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2172":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":2173}},"2173":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":2141},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"2174":{"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"2175":{"morph":{"__isSmartRef__":true,"id":2140},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2176":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":2177}},"2177":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":2178},"spacing":0,"container":{"__isSmartRef__":true,"id":2140},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"2178":{"top":0,"right":0,"bottom":0,"left":0},"2179":{"source":{"__isSmartRef__":true,"id":2138},"target":{"__isSmartRef__":true,"id":2140}},"2180":{"onSelect":{"__isSmartRef__":true,"id":2181},"onUpdate":{"__isSmartRef__":true,"id":2184}},"2181":{"varMapping":{"__isSmartRef__":true,"id":2182},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":2183},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2182":{"this":{"__isSmartRef__":true,"id":2138}},"2183":{},"2184":{"varMapping":{"__isSmartRef__":true,"id":2185},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":2186},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2185":{"this":{"__isSmartRef__":true,"id":2138}},"2186":{},"2187":{"data":[],"inspector":{"__isSmartRef__":true,"id":11},"parent":{"__isSmartRef__":true,"id":69},"name":"halos","description":"[]","children":[],"attributeConnections":[{"__isSmartRef__":true,"id":2188}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2229}},"2188":{"sourceObj":{"__isSmartRef__":true,"id":2187},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":2189},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":2228},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2189":{"item":{"__isSmartRef__":true,"id":2187},"parent":{"__isSmartRef__":true,"id":1366},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":2190}],"scripts":[],"shape":{"__isSmartRef__":true,"id":2223},"eventHandler":{"__isSmartRef__":true,"id":2224},"_ClipMode":"visible","derivationIds":[],"id":"D170759A-2AAE-4B29-88E2-B8C44A740FBE","droppingEnabled":true,"halosEnabled":true,"layout":{"__isSmartRef__":true,"id":2225},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":2191},"label":{"__isSmartRef__":true,"id":2204},"node":{"__isSmartRef__":true,"id":2190},"owner":{"__isSmartRef__":true,"id":1366},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,320.0)"},"2190":{"submorphs":[{"__isSmartRef__":true,"id":2191},{"__isSmartRef__":true,"id":2204}],"scripts":[],"shape":{"__isSmartRef__":true,"id":2219},"eventHandler":{"__isSmartRef__":true,"id":2220},"_ClipMode":"visible","derivationIds":[],"id":"01CE14B0-BD8B-46DC-8B90-026AF47824F3","droppingEnabled":true,"halosEnabled":true,"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":2221},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":2189},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"2191":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2192},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":2193}],"eventHandler":{"__isSmartRef__":true,"id":2195},"_ClipMode":"visible","derivationIds":[],"id":"B96A7A64-B8F4-44F8-86A1-FCEA05AD719D","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":2190},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2196},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"2192":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"2193":{"style":{"__isSmartRef__":true,"id":2194},"chunkOwner":{"__isSmartRef__":true,"id":2191},"_id":"_20708","storedString":"►","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2194":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2195":{"morph":{"__isSmartRef__":true,"id":2191},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2196":{"onMouseDown":{"__isSmartRef__":true,"id":2197}},"2197":{"varMapping":{"__isSmartRef__":true,"id":2198},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":2203},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2198":{"this":{"__isSmartRef__":true,"id":2191},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2199}},"2199":{"$super":{"__isSmartRef__":true,"id":2200}},"2200":{"varMapping":{"__isSmartRef__":true,"id":2201},"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":2202},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2201":{"obj":{"__isSmartRef__":true,"id":2191},"name":"onMouseDown"},"2202":{},"2203":{},"2204":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2205},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":2206},{"__isSmartRef__":true,"id":2208}],"eventHandler":{"__isSmartRef__":true,"id":2210},"_ClipMode":"visible","derivationIds":[],"id":"A0EC8B4E-C4FA-4559-AC86-533CF0E6289E","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":2190},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2211},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"2205":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(51.0,16.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"2206":{"style":{"__isSmartRef__":true,"id":2207},"chunkOwner":{"__isSmartRef__":true,"id":2204},"_id":"_39767","storedString":"halos","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2207":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2208":{"style":{"__isSmartRef__":true,"id":2209},"chunkOwner":{"__isSmartRef__":true,"id":2204},"_id":"_39768","storedString":" []","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2209":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"2210":{"morph":{"__isSmartRef__":true,"id":2204},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2211":{"onMouseDown":{"__isSmartRef__":true,"id":2212}},"2212":{"varMapping":{"__isSmartRef__":true,"id":2213},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":2218},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2213":{"this":{"__isSmartRef__":true,"id":2204},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2214}},"2214":{"$super":{"__isSmartRef__":true,"id":2215}},"2215":{"varMapping":{"__isSmartRef__":true,"id":2216},"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":2217},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2216":{"obj":{"__isSmartRef__":true,"id":2204},"name":"onMouseDown"},"2217":{},"2218":{},"2219":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"2220":{"morph":{"__isSmartRef__":true,"id":2190},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2221":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":2222}},"2222":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":2190},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"2223":{"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"2224":{"morph":{"__isSmartRef__":true,"id":2189},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2225":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":2226}},"2226":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":2227},"spacing":0,"container":{"__isSmartRef__":true,"id":2189},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"2227":{"top":0,"right":0,"bottom":0,"left":0},"2228":{"source":{"__isSmartRef__":true,"id":2187},"target":{"__isSmartRef__":true,"id":2189}},"2229":{"onSelect":{"__isSmartRef__":true,"id":2230},"onExpand":{"__isSmartRef__":true,"id":2233},"onUpdateChildren":{"__isSmartRef__":true,"id":2236},"onUpdate":{"__isSmartRef__":true,"id":2239}},"2230":{"varMapping":{"__isSmartRef__":true,"id":2231},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":2232},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2231":{"this":{"__isSmartRef__":true,"id":2187}},"2232":{},"2233":{"varMapping":{"__isSmartRef__":true,"id":2234},"source":"function onExpand() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":2235},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2234":{"this":{"__isSmartRef__":true,"id":2187}},"2235":{},"2236":{"varMapping":{"__isSmartRef__":true,"id":2237},"source":"function onUpdateChildren() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":2238},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2237":{"this":{"__isSmartRef__":true,"id":2187}},"2238":{},"2239":{"varMapping":{"__isSmartRef__":true,"id":2240},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":2241},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2240":{"this":{"__isSmartRef__":true,"id":2187}},"2241":{},"2242":{"data":true,"inspector":{"__isSmartRef__":true,"id":11},"parent":{"__isSmartRef__":true,"id":69},"name":"halosEnabled","description":"true","attributeConnections":[{"__isSmartRef__":true,"id":2243}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2284}},"2243":{"sourceObj":{"__isSmartRef__":true,"id":2242},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":2244},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":2283},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2244":{"item":{"__isSmartRef__":true,"id":2242},"parent":{"__isSmartRef__":true,"id":1366},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":2245}],"scripts":[],"shape":{"__isSmartRef__":true,"id":2278},"eventHandler":{"__isSmartRef__":true,"id":2279},"_ClipMode":"visible","derivationIds":[],"id":"431DB695-8D43-429A-A848-50F3851E71CE","droppingEnabled":true,"halosEnabled":true,"layout":{"__isSmartRef__":true,"id":2280},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":2246},"label":{"__isSmartRef__":true,"id":2259},"node":{"__isSmartRef__":true,"id":2245},"owner":{"__isSmartRef__":true,"id":1366},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,340.0)"},"2245":{"submorphs":[{"__isSmartRef__":true,"id":2246},{"__isSmartRef__":true,"id":2259}],"scripts":[],"shape":{"__isSmartRef__":true,"id":2274},"eventHandler":{"__isSmartRef__":true,"id":2275},"_ClipMode":"visible","derivationIds":[],"id":"27BB3927-E274-4358-BB3C-CFC34F903A31","droppingEnabled":true,"halosEnabled":true,"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":2276},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":2244},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"2246":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2247},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":2248}],"eventHandler":{"__isSmartRef__":true,"id":2250},"_ClipMode":"visible","derivationIds":[],"id":"87D35063-E049-4F2B-8BCF-387EF07718A4","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":2245},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2251},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"2247":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"2248":{"style":{"__isSmartRef__":true,"id":2249},"chunkOwner":{"__isSmartRef__":true,"id":2246},"_id":"_20713","storedString":"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2249":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2250":{"morph":{"__isSmartRef__":true,"id":2246},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2251":{"onMouseDown":{"__isSmartRef__":true,"id":2252}},"2252":{"varMapping":{"__isSmartRef__":true,"id":2253},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":2258},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2253":{"this":{"__isSmartRef__":true,"id":2246},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2254}},"2254":{"$super":{"__isSmartRef__":true,"id":2255}},"2255":{"varMapping":{"__isSmartRef__":true,"id":2256},"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":2257},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2256":{"obj":{"__isSmartRef__":true,"id":2246},"name":"onMouseDown"},"2257":{},"2258":{},"2259":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2260},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":2261},{"__isSmartRef__":true,"id":2263}],"eventHandler":{"__isSmartRef__":true,"id":2265},"_ClipMode":"visible","derivationIds":[],"id":"4F278A82-A9D1-42D1-B878-B9C8FB4ABC19","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":2245},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2266},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"2260":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(112.0,16.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"2261":{"style":{"__isSmartRef__":true,"id":2262},"chunkOwner":{"__isSmartRef__":true,"id":2259},"_id":"_39769","storedString":"halosEnabled","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2262":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2263":{"style":{"__isSmartRef__":true,"id":2264},"chunkOwner":{"__isSmartRef__":true,"id":2259},"_id":"_39770","storedString":" true","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2264":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"2265":{"morph":{"__isSmartRef__":true,"id":2259},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2266":{"onMouseDown":{"__isSmartRef__":true,"id":2267}},"2267":{"varMapping":{"__isSmartRef__":true,"id":2268},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":2273},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2268":{"this":{"__isSmartRef__":true,"id":2259},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2269}},"2269":{"$super":{"__isSmartRef__":true,"id":2270}},"2270":{"varMapping":{"__isSmartRef__":true,"id":2271},"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":2272},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2271":{"obj":{"__isSmartRef__":true,"id":2259},"name":"onMouseDown"},"2272":{},"2273":{},"2274":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"2275":{"morph":{"__isSmartRef__":true,"id":2245},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2276":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":2277}},"2277":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":2245},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"2278":{"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"2279":{"morph":{"__isSmartRef__":true,"id":2244},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2280":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":2281}},"2281":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":2282},"spacing":0,"container":{"__isSmartRef__":true,"id":2244},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"2282":{"top":0,"right":0,"bottom":0,"left":0},"2283":{"source":{"__isSmartRef__":true,"id":2242},"target":{"__isSmartRef__":true,"id":2244}},"2284":{"onSelect":{"__isSmartRef__":true,"id":2285},"onUpdate":{"__isSmartRef__":true,"id":2288}},"2285":{"varMapping":{"__isSmartRef__":true,"id":2286},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":2287},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2286":{"this":{"__isSmartRef__":true,"id":2242}},"2287":{},"2288":{"varMapping":{"__isSmartRef__":true,"id":2289},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":2290},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2289":{"this":{"__isSmartRef__":true,"id":2242}},"2290":{},"2291":{"data":"5123D707-C2ED-4811-8B55-709B36A51434","inspector":{"__isSmartRef__":true,"id":11},"parent":{"__isSmartRef__":true,"id":69},"name":"id","description":"5123D707-C2ED-4811-8B55-709B36A51434...","attributeConnections":[{"__isSmartRef__":true,"id":2292}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2333}},"2292":{"sourceObj":{"__isSmartRef__":true,"id":2291},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":2293},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":2332},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2293":{"item":{"__isSmartRef__":true,"id":2291},"parent":{"__isSmartRef__":true,"id":1366},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":2294}],"scripts":[],"shape":{"__isSmartRef__":true,"id":2327},"eventHandler":{"__isSmartRef__":true,"id":2328},"_ClipMode":"visible","derivationIds":[],"id":"36A1B6B0-0521-42CB-97E0-05E7EE737D9D","droppingEnabled":true,"halosEnabled":true,"layout":{"__isSmartRef__":true,"id":2329},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":2295},"label":{"__isSmartRef__":true,"id":2308},"node":{"__isSmartRef__":true,"id":2294},"owner":{"__isSmartRef__":true,"id":1366},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,360.0)"},"2294":{"submorphs":[{"__isSmartRef__":true,"id":2295},{"__isSmartRef__":true,"id":2308}],"scripts":[],"shape":{"__isSmartRef__":true,"id":2323},"eventHandler":{"__isSmartRef__":true,"id":2324},"_ClipMode":"visible","derivationIds":[],"id":"A885548F-B353-4712-B669-94C308A3C584","droppingEnabled":true,"halosEnabled":true,"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":2325},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":2293},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"2295":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2296},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":2297}],"eventHandler":{"__isSmartRef__":true,"id":2299},"_ClipMode":"visible","derivationIds":[],"id":"3269A2C0-33A2-47D2-A31F-ABFBB435B5AD","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":2294},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2300},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"2296":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"2297":{"style":{"__isSmartRef__":true,"id":2298},"chunkOwner":{"__isSmartRef__":true,"id":2295},"_id":"_20718","storedString":"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2298":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2299":{"morph":{"__isSmartRef__":true,"id":2295},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2300":{"onMouseDown":{"__isSmartRef__":true,"id":2301}},"2301":{"varMapping":{"__isSmartRef__":true,"id":2302},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":2307},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2302":{"this":{"__isSmartRef__":true,"id":2295},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2303}},"2303":{"$super":{"__isSmartRef__":true,"id":2304}},"2304":{"varMapping":{"__isSmartRef__":true,"id":2305},"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":2306},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2305":{"obj":{"__isSmartRef__":true,"id":2295},"name":"onMouseDown"},"2306":{},"2307":{},"2308":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2309},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":2310},{"__isSmartRef__":true,"id":2312}],"eventHandler":{"__isSmartRef__":true,"id":2314},"_ClipMode":"visible","derivationIds":[],"id":"16EE6528-5554-418E-A420-73131C7780F1","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":2294},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2315},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"2309":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(291.0,16.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"2310":{"style":{"__isSmartRef__":true,"id":2311},"chunkOwner":{"__isSmartRef__":true,"id":2308},"_id":"_39771","storedString":"id","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2311":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2312":{"style":{"__isSmartRef__":true,"id":2313},"chunkOwner":{"__isSmartRef__":true,"id":2308},"_id":"_39772","storedString":" 5123D707-C2ED-4811-8B55-709B36A51434...","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2313":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"2314":{"morph":{"__isSmartRef__":true,"id":2308},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2315":{"onMouseDown":{"__isSmartRef__":true,"id":2316}},"2316":{"varMapping":{"__isSmartRef__":true,"id":2317},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":2322},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2317":{"this":{"__isSmartRef__":true,"id":2308},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2318}},"2318":{"$super":{"__isSmartRef__":true,"id":2319}},"2319":{"varMapping":{"__isSmartRef__":true,"id":2320},"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":2321},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2320":{"obj":{"__isSmartRef__":true,"id":2308},"name":"onMouseDown"},"2321":{},"2322":{},"2323":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"2324":{"morph":{"__isSmartRef__":true,"id":2294},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2325":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":2326}},"2326":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":2294},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"2327":{"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"2328":{"morph":{"__isSmartRef__":true,"id":2293},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2329":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":2330}},"2330":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":2331},"spacing":0,"container":{"__isSmartRef__":true,"id":2293},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"2331":{"top":0,"right":0,"bottom":0,"left":0},"2332":{"source":{"__isSmartRef__":true,"id":2291},"target":{"__isSmartRef__":true,"id":2293}},"2333":{"onSelect":{"__isSmartRef__":true,"id":2334},"onUpdate":{"__isSmartRef__":true,"id":2337}},"2334":{"varMapping":{"__isSmartRef__":true,"id":2335},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":2336},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2335":{"this":{"__isSmartRef__":true,"id":2291}},"2336":{},"2337":{"varMapping":{"__isSmartRef__":true,"id":2338},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":2339},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2338":{"this":{"__isSmartRef__":true,"id":2291}},"2339":{},"2340":{"data":false,"inspector":{"__isSmartRef__":true,"id":11},"parent":{"__isSmartRef__":true,"id":69},"name":"isBeingDragged","description":"false","attributeConnections":[{"__isSmartRef__":true,"id":2341}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2382}},"2341":{"sourceObj":{"__isSmartRef__":true,"id":2340},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":2342},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":2381},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2342":{"item":{"__isSmartRef__":true,"id":2340},"parent":{"__isSmartRef__":true,"id":1366},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":2343}],"scripts":[],"shape":{"__isSmartRef__":true,"id":2376},"eventHandler":{"__isSmartRef__":true,"id":2377},"_ClipMode":"visible","derivationIds":[],"id":"84D81876-2D31-480B-AC39-6B80952D3E18","droppingEnabled":true,"halosEnabled":true,"layout":{"__isSmartRef__":true,"id":2378},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":2344},"label":{"__isSmartRef__":true,"id":2357},"node":{"__isSmartRef__":true,"id":2343},"owner":{"__isSmartRef__":true,"id":1366},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,380.0)"},"2343":{"submorphs":[{"__isSmartRef__":true,"id":2344},{"__isSmartRef__":true,"id":2357}],"scripts":[],"shape":{"__isSmartRef__":true,"id":2372},"eventHandler":{"__isSmartRef__":true,"id":2373},"_ClipMode":"visible","derivationIds":[],"id":"D3E68777-43EF-46CB-87C0-F8981AEEC1BF","droppingEnabled":true,"halosEnabled":true,"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":2374},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":2342},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"2344":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2345},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":2346}],"eventHandler":{"__isSmartRef__":true,"id":2348},"_ClipMode":"visible","derivationIds":[],"id":"3ED0D0EB-2FCD-4C61-AE8A-72F547748408","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":2343},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2349},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"2345":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"2346":{"style":{"__isSmartRef__":true,"id":2347},"chunkOwner":{"__isSmartRef__":true,"id":2344},"_id":"_20723","storedString":"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2347":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2348":{"morph":{"__isSmartRef__":true,"id":2344},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2349":{"onMouseDown":{"__isSmartRef__":true,"id":2350}},"2350":{"varMapping":{"__isSmartRef__":true,"id":2351},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":2356},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2351":{"this":{"__isSmartRef__":true,"id":2344},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2352}},"2352":{"$super":{"__isSmartRef__":true,"id":2353}},"2353":{"varMapping":{"__isSmartRef__":true,"id":2354},"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":2355},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2354":{"obj":{"__isSmartRef__":true,"id":2344},"name":"onMouseDown"},"2355":{},"2356":{},"2357":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2358},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":2359},{"__isSmartRef__":true,"id":2361}],"eventHandler":{"__isSmartRef__":true,"id":2363},"_ClipMode":"visible","derivationIds":[],"id":"643B56E1-D300-4024-9544-CDFA630E6AEB","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":2343},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2364},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"2358":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(132.0,16.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"2359":{"style":{"__isSmartRef__":true,"id":2360},"chunkOwner":{"__isSmartRef__":true,"id":2357},"_id":"_39773","storedString":"isBeingDragged","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2360":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2361":{"style":{"__isSmartRef__":true,"id":2362},"chunkOwner":{"__isSmartRef__":true,"id":2357},"_id":"_39774","storedString":" false","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2362":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"2363":{"morph":{"__isSmartRef__":true,"id":2357},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2364":{"onMouseDown":{"__isSmartRef__":true,"id":2365}},"2365":{"varMapping":{"__isSmartRef__":true,"id":2366},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":2371},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2366":{"this":{"__isSmartRef__":true,"id":2357},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2367}},"2367":{"$super":{"__isSmartRef__":true,"id":2368}},"2368":{"varMapping":{"__isSmartRef__":true,"id":2369},"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":2370},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2369":{"obj":{"__isSmartRef__":true,"id":2357},"name":"onMouseDown"},"2370":{},"2371":{},"2372":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"2373":{"morph":{"__isSmartRef__":true,"id":2343},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2374":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":2375}},"2375":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":2343},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"2376":{"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"2377":{"morph":{"__isSmartRef__":true,"id":2342},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2378":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":2379}},"2379":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":2380},"spacing":0,"container":{"__isSmartRef__":true,"id":2342},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"2380":{"top":0,"right":0,"bottom":0,"left":0},"2381":{"source":{"__isSmartRef__":true,"id":2340},"target":{"__isSmartRef__":true,"id":2342}},"2382":{"onSelect":{"__isSmartRef__":true,"id":2383},"onUpdate":{"__isSmartRef__":true,"id":2386}},"2383":{"varMapping":{"__isSmartRef__":true,"id":2384},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":2385},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2384":{"this":{"__isSmartRef__":true,"id":2340}},"2385":{},"2386":{"varMapping":{"__isSmartRef__":true,"id":2387},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":2388},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2387":{"this":{"__isSmartRef__":true,"id":2340}},"2388":{},"2389":{"data":{"__isSmartRef__":true,"id":1360},"inspector":{"__isSmartRef__":true,"id":11},"parent":{"__isSmartRef__":true,"id":69},"name":"layout","description":"{...}","children":[],"attributeConnections":[{"__isSmartRef__":true,"id":2390}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2431}},"2390":{"sourceObj":{"__isSmartRef__":true,"id":2389},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":2391},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":2430},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2391":{"item":{"__isSmartRef__":true,"id":2389},"parent":{"__isSmartRef__":true,"id":1366},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":2392}],"scripts":[],"shape":{"__isSmartRef__":true,"id":2425},"eventHandler":{"__isSmartRef__":true,"id":2426},"_ClipMode":"visible","derivationIds":[],"id":"B09B96B5-0350-421F-AF86-77B57EA75B83","droppingEnabled":true,"halosEnabled":true,"layout":{"__isSmartRef__":true,"id":2427},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":2393},"label":{"__isSmartRef__":true,"id":2406},"node":{"__isSmartRef__":true,"id":2392},"owner":{"__isSmartRef__":true,"id":1366},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,400.0)"},"2392":{"submorphs":[{"__isSmartRef__":true,"id":2393},{"__isSmartRef__":true,"id":2406}],"scripts":[],"shape":{"__isSmartRef__":true,"id":2421},"eventHandler":{"__isSmartRef__":true,"id":2422},"_ClipMode":"visible","derivationIds":[],"id":"4612F722-02E8-47D9-90B5-D5917F3FCA4C","droppingEnabled":true,"halosEnabled":true,"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":2423},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":2391},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"2393":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2394},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":2395}],"eventHandler":{"__isSmartRef__":true,"id":2397},"_ClipMode":"visible","derivationIds":[],"id":"A4F9E39D-8CB5-46B2-8D27-E8F2396DE353","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":2392},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2398},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"2394":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"2395":{"style":{"__isSmartRef__":true,"id":2396},"chunkOwner":{"__isSmartRef__":true,"id":2393},"_id":"_20728","storedString":"►","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2396":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2397":{"morph":{"__isSmartRef__":true,"id":2393},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2398":{"onMouseDown":{"__isSmartRef__":true,"id":2399}},"2399":{"varMapping":{"__isSmartRef__":true,"id":2400},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":2405},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2400":{"this":{"__isSmartRef__":true,"id":2393},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2401}},"2401":{"$super":{"__isSmartRef__":true,"id":2402}},"2402":{"varMapping":{"__isSmartRef__":true,"id":2403},"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":2404},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2403":{"obj":{"__isSmartRef__":true,"id":2393},"name":"onMouseDown"},"2404":{},"2405":{},"2406":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2407},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":2408},{"__isSmartRef__":true,"id":2410}],"eventHandler":{"__isSmartRef__":true,"id":2412},"_ClipMode":"visible","derivationIds":[],"id":"D649D45B-EBBD-4CEB-8274-B21E0363FE8A","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":2392},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2413},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"2407":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(67.0,16.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"2408":{"style":{"__isSmartRef__":true,"id":2409},"chunkOwner":{"__isSmartRef__":true,"id":2406},"_id":"_39775","storedString":"layout","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2409":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2410":{"style":{"__isSmartRef__":true,"id":2411},"chunkOwner":{"__isSmartRef__":true,"id":2406},"_id":"_39776","storedString":" {...}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2411":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"2412":{"morph":{"__isSmartRef__":true,"id":2406},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2413":{"onMouseDown":{"__isSmartRef__":true,"id":2414}},"2414":{"varMapping":{"__isSmartRef__":true,"id":2415},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":2420},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2415":{"this":{"__isSmartRef__":true,"id":2406},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2416}},"2416":{"$super":{"__isSmartRef__":true,"id":2417}},"2417":{"varMapping":{"__isSmartRef__":true,"id":2418},"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":2419},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2418":{"obj":{"__isSmartRef__":true,"id":2406},"name":"onMouseDown"},"2419":{},"2420":{},"2421":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"2422":{"morph":{"__isSmartRef__":true,"id":2392},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2423":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":2424}},"2424":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":2392},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"2425":{"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"2426":{"morph":{"__isSmartRef__":true,"id":2391},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2427":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":2428}},"2428":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":2429},"spacing":0,"container":{"__isSmartRef__":true,"id":2391},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"2429":{"top":0,"right":0,"bottom":0,"left":0},"2430":{"source":{"__isSmartRef__":true,"id":2389},"target":{"__isSmartRef__":true,"id":2391}},"2431":{"onSelect":{"__isSmartRef__":true,"id":2432},"onExpand":{"__isSmartRef__":true,"id":2435},"onUpdateChildren":{"__isSmartRef__":true,"id":2438},"onUpdate":{"__isSmartRef__":true,"id":2441}},"2432":{"varMapping":{"__isSmartRef__":true,"id":2433},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":2434},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2433":{"this":{"__isSmartRef__":true,"id":2389}},"2434":{},"2435":{"varMapping":{"__isSmartRef__":true,"id":2436},"source":"function onExpand() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":2437},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2436":{"this":{"__isSmartRef__":true,"id":2389}},"2437":{},"2438":{"varMapping":{"__isSmartRef__":true,"id":2439},"source":"function onUpdateChildren() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":2440},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2439":{"this":{"__isSmartRef__":true,"id":2389}},"2440":{},"2441":{"varMapping":{"__isSmartRef__":true,"id":2442},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":2443},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2442":{"this":{"__isSmartRef__":true,"id":2389}},"2443":{},"2444":{"data":true,"inspector":{"__isSmartRef__":true,"id":11},"parent":{"__isSmartRef__":true,"id":69},"name":"noEval","description":"true","attributeConnections":[{"__isSmartRef__":true,"id":2445}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2486}},"2445":{"sourceObj":{"__isSmartRef__":true,"id":2444},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":2446},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":2485},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2446":{"item":{"__isSmartRef__":true,"id":2444},"parent":{"__isSmartRef__":true,"id":1366},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":2447}],"scripts":[],"shape":{"__isSmartRef__":true,"id":2480},"eventHandler":{"__isSmartRef__":true,"id":2481},"_ClipMode":"visible","derivationIds":[],"id":"C33AAE81-170D-418A-A9CE-E854D7D483E6","droppingEnabled":true,"halosEnabled":true,"layout":{"__isSmartRef__":true,"id":2482},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":2448},"label":{"__isSmartRef__":true,"id":2461},"node":{"__isSmartRef__":true,"id":2447},"owner":{"__isSmartRef__":true,"id":1366},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,420.0)"},"2447":{"submorphs":[{"__isSmartRef__":true,"id":2448},{"__isSmartRef__":true,"id":2461}],"scripts":[],"shape":{"__isSmartRef__":true,"id":2476},"eventHandler":{"__isSmartRef__":true,"id":2477},"_ClipMode":"visible","derivationIds":[],"id":"5844B12A-26E4-4B51-B4F7-CE923C23670F","droppingEnabled":true,"halosEnabled":true,"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":2478},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":2446},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"2448":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2449},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":2450}],"eventHandler":{"__isSmartRef__":true,"id":2452},"_ClipMode":"visible","derivationIds":[],"id":"45F44504-6989-4422-B7DF-C5BB5713C39D","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":2447},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2453},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"2449":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"2450":{"style":{"__isSmartRef__":true,"id":2451},"chunkOwner":{"__isSmartRef__":true,"id":2448},"_id":"_20733","storedString":"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2451":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2452":{"morph":{"__isSmartRef__":true,"id":2448},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2453":{"onMouseDown":{"__isSmartRef__":true,"id":2454}},"2454":{"varMapping":{"__isSmartRef__":true,"id":2455},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":2460},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2455":{"this":{"__isSmartRef__":true,"id":2448},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2456}},"2456":{"$super":{"__isSmartRef__":true,"id":2457}},"2457":{"varMapping":{"__isSmartRef__":true,"id":2458},"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":2459},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2458":{"obj":{"__isSmartRef__":true,"id":2448},"name":"onMouseDown"},"2459":{},"2460":{},"2461":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2462},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":2463},{"__isSmartRef__":true,"id":2465}],"eventHandler":{"__isSmartRef__":true,"id":2467},"_ClipMode":"visible","derivationIds":[],"id":"DD5D4161-2DB2-400A-876E-FE2CA76CC669","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":2447},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2468},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"2462":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(74.0,16.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"2463":{"style":{"__isSmartRef__":true,"id":2464},"chunkOwner":{"__isSmartRef__":true,"id":2461},"_id":"_39777","storedString":"noEval","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2464":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2465":{"style":{"__isSmartRef__":true,"id":2466},"chunkOwner":{"__isSmartRef__":true,"id":2461},"_id":"_39778","storedString":" true","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2466":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"2467":{"morph":{"__isSmartRef__":true,"id":2461},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2468":{"onMouseDown":{"__isSmartRef__":true,"id":2469}},"2469":{"varMapping":{"__isSmartRef__":true,"id":2470},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":2475},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2470":{"this":{"__isSmartRef__":true,"id":2461},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2471}},"2471":{"$super":{"__isSmartRef__":true,"id":2472}},"2472":{"varMapping":{"__isSmartRef__":true,"id":2473},"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":2474},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2473":{"obj":{"__isSmartRef__":true,"id":2461},"name":"onMouseDown"},"2474":{},"2475":{},"2476":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"2477":{"morph":{"__isSmartRef__":true,"id":2447},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2478":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":2479}},"2479":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":2447},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"2480":{"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"2481":{"morph":{"__isSmartRef__":true,"id":2446},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2482":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":2483}},"2483":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":2484},"spacing":0,"container":{"__isSmartRef__":true,"id":2446},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"2484":{"top":0,"right":0,"bottom":0,"left":0},"2485":{"source":{"__isSmartRef__":true,"id":2444},"target":{"__isSmartRef__":true,"id":2446}},"2486":{"onSelect":{"__isSmartRef__":true,"id":2487},"onUpdate":{"__isSmartRef__":true,"id":2490}},"2487":{"varMapping":{"__isSmartRef__":true,"id":2488},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":2489},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2488":{"this":{"__isSmartRef__":true,"id":2444}},"2489":{},"2490":{"varMapping":{"__isSmartRef__":true,"id":2491},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":2492},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2491":{"this":{"__isSmartRef__":true,"id":2444}},"2492":{},"2493":{"data":{"__isSmartRef__":true,"id":74},"inspector":{"__isSmartRef__":true,"id":11},"parent":{"__isSmartRef__":true,"id":69},"name":"owner","description":"BrowserPanel","children":[],"attributeConnections":[{"__isSmartRef__":true,"id":2494}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2535}},"2494":{"sourceObj":{"__isSmartRef__":true,"id":2493},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":2495},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":2534},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2495":{"item":{"__isSmartRef__":true,"id":2493},"parent":{"__isSmartRef__":true,"id":1366},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":2496}],"scripts":[],"shape":{"__isSmartRef__":true,"id":2529},"eventHandler":{"__isSmartRef__":true,"id":2530},"_ClipMode":"visible","derivationIds":[],"id":"576F260E-25F5-4252-BAFC-D90A47B6E7AA","droppingEnabled":true,"halosEnabled":true,"layout":{"__isSmartRef__":true,"id":2531},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":2497},"label":{"__isSmartRef__":true,"id":2510},"node":{"__isSmartRef__":true,"id":2496},"owner":{"__isSmartRef__":true,"id":1366},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,440.0)"},"2496":{"submorphs":[{"__isSmartRef__":true,"id":2497},{"__isSmartRef__":true,"id":2510}],"scripts":[],"shape":{"__isSmartRef__":true,"id":2525},"eventHandler":{"__isSmartRef__":true,"id":2526},"_ClipMode":"visible","derivationIds":[],"id":"0714FD9C-DF33-401C-A5A9-C83D53AA7267","droppingEnabled":true,"halosEnabled":true,"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":2527},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":2495},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"2497":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2498},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":2499}],"eventHandler":{"__isSmartRef__":true,"id":2501},"_ClipMode":"visible","derivationIds":[],"id":"0F2321D8-7C59-41E9-8256-DC886DA91F0B","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":2496},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2502},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"2498":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"2499":{"style":{"__isSmartRef__":true,"id":2500},"chunkOwner":{"__isSmartRef__":true,"id":2497},"_id":"_20738","storedString":"►","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2500":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2501":{"morph":{"__isSmartRef__":true,"id":2497},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2502":{"onMouseDown":{"__isSmartRef__":true,"id":2503}},"2503":{"varMapping":{"__isSmartRef__":true,"id":2504},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":2509},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2504":{"this":{"__isSmartRef__":true,"id":2497},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2505}},"2505":{"$super":{"__isSmartRef__":true,"id":2506}},"2506":{"varMapping":{"__isSmartRef__":true,"id":2507},"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":2508},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2507":{"obj":{"__isSmartRef__":true,"id":2497},"name":"onMouseDown"},"2508":{},"2509":{},"2510":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2511},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":2512},{"__isSmartRef__":true,"id":2514}],"eventHandler":{"__isSmartRef__":true,"id":2516},"_ClipMode":"visible","derivationIds":[],"id":"F8DE2C63-39E0-4A19-8B99-684E014D4FB0","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":2496},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2517},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"2511":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(128.0,16.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"2512":{"style":{"__isSmartRef__":true,"id":2513},"chunkOwner":{"__isSmartRef__":true,"id":2510},"_id":"_39779","storedString":"owner","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2513":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2514":{"style":{"__isSmartRef__":true,"id":2515},"chunkOwner":{"__isSmartRef__":true,"id":2510},"_id":"_39780","storedString":" BrowserPanel","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2515":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"2516":{"morph":{"__isSmartRef__":true,"id":2510},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2517":{"onMouseDown":{"__isSmartRef__":true,"id":2518}},"2518":{"varMapping":{"__isSmartRef__":true,"id":2519},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":2524},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2519":{"this":{"__isSmartRef__":true,"id":2510},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2520}},"2520":{"$super":{"__isSmartRef__":true,"id":2521}},"2521":{"varMapping":{"__isSmartRef__":true,"id":2522},"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":2523},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2522":{"obj":{"__isSmartRef__":true,"id":2510},"name":"onMouseDown"},"2523":{},"2524":{},"2525":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"2526":{"morph":{"__isSmartRef__":true,"id":2496},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2527":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":2528}},"2528":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":2496},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"2529":{"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"2530":{"morph":{"__isSmartRef__":true,"id":2495},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2531":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":2532}},"2532":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":2533},"spacing":0,"container":{"__isSmartRef__":true,"id":2495},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"2533":{"top":0,"right":0,"bottom":0,"left":0},"2534":{"source":{"__isSmartRef__":true,"id":2493},"target":{"__isSmartRef__":true,"id":2495}},"2535":{"onSelect":{"__isSmartRef__":true,"id":2536},"onExpand":{"__isSmartRef__":true,"id":2539},"onUpdateChildren":{"__isSmartRef__":true,"id":2542},"onUpdate":{"__isSmartRef__":true,"id":2545}},"2536":{"varMapping":{"__isSmartRef__":true,"id":2537},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":2538},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2537":{"this":{"__isSmartRef__":true,"id":2493}},"2538":{},"2539":{"varMapping":{"__isSmartRef__":true,"id":2540},"source":"function onExpand() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":2541},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2540":{"this":{"__isSmartRef__":true,"id":2493}},"2541":{},"2542":{"varMapping":{"__isSmartRef__":true,"id":2543},"source":"function onUpdateChildren() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":2544},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2543":{"this":{"__isSmartRef__":true,"id":2493}},"2544":{},"2545":{"varMapping":{"__isSmartRef__":true,"id":2546},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":2547},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2546":{"this":{"__isSmartRef__":true,"id":2493}},"2547":{},"2548":{"data":null,"inspector":{"__isSmartRef__":true,"id":11},"parent":{"__isSmartRef__":true,"id":69},"name":"parseErrors","description":"null","attributeConnections":[{"__isSmartRef__":true,"id":2549}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2590}},"2549":{"sourceObj":{"__isSmartRef__":true,"id":2548},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":2550},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":2589},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2550":{"item":{"__isSmartRef__":true,"id":2548},"parent":{"__isSmartRef__":true,"id":1366},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":2551}],"scripts":[],"shape":{"__isSmartRef__":true,"id":2584},"eventHandler":{"__isSmartRef__":true,"id":2585},"_ClipMode":"visible","derivationIds":[],"id":"0B7A63D0-43C3-4350-875F-B1FF6791E29A","droppingEnabled":true,"halosEnabled":true,"layout":{"__isSmartRef__":true,"id":2586},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":2552},"label":{"__isSmartRef__":true,"id":2565},"node":{"__isSmartRef__":true,"id":2551},"owner":{"__isSmartRef__":true,"id":1366},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,460.0)"},"2551":{"submorphs":[{"__isSmartRef__":true,"id":2552},{"__isSmartRef__":true,"id":2565}],"scripts":[],"shape":{"__isSmartRef__":true,"id":2580},"eventHandler":{"__isSmartRef__":true,"id":2581},"_ClipMode":"visible","derivationIds":[],"id":"09253CAF-E44A-4A35-A96D-F7501462DDE2","droppingEnabled":true,"halosEnabled":true,"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":2582},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":2550},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"2552":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2553},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":2554}],"eventHandler":{"__isSmartRef__":true,"id":2556},"_ClipMode":"visible","derivationIds":[],"id":"59B56C0F-BAB1-4C32-AC62-31A2915453B9","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":2551},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2557},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"2553":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"2554":{"style":{"__isSmartRef__":true,"id":2555},"chunkOwner":{"__isSmartRef__":true,"id":2552},"_id":"_20743","storedString":"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2555":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2556":{"morph":{"__isSmartRef__":true,"id":2552},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2557":{"onMouseDown":{"__isSmartRef__":true,"id":2558}},"2558":{"varMapping":{"__isSmartRef__":true,"id":2559},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":2564},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2559":{"this":{"__isSmartRef__":true,"id":2552},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2560}},"2560":{"$super":{"__isSmartRef__":true,"id":2561}},"2561":{"varMapping":{"__isSmartRef__":true,"id":2562},"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":2563},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2562":{"obj":{"__isSmartRef__":true,"id":2552},"name":"onMouseDown"},"2563":{},"2564":{},"2565":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2566},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":2567},{"__isSmartRef__":true,"id":2569}],"eventHandler":{"__isSmartRef__":true,"id":2571},"_ClipMode":"visible","derivationIds":[],"id":"88161FA8-209B-424A-8666-4C7EB32164C6","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":2551},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2572},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"2566":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(99.0,16.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"2567":{"style":{"__isSmartRef__":true,"id":2568},"chunkOwner":{"__isSmartRef__":true,"id":2565},"_id":"_39781","storedString":"parseErrors","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2568":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2569":{"style":{"__isSmartRef__":true,"id":2570},"chunkOwner":{"__isSmartRef__":true,"id":2565},"_id":"_39782","storedString":" null","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2570":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"2571":{"morph":{"__isSmartRef__":true,"id":2565},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2572":{"onMouseDown":{"__isSmartRef__":true,"id":2573}},"2573":{"varMapping":{"__isSmartRef__":true,"id":2574},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":2579},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2574":{"this":{"__isSmartRef__":true,"id":2565},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2575}},"2575":{"$super":{"__isSmartRef__":true,"id":2576}},"2576":{"varMapping":{"__isSmartRef__":true,"id":2577},"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":2578},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2577":{"obj":{"__isSmartRef__":true,"id":2565},"name":"onMouseDown"},"2578":{},"2579":{},"2580":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"2581":{"morph":{"__isSmartRef__":true,"id":2551},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2582":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":2583}},"2583":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":2551},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"2584":{"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"2585":{"morph":{"__isSmartRef__":true,"id":2550},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2586":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":2587}},"2587":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":2588},"spacing":0,"container":{"__isSmartRef__":true,"id":2550},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"2588":{"top":0,"right":0,"bottom":0,"left":0},"2589":{"source":{"__isSmartRef__":true,"id":2548},"target":{"__isSmartRef__":true,"id":2550}},"2590":{"onSelect":{"__isSmartRef__":true,"id":2591},"onUpdate":{"__isSmartRef__":true,"id":2594}},"2591":{"varMapping":{"__isSmartRef__":true,"id":2592},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":2593},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2592":{"this":{"__isSmartRef__":true,"id":2548}},"2593":{},"2594":{"varMapping":{"__isSmartRef__":true,"id":2595},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":2596},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2595":{"this":{"__isSmartRef__":true,"id":2548}},"2596":{},"2597":{"inspector":{"__isSmartRef__":true,"id":11},"parent":{"__isSmartRef__":true,"id":69},"name":"previousSelection","description":"undefined","children":[],"attributeConnections":[{"__isSmartRef__":true,"id":2598}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2639}},"2598":{"sourceObj":{"__isSmartRef__":true,"id":2597},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":2599},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":2638},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2599":{"item":{"__isSmartRef__":true,"id":2597},"parent":{"__isSmartRef__":true,"id":1366},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":2600}],"scripts":[],"shape":{"__isSmartRef__":true,"id":2633},"eventHandler":{"__isSmartRef__":true,"id":2634},"_ClipMode":"visible","derivationIds":[],"id":"A52927F5-7C14-4A72-9591-D10A0AF896A2","droppingEnabled":true,"halosEnabled":true,"layout":{"__isSmartRef__":true,"id":2635},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":2601},"label":{"__isSmartRef__":true,"id":2614},"node":{"__isSmartRef__":true,"id":2600},"owner":{"__isSmartRef__":true,"id":1366},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,480.0)"},"2600":{"submorphs":[{"__isSmartRef__":true,"id":2601},{"__isSmartRef__":true,"id":2614}],"scripts":[],"shape":{"__isSmartRef__":true,"id":2629},"eventHandler":{"__isSmartRef__":true,"id":2630},"_ClipMode":"visible","derivationIds":[],"id":"035E7895-8F71-40D2-B3CE-0DD309ED7B4C","droppingEnabled":true,"halosEnabled":true,"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":2631},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":2599},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"2601":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2602},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":2603}],"eventHandler":{"__isSmartRef__":true,"id":2605},"_ClipMode":"visible","derivationIds":[],"id":"CBCBC755-FA1B-4695-8D31-4AD6F18B9527","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":2600},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2606},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"2602":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"2603":{"style":{"__isSmartRef__":true,"id":2604},"chunkOwner":{"__isSmartRef__":true,"id":2601},"_id":"_20748","storedString":"►","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2604":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2605":{"morph":{"__isSmartRef__":true,"id":2601},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2606":{"onMouseDown":{"__isSmartRef__":true,"id":2607}},"2607":{"varMapping":{"__isSmartRef__":true,"id":2608},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":2613},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2608":{"this":{"__isSmartRef__":true,"id":2601},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2609}},"2609":{"$super":{"__isSmartRef__":true,"id":2610}},"2610":{"varMapping":{"__isSmartRef__":true,"id":2611},"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":2612},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2611":{"obj":{"__isSmartRef__":true,"id":2601},"name":"onMouseDown"},"2612":{},"2613":{},"2614":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2615},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":2616},{"__isSmartRef__":true,"id":2618}],"eventHandler":{"__isSmartRef__":true,"id":2620},"_ClipMode":"visible","derivationIds":[],"id":"E911FBA1-E152-4ADA-A8FB-4C9340BEDC02","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":2600},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2621},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"2615":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(171.0,16.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"2616":{"style":{"__isSmartRef__":true,"id":2617},"chunkOwner":{"__isSmartRef__":true,"id":2614},"_id":"_39783","storedString":"previousSelection","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2617":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2618":{"style":{"__isSmartRef__":true,"id":2619},"chunkOwner":{"__isSmartRef__":true,"id":2614},"_id":"_39784","storedString":" undefined","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2619":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"2620":{"morph":{"__isSmartRef__":true,"id":2614},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2621":{"onMouseDown":{"__isSmartRef__":true,"id":2622}},"2622":{"varMapping":{"__isSmartRef__":true,"id":2623},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":2628},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2623":{"this":{"__isSmartRef__":true,"id":2614},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2624}},"2624":{"$super":{"__isSmartRef__":true,"id":2625}},"2625":{"varMapping":{"__isSmartRef__":true,"id":2626},"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":2627},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2626":{"obj":{"__isSmartRef__":true,"id":2614},"name":"onMouseDown"},"2627":{},"2628":{},"2629":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"2630":{"morph":{"__isSmartRef__":true,"id":2600},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2631":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":2632}},"2632":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":2600},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"2633":{"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"2634":{"morph":{"__isSmartRef__":true,"id":2599},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2635":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":2636}},"2636":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":2637},"spacing":0,"container":{"__isSmartRef__":true,"id":2599},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"2637":{"top":0,"right":0,"bottom":0,"left":0},"2638":{"source":{"__isSmartRef__":true,"id":2597},"target":{"__isSmartRef__":true,"id":2599}},"2639":{"onSelect":{"__isSmartRef__":true,"id":2640},"onExpand":{"__isSmartRef__":true,"id":2643},"onUpdateChildren":{"__isSmartRef__":true,"id":2646},"onUpdate":{"__isSmartRef__":true,"id":2649}},"2640":{"varMapping":{"__isSmartRef__":true,"id":2641},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":2642},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2641":{"this":{"__isSmartRef__":true,"id":2597}},"2642":{},"2643":{"varMapping":{"__isSmartRef__":true,"id":2644},"source":"function onExpand() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":2645},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2644":{"this":{"__isSmartRef__":true,"id":2597}},"2645":{},"2646":{"varMapping":{"__isSmartRef__":true,"id":2647},"source":"function onUpdateChildren() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":2648},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2647":{"this":{"__isSmartRef__":true,"id":2597}},"2648":{},"2649":{"varMapping":{"__isSmartRef__":true,"id":2650},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":2651},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2650":{"this":{"__isSmartRef__":true,"id":2597}},"2651":{},"2652":{"inspector":{"__isSmartRef__":true,"id":11},"parent":{"__isSmartRef__":true,"id":69},"name":"priorExtent","description":"Point","children":[],"attributeConnections":[{"__isSmartRef__":true,"id":2653}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedExpressions__":["data"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2694},"data":"lively.pt(565.0,393.8)"},"2653":{"sourceObj":{"__isSmartRef__":true,"id":2652},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":2654},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":2693},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2654":{"item":{"__isSmartRef__":true,"id":2652},"parent":{"__isSmartRef__":true,"id":1366},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":2655}],"scripts":[],"shape":{"__isSmartRef__":true,"id":2688},"eventHandler":{"__isSmartRef__":true,"id":2689},"_ClipMode":"visible","derivationIds":[],"id":"7E518E82-339B-445C-BADE-92CF3AE00964","droppingEnabled":true,"halosEnabled":true,"layout":{"__isSmartRef__":true,"id":2690},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":2656},"label":{"__isSmartRef__":true,"id":2669},"node":{"__isSmartRef__":true,"id":2655},"owner":{"__isSmartRef__":true,"id":1366},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,500.0)"},"2655":{"submorphs":[{"__isSmartRef__":true,"id":2656},{"__isSmartRef__":true,"id":2669}],"scripts":[],"shape":{"__isSmartRef__":true,"id":2684},"eventHandler":{"__isSmartRef__":true,"id":2685},"_ClipMode":"visible","derivationIds":[],"id":"74A02FCB-3E4A-405E-9989-0A842DEC52E2","droppingEnabled":true,"halosEnabled":true,"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":2686},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":2654},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"2656":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2657},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":2658}],"eventHandler":{"__isSmartRef__":true,"id":2660},"_ClipMode":"visible","derivationIds":[],"id":"5A6176AF-3506-414B-9AC4-0D0928180BD5","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":2655},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2661},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"2657":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"2658":{"style":{"__isSmartRef__":true,"id":2659},"chunkOwner":{"__isSmartRef__":true,"id":2656},"_id":"_20753","storedString":"►","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2659":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2660":{"morph":{"__isSmartRef__":true,"id":2656},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2661":{"onMouseDown":{"__isSmartRef__":true,"id":2662}},"2662":{"varMapping":{"__isSmartRef__":true,"id":2663},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":2668},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2663":{"this":{"__isSmartRef__":true,"id":2656},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2664}},"2664":{"$super":{"__isSmartRef__":true,"id":2665}},"2665":{"varMapping":{"__isSmartRef__":true,"id":2666},"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":2667},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2666":{"obj":{"__isSmartRef__":true,"id":2656},"name":"onMouseDown"},"2667":{},"2668":{},"2669":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2670},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":2671},{"__isSmartRef__":true,"id":2673}],"eventHandler":{"__isSmartRef__":true,"id":2675},"_ClipMode":"visible","derivationIds":[],"id":"8161809D-2CCE-42C7-AD8E-6F53356E0536","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":2655},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2676},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"2670":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(105.0,16.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"2671":{"style":{"__isSmartRef__":true,"id":2672},"chunkOwner":{"__isSmartRef__":true,"id":2669},"_id":"_39785","storedString":"priorExtent","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2672":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2673":{"style":{"__isSmartRef__":true,"id":2674},"chunkOwner":{"__isSmartRef__":true,"id":2669},"_id":"_39786","storedString":" Point","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2674":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"2675":{"morph":{"__isSmartRef__":true,"id":2669},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2676":{"onMouseDown":{"__isSmartRef__":true,"id":2677}},"2677":{"varMapping":{"__isSmartRef__":true,"id":2678},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":2683},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2678":{"this":{"__isSmartRef__":true,"id":2669},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2679}},"2679":{"$super":{"__isSmartRef__":true,"id":2680}},"2680":{"varMapping":{"__isSmartRef__":true,"id":2681},"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":2682},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2681":{"obj":{"__isSmartRef__":true,"id":2669},"name":"onMouseDown"},"2682":{},"2683":{},"2684":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"2685":{"morph":{"__isSmartRef__":true,"id":2655},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2686":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":2687}},"2687":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":2655},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"2688":{"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"2689":{"morph":{"__isSmartRef__":true,"id":2654},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2690":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":2691}},"2691":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":2692},"spacing":0,"container":{"__isSmartRef__":true,"id":2654},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"2692":{"top":0,"right":0,"bottom":0,"left":0},"2693":{"source":{"__isSmartRef__":true,"id":2652},"target":{"__isSmartRef__":true,"id":2654}},"2694":{"onSelect":{"__isSmartRef__":true,"id":2695},"onExpand":{"__isSmartRef__":true,"id":2698},"onUpdateChildren":{"__isSmartRef__":true,"id":2701},"onUpdate":{"__isSmartRef__":true,"id":2704}},"2695":{"varMapping":{"__isSmartRef__":true,"id":2696},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":2697},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2696":{"this":{"__isSmartRef__":true,"id":2652}},"2697":{},"2698":{"varMapping":{"__isSmartRef__":true,"id":2699},"source":"function onExpand() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":2700},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2699":{"this":{"__isSmartRef__":true,"id":2652}},"2700":{},"2701":{"varMapping":{"__isSmartRef__":true,"id":2702},"source":"function onUpdateChildren() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":2703},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2702":{"this":{"__isSmartRef__":true,"id":2652}},"2703":{},"2704":{"varMapping":{"__isSmartRef__":true,"id":2705},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":2706},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2705":{"this":{"__isSmartRef__":true,"id":2652}},"2706":{},"2707":{"data":[107,107],"inspector":{"__isSmartRef__":true,"id":11},"parent":{"__isSmartRef__":true,"id":69},"name":"priorSelectionRange","description":"[...]","children":[],"attributeConnections":[{"__isSmartRef__":true,"id":2708}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2749}},"2708":{"sourceObj":{"__isSmartRef__":true,"id":2707},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":2709},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":2748},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2709":{"item":{"__isSmartRef__":true,"id":2707},"parent":{"__isSmartRef__":true,"id":1366},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":2710}],"scripts":[],"shape":{"__isSmartRef__":true,"id":2743},"eventHandler":{"__isSmartRef__":true,"id":2744},"_ClipMode":"visible","derivationIds":[],"id":"6E90C1C0-BD44-4A0E-ADDE-081CC1061A51","droppingEnabled":true,"halosEnabled":true,"layout":{"__isSmartRef__":true,"id":2745},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":2711},"label":{"__isSmartRef__":true,"id":2724},"node":{"__isSmartRef__":true,"id":2710},"owner":{"__isSmartRef__":true,"id":1366},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,520.0)"},"2710":{"submorphs":[{"__isSmartRef__":true,"id":2711},{"__isSmartRef__":true,"id":2724}],"scripts":[],"shape":{"__isSmartRef__":true,"id":2739},"eventHandler":{"__isSmartRef__":true,"id":2740},"_ClipMode":"visible","derivationIds":[],"id":"E7552138-49D9-43B7-8EBF-BACA7C249EBA","droppingEnabled":true,"halosEnabled":true,"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":2741},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":2709},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"2711":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2712},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":2713}],"eventHandler":{"__isSmartRef__":true,"id":2715},"_ClipMode":"visible","derivationIds":[],"id":"766B4EC8-9BBE-4847-BE08-21684A749829","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":2710},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2716},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"2712":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"2713":{"style":{"__isSmartRef__":true,"id":2714},"chunkOwner":{"__isSmartRef__":true,"id":2711},"_id":"_38775","storedString":"►","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2714":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2715":{"morph":{"__isSmartRef__":true,"id":2711},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2716":{"onMouseDown":{"__isSmartRef__":true,"id":2717}},"2717":{"varMapping":{"__isSmartRef__":true,"id":2718},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":2723},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2718":{"this":{"__isSmartRef__":true,"id":2711},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2719}},"2719":{"$super":{"__isSmartRef__":true,"id":2720}},"2720":{"varMapping":{"__isSmartRef__":true,"id":2721},"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":2722},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2721":{"obj":{"__isSmartRef__":true,"id":2711},"name":"onMouseDown"},"2722":{},"2723":{},"2724":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2725},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":2726},{"__isSmartRef__":true,"id":2728}],"eventHandler":{"__isSmartRef__":true,"id":2730},"_ClipMode":"visible","derivationIds":[],"id":"9B0E380C-658B-42AA-BCBF-BE7E3D89A05D","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":2710},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2731},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"2725":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(149.0,16.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"2726":{"style":{"__isSmartRef__":true,"id":2727},"chunkOwner":{"__isSmartRef__":true,"id":2724},"_id":"_39787","storedString":"priorSelectionRange","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2727":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2728":{"style":{"__isSmartRef__":true,"id":2729},"chunkOwner":{"__isSmartRef__":true,"id":2724},"_id":"_39788","storedString":" [...]","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2729":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"2730":{"morph":{"__isSmartRef__":true,"id":2724},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2731":{"onMouseDown":{"__isSmartRef__":true,"id":2732}},"2732":{"varMapping":{"__isSmartRef__":true,"id":2733},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":2738},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2733":{"this":{"__isSmartRef__":true,"id":2724},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2734}},"2734":{"$super":{"__isSmartRef__":true,"id":2735}},"2735":{"varMapping":{"__isSmartRef__":true,"id":2736},"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":2737},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2736":{"obj":{"__isSmartRef__":true,"id":2724},"name":"onMouseDown"},"2737":{},"2738":{},"2739":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"2740":{"morph":{"__isSmartRef__":true,"id":2710},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2741":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":2742}},"2742":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":2710},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"2743":{"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"2744":{"morph":{"__isSmartRef__":true,"id":2709},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2745":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":2746}},"2746":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":2747},"spacing":0,"container":{"__isSmartRef__":true,"id":2709},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"2747":{"top":0,"right":0,"bottom":0,"left":0},"2748":{"source":{"__isSmartRef__":true,"id":2707},"target":{"__isSmartRef__":true,"id":2709}},"2749":{"onSelect":{"__isSmartRef__":true,"id":2750},"onExpand":{"__isSmartRef__":true,"id":2753},"onUpdateChildren":{"__isSmartRef__":true,"id":2756},"onUpdate":{"__isSmartRef__":true,"id":2759}},"2750":{"varMapping":{"__isSmartRef__":true,"id":2751},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":2752},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2751":{"this":{"__isSmartRef__":true,"id":2707}},"2752":{},"2753":{"varMapping":{"__isSmartRef__":true,"id":2754},"source":"function onExpand() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":2755},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2754":{"this":{"__isSmartRef__":true,"id":2707}},"2755":{},"2756":{"varMapping":{"__isSmartRef__":true,"id":2757},"source":"function onUpdateChildren() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":2758},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2757":{"this":{"__isSmartRef__":true,"id":2707}},"2758":{},"2759":{"varMapping":{"__isSmartRef__":true,"id":2760},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":2761},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2760":{"this":{"__isSmartRef__":true,"id":2707}},"2761":{},"2762":{"inspector":{"__isSmartRef__":true,"id":11},"parent":{"__isSmartRef__":true,"id":69},"name":"savedTextString","description":"undefined","attributeConnections":[{"__isSmartRef__":true,"id":2763}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2804}},"2763":{"sourceObj":{"__isSmartRef__":true,"id":2762},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":2764},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":2803},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2764":{"item":{"__isSmartRef__":true,"id":2762},"parent":{"__isSmartRef__":true,"id":1366},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":2765}],"scripts":[],"shape":{"__isSmartRef__":true,"id":2798},"eventHandler":{"__isSmartRef__":true,"id":2799},"_ClipMode":"visible","derivationIds":[],"id":"D652B2A6-C87D-483B-8C44-4067B37ACACF","droppingEnabled":true,"halosEnabled":true,"layout":{"__isSmartRef__":true,"id":2800},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":2766},"label":{"__isSmartRef__":true,"id":2779},"node":{"__isSmartRef__":true,"id":2765},"owner":{"__isSmartRef__":true,"id":1366},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,540.0)"},"2765":{"submorphs":[{"__isSmartRef__":true,"id":2766},{"__isSmartRef__":true,"id":2779}],"scripts":[],"shape":{"__isSmartRef__":true,"id":2794},"eventHandler":{"__isSmartRef__":true,"id":2795},"_ClipMode":"visible","derivationIds":[],"id":"C9327EDE-22EB-4BFF-B3BC-42F0F3EB9380","droppingEnabled":true,"halosEnabled":true,"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":2796},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":2764},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"2766":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2767},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":2768}],"eventHandler":{"__isSmartRef__":true,"id":2770},"_ClipMode":"visible","derivationIds":[],"id":"32C95F71-DE38-4AD6-B32E-3D31E2876270","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":2765},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2771},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"2767":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"2768":{"style":{"__isSmartRef__":true,"id":2769},"chunkOwner":{"__isSmartRef__":true,"id":2766},"_id":"_20758","storedString":"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2769":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2770":{"morph":{"__isSmartRef__":true,"id":2766},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2771":{"onMouseDown":{"__isSmartRef__":true,"id":2772}},"2772":{"varMapping":{"__isSmartRef__":true,"id":2773},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":2778},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2773":{"this":{"__isSmartRef__":true,"id":2766},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2774}},"2774":{"$super":{"__isSmartRef__":true,"id":2775}},"2775":{"varMapping":{"__isSmartRef__":true,"id":2776},"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":2777},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2776":{"obj":{"__isSmartRef__":true,"id":2766},"name":"onMouseDown"},"2777":{},"2778":{},"2779":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2780},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":2781},{"__isSmartRef__":true,"id":2783}],"eventHandler":{"__isSmartRef__":true,"id":2785},"_ClipMode":"visible","derivationIds":[],"id":"91982E15-FD53-4CD9-ADC4-31B50D551226","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":2765},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2786},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"2780":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(163.0,16.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"2781":{"style":{"__isSmartRef__":true,"id":2782},"chunkOwner":{"__isSmartRef__":true,"id":2779},"_id":"_39789","storedString":"savedTextString","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2782":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2783":{"style":{"__isSmartRef__":true,"id":2784},"chunkOwner":{"__isSmartRef__":true,"id":2779},"_id":"_39790","storedString":" undefined","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2784":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"2785":{"morph":{"__isSmartRef__":true,"id":2779},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2786":{"onMouseDown":{"__isSmartRef__":true,"id":2787}},"2787":{"varMapping":{"__isSmartRef__":true,"id":2788},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":2793},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2788":{"this":{"__isSmartRef__":true,"id":2779},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2789}},"2789":{"$super":{"__isSmartRef__":true,"id":2790}},"2790":{"varMapping":{"__isSmartRef__":true,"id":2791},"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":2792},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2791":{"obj":{"__isSmartRef__":true,"id":2779},"name":"onMouseDown"},"2792":{},"2793":{},"2794":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"2795":{"morph":{"__isSmartRef__":true,"id":2765},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2796":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":2797}},"2797":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":2765},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"2798":{"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"2799":{"morph":{"__isSmartRef__":true,"id":2764},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2800":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":2801}},"2801":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":2802},"spacing":0,"container":{"__isSmartRef__":true,"id":2764},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"2802":{"top":0,"right":0,"bottom":0,"left":0},"2803":{"source":{"__isSmartRef__":true,"id":2762},"target":{"__isSmartRef__":true,"id":2764}},"2804":{"onSelect":{"__isSmartRef__":true,"id":2805},"onUpdate":{"__isSmartRef__":true,"id":2808}},"2805":{"varMapping":{"__isSmartRef__":true,"id":2806},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":2807},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2806":{"this":{"__isSmartRef__":true,"id":2762}},"2807":{},"2808":{"varMapping":{"__isSmartRef__":true,"id":2809},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":2810},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2809":{"this":{"__isSmartRef__":true,"id":2762}},"2810":{},"2811":{"data":[],"inspector":{"__isSmartRef__":true,"id":11},"parent":{"__isSmartRef__":true,"id":69},"name":"scripts","description":"[]","children":[],"attributeConnections":[{"__isSmartRef__":true,"id":2812}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2853}},"2812":{"sourceObj":{"__isSmartRef__":true,"id":2811},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":2813},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":2852},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2813":{"item":{"__isSmartRef__":true,"id":2811},"parent":{"__isSmartRef__":true,"id":1366},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":2814}],"scripts":[],"shape":{"__isSmartRef__":true,"id":2847},"eventHandler":{"__isSmartRef__":true,"id":2848},"_ClipMode":"visible","derivationIds":[],"id":"69F3A8DF-1976-4C87-825E-B7DA936ECCC0","droppingEnabled":true,"halosEnabled":true,"layout":{"__isSmartRef__":true,"id":2849},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":2815},"label":{"__isSmartRef__":true,"id":2828},"node":{"__isSmartRef__":true,"id":2814},"owner":{"__isSmartRef__":true,"id":1366},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,560.0)"},"2814":{"submorphs":[{"__isSmartRef__":true,"id":2815},{"__isSmartRef__":true,"id":2828}],"scripts":[],"shape":{"__isSmartRef__":true,"id":2843},"eventHandler":{"__isSmartRef__":true,"id":2844},"_ClipMode":"visible","derivationIds":[],"id":"8CABCCEC-65EE-4554-B05A-34F95B3C1CA1","droppingEnabled":true,"halosEnabled":true,"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":2845},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":2813},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"2815":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2816},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":2817}],"eventHandler":{"__isSmartRef__":true,"id":2819},"_ClipMode":"visible","derivationIds":[],"id":"54390129-ADAC-4391-BB88-AEDC29C690ED","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":2814},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2820},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"2816":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"2817":{"style":{"__isSmartRef__":true,"id":2818},"chunkOwner":{"__isSmartRef__":true,"id":2815},"_id":"_20763","storedString":"►","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2818":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2819":{"morph":{"__isSmartRef__":true,"id":2815},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2820":{"onMouseDown":{"__isSmartRef__":true,"id":2821}},"2821":{"varMapping":{"__isSmartRef__":true,"id":2822},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":2827},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2822":{"this":{"__isSmartRef__":true,"id":2815},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2823}},"2823":{"$super":{"__isSmartRef__":true,"id":2824}},"2824":{"varMapping":{"__isSmartRef__":true,"id":2825},"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":2826},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2825":{"obj":{"__isSmartRef__":true,"id":2815},"name":"onMouseDown"},"2826":{},"2827":{},"2828":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2829},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":2830},{"__isSmartRef__":true,"id":2832}],"eventHandler":{"__isSmartRef__":true,"id":2834},"_ClipMode":"visible","derivationIds":[],"id":"110DE6FA-D802-493E-A6FC-4298A393A56E","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":2814},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2835},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"2829":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(59.0,16.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"2830":{"style":{"__isSmartRef__":true,"id":2831},"chunkOwner":{"__isSmartRef__":true,"id":2828},"_id":"_39791","storedString":"scripts","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2831":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2832":{"style":{"__isSmartRef__":true,"id":2833},"chunkOwner":{"__isSmartRef__":true,"id":2828},"_id":"_39792","storedString":" []","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2833":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"2834":{"morph":{"__isSmartRef__":true,"id":2828},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2835":{"onMouseDown":{"__isSmartRef__":true,"id":2836}},"2836":{"varMapping":{"__isSmartRef__":true,"id":2837},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":2842},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2837":{"this":{"__isSmartRef__":true,"id":2828},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2838}},"2838":{"$super":{"__isSmartRef__":true,"id":2839}},"2839":{"varMapping":{"__isSmartRef__":true,"id":2840},"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":2841},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2840":{"obj":{"__isSmartRef__":true,"id":2828},"name":"onMouseDown"},"2841":{},"2842":{},"2843":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"2844":{"morph":{"__isSmartRef__":true,"id":2814},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2845":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":2846}},"2846":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":2814},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"2847":{"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"2848":{"morph":{"__isSmartRef__":true,"id":2813},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2849":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":2850}},"2850":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":2851},"spacing":0,"container":{"__isSmartRef__":true,"id":2813},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"2851":{"top":0,"right":0,"bottom":0,"left":0},"2852":{"source":{"__isSmartRef__":true,"id":2811},"target":{"__isSmartRef__":true,"id":2813}},"2853":{"onSelect":{"__isSmartRef__":true,"id":2854},"onExpand":{"__isSmartRef__":true,"id":2857},"onUpdateChildren":{"__isSmartRef__":true,"id":2860},"onUpdate":{"__isSmartRef__":true,"id":2863}},"2854":{"varMapping":{"__isSmartRef__":true,"id":2855},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":2856},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2855":{"this":{"__isSmartRef__":true,"id":2811}},"2856":{},"2857":{"varMapping":{"__isSmartRef__":true,"id":2858},"source":"function onExpand() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":2859},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2858":{"this":{"__isSmartRef__":true,"id":2811}},"2859":{},"2860":{"varMapping":{"__isSmartRef__":true,"id":2861},"source":"function onUpdateChildren() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":2862},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2861":{"this":{"__isSmartRef__":true,"id":2811}},"2862":{},"2863":{"varMapping":{"__isSmartRef__":true,"id":2864},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":2865},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2864":{"this":{"__isSmartRef__":true,"id":2811}},"2865":{},"2866":{"data":{"__isSmartRef__":true,"id":70},"inspector":{"__isSmartRef__":true,"id":11},"parent":{"__isSmartRef__":true,"id":69},"name":"shape","description":"Rectangle","children":[],"attributeConnections":[{"__isSmartRef__":true,"id":2867}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2908}},"2867":{"sourceObj":{"__isSmartRef__":true,"id":2866},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":2868},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":2907},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2868":{"item":{"__isSmartRef__":true,"id":2866},"parent":{"__isSmartRef__":true,"id":1366},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":2869}],"scripts":[],"shape":{"__isSmartRef__":true,"id":2902},"eventHandler":{"__isSmartRef__":true,"id":2903},"_ClipMode":"visible","derivationIds":[],"id":"92C2A8C7-76C3-425C-A12D-65320B962131","droppingEnabled":true,"halosEnabled":true,"layout":{"__isSmartRef__":true,"id":2904},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":2870},"label":{"__isSmartRef__":true,"id":2883},"node":{"__isSmartRef__":true,"id":2869},"owner":{"__isSmartRef__":true,"id":1366},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,580.0)"},"2869":{"submorphs":[{"__isSmartRef__":true,"id":2870},{"__isSmartRef__":true,"id":2883}],"scripts":[],"shape":{"__isSmartRef__":true,"id":2898},"eventHandler":{"__isSmartRef__":true,"id":2899},"_ClipMode":"visible","derivationIds":[],"id":"E0C27EB3-C555-4EF0-A13F-037F654F405F","droppingEnabled":true,"halosEnabled":true,"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":2900},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":2868},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"2870":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2871},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":2872}],"eventHandler":{"__isSmartRef__":true,"id":2874},"_ClipMode":"visible","derivationIds":[],"id":"B023EB2D-D673-487C-AF31-D3FF40425084","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":2869},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2875},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"2871":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"2872":{"style":{"__isSmartRef__":true,"id":2873},"chunkOwner":{"__isSmartRef__":true,"id":2870},"_id":"_20768","storedString":"►","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2873":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2874":{"morph":{"__isSmartRef__":true,"id":2870},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2875":{"onMouseDown":{"__isSmartRef__":true,"id":2876}},"2876":{"varMapping":{"__isSmartRef__":true,"id":2877},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":2882},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2877":{"this":{"__isSmartRef__":true,"id":2870},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2878}},"2878":{"$super":{"__isSmartRef__":true,"id":2879}},"2879":{"varMapping":{"__isSmartRef__":true,"id":2880},"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":2881},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2880":{"obj":{"__isSmartRef__":true,"id":2870},"name":"onMouseDown"},"2881":{},"2882":{},"2883":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2884},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":2885},{"__isSmartRef__":true,"id":2887}],"eventHandler":{"__isSmartRef__":true,"id":2889},"_ClipMode":"visible","derivationIds":[],"id":"9CB04F46-A30B-4711-AF7A-7BC4314FC2B8","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":2869},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2890},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"2884":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(106.0,16.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"2885":{"style":{"__isSmartRef__":true,"id":2886},"chunkOwner":{"__isSmartRef__":true,"id":2883},"_id":"_39793","storedString":"shape","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2886":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2887":{"style":{"__isSmartRef__":true,"id":2888},"chunkOwner":{"__isSmartRef__":true,"id":2883},"_id":"_39794","storedString":" Rectangle","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2888":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"2889":{"morph":{"__isSmartRef__":true,"id":2883},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2890":{"onMouseDown":{"__isSmartRef__":true,"id":2891}},"2891":{"varMapping":{"__isSmartRef__":true,"id":2892},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":2897},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2892":{"this":{"__isSmartRef__":true,"id":2883},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2893}},"2893":{"$super":{"__isSmartRef__":true,"id":2894}},"2894":{"varMapping":{"__isSmartRef__":true,"id":2895},"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":2896},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2895":{"obj":{"__isSmartRef__":true,"id":2883},"name":"onMouseDown"},"2896":{},"2897":{},"2898":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"2899":{"morph":{"__isSmartRef__":true,"id":2869},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2900":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":2901}},"2901":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":2869},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"2902":{"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"2903":{"morph":{"__isSmartRef__":true,"id":2868},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2904":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":2905}},"2905":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":2906},"spacing":0,"container":{"__isSmartRef__":true,"id":2868},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"2906":{"top":0,"right":0,"bottom":0,"left":0},"2907":{"source":{"__isSmartRef__":true,"id":2866},"target":{"__isSmartRef__":true,"id":2868}},"2908":{"onSelect":{"__isSmartRef__":true,"id":2909},"onExpand":{"__isSmartRef__":true,"id":2912},"onUpdateChildren":{"__isSmartRef__":true,"id":2915},"onUpdate":{"__isSmartRef__":true,"id":2918}},"2909":{"varMapping":{"__isSmartRef__":true,"id":2910},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":2911},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2910":{"this":{"__isSmartRef__":true,"id":2866}},"2911":{},"2912":{"varMapping":{"__isSmartRef__":true,"id":2913},"source":"function onExpand() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":2914},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2913":{"this":{"__isSmartRef__":true,"id":2866}},"2914":{},"2915":{"varMapping":{"__isSmartRef__":true,"id":2916},"source":"function onUpdateChildren() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":2917},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2916":{"this":{"__isSmartRef__":true,"id":2866}},"2917":{},"2918":{"varMapping":{"__isSmartRef__":true,"id":2919},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":2920},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2919":{"this":{"__isSmartRef__":true,"id":2866}},"2920":{},"2921":{"data":false,"inspector":{"__isSmartRef__":true,"id":11},"parent":{"__isSmartRef__":true,"id":69},"name":"showsHalos","description":"false","attributeConnections":[{"__isSmartRef__":true,"id":2922}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2963}},"2922":{"sourceObj":{"__isSmartRef__":true,"id":2921},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":2923},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":2962},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2923":{"item":{"__isSmartRef__":true,"id":2921},"parent":{"__isSmartRef__":true,"id":1366},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":2924}],"scripts":[],"shape":{"__isSmartRef__":true,"id":2957},"eventHandler":{"__isSmartRef__":true,"id":2958},"_ClipMode":"visible","derivationIds":[],"id":"93B3A2BB-EB3A-4646-8193-3D462363E026","droppingEnabled":true,"halosEnabled":true,"layout":{"__isSmartRef__":true,"id":2959},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":2925},"label":{"__isSmartRef__":true,"id":2938},"node":{"__isSmartRef__":true,"id":2924},"owner":{"__isSmartRef__":true,"id":1366},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,600.0)"},"2924":{"submorphs":[{"__isSmartRef__":true,"id":2925},{"__isSmartRef__":true,"id":2938}],"scripts":[],"shape":{"__isSmartRef__":true,"id":2953},"eventHandler":{"__isSmartRef__":true,"id":2954},"_ClipMode":"visible","derivationIds":[],"id":"CBA6CAAA-3DC8-4C30-ADE6-E0F2319BE5A2","droppingEnabled":true,"halosEnabled":true,"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":2955},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":2923},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"2925":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2926},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":2927}],"eventHandler":{"__isSmartRef__":true,"id":2929},"_ClipMode":"visible","derivationIds":[],"id":"2687424D-7606-44AA-A560-15171268D064","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":2924},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2930},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"2926":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"2927":{"style":{"__isSmartRef__":true,"id":2928},"chunkOwner":{"__isSmartRef__":true,"id":2925},"_id":"_20773","storedString":"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2928":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2929":{"morph":{"__isSmartRef__":true,"id":2925},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2930":{"onMouseDown":{"__isSmartRef__":true,"id":2931}},"2931":{"varMapping":{"__isSmartRef__":true,"id":2932},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":2937},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2932":{"this":{"__isSmartRef__":true,"id":2925},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2933}},"2933":{"$super":{"__isSmartRef__":true,"id":2934}},"2934":{"varMapping":{"__isSmartRef__":true,"id":2935},"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":2936},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2935":{"obj":{"__isSmartRef__":true,"id":2925},"name":"onMouseDown"},"2936":{},"2937":{},"2938":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2939},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":2940},{"__isSmartRef__":true,"id":2942}],"eventHandler":{"__isSmartRef__":true,"id":2944},"_ClipMode":"visible","derivationIds":[],"id":"0B50219A-8EFF-4646-957F-8BD11D915709","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":2924},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2945},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"2939":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(112.0,16.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"2940":{"style":{"__isSmartRef__":true,"id":2941},"chunkOwner":{"__isSmartRef__":true,"id":2938},"_id":"_39795","storedString":"showsHalos","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2941":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2942":{"style":{"__isSmartRef__":true,"id":2943},"chunkOwner":{"__isSmartRef__":true,"id":2938},"_id":"_39796","storedString":" false","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2943":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"2944":{"morph":{"__isSmartRef__":true,"id":2938},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2945":{"onMouseDown":{"__isSmartRef__":true,"id":2946}},"2946":{"varMapping":{"__isSmartRef__":true,"id":2947},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":2952},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2947":{"this":{"__isSmartRef__":true,"id":2938},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2948}},"2948":{"$super":{"__isSmartRef__":true,"id":2949}},"2949":{"varMapping":{"__isSmartRef__":true,"id":2950},"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":2951},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2950":{"obj":{"__isSmartRef__":true,"id":2938},"name":"onMouseDown"},"2951":{},"2952":{},"2953":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"2954":{"morph":{"__isSmartRef__":true,"id":2924},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2955":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":2956}},"2956":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":2924},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"2957":{"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"2958":{"morph":{"__isSmartRef__":true,"id":2923},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2959":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":2960}},"2960":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":2961},"spacing":0,"container":{"__isSmartRef__":true,"id":2923},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"2961":{"top":0,"right":0,"bottom":0,"left":0},"2962":{"source":{"__isSmartRef__":true,"id":2921},"target":{"__isSmartRef__":true,"id":2923}},"2963":{"onSelect":{"__isSmartRef__":true,"id":2964},"onUpdate":{"__isSmartRef__":true,"id":2967}},"2964":{"varMapping":{"__isSmartRef__":true,"id":2965},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":2966},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2965":{"this":{"__isSmartRef__":true,"id":2921}},"2966":{},"2967":{"varMapping":{"__isSmartRef__":true,"id":2968},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":2969},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2968":{"this":{"__isSmartRef__":true,"id":2921}},"2969":{},"2970":{"data":"none","inspector":{"__isSmartRef__":true,"id":11},"parent":{"__isSmartRef__":true,"id":69},"name":"specialHighlighting","description":"none","attributeConnections":[{"__isSmartRef__":true,"id":2971}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3012}},"2971":{"sourceObj":{"__isSmartRef__":true,"id":2970},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":2972},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":3011},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2972":{"item":{"__isSmartRef__":true,"id":2970},"parent":{"__isSmartRef__":true,"id":1366},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":2973}],"scripts":[],"shape":{"__isSmartRef__":true,"id":3006},"eventHandler":{"__isSmartRef__":true,"id":3007},"_ClipMode":"visible","derivationIds":[],"id":"879F7B90-52D2-4CB3-9704-678ED559755E","droppingEnabled":true,"halosEnabled":true,"layout":{"__isSmartRef__":true,"id":3008},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":2974},"label":{"__isSmartRef__":true,"id":2987},"node":{"__isSmartRef__":true,"id":2973},"owner":{"__isSmartRef__":true,"id":1366},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,620.0)"},"2973":{"submorphs":[{"__isSmartRef__":true,"id":2974},{"__isSmartRef__":true,"id":2987}],"scripts":[],"shape":{"__isSmartRef__":true,"id":3002},"eventHandler":{"__isSmartRef__":true,"id":3003},"_ClipMode":"visible","derivationIds":[],"id":"5AB3445E-0491-4C7B-8EC1-730C821BAD09","droppingEnabled":true,"halosEnabled":true,"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":3004},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":2972},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"2974":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2975},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":2976}],"eventHandler":{"__isSmartRef__":true,"id":2978},"_ClipMode":"visible","derivationIds":[],"id":"4DCCA30B-221F-4302-9B27-F88E19FE849B","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":2973},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2979},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"2975":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"2976":{"style":{"__isSmartRef__":true,"id":2977},"chunkOwner":{"__isSmartRef__":true,"id":2974},"_id":"_20778","storedString":"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2977":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2978":{"morph":{"__isSmartRef__":true,"id":2974},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2979":{"onMouseDown":{"__isSmartRef__":true,"id":2980}},"2980":{"varMapping":{"__isSmartRef__":true,"id":2981},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":2986},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2981":{"this":{"__isSmartRef__":true,"id":2974},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2982}},"2982":{"$super":{"__isSmartRef__":true,"id":2983}},"2983":{"varMapping":{"__isSmartRef__":true,"id":2984},"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":2985},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2984":{"obj":{"__isSmartRef__":true,"id":2974},"name":"onMouseDown"},"2985":{},"2986":{},"2987":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2988},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":2989},{"__isSmartRef__":true,"id":2991}],"eventHandler":{"__isSmartRef__":true,"id":2993},"_ClipMode":"visible","derivationIds":[],"id":"BB7DE9C8-A253-401B-9AF0-4A1D1920FDC3","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":2973},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2994},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"2988":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(149.0,16.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"2989":{"style":{"__isSmartRef__":true,"id":2990},"chunkOwner":{"__isSmartRef__":true,"id":2987},"_id":"_39797","storedString":"specialHighlighting","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2990":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2991":{"style":{"__isSmartRef__":true,"id":2992},"chunkOwner":{"__isSmartRef__":true,"id":2987},"_id":"_39798","storedString":" none","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2992":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"2993":{"morph":{"__isSmartRef__":true,"id":2987},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2994":{"onMouseDown":{"__isSmartRef__":true,"id":2995}},"2995":{"varMapping":{"__isSmartRef__":true,"id":2996},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3001},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2996":{"this":{"__isSmartRef__":true,"id":2987},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2997}},"2997":{"$super":{"__isSmartRef__":true,"id":2998}},"2998":{"varMapping":{"__isSmartRef__":true,"id":2999},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world)\n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3000},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2999":{"obj":{"__isSmartRef__":true,"id":2987},"name":"onMouseDown"},"3000":{},"3001":{},"3002":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"3003":{"morph":{"__isSmartRef__":true,"id":2973},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3004":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":3005}},"3005":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":2973},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"3006":{"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"3007":{"morph":{"__isSmartRef__":true,"id":2972},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3008":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":3009}},"3009":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":3010},"spacing":0,"container":{"__isSmartRef__":true,"id":2972},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"3010":{"top":0,"right":0,"bottom":0,"left":0},"3011":{"source":{"__isSmartRef__":true,"id":2970},"target":{"__isSmartRef__":true,"id":2972}},"3012":{"onSelect":{"__isSmartRef__":true,"id":3013},"onUpdate":{"__isSmartRef__":true,"id":3016}},"3013":{"varMapping":{"__isSmartRef__":true,"id":3014},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":3015},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3014":{"this":{"__isSmartRef__":true,"id":2970}},"3015":{},"3016":{"varMapping":{"__isSmartRef__":true,"id":3017},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":3018},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3017":{"this":{"__isSmartRef__":true,"id":2970}},"3018":{},"3019":{"data":["Browser_codePaneText"],"inspector":{"__isSmartRef__":true,"id":11},"parent":{"__isSmartRef__":true,"id":69},"name":"styleClass","description":"[...]","children":[],"attributeConnections":[{"__isSmartRef__":true,"id":3020}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3061}},"3020":{"sourceObj":{"__isSmartRef__":true,"id":3019},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":3021},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":3060},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3021":{"item":{"__isSmartRef__":true,"id":3019},"parent":{"__isSmartRef__":true,"id":1366},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":3022}],"scripts":[],"shape":{"__isSmartRef__":true,"id":3055},"eventHandler":{"__isSmartRef__":true,"id":3056},"_ClipMode":"visible","derivationIds":[],"id":"DFA340DE-AA83-4ABF-940F-76ABF3E53300","droppingEnabled":true,"halosEnabled":true,"layout":{"__isSmartRef__":true,"id":3057},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":3023},"label":{"__isSmartRef__":true,"id":3036},"node":{"__isSmartRef__":true,"id":3022},"owner":{"__isSmartRef__":true,"id":1366},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,640.0)"},"3022":{"submorphs":[{"__isSmartRef__":true,"id":3023},{"__isSmartRef__":true,"id":3036}],"scripts":[],"shape":{"__isSmartRef__":true,"id":3051},"eventHandler":{"__isSmartRef__":true,"id":3052},"_ClipMode":"visible","derivationIds":[],"id":"ADEDBE18-464E-44C9-994A-EFADA36E076A","droppingEnabled":true,"halosEnabled":true,"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":3053},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":3021},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"3023":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3024},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":3025}],"eventHandler":{"__isSmartRef__":true,"id":3027},"_ClipMode":"visible","derivationIds":[],"id":"DC115557-9E4E-4D62-87E3-7D897C26FC55","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":3022},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3028},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"3024":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"3025":{"style":{"__isSmartRef__":true,"id":3026},"chunkOwner":{"__isSmartRef__":true,"id":3023},"_id":"_20783","storedString":"►","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3026":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3027":{"morph":{"__isSmartRef__":true,"id":3023},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3028":{"onMouseDown":{"__isSmartRef__":true,"id":3029}},"3029":{"varMapping":{"__isSmartRef__":true,"id":3030},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3035},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3030":{"this":{"__isSmartRef__":true,"id":3023},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3031}},"3031":{"$super":{"__isSmartRef__":true,"id":3032}},"3032":{"varMapping":{"__isSmartRef__":true,"id":3033},"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":3034},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3033":{"obj":{"__isSmartRef__":true,"id":3023},"name":"onMouseDown"},"3034":{},"3035":{},"3036":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3037},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":3038},{"__isSmartRef__":true,"id":3040}],"eventHandler":{"__isSmartRef__":true,"id":3042},"_ClipMode":"visible","derivationIds":[],"id":"14C1F7F2-E048-406A-A3DA-2C3B952AA730","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":3022},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3043},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"3037":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(94.0,16.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"3038":{"style":{"__isSmartRef__":true,"id":3039},"chunkOwner":{"__isSmartRef__":true,"id":3036},"_id":"_39799","storedString":"styleClass","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3039":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3040":{"style":{"__isSmartRef__":true,"id":3041},"chunkOwner":{"__isSmartRef__":true,"id":3036},"_id":"_39800","storedString":" [...]","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3041":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"3042":{"morph":{"__isSmartRef__":true,"id":3036},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3043":{"onMouseDown":{"__isSmartRef__":true,"id":3044}},"3044":{"varMapping":{"__isSmartRef__":true,"id":3045},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3050},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3045":{"this":{"__isSmartRef__":true,"id":3036},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3046}},"3046":{"$super":{"__isSmartRef__":true,"id":3047}},"3047":{"varMapping":{"__isSmartRef__":true,"id":3048},"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":3049},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3048":{"obj":{"__isSmartRef__":true,"id":3036},"name":"onMouseDown"},"3049":{},"3050":{},"3051":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"3052":{"morph":{"__isSmartRef__":true,"id":3022},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3053":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":3054}},"3054":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":3022},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"3055":{"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"3056":{"morph":{"__isSmartRef__":true,"id":3021},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3057":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":3058}},"3058":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":3059},"spacing":0,"container":{"__isSmartRef__":true,"id":3021},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"3059":{"top":0,"right":0,"bottom":0,"left":0},"3060":{"source":{"__isSmartRef__":true,"id":3019},"target":{"__isSmartRef__":true,"id":3021}},"3061":{"onSelect":{"__isSmartRef__":true,"id":3062},"onExpand":{"__isSmartRef__":true,"id":3065},"onUpdateChildren":{"__isSmartRef__":true,"id":3068},"onUpdate":{"__isSmartRef__":true,"id":3071}},"3062":{"varMapping":{"__isSmartRef__":true,"id":3063},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":3064},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3063":{"this":{"__isSmartRef__":true,"id":3019}},"3064":{},"3065":{"varMapping":{"__isSmartRef__":true,"id":3066},"source":"function onExpand() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":3067},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3066":{"this":{"__isSmartRef__":true,"id":3019}},"3067":{},"3068":{"varMapping":{"__isSmartRef__":true,"id":3069},"source":"function onUpdateChildren() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":3070},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3069":{"this":{"__isSmartRef__":true,"id":3019}},"3070":{},"3071":{"varMapping":{"__isSmartRef__":true,"id":3072},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":3073},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3072":{"this":{"__isSmartRef__":true,"id":3019}},"3073":{},"3074":{"data":[],"inspector":{"__isSmartRef__":true,"id":11},"parent":{"__isSmartRef__":true,"id":69},"name":"submorphs","description":"[]","children":[],"attributeConnections":[{"__isSmartRef__":true,"id":3075}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3116}},"3075":{"sourceObj":{"__isSmartRef__":true,"id":3074},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":3076},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":3115},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3076":{"item":{"__isSmartRef__":true,"id":3074},"parent":{"__isSmartRef__":true,"id":1366},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":3077}],"scripts":[],"shape":{"__isSmartRef__":true,"id":3110},"eventHandler":{"__isSmartRef__":true,"id":3111},"_ClipMode":"visible","derivationIds":[],"id":"D712F52E-0EA8-4722-8F95-DB59C303BDAD","droppingEnabled":true,"halosEnabled":true,"layout":{"__isSmartRef__":true,"id":3112},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":3078},"label":{"__isSmartRef__":true,"id":3091},"node":{"__isSmartRef__":true,"id":3077},"owner":{"__isSmartRef__":true,"id":1366},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,660.0)"},"3077":{"submorphs":[{"__isSmartRef__":true,"id":3078},{"__isSmartRef__":true,"id":3091}],"scripts":[],"shape":{"__isSmartRef__":true,"id":3106},"eventHandler":{"__isSmartRef__":true,"id":3107},"_ClipMode":"visible","derivationIds":[],"id":"37F0BAD1-CA00-463F-8B12-6480C2ABC2D1","droppingEnabled":true,"halosEnabled":true,"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":3108},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":3076},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"3078":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3079},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":3080}],"eventHandler":{"__isSmartRef__":true,"id":3082},"_ClipMode":"visible","derivationIds":[],"id":"94973BF7-E349-46BB-8293-F3BA7DF71527","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":3077},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3083},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"3079":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"3080":{"style":{"__isSmartRef__":true,"id":3081},"chunkOwner":{"__isSmartRef__":true,"id":3078},"_id":"_20788","storedString":"►","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3081":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3082":{"morph":{"__isSmartRef__":true,"id":3078},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3083":{"onMouseDown":{"__isSmartRef__":true,"id":3084}},"3084":{"varMapping":{"__isSmartRef__":true,"id":3085},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3090},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3085":{"this":{"__isSmartRef__":true,"id":3078},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3086}},"3086":{"$super":{"__isSmartRef__":true,"id":3087}},"3087":{"varMapping":{"__isSmartRef__":true,"id":3088},"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":3089},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3088":{"obj":{"__isSmartRef__":true,"id":3078},"name":"onMouseDown"},"3089":{},"3090":{},"3091":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3092},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":3093},{"__isSmartRef__":true,"id":3095}],"eventHandler":{"__isSmartRef__":true,"id":3097},"_ClipMode":"visible","derivationIds":[],"id":"580AF755-B045-4730-9372-CCE4B589EE0D","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":3077},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3098},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"3092":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(84.0,16.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"3093":{"style":{"__isSmartRef__":true,"id":3094},"chunkOwner":{"__isSmartRef__":true,"id":3091},"_id":"_39801","storedString":"submorphs","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3094":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3095":{"style":{"__isSmartRef__":true,"id":3096},"chunkOwner":{"__isSmartRef__":true,"id":3091},"_id":"_39802","storedString":" []","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3096":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"3097":{"morph":{"__isSmartRef__":true,"id":3091},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3098":{"onMouseDown":{"__isSmartRef__":true,"id":3099}},"3099":{"varMapping":{"__isSmartRef__":true,"id":3100},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3105},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3100":{"this":{"__isSmartRef__":true,"id":3091},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3101}},"3101":{"$super":{"__isSmartRef__":true,"id":3102}},"3102":{"varMapping":{"__isSmartRef__":true,"id":3103},"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":3104},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3103":{"obj":{"__isSmartRef__":true,"id":3091},"name":"onMouseDown"},"3104":{},"3105":{},"3106":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"3107":{"morph":{"__isSmartRef__":true,"id":3077},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3108":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":3109}},"3109":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":3077},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"3110":{"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"3111":{"morph":{"__isSmartRef__":true,"id":3076},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3112":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":3113}},"3113":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":3114},"spacing":0,"container":{"__isSmartRef__":true,"id":3076},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"3114":{"top":0,"right":0,"bottom":0,"left":0},"3115":{"source":{"__isSmartRef__":true,"id":3074},"target":{"__isSmartRef__":true,"id":3076}},"3116":{"onSelect":{"__isSmartRef__":true,"id":3117},"onExpand":{"__isSmartRef__":true,"id":3120},"onUpdateChildren":{"__isSmartRef__":true,"id":3123},"onUpdate":{"__isSmartRef__":true,"id":3126}},"3117":{"varMapping":{"__isSmartRef__":true,"id":3118},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":3119},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3118":{"this":{"__isSmartRef__":true,"id":3074}},"3119":{},"3120":{"varMapping":{"__isSmartRef__":true,"id":3121},"source":"function onExpand() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":3122},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3121":{"this":{"__isSmartRef__":true,"id":3074}},"3122":{},"3123":{"varMapping":{"__isSmartRef__":true,"id":3124},"source":"function onUpdateChildren() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":3125},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3124":{"this":{"__isSmartRef__":true,"id":3074}},"3125":{},"3126":{"varMapping":{"__isSmartRef__":true,"id":3127},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":3128},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3127":{"this":{"__isSmartRef__":true,"id":3074}},"3128":{},"3129":{"data":true,"inspector":{"__isSmartRef__":true,"id":11},"parent":{"__isSmartRef__":true,"id":69},"name":"syntaxHighlightingWhileTyping","description":"true","attributeConnections":[{"__isSmartRef__":true,"id":3130}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3171}},"3130":{"sourceObj":{"__isSmartRef__":true,"id":3129},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":3131},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":3170},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3131":{"item":{"__isSmartRef__":true,"id":3129},"parent":{"__isSmartRef__":true,"id":1366},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":3132}],"scripts":[],"shape":{"__isSmartRef__":true,"id":3165},"eventHandler":{"__isSmartRef__":true,"id":3166},"_ClipMode":"visible","derivationIds":[],"id":"18016C1A-9BA0-4A59-9AFB-62DF3039C95E","droppingEnabled":true,"halosEnabled":true,"layout":{"__isSmartRef__":true,"id":3167},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":3133},"label":{"__isSmartRef__":true,"id":3146},"node":{"__isSmartRef__":true,"id":3132},"owner":{"__isSmartRef__":true,"id":1366},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,680.0)"},"3132":{"submorphs":[{"__isSmartRef__":true,"id":3133},{"__isSmartRef__":true,"id":3146}],"scripts":[],"shape":{"__isSmartRef__":true,"id":3161},"eventHandler":{"__isSmartRef__":true,"id":3162},"_ClipMode":"visible","derivationIds":[],"id":"ADD7DD0C-10E7-4145-B95E-7D1C1041C479","droppingEnabled":true,"halosEnabled":true,"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":3163},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":3131},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"3133":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3134},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":3135}],"eventHandler":{"__isSmartRef__":true,"id":3137},"_ClipMode":"visible","derivationIds":[],"id":"324CAB11-60EC-44EE-850F-0B7B009BB9B6","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":3132},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3138},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"3134":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"3135":{"style":{"__isSmartRef__":true,"id":3136},"chunkOwner":{"__isSmartRef__":true,"id":3133},"_id":"_20793","storedString":"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3136":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3137":{"morph":{"__isSmartRef__":true,"id":3133},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3138":{"onMouseDown":{"__isSmartRef__":true,"id":3139}},"3139":{"varMapping":{"__isSmartRef__":true,"id":3140},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3145},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3140":{"this":{"__isSmartRef__":true,"id":3133},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3141}},"3141":{"$super":{"__isSmartRef__":true,"id":3142}},"3142":{"varMapping":{"__isSmartRef__":true,"id":3143},"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":3144},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3143":{"obj":{"__isSmartRef__":true,"id":3133},"name":"onMouseDown"},"3144":{},"3145":{},"3146":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3147},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":3148},{"__isSmartRef__":true,"id":3150}],"eventHandler":{"__isSmartRef__":true,"id":3152},"_ClipMode":"visible","derivationIds":[],"id":"976AEEF2-8615-4117-B986-6D47C133E384","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":3132},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3153},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"3147":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(213.0,16.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"3148":{"style":{"__isSmartRef__":true,"id":3149},"chunkOwner":{"__isSmartRef__":true,"id":3146},"_id":"_39803","storedString":"syntaxHighlightingWhileTyping","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3149":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3150":{"style":{"__isSmartRef__":true,"id":3151},"chunkOwner":{"__isSmartRef__":true,"id":3146},"_id":"_39804","storedString":" true","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3151":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"3152":{"morph":{"__isSmartRef__":true,"id":3146},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3153":{"onMouseDown":{"__isSmartRef__":true,"id":3154}},"3154":{"varMapping":{"__isSmartRef__":true,"id":3155},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3160},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3155":{"this":{"__isSmartRef__":true,"id":3146},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3156}},"3156":{"$super":{"__isSmartRef__":true,"id":3157}},"3157":{"varMapping":{"__isSmartRef__":true,"id":3158},"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":3159},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3158":{"obj":{"__isSmartRef__":true,"id":3146},"name":"onMouseDown"},"3159":{},"3160":{},"3161":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"3162":{"morph":{"__isSmartRef__":true,"id":3132},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3163":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":3164}},"3164":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":3132},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"3165":{"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"3166":{"morph":{"__isSmartRef__":true,"id":3131},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3167":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":3168}},"3168":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":3169},"spacing":0,"container":{"__isSmartRef__":true,"id":3131},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"3169":{"top":0,"right":0,"bottom":0,"left":0},"3170":{"source":{"__isSmartRef__":true,"id":3129},"target":{"__isSmartRef__":true,"id":3131}},"3171":{"onSelect":{"__isSmartRef__":true,"id":3172},"onUpdate":{"__isSmartRef__":true,"id":3175}},"3172":{"varMapping":{"__isSmartRef__":true,"id":3173},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":3174},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3173":{"this":{"__isSmartRef__":true,"id":3129}},"3174":{},"3175":{"varMapping":{"__isSmartRef__":true,"id":3176},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":3177},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3176":{"this":{"__isSmartRef__":true,"id":3129}},"3177":{},"3178":{"data":[{"__isSmartRef__":true,"id":3179}],"inspector":{"__isSmartRef__":true,"id":11},"parent":{"__isSmartRef__":true,"id":69},"name":"textChunks","description":"[...]","children":[],"attributeConnections":[{"__isSmartRef__":true,"id":3181}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3222}},"3179":{"style":{"__isSmartRef__":true,"id":3180},"chunkOwner":null,"_id":"_38578","storedString":"/*\n * Copyright (c) 2006-2009 Sun Microsystems, Inc.\n * Copyright (c) 2008-2011 Hasso Plattner Institute\n *\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\n// set to the context enclosing the SVG context.\n// rk: replaced \"this.window.top || this.window\" with \"this.window\"\n// rk: when is it necessary to use the parent context?\nvar Global = this.window || GLOBAL /*for Node.js*/;\nfunction dbgOn(cond, optMessage) {\n if (optMessage) console.log(optMessage);\n if (cond) debugger; // note that rhino has issues with this keyword\n // also call as: throw dbgOn(new Error(....))\n return cond;\n}\n\nfunction assert(value, message) {\n if (value) { return; }\n // capture the stack\n var stack;\n try { throw new Error() } catch(e) { stack = e.stack || '' };\n alert('Assertion failed' + (message ? ': ' + message : '!') + '\\n' + stack);\n};\n\n// namespace logic adapted from\n// http://higher-order.blogspot.com/2008/02/designing-clientserver-web-applications.html\nvar using = (function() {\n\n function Util(args) { // args is an escaping arguments array\n this.objects = Array.prototype.concat.apply([], args);\n //var ownArgs = this.objects = new Array(args.length);\n //for (var i = 0; i < args.length; i++) ownArgs[i] = args[i];\n };\n\n Util.prototype = {\n\n log: function(msg) {\n console.log(msg);\n },\n\n run: function(inner) {\n var args = this.objects;\n if (this.moduleName) {\n // little convenience,\n if (args.length > 0) this.log('using().module(): ignoring args ' + args);\n return module(this.moduleName).requires().toRun(inner);\n } else return inner.apply(args[0], args);\n },\n\n model: function(model) {\n // KP: interestingly, declaring the above as \"model: function model(model)\"\n // seems to bind model to to the function, not the formal parameter, at least in rhino!\n this.model = model;\n return this;\n },\n\n module: function(moduleName) {\n this.moduleName = moduleName;\n return this;\n },\n\n link: function link(literal, variableMap) {\n variableMap = variableMap || {};\n return new lively.data.Resolver().link(literal, [], undefined, variableMap, this.objects, this.model);\n },\n\n extend: function extend(base, extLiteral) {\n return this.link(Object.extend(Object.clone(base), extLiteral));\n },\n\n test: function(inner) {\n try {\n return this.run(inner);\n } catch (er) {\n alert('test failed: ' + er);\n return undefined;\n }\n }\n }\n\n return function using() {\n return new Util(arguments);\n }\n})();\n\n\nfunction namespace(spec, context) {\n var codeDB;\n if (spec[0] == '$') {\n codeDB = spec.substring(1, spec.indexOf('.'));\n spec = spec.substring(spec.indexOf('.') + 1);\n }\n var ret = __oldNamespace(spec, context);\n if (codeDB) {\n ret.fromDB = codeDB;\n }\n return ret;\n};\n\n\nfunction __oldNamespace(spec, context) {\n var i,N;\n context = context || Global;\n spec = spec.valueOf();\n if (typeof spec === 'object') {\n if (typeof spec.length === 'number') {//assume an array-like object\n for (i = 0,N = spec.length; i < N; i++) {\n return namespace(spec[i], context);\n }\n } else {//spec is a specification object e.g, {com: {trifork: ['model,view']}}\n for (i in spec) if (spec.hasOwnProperty(i)) {\n context[i] = context[i] || new lively.lang.Namespace(context, i);\n return namespace(spec[i], context[i]);//recursively descend tree\n }\n }\n } else if (typeof spec === 'string') {\n (function handleStringCase() {\n var parts;\n parts = spec.split('.');\n for (i = 0, N = parts.length; i= 0) {\n ea.pendingRequirements = [];\n ea.load();\n testModuleLoad.delay(6);\n }\n\t});\n console.log('Module load check done. ' + modules.length + ' modules loaded.');\n}).delay(10);\n\nfunction module(moduleName) {\n\n moduleName = LivelyMigrationSupport.fixModuleName(moduleName);\n\n function isNamespaceAwareModule(moduleName) {\n return moduleName && !moduleName.endsWith('.js');\n }\n\n function convertUrlToNSIdentifier(url) {\n var result = url;\n result = result.replace(/\\//g, '.');\n // get rid of '.js'\n if (result.endsWith('.js')) result = result.substring(0, result.lastIndexOf('.'));\n return result;\n }\n\n function createNamespaceModule(moduleName) {\n return namespace(isNamespaceAwareModule(moduleName) ? moduleName : convertUrlToNSIdentifier(moduleName));\n }\n\n function basicRequire(/*module, requiredModuleNameOrAnArray, anotherRequiredModuleName, ...*/) {\n // support modulenames as array and parameterlist\n var args = $A(arguments),\n module = args.shift(),\n preReqModuleNames = Object.isArray(args[0]) ? args[0] : args,\n requiredModules = [];\n for (var i = 0; i < preReqModuleNames.length; i++) {\n var name = LivelyMigrationSupport.fixModuleName(preReqModuleNames[i]),\n reqModule = createNamespaceModule(name);\n module.addRequiredModule(reqModule);\n requiredModules.push(reqModule);\n }\n\n return {\n toRun: function(code) {\n var debugCode = code;\n code = code.curry(module); // pass in own module name for nested requirements\n var codeWrapper = function() { // run code with namespace modules as additional parameters\n try {\n module.activate();\n code.apply(this, requiredModules);\n module._isLoaded = true;\n } catch(e) {\n module.logError(module + '>>basicRequire: ' + e, debugCode)\n } finally {\n module.deactivate();\n }\n }\n module.addOnloadCallback(codeWrapper);\n module.load();\n }\n };\n };\n\n dbgOn(!Object.isString(moduleName));\n var module = createNamespaceModule(moduleName);\n module.wasDefined = true;\n module.requires = basicRequire.curry(module);\n return module;\n};\n\nfunction require(/*requiredModuleNameOrAnArray, anotherRequiredModuleName, ...*/) {\n var getUniqueName = function() { return 'anonymous_module_' + require.counter },\n args = $A(arguments);\n require.counter !== undefined ? require.counter++ : require.counter = 0;\n var m = module(getUniqueName()).beAnonymous();\n if (lively.Config.showModuleDefStack)\n try { throw new Error() } catch(e) { m.defStack = e.stack }\n return m.requires(Object.isArray(args[0]) ? args[0] : args);\n};\n\n\n// ===========================================================================\n// Our JS library extensions (JS 1.5, no particular browser or graphics engine)\n// ===========================================================================\n\n/**\n * LK class system.\n */\n\nObject.extend(Function.prototype, {\n\n defaultCategoryName: 'default category',\n\n subclass: function(/*... */) {\n // Main method of the LK class system.\n\n // {className} is the name of the new class constructor which this method synthesizes\n // and binds to {className} in the Global namespace.\n // Remaining arguments are (inline) properties and methods to be copied into the prototype\n // of the newly created constructor.\n\n // modified from prototype.js\n\n var args = $A(arguments),\n className = args.shift(),\n targetScope = Global,\n shortName = null;\n\n if (className) {\n targetScope = Class.namespaceFor(className);\n shortName = Class.unqualifiedNameFor(className);\n } else {\n shortName = \"anonymous_\" + (Class.anonymousCounter++);\n className = shortName;\n }\n\n var klass;\n if (className && targetScope[shortName] && (targetScope[shortName].superclass === this)) {\n // preserve the class to allow using the subclass construct in interactive development\n klass = targetScope[shortName];\n } else {\n klass = Class.newInitializer(shortName);\n klass.superclass = this;\n var protoclass = function() { }; // that's the constructor of the new prototype object\n protoclass.prototype = this.prototype;\n klass.prototype = new protoclass();\n klass.prototype.constructor = klass;\n klass.prototype.constructor.type = className; // KP: .name would be better but js ignores .name on anonymous functions\n klass.prototype.constructor.displayName = className; // for debugging, because name can not be assigned\n if (className) targetScope[shortName] = klass; // otherwise it's anonymous\n\n // remember the module that contains the class def\n if (Global.lively && lively.lang && lively.lang.Namespace)\n klass.sourceModule = lively.lang.Namespace.current();\n };\n\n // the remaining args should be category strings or source objects\n this.addMethods.apply(klass, args);\n\n if (!klass.prototype.initialize)\n klass.prototype.initialize = Functions.Empty;\n\n return klass;\n },\n\n addMethods: function(/*...*/) {\n var args = arguments,\n category = this.defaultCategoryName,\n traits = [];\n for (var i = 0; i < args.length; i++) {\n if (Object.isString(args[i])) {\n category = args[i];\n } else if (Global.RealTrait && args[i] instanceof RealTrait) {\n // FIXME Traits are optional and defined in lively.Traits\n // This should go somewhere into lively.Traits...\n // we apply traits afterwards because they can override behavior\n traits.push(args[i]);\n } else {\n this.addCategorizedMethods(category, args[i] instanceof Function ? (args[i])() : args[i]);\n }\n }\n for (i = 0; i < traits.length; i++) {\n traits[i].applyTo(this);\n }\n },\n\n addCategorizedMethods: function(categoryName, source) {\n // first parameter is a category name\n // copy all the methods and properties from {source} into the\n // prototype property of the receiver, which is intended to be\n // a class constructor. Method arguments named '$super' are treated\n // specially, see Prototype.js documentation for \"Class.create()\" for details.\n // derived from Class.Methods.addMethods() in prototype.js\n\n // prepare the categories\n if (!this.categories) this.categories = {};\n if (!this.categories[categoryName]) this.categories[categoryName] = [];\n var currentCategoryNames = this.categories[categoryName];\n\n if (!source)\n throw dbgOn(new Error('no source in addCategorizedMethods!'));\n\n var ancestor = this.superclass && this.superclass.prototype;\n\n var className = this.type || \"Anonymous\";\n\n for (var property in source) {\n\n if (property == 'constructor') continue;\n\n var getter = source.__lookupGetter__(property);\n if (getter) this.prototype.__defineGetter__(property, getter);\n var setter = source.__lookupSetter__(property);\n if (setter) this.prototype.__defineSetter__(property, setter);\n if (getter || setter) continue;\n\n currentCategoryNames.push(property);\n\n var value = source[property];\n // weirdly, RegExps are functions in Safari, so testing for\n // Object.isFunction on regexp field values will return true.\n // But they're not full-blown functions and don't\n // inherit argumentNames from Function.prototype\n\n var hasSuperCall = ancestor && Object.isFunction(value) &&\n value.argumentNames && value.argumentNames().first() == \"$super\";\n if (hasSuperCall) {\n // wrapped in a function to save the value of 'method' for advice\n (function() {\n var method = value,\n advice = (function(m) {\n var cs = function callSuper() {\n var method = ancestor[m];\n if (!method) {\n throw new Error(Strings.format('Trying to call super of' +\n '%s>>%s but super method non existing in %s',\n className, m, ancestor.constructor.type));\n }\n return method.apply(this, arguments);\n };\n cs.varMapping = {ancestor: ancestor, m: m};\n cs.isSuperCall = true;\n return cs;\n })(property);\n\n advice.methodName = \"$super:\" + (this.superclass ? this.superclass.type + \">>\" : \"\") + property;\n\n value = Object.extend(advice.wrap(method), {\n valueOf: function() { return method },\n toString: function() { return method.toString() },\n originalFunction: method,\n methodName: advice.methodName,\n isSuperWrapper: true\n });\n // for lively.Closures\n method.varMapping = {$super: advice};\n })();\n }\n\n this.prototype[property] = value;\n\n if (property === \"formals\") { // rk FIXME remove this cruft\n // special property (used to be pins, but now called formals to disambiguate old and new style\n Class.addPins(this, value);\n } else if (Object.isFunction(value)) {\n // remember name for profiling in WebKit\n value.displayName = className + \"$\" + property;\n\n // remember where it was defined\n if (Global.lively && lively.lang && lively.lang.Namespace)\n value.sourceModule = lively.lang.Namespace.current();\n\n for (; value; value = value.originalFunction) {\n if (value.methodName) {\n //console.log(\"class \" + this.prototype.constructor.type\n // + \" borrowed \" + value.qualifiedMethodName());\n }\n value.declaredClass = this.prototype.constructor.type;\n value.methodName = property;\n }\n }\n } // end of for (var property in source)\n\n return this;\n },\n\n\n addProperties: function(spec, recordType) {\n Class.addMixin(this, recordType.prototype.create(spec).prototype);\n },\n\n isSubclassOf: function(aClass) {\n return this.superclasses().include(aClass);\n },\n\n allSubclasses: function() {\n var klass = this;\n return Global.classes(true).select(function(ea) { return ea.isSubclassOf(klass) });\n },\n withAllSubclasses: function() { return [this].concat(this.allSubclasses()) },\n\n\n directSubclasses: function() {\n var klass = this;\n return Global.classes(true).select(function(ea) { return ea.superclass === klass });\n },\n\n withAllSortedSubclassesDo: function(func) {\n // this method iterates func on all subclasses of klass (including klass)\n // it is ensured that the klasses are sorted by a) subclass relationship and b) name (not type!)\n // func gets as parameters: 1) the class 2) index in list 3) level of inheritance\n // compared to klass (1 for direct subclasses and so on)\n\n function createSortedSubclassList(klass, level) {\n var list = klass.directSubclasses()\n .sortBy(function(ea) { return ea.name.charCodeAt(0) })\n .collect(function(subclass) { return createSortedSubclassList(subclass, level + 1) })\n .flatten();\n return [{klass: klass, level: level}].concat(list)\n }\n\n return createSortedSubclassList(this, 0).collect(function(spec, idx) { return func(spec.klass, idx, spec.level) })\n },\n\n superclasses: function() {\n if (!this.superclass) return [];\n if (this.superclass === Object) return [Object];\n return this.superclass.superclasses().concat([this.superclass]);\n },\n\n categoryNameFor: function(propName) {\n for (var categoryName in this.categories) {\n if (this.categories[categoryName].include(propName)) {\n return categoryName;\n }\n }\n return null;\n },\n remove: function() {\n var ownerNamespace = Class.namespaceFor(this.type),\n ownName = Class.unqualifiedNameFor(this.type);\n delete ownerNamespace[ownName];\n },\n\n});\n\nvar Class = {\n\n anonymousCounter: 0,\n\n initializerTemplate: (function CLASS(){ Class.initializer.apply(this, arguments) }).toString(),\n\n newInitializer: function(name) {\n // this hack ensures that class instances have a name\n return eval(Class.initializerTemplate.replace(/CLASS/g, name) + \";\" + name);\n },\n\n initializer: function initializer() {\n var firstArg = arguments[0];\n // maybe special initialization required\n if (firstArg && firstArg.isImporter) {\n this.deserialize.apply(this, arguments);\n } else if (firstArg && firstArg.isCopier) {\n this.copyFrom.apply(this, arguments);\n } else if (firstArg && firstArg.isInstanceRestorer) {\n // just do nothing\n // for WebCards and other JSON-based dersialization logic\n } else {\n // if this.initialize is undefined then prolly the constructor was called without 'new'\n this.initialize.apply(this, arguments);\n }\n },\n\n def: function Class$def(constr, superConstr, optProtos, optStatics) {\n // currently not used\n // Main method of the LK class system.\n\n // {className} is the name of the new class constructor which this method synthesizes\n // and binds to {className} in the Global namespace.\n // Remaining arguments are (inline) properties and methods to be copied into the prototype\n // of the newly created constructor.\n\n // modified from prototype.js\n\n var klass = Class.newInitializer(\"klass\");\n klass.superclass = superConstr;\n\n var protoclass = function() { }; // that's the constructor of the new prototype object\n protoclass.prototype = superConstr.prototype;\n\n klass.prototype = new protoclass();\n\n // Object.extend(klass.prototype, constr.prototype);\n klass.prototype.constructor = klass;\n var className = constr.name; // getName()\n klass.addMethods({initialize: constr});\n // KP: .name would be better but js ignores .name on anonymous functions\n klass.type = className;\n\n\n if (optProtos) klass.addMethods(optProtos);\n if (optStatics) Object.extend(klass, optStatics);\n\n Global[className] = klass;\n return klass;\n },\n\n isValidIdentifier: function(str) {\n return /^(?:[a-zA-Z_][\\w\\-]*[.])*[a-zA-Z_][\\w\\-]*$/.test(str);\n },\n\n isClass: function Class$isClass(object) {\n if (object === Object\n || object === Array\n || object === Function\n || object === String\n || object === Number) {\n return true;\n }\n return (object instanceof Function) && (object.superclass !== undefined);\n },\n\n className: function Class$className(cl) {\n if (cl === Object) return \"Object\"\n if (cl === Array) return \"Array\"\n if (cl === Function) return \"Function\"\n if (cl === String) return \"String\"\n if (cl === Number) return \"Number\"\n return cl.type;\n },\n\n forName: function forName(name) {\n // lookup the class object given the qualified name\n var ns = Class.namespaceFor(name),\n shortName = Class.unqualifiedNameFor(name);\n return ns[shortName];\n },\n\n deleteObjectNamed: function Class$deleteObjectNamed(name) {\n var ns = Class.namespaceFor(name),\n shortName = Class.unqualifiedNameFor(name);\n delete ns[shortName];\n },\n\n unqualifiedNameFor: function Class$unqualifiedNameFor(name) {\n var lastDot = name.lastIndexOf('.'), // lastDot may be -1\n unqualifiedName = name.substring(lastDot + 1);\n if (!Class.isValidIdentifier(unqualifiedName)) throw new Error('not a name ' + unqualifiedName);\n return unqualifiedName;\n },\n\n namespaceFor: function Class$namespaceFor(className) {\n // get the namespace object given the qualified name\n var lastDot = className ? className.lastIndexOf('.') : -1;\n if (lastDot < 0) return Global;\n else return namespace(className.substring(0, lastDot));\n },\n\n withAllClassNames: function Class$withAllClassNames(scope, callback) {\n for (var name in scope) {\n try {\n if (Class.isClass(scope[name]))\n callback(name);\n } catch (er) { // FF exceptions\n }\n }\n callback(\"Object\");\n callback(\"Global\");\n },\n\n makeEnum: function Class$makeEnum(strings) {\n // simple mechanism for making objecs with property values set to\n // property names, to be used as enums.\n\n var e = {};\n for (var i = 0; i < strings.length; i++) {\n e[strings[i]] = strings[i];\n }\n return e;\n },\n\n getConstructor: function Class$getConstructor(object) {\n var c = object.constructor;\n return (c && c.getOriginal) ? c.getOriginal() : c;\n },\n\n getPrototype: function Class$getPrototype(object) {\n return this.getConstructor(object).prototype;\n },\n\n applyPrototypeMethod: function Class$applyPrototypeMethod(methodName, target, args) {\n var method = this.getPrototype(target);\n if (!method) throw new Error(\"method \" + methodName + \" not found\");\n return method.apply(this, args);\n },\n\n getSuperConstructor: function Class$getSuperConstructor(object) {\n return this.getConstructor(object).superclass;\n },\n\n getSuperPrototype: function Class$getSuperPrototype(object) {\n var sup = this.getSuperConstructor(object);\n return sup && sup.prototype;\n },\n\n addPins: function Class$addPins(cls, spec) {\n if (Global.Relay) {\n Class.addMixin(cls, Relay.newDelegationMixin(spec).prototype);\n return;\n }\n // this is for refactoring away from Relay and friends\n if (!Object.isArray(spec)) throw new Error('Cannot deal with non-Array spec in addPins');\n function unstripName(name) { return name.replace(/[\\+|\\-]?(.*)/, '$1') };\n function needsSetter(name) { return !name.startsWith('-') };\n function needsGetter(name) { return !name.startsWith('+') };\n var mixinSpec = {};\n spec.forEach(function(specString) {\n var name = unstripName(specString);\n if (needsSetter(specString))\n mixinSpec['set' + name] = function(value) { return this['_' + name] = value }\n if (needsGetter(specString))\n mixinSpec['get' + name] = function() { return this['_' + name] }\n })\n Class.addMixin(cls, mixinSpec);\n },\n\n addMixin: function Class$addMixin(cls, source) {\n var spec = {};\n for (var prop in source) {\n var value = source[prop];\n switch (prop) {\n case \"constructor\": case \"initialize\": case \"deserialize\": case \"copyFrom\":\n case \"toString\": case \"definition\": case \"description\":\n break;\n default:\n if (cls.prototype[prop] === undefined) // do not override existing values!\n spec[prop] = value;\n }\n }\n cls.addMethods(spec);\n },\n\n};\n\nObject.subclass('Namespace',\n'initializing', {\n\n initialize: function(context, nsName) {\n this.namespaceIdentifier = context.namespaceIdentifier + '.' + nsName;\n this.createTime = new Date();\n },\n},\n'accessing', {\n gather: function(selector, condition, recursive) {\n var result = Object.values(this).select(function(ea) { return condition.call(this, ea) }, this);\n if (!recursive) return result;\n return this.subNamespaces().inject(result, function(result, ns) { return result.concat(ns[selector](true)) });\n },\n\n subNamespaces: function(recursive) {\n return this.gather(\n 'subNamespaces',\n function(ea) { return (ea instanceof lively.lang.Namespace || ea === Global) && ea !== this },\n recursive);\n },\n\n classes: function(recursive) {\n var normalClasses = this.gather(\n 'classes',\n function(ea) { return ea && ea !== this.constructor && Class.isClass(ea) },\n recursive);\n if (this === Global)\n return [Array, Number, String, Function].concat(normalClasses);\n return normalClasses;\n },\n\n functions: function(recursive) {\n return this.gather(\n 'functions',\n function(ea) { return ea\n && !Class.isClass(ea)\n && Object.isFunction(ea)\n && !ea.declaredClass\n && this.requires !== ea\n && ea.getOriginal() === ea },\n recursive);\n },\n\n});\n\n// let Glabal act like a namespace itself\nObject.extend(Global, Namespace.prototype);\nObject.extend(Global, {\n namespaceIdentifier: 'Global',\n isLoaded: Functions.True,\n});\n\nNamespace.addMethods(\n'properties', {\n isLivelyModule: true,\n},\n'initializing', {\n beAnonymous: function() {\n this._isAnonymous = true;\n this.sourceModuleName = lively.lang.Namespace.current().namespaceIdentifier;\n return this;\n },\n},\n'accessing', { // module specific, should be a subclass?\n\n name: function() {\n var identifier = this.namespaceIdentifier,\n globalIdStart = 'Global.';\n if (identifier.startsWith(globalIdStart)) {\n identifier = identifier.substring(globalIdStart.length);\n }\n return identifier;\n },\n\n findUri: function(optFileType) {\n var fileType = optFileType || 'js',\n fileExtension = '.' + fileType,\n namespacePrefix;\n if (this.namespaceIdentifier.startsWith('Global.')) {\n namespacePrefix = 'Global.';\n } else {\n throw dbgOn(new Error('unknown namespaceIdentifier'));\n }\n var relativePath = this.namespaceIdentifier\n .substr(namespacePrefix.length)\n .replace(/\\./g, '/');\n if (!relativePath.match(/\\.js$/)) {\n relativePath += fileExtension;\n }\n var uri = '';\n lively.Config.modulePaths.forEach(function(ea) {\n if (relativePath.substring(0, ea.length) == ea) {\n uri = lively.Config.rootPath + relativePath;\n }\n });\n if (uri == '') {\n uri = lively.Config.codeBase + relativePath;\n }\n return uri;\n },\n\n uri: function(optType) { // FIXME cleanup necessary\n if (this.__cachedUri && !optType) { return this.__cachedUri; }\n var url;\n if (this.fromDB) {\n var id = this.namespaceIdentifier; // something like lively.Core\n var namespacePrefix;\n if (id.startsWith('Global.')) {\n namespacePrefix = 'Global.';\n id = id.substring(7);\n } else\n throw dbgOn(new Error('unknown namespaceIdentifier'));\n\n // FIXME: extract to lively.Config.codeBaseDB\n url = lively.Config.couchDBURL + '/' + this.fromDB + '/_design/raw_data/_list/javascript/for-module?module=' + id;\n this.__cachedUri = url;\n return url;\n } else {\n var id = this.namespaceIdentifier; // something like lively.Core\n var namespacePrefix;\n if (!this.isAnonymous()) {\n url = this.findUri(optType);\n } else {\n if (id.startsWith('Global.')) namespacePrefix = 'Global.';\n else throw dbgOn(new Error('unknown namespaceIdentifier'));\n url = lively.Config.codeBase + this.namespaceIdentifier.substr(namespacePrefix.length).replace(/\\./g, '/');\n }\n\n this.__cachedUri = url;\n return url;\n }\n },\n relativePath: function(optType) {\n return new URL(this.uri(optType)).relativePathFrom(URL.codeBase);\n },\n\n lastPart: function() {\n return this.name().match(/[^.]+$/)[0];\n }\n\n},\n'module dependencies', {\n addDependendModule: function(depModule) {\n if (!this.dependendModules) this.dependendModules = [];\n this.dependendModules.push(depModule);\n\n // keep a copy of the dependencies for debugging\n if (!this.debugDependendModules) this.debugDependendModules = [];\n this.debugDependendModules.push(depModule);\n },\n\n informDependendModules: function() {\n if (!this.dependendModules) return;\n var deps = this.dependendModules.uniq();\n this.dependendModules = [];\n deps.forEach(function(ea) { ea.removeRequiredModule(this) }, this);\n },\n\n traceDependendModules: function(visited) {\n visited = visited || [];\n var deps = this.debugDependendModules || [];\n deps = deps.withoutAll(visited)\n visited.push(this);\n return [this.namespaceIdentifier, deps.collect(function(ea) {\n return ea.traceDependendModules(visited)\n })]\n },\n\n addRequiredModule: function(requiredModule) {\n // privateRequirements is just for keeping track later on\n if (!this.privateRequirements) this.privateRequirements = [];\n this.privateRequirements.push(requiredModule);\n\n if (requiredModule.isLoaded()) return;\n if (!this.pendingRequirements) this.pendingRequirements = [];\n this.pendingRequirements.push(requiredModule);\n requiredModule.addDependendModule(this);\n },\n\n removeRequiredModule: function(requiredModule) {\n if (this.pendingRequirements && !this.pendingRequirements.include(requiredModule))\n throw dbgOn(new Error('requiredModule not there'));\n this.pendingRequirements = this.pendingRequirements.without(requiredModule);\n if (!this.hasPendingRequirements()) {\n this.load();\n }\n },\n\n pendingRequirementNames: function() {\n if (!this.pendingRequirements) return [];\n return this.pendingRequirements.collect(function(ea) { return ea.uri() });\n },\n\n hasPendingRequirements: function() {\n return this.pendingRequirements && this.pendingRequirements.length > 0;\n },\n\n loadRequirementsFirst: function() {\n this.pendingRequirements && this.pendingRequirements.invoke('load');\n },\n\n wasRequiredBy: function() {\n return Global.subNamespaces(true).select(function(m) {\n return m.privateRequirements && m.privateRequirements.include(this);\n }, this);\n },\n},\n'load callbacks', {\n addOnloadCallback: function(cb) {\n if (!this.callbacks) this.callbacks = [];\n this.callbacks.push(cb);\n },\n\n runOnloadCallbacks: function() {\n if (!this.callbacks) return;\n var cb;\n while (cb = this.callbacks.shift()) {\n try {cb()} catch(e) {\n this.logError('runOnloadCallbacks: ' + cb.name + ': ' + e);\n throw e\n }\n };\n },\n\n isAnonymous: function() {\n return this._isAnonymous\n },\n\n},\n'testing', {\n isLoaded: function() {\n return this._isLoaded;\n },\n\n isLoading: function() {\n if (this.isLoaded()) return false;\n if (this.uri().include('anonymous')) return true;\n return JSLoader.scriptInDOM(this.uri());\n },\n\n isAnonymous: function() {\n return this._isAnonymous\n },\n\n},\n'loading', {\n load: function(loadSync) {\n if (loadSync) {\n var prevWasSync = this.constructor.loadSync;\n this.constructor.loadSync = true;\n }\n if (this.isLoaded()) {\n this.runOnloadCallbacks();\n return;\n }\n if (this.isLoading() && this.wasDefined && !this.hasPendingRequirements()) {\n this.runOnloadCallbacks();\n // time is not only the time needed for the request and code evaluation\n // but the complete time span from the creation of the module (when the module is first encountered)\n // to evaluation the evaluation of its code, including load time of all requirements\n var time = this.createTime ? new Date() - this.createTime : 'na';\n console.log(this.uri() + ' loaded in ' + time + ' ms');\n this.informDependendModules();\n return;\n }\n if (this.isLoading()) {\n this.loadRequirementsFirst();\n return;\n }\n JSLoader.loadJs(this.uri(), null, this.constructor.loadSync);\n if (loadSync) this.constructor.loadSync = prevWasSync;\n },\n\n activate: function() {\n this.constructor.namespaceStack.push(this);\n },\n\n deactivate: function() {\n var m = this.constructor.namespaceStack.pop();\n if (m !== this)\n throw new Error('Wrong module: ' + this.namespaceIdentifier +\n ' instead of expected ' + m.namespaceIdentifier )\n },\n},\n'removing', {\n remove: function() {\n var ownerNamespace = Class.namespaceFor(this.namespaceIdentifier),\n ownName = Class.unqualifiedNameFor(this.namespaceIdentifier)\n JSLoader.removeAllScriptsThatLinkTo(this.uri());\n delete ownerNamespace[ownName];\n },\n removeScriptNode: function() {\n var node = document.getElementById(this.uri());\n if (!node) return\n node.parentNode.removeChild(node);\n },\n},\n'debugging', {\n toString: function() { return 'module(' + this.namespaceIdentifier + ')' },\n inspect: function() { this.toString() + ' defined at ' + this.defStack },\n logError: function(e, optCode) {\n var list = this.traceDependendModules();\n var msg = 'Error while loading ' + this.moduleName + ': ' + e;\n msg += '\\ndependencies: ' + Strings.printNested(list)\n if (Global.lively && lively.morphic && lively.morphic.World && lively.morphic.World.current() && lively.morphic.World.current().logError)\n lively.morphic.World.current().logError(e)\n\n if (e.stack) msg = msg + e.stack;\n\n if (optCode)\n msg += \"code:\\n\" + optCode;\n console.error(msg);\n dbgOn(true);\n },\n});\n\nObject.extend(Namespace, {\n namespaceStack: [Global],\n current: function() { return this.namespaceStack.last() },\n topologicalSortLoadedModules: function() {\n if (lively.Config.standAlone) {\n var scripIds = [];\n $('body script').each(function() { scripIds.push($(this).attr('id')) });\n return scripIds.collect(function(id) {\n var name = id.replace(/^..\\//, '');\n return module(name);\n });\n }\n\n // get currently loaded modules that really are js files\n var modules = Global.subNamespaces(true)\n .reject(function(ea) { return ea.isAnonymous(); })\n .select(function(ea) {\n return ea.isLoaded() && new WebResource(ea.uri()).exists() });\n\n // topological sort modules according to their requirements\n var sortedModules = [], i = 0;\n while (i < 1000 && modules.length > 0) {\n i++;\n var canBeLoaded = modules.select(function(module) {\n if (!module.privateRequirements) return true;\n return module.privateRequirements.all(function(requirement) {\n return sortedModules.include(requirement) })\n })\n sortedModules = sortedModules.concat(canBeLoaded);\n modules = modules.withoutAll(canBeLoaded);\n }\n if (modules.length > 0)\n throw new Error('Cannot find dependencies for all modules!');\n\n return sortedModules;\n },\n\n bootstrapModules: function() {\n // return a string to include in bootstrap.js\n var urls = this.topologicalSortLoadedModules()\n .collect(function(ea) { return new URL(ea.uri()).relativePathFrom(URL.codeBase) })\n // omit modules outside of core\n .reject(function(path) { return path.startsWith('..') });\n var manual = [LivelyLoader.libsFile,\n 'lively/Migration.js',\n 'lively/JSON.js',\n 'lively/lang/Object.js',\n 'lively/lang/Function.js',\n 'lively/lang/String.js',\n 'lively/lang/Array.js',\n 'lively/lang/Number.js',\n 'lively/lang/Date.js',\n 'lively/defaultconfig.js',\n 'lively/localconfig.js',\n 'lively/Base.js',\n 'lively/lang/Closure.js', // FIXME: require module instead\n 'lively/lang/UUID.js', // FIXME: require module instead\n 'lively/LocalStorage.js'];\n urls = manual.concat(urls);\n return urls;\n },\n\n bootstrapModulesString: function() {\n var urls = this.bootstrapModules();\n return '[\\'' + urls.join('\\', \\'') + '\\']';\n }\n});\n\n(function createLivelyNamespace(Global) {\n // namespace('lively.lang');\n var preExistingLively = Global.lively;\n delete Global.lively;\n var lively = new Global.Namespace(Global, 'lively');\n // FIXME this is just a hack to get properties of a potentially\n // predefined \"lively\" object over to the namespace lively object\n // namespaces should deal with this in general\n if (preExistingLively) {\n for (var name in preExistingLively) {\n lively[name] = preExistingLively[name];\n }\n }\n Global.lively = lively;\n})(Global);\n\n(function moveNamespaceClassToLivelyLang(Global) {\n var lively = Global.lively,\n Namespace = Global.Namespace;\n lively.lang = new Namespace(lively, 'lang');\n lively.lang.Namespace = Namespace;\n // alias\n lively.Module = lively.lang.Namespace;\n delete Global.Namespace;\n})(Global);\n\n(function addUsefulStuffToLivelyNS(Global, lively) {\n lively.assert = Global.assert;\n})(Global, lively);\n\nObject.extend(lively.Module, {\n findAllInThenDo: function(url, callback) {\n var dir = new URL(url).getDirectory();\n if (url.isLeaf()) {\n throw new Error(url + ' is not a directory!');\n }\n var webR = dir.asWebResource();\n lively.bindings.connect(webR, 'subDocuments', {onLoad: function(files) {\n var moduleNames = files.invoke('getURL') .invoke('asModuleName'),\n modules = moduleNames.collect(function(name) { return module(name); })\n callback(modules);\n }}, 'onLoad');\n webR.getSubElements();\n }\n});\n\n(function setupLivelyLang(lively) {\n lively.lang.Execution = {\n showStack: Functions.Null,\n resetDebuggingStack: Functions.Null,\n installStackTracers: Functions.Null\n };\n lively.lang.let = function(/** **/) {\n // lively.lang.let(y, function(x) { body }) is equivalent to { let y = x; body; }\n return arguments[arguments.length - 1].apply(this, arguments);\n }\n})(lively);\n\n/*\n * Stack Viewer when Dan's StackTracer is not available\n * FIXME rk: move this to Helper.js?\n */\nfunction getStack() {\n var result = [];\n for(var caller = arguments.callee.caller; caller; caller = caller.caller) {\n if (result.indexOf(caller) != -1) {\n result.push({name: \"recursive call can't be traced\"});\n break;\n }\n result.push(caller);\n };\n return result;\n};\n\nfunction printStack() {\n function guessFunctionName(func) {\n var qName = func.qualifiedMethodName && func.qualifiedMethodName(),\n regExpRes = func.toString().match(/function (.+)\\(/);\n return qName || (regExpRes && regExpRes[1]) || func;\n };\n\n var string = \"== Stack ==\\n\",\n stack = getStack();\n stack.shift(); // for getStack\n stack.shift(); // for printStack (me)\n var indent = \"\";\n for (var i=0; i < stack.length; i++) {\n string += indent + i + \": \" +guessFunctionName(stack[i]) + \"\\n\";\n indent += \" \";\n };\n return string;\n};\n\nfunction logStack() {\n this.console.log(printStack());\n};\n\n(function setupjQuery(Global) {\n var lively = Global.lively,\n jQuery = Global.jQuery;\n // we still are adding jQuery to Global but this is DEPRECATED\n // We need to be able to run with libraries requiring different jQuery versions\n // so we will restrict \"our\" to lively.$ in the future\n Global.$ = lively.$ = jQuery.noConflict(/*true -- really removes $*/);\n})(Global);","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3180":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3181":{"sourceObj":{"__isSmartRef__":true,"id":3178},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":3182},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":3221},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3182":{"item":{"__isSmartRef__":true,"id":3178},"parent":{"__isSmartRef__":true,"id":1366},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":3183}],"scripts":[],"shape":{"__isSmartRef__":true,"id":3216},"eventHandler":{"__isSmartRef__":true,"id":3217},"_ClipMode":"visible","derivationIds":[],"id":"168B9C2A-0C31-4A32-AFBE-844CB8D5045D","droppingEnabled":true,"halosEnabled":true,"layout":{"__isSmartRef__":true,"id":3218},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":3184},"label":{"__isSmartRef__":true,"id":3197},"node":{"__isSmartRef__":true,"id":3183},"owner":{"__isSmartRef__":true,"id":1366},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,700.0)"},"3183":{"submorphs":[{"__isSmartRef__":true,"id":3184},{"__isSmartRef__":true,"id":3197}],"scripts":[],"shape":{"__isSmartRef__":true,"id":3212},"eventHandler":{"__isSmartRef__":true,"id":3213},"_ClipMode":"visible","derivationIds":[],"id":"D76B982E-0494-498A-BACF-9307B5C436A2","droppingEnabled":true,"halosEnabled":true,"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":3214},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":3182},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"3184":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3185},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":3186}],"eventHandler":{"__isSmartRef__":true,"id":3188},"_ClipMode":"visible","derivationIds":[],"id":"5F49A00A-636C-46CA-AA5B-716D50BBE457","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":3183},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3189},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"3185":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"3186":{"style":{"__isSmartRef__":true,"id":3187},"chunkOwner":{"__isSmartRef__":true,"id":3184},"_id":"_20798","storedString":"►","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3187":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3188":{"morph":{"__isSmartRef__":true,"id":3184},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3189":{"onMouseDown":{"__isSmartRef__":true,"id":3190}},"3190":{"varMapping":{"__isSmartRef__":true,"id":3191},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3196},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3191":{"this":{"__isSmartRef__":true,"id":3184},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3192}},"3192":{"$super":{"__isSmartRef__":true,"id":3193}},"3193":{"varMapping":{"__isSmartRef__":true,"id":3194},"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":3195},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3194":{"obj":{"__isSmartRef__":true,"id":3184},"name":"onMouseDown"},"3195":{},"3196":{},"3197":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3198},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":3199},{"__isSmartRef__":true,"id":3201}],"eventHandler":{"__isSmartRef__":true,"id":3203},"_ClipMode":"visible","derivationIds":[],"id":"E5D50296-BA74-4E3E-9DB4-B3FBAFE750EB","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":3183},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3204},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"3198":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(99.0,16.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"3199":{"style":{"__isSmartRef__":true,"id":3200},"chunkOwner":{"__isSmartRef__":true,"id":3197},"_id":"_39805","storedString":"textChunks","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3200":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3201":{"style":{"__isSmartRef__":true,"id":3202},"chunkOwner":{"__isSmartRef__":true,"id":3197},"_id":"_39806","storedString":" [...]","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3202":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"3203":{"morph":{"__isSmartRef__":true,"id":3197},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3204":{"onMouseDown":{"__isSmartRef__":true,"id":3205}},"3205":{"varMapping":{"__isSmartRef__":true,"id":3206},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3211},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3206":{"this":{"__isSmartRef__":true,"id":3197},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3207}},"3207":{"$super":{"__isSmartRef__":true,"id":3208}},"3208":{"varMapping":{"__isSmartRef__":true,"id":3209},"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":3210},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3209":{"obj":{"__isSmartRef__":true,"id":3197},"name":"onMouseDown"},"3210":{},"3211":{},"3212":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"3213":{"morph":{"__isSmartRef__":true,"id":3183},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3214":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":3215}},"3215":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":3183},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"3216":{"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"3217":{"morph":{"__isSmartRef__":true,"id":3182},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3218":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":3219}},"3219":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":3220},"spacing":0,"container":{"__isSmartRef__":true,"id":3182},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"3220":{"top":0,"right":0,"bottom":0,"left":0},"3221":{"source":{"__isSmartRef__":true,"id":3178},"target":{"__isSmartRef__":true,"id":3182}},"3222":{"onSelect":{"__isSmartRef__":true,"id":3223},"onExpand":{"__isSmartRef__":true,"id":3226},"onUpdateChildren":{"__isSmartRef__":true,"id":3229},"onUpdate":{"__isSmartRef__":true,"id":3232}},"3223":{"varMapping":{"__isSmartRef__":true,"id":3224},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":3225},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3224":{"this":{"__isSmartRef__":true,"id":3178}},"3225":{},"3226":{"varMapping":{"__isSmartRef__":true,"id":3227},"source":"function onExpand() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":3228},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3227":{"this":{"__isSmartRef__":true,"id":3178}},"3228":{},"3229":{"varMapping":{"__isSmartRef__":true,"id":3230},"source":"function onUpdateChildren() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":3231},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3230":{"this":{"__isSmartRef__":true,"id":3178}},"3231":{},"3232":{"varMapping":{"__isSmartRef__":true,"id":3233},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":3234},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3233":{"this":{"__isSmartRef__":true,"id":3178}},"3234":{},"3235":{"data":"/*\n * Copyright (c) 2006-2009 Sun Microsystems, Inc.\n * Copyright (c) 2008-2011 Hasso Plattner Institute\n *\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\n// set to the context enclosing the SVG context.\n// rk: replaced \"this.window.top || this.window\" with \"this.window\"\n// rk: when is it necessary to use the parent context?\nvar Global = this.window || GLOBAL /*for Node.js*/;\nfunction dbgOn(cond, optMessage) {\n if (optMessage) console.log(optMessage);\n if (cond) debugger; // note that rhino has issues with this keyword\n // also call as: throw dbgOn(new Error(....))\n return cond;\n}\n\nfunction assert(value, message) {\n if (value) { return; }\n // capture the stack\n var stack;\n try { throw new Error() } catch(e) { stack = e.stack || '' };\n alert('Assertion failed' + (message ? ': ' + message : '!') + '\\n' + stack);\n};\n\n// namespace logic adapted from\n// http://higher-order.blogspot.com/2008/02/designing-clientserver-web-applications.html\nvar using = (function() {\n\n function Util(args) { // args is an escaping arguments array\n this.objects = Array.prototype.concat.apply([], args);\n //var ownArgs = this.objects = new Array(args.length);\n //for (var i = 0; i < args.length; i++) ownArgs[i] = args[i];\n };\n\n Util.prototype = {\n\n log: function(msg) {\n console.log(msg);\n },\n\n run: function(inner) {\n var args = this.objects;\n if (this.moduleName) {\n // little convenience,\n if (args.length > 0) this.log('using().module(): ignoring args ' + args);\n return module(this.moduleName).requires().toRun(inner);\n } else return inner.apply(args[0], args);\n },\n\n model: function(model) {\n // KP: interestingly, declaring the above as \"model: function model(model)\"\n // seems to bind model to to the function, not the formal parameter, at least in rhino!\n this.model = model;\n return this;\n },\n\n module: function(moduleName) {\n this.moduleName = moduleName;\n return this;\n },\n\n link: function link(literal, variableMap) {\n variableMap = variableMap || {};\n return new lively.data.Resolver().link(literal, [], undefined, variableMap, this.objects, this.model);\n },\n\n extend: function extend(base, extLiteral) {\n return this.link(Object.extend(Object.clone(base), extLiteral));\n },\n\n test: function(inner) {\n try {\n return this.run(inner);\n } catch (er) {\n alert('test failed: ' + er);\n return undefined;\n }\n }\n }\n\n return function using() {\n return new Util(arguments);\n }\n})();\n\n\nfunction namespace(spec, context) {\n var codeDB;\n if (spec[0] == '$') {\n codeDB = spec.substring(1, spec.indexOf('.'));\n spec = spec.substring(spec.indexOf('.') + 1);\n }\n var ret = __oldNamespace(spec, context);\n if (codeDB) {\n ret.fromDB = codeDB;\n }\n return ret;\n};\n\n\nfunction __oldNamespace(spec, context) {\n var i,N;\n context = context || Global;\n spec = spec.valueOf();\n if (typeof spec === 'object') {\n if (typeof spec.length === 'number') {//assume an array-like object\n for (i = 0,N = spec.length; i < N; i++) {\n return namespace(spec[i], context);\n }\n } else {//spec is a specification object e.g, {com: {trifork: ['model,view']}}\n for (i in spec) if (spec.hasOwnProperty(i)) {\n context[i] = context[i] || new lively.lang.Namespace(context, i);\n return namespace(spec[i], context[i]);//recursively descend tree\n }\n }\n } else if (typeof spec === 'string') {\n (function handleStringCase() {\n var parts;\n parts = spec.split('.');\n for (i = 0, N = parts.length; i= 0) {\n ea.pendingRequirements = [];\n ea.load();\n testModuleLoad.delay(6);\n }\n\t});\n console.log('Module load check done. ' + modules.length + ' modules loaded.');\n}).delay(10);\n\nfunction module(moduleName) {\n\n moduleName = LivelyMigrationSupport.fixModuleName(moduleName);\n\n function isNamespaceAwareModule(moduleName) {\n return moduleName && !moduleName.endsWith('.js');\n }\n\n function convertUrlToNSIdentifier(url) {\n var result = url;\n result = result.replace(/\\//g, '.');\n // get rid of '.js'\n if (result.endsWith('.js')) result = result.substring(0, result.lastIndexOf('.'));\n return result;\n }\n\n function createNamespaceModule(moduleName) {\n return namespace(isNamespaceAwareModule(moduleName) ? moduleName : convertUrlToNSIdentifier(moduleName));\n }\n\n function basicRequire(/*module, requiredModuleNameOrAnArray, anotherRequiredModuleName, ...*/) {\n // support modulenames as array and parameterlist\n var args = $A(arguments),\n module = args.shift(),\n preReqModuleNames = Object.isArray(args[0]) ? args[0] : args,\n requiredModules = [];\n for (var i = 0; i < preReqModuleNames.length; i++) {\n var name = LivelyMigrationSupport.fixModuleName(preReqModuleNames[i]),\n reqModule = createNamespaceModule(name);\n module.addRequiredModule(reqModule);\n requiredModules.push(reqModule);\n }\n\n return {\n toRun: function(code) {\n var debugCode = code;\n code = code.curry(module); // pass in own module name for nested requirements\n var codeWrapper = function() { // run code with namespace modules as additional parameters\n try {\n module.activate();\n code.apply(this, requiredModules);\n module._isLoaded = true;\n } catch(e) {\n module.logError(module + '>>basicRequire: ' + e, debugCode)\n } finally {\n module.deactivate();\n }\n }\n module.addOnloadCallback(codeWrapper);\n module.load();\n }\n };\n };\n\n dbgOn(!Object.isString(moduleName));\n var module = createNamespaceModule(moduleName);\n module.wasDefined = true;\n module.requires = basicRequire.curry(module);\n return module;\n};\n\nfunction require(/*requiredModuleNameOrAnArray, anotherRequiredModuleName, ...*/) {\n var getUniqueName = function() { return 'anonymous_module_' + require.counter },\n args = $A(arguments);\n require.counter !== undefined ? require.counter++ : require.counter = 0;\n var m = module(getUniqueName()).beAnonymous();\n if (lively.Config.showModuleDefStack)\n try { throw new Error() } catch(e) { m.defStack = e.stack }\n return m.requires(Object.isArray(args[0]) ? args[0] : args);\n};\n\n\n// ===========================================================================\n// Our JS library extensions (JS 1.5, no particular browser or graphics engine)\n// ===========================================================================\n\n/**\n * LK class system.\n */\n\nObject.extend(Function.prototype, {\n\n defaultCategoryName: 'default category',\n\n subclass: function(/*... */) {\n // Main method of the LK class system.\n\n // {className} is the name of the new class constructor which this method synthesizes\n // and binds to {className} in the Global namespace.\n // Remaining arguments are (inline) properties and methods to be copied into the prototype\n // of the newly created constructor.\n\n // modified from prototype.js\n\n var args = $A(arguments),\n className = args.shift(),\n targetScope = Global,\n shortName = null;\n\n if (className) {\n targetScope = Class.namespaceFor(className);\n shortName = Class.unqualifiedNameFor(className);\n } else {\n shortName = \"anonymous_\" + (Class.anonymousCounter++);\n className = shortName;\n }\n\n var klass;\n if (className && targetScope[shortName] && (targetScope[shortName].superclass === this)) {\n // preserve the class to allow using the subclass construct in interactive development\n klass = targetScope[shortName];\n } else {\n klass = Class.newInitializer(shortName);\n klass.superclass = this;\n var protoclass = function() { }; // that's the constructor of the new prototype object\n protoclass.prototype = this.prototype;\n klass.prototype = new protoclass();\n klass.prototype.constructor = klass;\n klass.prototype.constructor.type = className; // KP: .name would be better but js ignores .name on anonymous functions\n klass.prototype.constructor.displayName = className; // for debugging, because name can not be assigned\n if (className) targetScope[shortName] = klass; // otherwise it's anonymous\n\n // remember the module that contains the class def\n if (Global.lively && lively.lang && lively.lang.Namespace)\n klass.sourceModule = lively.lang.Namespace.current();\n };\n\n // the remaining args should be category strings or source objects\n this.addMethods.apply(klass, args);\n\n if (!klass.prototype.initialize)\n klass.prototype.initialize = Functions.Empty;\n\n return klass;\n },\n\n addMethods: function(/*...*/) {\n var args = arguments,\n category = this.defaultCategoryName,\n traits = [];\n for (var i = 0; i < args.length; i++) {\n if (Object.isString(args[i])) {\n category = args[i];\n } else if (Global.RealTrait && args[i] instanceof RealTrait) {\n // FIXME Traits are optional and defined in lively.Traits\n // This should go somewhere into lively.Traits...\n // we apply traits afterwards because they can override behavior\n traits.push(args[i]);\n } else {\n this.addCategorizedMethods(category, args[i] instanceof Function ? (args[i])() : args[i]);\n }\n }\n for (i = 0; i < traits.length; i++) {\n traits[i].applyTo(this);\n }\n },\n\n addCategorizedMethods: function(categoryName, source) {\n // first parameter is a category name\n // copy all the methods and properties from {source} into the\n // prototype property of the receiver, which is intended to be\n // a class constructor. Method arguments named '$super' are treated\n // specially, see Prototype.js documentation for \"Class.create()\" for details.\n // derived from Class.Methods.addMethods() in prototype.js\n\n // prepare the categories\n if (!this.categories) this.categories = {};\n if (!this.categories[categoryName]) this.categories[categoryName] = [];\n var currentCategoryNames = this.categories[categoryName];\n\n if (!source)\n throw dbgOn(new Error('no source in addCategorizedMethods!'));\n\n var ancestor = this.superclass && this.superclass.prototype;\n\n var className = this.type || \"Anonymous\";\n\n for (var property in source) {\n\n if (property == 'constructor') continue;\n\n var getter = source.__lookupGetter__(property);\n if (getter) this.prototype.__defineGetter__(property, getter);\n var setter = source.__lookupSetter__(property);\n if (setter) this.prototype.__defineSetter__(property, setter);\n if (getter || setter) continue;\n\n currentCategoryNames.push(property);\n\n var value = source[property];\n // weirdly, RegExps are functions in Safari, so testing for\n // Object.isFunction on regexp field values will return true.\n // But they're not full-blown functions and don't\n // inherit argumentNames from Function.prototype\n\n var hasSuperCall = ancestor && Object.isFunction(value) &&\n value.argumentNames && value.argumentNames().first() == \"$super\";\n if (hasSuperCall) {\n // wrapped in a function to save the value of 'method' for advice\n (function() {\n var method = value,\n advice = (function(m) {\n var cs = function callSuper() {\n var method = ancestor[m];\n if (!method) {\n throw new Error(Strings.format('Trying to call super of' +\n '%s>>%s but super method non existing in %s',\n className, m, ancestor.constructor.type));\n }\n return method.apply(this, arguments);\n };\n cs.varMapping = {ancestor: ancestor, m: m};\n cs.isSuperCall = true;\n return cs;\n })(property);\n\n advice.methodName = \"$super:\" + (this.superclass ? this.superclass.type + \">>\" : \"\") + property;\n\n value = Object.extend(advice.wrap(method), {\n valueOf: function() { return method },\n toString: function() { return method.toString() },\n originalFunction: method,\n methodName: advice.methodName,\n isSuperWrapper: true\n });\n // for lively.Closures\n method.varMapping = {$super: advice};\n })();\n }\n\n this.prototype[property] = value;\n\n if (property === \"formals\") { // rk FIXME remove this cruft\n // special property (used to be pins, but now called formals to disambiguate old and new style\n Class.addPins(this, value);\n } else if (Object.isFunction(value)) {\n // remember name for profiling in WebKit\n value.displayName = className + \"$\" + property;\n\n // remember where it was defined\n if (Global.lively && lively.lang && lively.lang.Namespace)\n value.sourceModule = lively.lang.Namespace.current();\n\n for (; value; value = value.originalFunction) {\n if (value.methodName) {\n //console.log(\"class \" + this.prototype.constructor.type\n // + \" borrowed \" + value.qualifiedMethodName());\n }\n value.declaredClass = this.prototype.constructor.type;\n value.methodName = property;\n }\n }\n } // end of for (var property in source)\n\n return this;\n },\n\n\n addProperties: function(spec, recordType) {\n Class.addMixin(this, recordType.prototype.create(spec).prototype);\n },\n\n isSubclassOf: function(aClass) {\n return this.superclasses().include(aClass);\n },\n\n allSubclasses: function() {\n var klass = this;\n return Global.classes(true).select(function(ea) { return ea.isSubclassOf(klass) });\n },\n withAllSubclasses: function() { return [this].concat(this.allSubclasses()) },\n\n\n directSubclasses: function() {\n var klass = this;\n return Global.classes(true).select(function(ea) { return ea.superclass === klass });\n },\n\n withAllSortedSubclassesDo: function(func) {\n // this method iterates func on all subclasses of klass (including klass)\n // it is ensured that the klasses are sorted by a) subclass relationship and b) name (not type!)\n // func gets as parameters: 1) the class 2) index in list 3) level of inheritance\n // compared to klass (1 for direct subclasses and so on)\n\n function createSortedSubclassList(klass, level) {\n var list = klass.directSubclasses()\n .sortBy(function(ea) { return ea.name.charCodeAt(0) })\n .collect(function(subclass) { return createSortedSubclassList(subclass, level + 1) })\n .flatten();\n return [{klass: klass, level: level}].concat(list)\n }\n\n return createSortedSubclassList(this, 0).collect(function(spec, idx) { return func(spec.klass, idx, spec.level) })\n },\n\n superclasses: function() {\n if (!this.superclass) return [];\n if (this.superclass === Object) return [Object];\n return this.superclass.superclasses().concat([this.superclass]);\n },\n\n categoryNameFor: function(propName) {\n for (var categoryName in this.categories) {\n if (this.categories[categoryName].include(propName)) {\n return categoryName;\n }\n }\n return null;\n },\n remove: function() {\n var ownerNamespace = Class.namespaceFor(this.type),\n ownName = Class.unqualifiedNameFor(this.type);\n delete ownerNamespace[ownName];\n },\n\n});\n\nvar Class = {\n\n anonymousCounter: 0,\n\n initializerTemplate: (function CLASS(){ Class.initializer.apply(this, arguments) }).toString(),\n\n newInitializer: function(name) {\n // this hack ensures that class instances have a name\n return eval(Class.initializerTemplate.replace(/CLASS/g, name) + \";\" + name);\n },\n\n initializer: function initializer() {\n var firstArg = arguments[0];\n // maybe special initialization required\n if (firstArg && firstArg.isImporter) {\n this.deserialize.apply(this, arguments);\n } else if (firstArg && firstArg.isCopier) {\n this.copyFrom.apply(this, arguments);\n } else if (firstArg && firstArg.isInstanceRestorer) {\n // just do nothing\n // for WebCards and other JSON-based dersialization logic\n } else {\n // if this.initialize is undefined then prolly the constructor was called without 'new'\n this.initialize.apply(this, arguments);\n }\n },\n\n def: function Class$def(constr, superConstr, optProtos, optStatics) {\n // currently not used\n // Main method of the LK class system.\n\n // {className} is the name of the new class constructor which this method synthesizes\n // and binds to {className} in the Global namespace.\n // Remaining arguments are (inline) properties and methods to be copied into the prototype\n // of the newly created constructor.\n\n // modified from prototype.js\n\n var klass = Class.newInitializer(\"klass\");\n klass.superclass = superConstr;\n\n var protoclass = function() { }; // that's the constructor of the new prototype object\n protoclass.prototype = superConstr.prototype;\n\n klass.prototype = new protoclass();\n\n // Object.extend(klass.prototype, constr.prototype);\n klass.prototype.constructor = klass;\n var className = constr.name; // getName()\n klass.addMethods({initialize: constr});\n // KP: .name would be better but js ignores .name on anonymous functions\n klass.type = className;\n\n\n if (optProtos) klass.addMethods(optProtos);\n if (optStatics) Object.extend(klass, optStatics);\n\n Global[className] = klass;\n return klass;\n },\n\n isValidIdentifier: function(str) {\n return /^(?:[a-zA-Z_][\\w\\-]*[.])*[a-zA-Z_][\\w\\-]*$/.test(str);\n },\n\n isClass: function Class$isClass(object) {\n if (object === Object\n || object === Array\n || object === Function\n || object === String\n || object === Number) {\n return true;\n }\n return (object instanceof Function) && (object.superclass !== undefined);\n },\n\n className: function Class$className(cl) {\n if (cl === Object) return \"Object\"\n if (cl === Array) return \"Array\"\n if (cl === Function) return \"Function\"\n if (cl === String) return \"String\"\n if (cl === Number) return \"Number\"\n return cl.type;\n },\n\n forName: function forName(name) {\n // lookup the class object given the qualified name\n var ns = Class.namespaceFor(name),\n shortName = Class.unqualifiedNameFor(name);\n return ns[shortName];\n },\n\n deleteObjectNamed: function Class$deleteObjectNamed(name) {\n var ns = Class.namespaceFor(name),\n shortName = Class.unqualifiedNameFor(name);\n delete ns[shortName];\n },\n\n unqualifiedNameFor: function Class$unqualifiedNameFor(name) {\n var lastDot = name.lastIndexOf('.'), // lastDot may be -1\n unqualifiedName = name.substring(lastDot + 1);\n if (!Class.isValidIdentifier(unqualifiedName)) throw new Error('not a name ' + unqualifiedName);\n return unqualifiedName;\n },\n\n namespaceFor: function Class$namespaceFor(className) {\n // get the namespace object given the qualified name\n var lastDot = className ? className.lastIndexOf('.') : -1;\n if (lastDot < 0) return Global;\n else return namespace(className.substring(0, lastDot));\n },\n\n withAllClassNames: function Class$withAllClassNames(scope, callback) {\n for (var name in scope) {\n try {\n if (Class.isClass(scope[name]))\n callback(name);\n } catch (er) { // FF exceptions\n }\n }\n callback(\"Object\");\n callback(\"Global\");\n },\n\n makeEnum: function Class$makeEnum(strings) {\n // simple mechanism for making objecs with property values set to\n // property names, to be used as enums.\n\n var e = {};\n for (var i = 0; i < strings.length; i++) {\n e[strings[i]] = strings[i];\n }\n return e;\n },\n\n getConstructor: function Class$getConstructor(object) {\n var c = object.constructor;\n return (c && c.getOriginal) ? c.getOriginal() : c;\n },\n\n getPrototype: function Class$getPrototype(object) {\n return this.getConstructor(object).prototype;\n },\n\n applyPrototypeMethod: function Class$applyPrototypeMethod(methodName, target, args) {\n var method = this.getPrototype(target);\n if (!method) throw new Error(\"method \" + methodName + \" not found\");\n return method.apply(this, args);\n },\n\n getSuperConstructor: function Class$getSuperConstructor(object) {\n return this.getConstructor(object).superclass;\n },\n\n getSuperPrototype: function Class$getSuperPrototype(object) {\n var sup = this.getSuperConstructor(object);\n return sup && sup.prototype;\n },\n\n addPins: function Class$addPins(cls, spec) {\n if (Global.Relay) {\n Class.addMixin(cls, Relay.newDelegationMixin(spec).prototype);\n return;\n }\n // this is for refactoring away from Relay and friends\n if (!Object.isArray(spec)) throw new Error('Cannot deal with non-Array spec in addPins');\n function unstripName(name) { return name.replace(/[\\+|\\-]?(.*)/, '$1') };\n function needsSetter(name) { return !name.startsWith('-') };\n function needsGetter(name) { return !name.startsWith('+') };\n var mixinSpec = {};\n spec.forEach(function(specString) {\n var name = unstripName(specString);\n if (needsSetter(specString))\n mixinSpec['set' + name] = function(value) { return this['_' + name] = value }\n if (needsGetter(specString))\n mixinSpec['get' + name] = function() { return this['_' + name] }\n })\n Class.addMixin(cls, mixinSpec);\n },\n\n addMixin: function Class$addMixin(cls, source) {\n var spec = {};\n for (var prop in source) {\n var value = source[prop];\n switch (prop) {\n case \"constructor\": case \"initialize\": case \"deserialize\": case \"copyFrom\":\n case \"toString\": case \"definition\": case \"description\":\n break;\n default:\n if (cls.prototype[prop] === undefined) // do not override existing values!\n spec[prop] = value;\n }\n }\n cls.addMethods(spec);\n },\n\n};\n\nObject.subclass('Namespace',\n'initializing', {\n\n initialize: function(context, nsName) {\n this.namespaceIdentifier = context.namespaceIdentifier + '.' + nsName;\n this.createTime = new Date();\n },\n},\n'accessing', {\n gather: function(selector, condition, recursive) {\n var result = Object.values(this).select(function(ea) { return condition.call(this, ea) }, this);\n if (!recursive) return result;\n return this.subNamespaces().inject(result, function(result, ns) { return result.concat(ns[selector](true)) });\n },\n\n subNamespaces: function(recursive) {\n return this.gather(\n 'subNamespaces',\n function(ea) { return (ea instanceof lively.lang.Namespace || ea === Global) && ea !== this },\n recursive);\n },\n\n classes: function(recursive) {\n var normalClasses = this.gather(\n 'classes',\n function(ea) { return ea && ea !== this.constructor && Class.isClass(ea) },\n recursive);\n if (this === Global)\n return [Array, Number, String, Function].concat(normalClasses);\n return normalClasses;\n },\n\n functions: function(recursive) {\n return this.gather(\n 'functions',\n function(ea) { return ea\n && !Class.isClass(ea)\n && Object.isFunction(ea)\n && !ea.declaredClass\n && this.requires !== ea\n && ea.getOriginal() === ea },\n recursive);\n },\n\n});\n\n// let Glabal act like a namespace itself\nObject.extend(Global, Namespace.prototype);\nObject.extend(Global, {\n namespaceIdentifier: 'Global',\n isLoaded: Functions.True,\n});\n\nNamespace.addMethods(\n'properties', {\n isLivelyModule: true,\n},\n'initializing', {\n beAnonymous: function() {\n this._isAnonymous = true;\n this.sourceModuleName = lively.lang.Namespace.current().namespaceIdentifier;\n return this;\n },\n},\n'accessing', { // module specific, should be a subclass?\n\n name: function() {\n var identifier = this.namespaceIdentifier,\n globalIdStart = 'Global.';\n if (identifier.startsWith(globalIdStart)) {\n identifier = identifier.substring(globalIdStart.length);\n }\n return identifier;\n },\n\n findUri: function(optFileType) {\n var fileType = optFileType || 'js',\n fileExtension = '.' + fileType,\n namespacePrefix;\n if (this.namespaceIdentifier.startsWith('Global.')) {\n namespacePrefix = 'Global.';\n } else {\n throw dbgOn(new Error('unknown namespaceIdentifier'));\n }\n var relativePath = this.namespaceIdentifier\n .substr(namespacePrefix.length)\n .replace(/\\./g, '/');\n if (!relativePath.match(/\\.js$/)) {\n relativePath += fileExtension;\n }\n var uri = '';\n lively.Config.modulePaths.forEach(function(ea) {\n if (relativePath.substring(0, ea.length) == ea) {\n uri = lively.Config.rootPath + relativePath;\n }\n });\n if (uri == '') {\n uri = lively.Config.codeBase + relativePath;\n }\n return uri;\n },\n\n uri: function(optType) { // FIXME cleanup necessary\n if (this.__cachedUri && !optType) { return this.__cachedUri; }\n var url;\n if (this.fromDB) {\n var id = this.namespaceIdentifier; // something like lively.Core\n var namespacePrefix;\n if (id.startsWith('Global.')) {\n namespacePrefix = 'Global.';\n id = id.substring(7);\n } else\n throw dbgOn(new Error('unknown namespaceIdentifier'));\n\n // FIXME: extract to lively.Config.codeBaseDB\n url = lively.Config.couchDBURL + '/' + this.fromDB + '/_design/raw_data/_list/javascript/for-module?module=' + id;\n this.__cachedUri = url;\n return url;\n } else {\n var id = this.namespaceIdentifier; // something like lively.Core\n var namespacePrefix;\n if (!this.isAnonymous()) {\n url = this.findUri(optType);\n } else {\n if (id.startsWith('Global.')) namespacePrefix = 'Global.';\n else throw dbgOn(new Error('unknown namespaceIdentifier'));\n url = lively.Config.codeBase + this.namespaceIdentifier.substr(namespacePrefix.length).replace(/\\./g, '/');\n }\n\n this.__cachedUri = url;\n return url;\n }\n },\n relativePath: function(optType) {\n return new URL(this.uri(optType)).relativePathFrom(URL.codeBase);\n },\n\n lastPart: function() {\n return this.name().match(/[^.]+$/)[0];\n }\n\n},\n'module dependencies', {\n addDependendModule: function(depModule) {\n if (!this.dependendModules) this.dependendModules = [];\n this.dependendModules.push(depModule);\n\n // keep a copy of the dependencies for debugging\n if (!this.debugDependendModules) this.debugDependendModules = [];\n this.debugDependendModules.push(depModule);\n },\n\n informDependendModules: function() {\n if (!this.dependendModules) return;\n var deps = this.dependendModules.uniq();\n this.dependendModules = [];\n deps.forEach(function(ea) { ea.removeRequiredModule(this) }, this);\n },\n\n traceDependendModules: function(visited) {\n visited = visited || [];\n var deps = this.debugDependendModules || [];\n deps = deps.withoutAll(visited)\n visited.push(this);\n return [this.namespaceIdentifier, deps.collect(function(ea) {\n return ea.traceDependendModules(visited)\n })]\n },\n\n addRequiredModule: function(requiredModule) {\n // privateRequirements is just for keeping track later on\n if (!this.privateRequirements) this.privateRequirements = [];\n this.privateRequirements.push(requiredModule);\n\n if (requiredModule.isLoaded()) return;\n if (!this.pendingRequirements) this.pendingRequirements = [];\n this.pendingRequirements.push(requiredModule);\n requiredModule.addDependendModule(this);\n },\n\n removeRequiredModule: function(requiredModule) {\n if (this.pendingRequirements && !this.pendingRequirements.include(requiredModule))\n throw dbgOn(new Error('requiredModule not there'));\n this.pendingRequirements = this.pendingRequirements.without(requiredModule);\n if (!this.hasPendingRequirements()) {\n this.load();\n }\n },\n\n pendingRequirementNames: function() {\n if (!this.pendingRequirements) return [];\n return this.pendingRequirements.collect(function(ea) { return ea.uri() });\n },\n\n hasPendingRequirements: function() {\n return this.pendingRequirements && this.pendingRequirements.length > 0;\n },\n\n loadRequirementsFirst: function() {\n this.pendingRequirements && this.pendingRequirements.invoke('load');\n },\n\n wasRequiredBy: function() {\n return Global.subNamespaces(true).select(function(m) {\n return m.privateRequirements && m.privateRequirements.include(this);\n }, this);\n },\n},\n'load callbacks', {\n addOnloadCallback: function(cb) {\n if (!this.callbacks) this.callbacks = [];\n this.callbacks.push(cb);\n },\n\n runOnloadCallbacks: function() {\n if (!this.callbacks) return;\n var cb;\n while (cb = this.callbacks.shift()) {\n try {cb()} catch(e) {\n this.logError('runOnloadCallbacks: ' + cb.name + ': ' + e);\n throw e\n }\n };\n },\n\n isAnonymous: function() {\n return this._isAnonymous\n },\n\n},\n'testing', {\n isLoaded: function() {\n return this._isLoaded;\n },\n\n isLoading: function() {\n if (this.isLoaded()) return false;\n if (this.uri().include('anonymous')) return true;\n return JSLoader.scriptInDOM(this.uri());\n },\n\n isAnonymous: function() {\n return this._isAnonymous\n },\n\n},\n'loading', {\n load: function(loadSync) {\n if (loadSync) {\n var prevWasSync = this.constructor.loadSync;\n this.constructor.loadSync = true;\n }\n if (this.isLoaded()) {\n this.runOnloadCallbacks();\n return;\n }\n if (this.isLoading() && this.wasDefined && !this.hasPendingRequirements()) {\n this.runOnloadCallbacks();\n // time is not only the time needed for the request and code evaluation\n // but the complete time span from the creation of the module (when the module is first encountered)\n // to evaluation the evaluation of its code, including load time of all requirements\n var time = this.createTime ? new Date() - this.createTime : 'na';\n console.log(this.uri() + ' loaded in ' + time + ' ms');\n this.informDependendModules();\n return;\n }\n if (this.isLoading()) {\n this.loadRequirementsFirst();\n return;\n }\n JSLoader.loadJs(this.uri(), null, this.constructor.loadSync);\n if (loadSync) this.constructor.loadSync = prevWasSync;\n },\n\n activate: function() {\n this.constructor.namespaceStack.push(this);\n },\n\n deactivate: function() {\n var m = this.constructor.namespaceStack.pop();\n if (m !== this)\n throw new Error('Wrong module: ' + this.namespaceIdentifier +\n ' instead of expected ' + m.namespaceIdentifier )\n },\n},\n'removing', {\n remove: function() {\n var ownerNamespace = Class.namespaceFor(this.namespaceIdentifier),\n ownName = Class.unqualifiedNameFor(this.namespaceIdentifier)\n JSLoader.removeAllScriptsThatLinkTo(this.uri());\n delete ownerNamespace[ownName];\n },\n removeScriptNode: function() {\n var node = document.getElementById(this.uri());\n if (!node) return\n node.parentNode.removeChild(node);\n },\n},\n'debugging', {\n toString: function() { return 'module(' + this.namespaceIdentifier + ')' },\n inspect: function() { this.toString() + ' defined at ' + this.defStack },\n logError: function(e, optCode) {\n var list = this.traceDependendModules();\n var msg = 'Error while loading ' + this.moduleName + ': ' + e;\n msg += '\\ndependencies: ' + Strings.printNested(list)\n if (Global.lively && lively.morphic && lively.morphic.World && lively.morphic.World.current() && lively.morphic.World.current().logError)\n lively.morphic.World.current().logError(e)\n\n if (e.stack) msg = msg + e.stack;\n\n if (optCode)\n msg += \"code:\\n\" + optCode;\n console.error(msg);\n dbgOn(true);\n },\n});\n\nObject.extend(Namespace, {\n namespaceStack: [Global],\n current: function() { return this.namespaceStack.last() },\n topologicalSortLoadedModules: function() {\n if (lively.Config.standAlone) {\n var scripIds = [];\n $('body script').each(function() { scripIds.push($(this).attr('id')) });\n return scripIds.collect(function(id) {\n var name = id.replace(/^..\\//, '');\n return module(name);\n });\n }\n\n // get currently loaded modules that really are js files\n var modules = Global.subNamespaces(true)\n .reject(function(ea) { return ea.isAnonymous(); })\n .select(function(ea) {\n return ea.isLoaded() && new WebResource(ea.uri()).exists() });\n\n // topological sort modules according to their requirements\n var sortedModules = [], i = 0;\n while (i < 1000 && modules.length > 0) {\n i++;\n var canBeLoaded = modules.select(function(module) {\n if (!module.privateRequirements) return true;\n return module.privateRequirements.all(function(requirement) {\n return sortedModules.include(requirement) })\n })\n sortedModules = sortedModules.concat(canBeLoaded);\n modules = modules.withoutAll(canBeLoaded);\n }\n if (modules.length > 0)\n throw new Error('Cannot find dependencies for all modules!');\n\n return sortedModules;\n },\n\n bootstrapModules: function() {\n // return a string to include in bootstrap.js\n var urls = this.topologicalSortLoadedModules()\n .collect(function(ea) { return new URL(ea.uri()).relativePathFrom(URL.codeBase) })\n // omit modules outside of core\n .reject(function(path) { return path.startsWith('..') });\n var manual = [LivelyLoader.libsFile,\n 'lively/Migration.js',\n 'lively/JSON.js',\n 'lively/lang/Object.js',\n 'lively/lang/Function.js',\n 'lively/lang/String.js',\n 'lively/lang/Array.js',\n 'lively/lang/Number.js',\n 'lively/lang/Date.js',\n 'lively/defaultconfig.js',\n 'lively/localconfig.js',\n 'lively/Base.js',\n 'lively/lang/Closure.js', // FIXME: require module instead\n 'lively/lang/UUID.js', // FIXME: require module instead\n 'lively/LocalStorage.js'];\n urls = manual.concat(urls);\n return urls;\n },\n\n bootstrapModulesString: function() {\n var urls = this.bootstrapModules();\n return '[\\'' + urls.join('\\', \\'') + '\\']';\n }\n});\n\n(function createLivelyNamespace(Global) {\n // namespace('lively.lang');\n var preExistingLively = Global.lively;\n delete Global.lively;\n var lively = new Global.Namespace(Global, 'lively');\n // FIXME this is just a hack to get properties of a potentially\n // predefined \"lively\" object over to the namespace lively object\n // namespaces should deal with this in general\n if (preExistingLively) {\n for (var name in preExistingLively) {\n lively[name] = preExistingLively[name];\n }\n }\n Global.lively = lively;\n})(Global);\n\n(function moveNamespaceClassToLivelyLang(Global) {\n var lively = Global.lively,\n Namespace = Global.Namespace;\n lively.lang = new Namespace(lively, 'lang');\n lively.lang.Namespace = Namespace;\n // alias\n lively.Module = lively.lang.Namespace;\n delete Global.Namespace;\n})(Global);\n\n(function addUsefulStuffToLivelyNS(Global, lively) {\n lively.assert = Global.assert;\n})(Global, lively);\n\nObject.extend(lively.Module, {\n findAllInThenDo: function(url, callback) {\n var dir = new URL(url).getDirectory();\n if (url.isLeaf()) {\n throw new Error(url + ' is not a directory!');\n }\n var webR = dir.asWebResource();\n lively.bindings.connect(webR, 'subDocuments', {onLoad: function(files) {\n var moduleNames = files.invoke('getURL') .invoke('asModuleName'),\n modules = moduleNames.collect(function(name) { return module(name); })\n callback(modules);\n }}, 'onLoad');\n webR.getSubElements();\n }\n});\n\n(function setupLivelyLang(lively) {\n lively.lang.Execution = {\n showStack: Functions.Null,\n resetDebuggingStack: Functions.Null,\n installStackTracers: Functions.Null\n };\n lively.lang.let = function(/** **/) {\n // lively.lang.let(y, function(x) { body }) is equivalent to { let y = x; body; }\n return arguments[arguments.length - 1].apply(this, arguments);\n }\n})(lively);\n\n/*\n * Stack Viewer when Dan's StackTracer is not available\n * FIXME rk: move this to Helper.js?\n */\nfunction getStack() {\n var result = [];\n for(var caller = arguments.callee.caller; caller; caller = caller.caller) {\n if (result.indexOf(caller) != -1) {\n result.push({name: \"recursive call can't be traced\"});\n break;\n }\n result.push(caller);\n };\n return result;\n};\n\nfunction printStack() {\n function guessFunctionName(func) {\n var qName = func.qualifiedMethodName && func.qualifiedMethodName(),\n regExpRes = func.toString().match(/function (.+)\\(/);\n return qName || (regExpRes && regExpRes[1]) || func;\n };\n\n var string = \"== Stack ==\\n\",\n stack = getStack();\n stack.shift(); // for getStack\n stack.shift(); // for printStack (me)\n var indent = \"\";\n for (var i=0; i < stack.length; i++) {\n string += indent + i + \": \" +guessFunctionName(stack[i]) + \"\\n\";\n indent += \" \";\n };\n return string;\n};\n\nfunction logStack() {\n this.console.log(printStack());\n};\n\n(function setupjQuery(Global) {\n var lively = Global.lively,\n jQuery = Global.jQuery;\n // we still are adding jQuery to Global but this is DEPRECATED\n // We need to be able to run with libraries requiring different jQuery versions\n // so we will restrict \"our\" to lively.$ in the future\n Global.$ = lively.$ = jQuery.noConflict(/*true -- really removes $*/);\n})(Global);","inspector":{"__isSmartRef__":true,"id":11},"parent":{"__isSmartRef__":true,"id":69},"name":"textString","description":"/* * Copyright (c) 2006-2009 Sun Mic...","attributeConnections":[{"__isSmartRef__":true,"id":3236}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3277}},"3236":{"sourceObj":{"__isSmartRef__":true,"id":3235},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":3237},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":3276},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3237":{"item":{"__isSmartRef__":true,"id":3235},"parent":{"__isSmartRef__":true,"id":1366},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":3238}],"scripts":[],"shape":{"__isSmartRef__":true,"id":3271},"eventHandler":{"__isSmartRef__":true,"id":3272},"_ClipMode":"visible","derivationIds":[],"id":"4720E305-171A-4CAE-AAAC-7B907F0D92F6","droppingEnabled":true,"halosEnabled":true,"layout":{"__isSmartRef__":true,"id":3273},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":3239},"label":{"__isSmartRef__":true,"id":3252},"node":{"__isSmartRef__":true,"id":3238},"owner":{"__isSmartRef__":true,"id":1366},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,720.0)"},"3238":{"submorphs":[{"__isSmartRef__":true,"id":3239},{"__isSmartRef__":true,"id":3252}],"scripts":[],"shape":{"__isSmartRef__":true,"id":3267},"eventHandler":{"__isSmartRef__":true,"id":3268},"_ClipMode":"visible","derivationIds":[],"id":"181A0400-A2E9-4735-A8FA-E185663F1DC6","droppingEnabled":true,"halosEnabled":true,"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":3269},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":3237},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"3239":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3240},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":3241}],"eventHandler":{"__isSmartRef__":true,"id":3243},"_ClipMode":"visible","derivationIds":[],"id":"F8BDCCC2-057C-47DC-ADE9-D0E51E48B383","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":3238},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3244},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"3240":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"3241":{"style":{"__isSmartRef__":true,"id":3242},"chunkOwner":{"__isSmartRef__":true,"id":3239},"_id":"_20803","storedString":"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3242":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3243":{"morph":{"__isSmartRef__":true,"id":3239},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3244":{"onMouseDown":{"__isSmartRef__":true,"id":3245}},"3245":{"varMapping":{"__isSmartRef__":true,"id":3246},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3251},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3246":{"this":{"__isSmartRef__":true,"id":3239},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3247}},"3247":{"$super":{"__isSmartRef__":true,"id":3248}},"3248":{"varMapping":{"__isSmartRef__":true,"id":3249},"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":3250},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3249":{"obj":{"__isSmartRef__":true,"id":3239},"name":"onMouseDown"},"3250":{},"3251":{},"3252":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3253},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":3254},{"__isSmartRef__":true,"id":3256}],"eventHandler":{"__isSmartRef__":true,"id":3258},"_ClipMode":"visible","derivationIds":[],"id":"51F8989B-3618-4230-86BC-D6073A707274","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":3238},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3259},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"3253":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(293.0,16.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"3254":{"style":{"__isSmartRef__":true,"id":3255},"chunkOwner":{"__isSmartRef__":true,"id":3252},"_id":"_39807","storedString":"textString","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3255":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3256":{"style":{"__isSmartRef__":true,"id":3257},"chunkOwner":{"__isSmartRef__":true,"id":3252},"_id":"_39808","storedString":" /* * Copyright (c) 2006-2009 Sun Mic...","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3257":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"3258":{"morph":{"__isSmartRef__":true,"id":3252},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3259":{"onMouseDown":{"__isSmartRef__":true,"id":3260}},"3260":{"varMapping":{"__isSmartRef__":true,"id":3261},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3266},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3261":{"this":{"__isSmartRef__":true,"id":3252},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3262}},"3262":{"$super":{"__isSmartRef__":true,"id":3263}},"3263":{"varMapping":{"__isSmartRef__":true,"id":3264},"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":3265},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3264":{"obj":{"__isSmartRef__":true,"id":3252},"name":"onMouseDown"},"3265":{},"3266":{},"3267":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"3268":{"morph":{"__isSmartRef__":true,"id":3238},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3269":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":3270}},"3270":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":3238},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"3271":{"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"3272":{"morph":{"__isSmartRef__":true,"id":3237},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3273":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":3274}},"3274":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":3275},"spacing":0,"container":{"__isSmartRef__":true,"id":3237},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"3275":{"top":0,"right":0,"bottom":0,"left":0},"3276":{"source":{"__isSmartRef__":true,"id":3235},"target":{"__isSmartRef__":true,"id":3237}},"3277":{"onSelect":{"__isSmartRef__":true,"id":3278},"onUpdate":{"__isSmartRef__":true,"id":3281}},"3278":{"varMapping":{"__isSmartRef__":true,"id":3279},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":3280},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3279":{"this":{"__isSmartRef__":true,"id":3235}},"3280":{},"3281":{"varMapping":{"__isSmartRef__":true,"id":3282},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":3283},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3282":{"this":{"__isSmartRef__":true,"id":3235}},"3283":{},"3284":{"inspector":{"__isSmartRef__":true,"id":11},"doNotSerialize":["data","$$changed"],"name":"","description":"inherited from lively.morphic.Text","children":[],"attributeConnections":[{"__isSmartRef__":true,"id":3285}],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3326}},"3285":{"sourceObj":{"__isSmartRef__":true,"id":3284},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":3286},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":3325},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3286":{"item":{"__isSmartRef__":true,"id":3284},"parent":{"__isSmartRef__":true,"id":1366},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":3287}],"scripts":[],"shape":{"__isSmartRef__":true,"id":3320},"eventHandler":{"__isSmartRef__":true,"id":3321},"_ClipMode":"visible","derivationIds":[],"id":"079D1C53-709E-406C-84E9-6891C2682397","droppingEnabled":true,"halosEnabled":true,"layout":{"__isSmartRef__":true,"id":3322},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":3288},"label":{"__isSmartRef__":true,"id":3301},"node":{"__isSmartRef__":true,"id":3287},"owner":{"__isSmartRef__":true,"id":1366},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,740.0)"},"3287":{"submorphs":[{"__isSmartRef__":true,"id":3288},{"__isSmartRef__":true,"id":3301}],"scripts":[],"shape":{"__isSmartRef__":true,"id":3316},"eventHandler":{"__isSmartRef__":true,"id":3317},"_ClipMode":"visible","derivationIds":[],"id":"980FB4D5-3206-4A02-ABDA-39EC0C4E76E0","droppingEnabled":true,"halosEnabled":true,"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":3318},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":3286},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"3288":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3289},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":3290}],"eventHandler":{"__isSmartRef__":true,"id":3292},"_ClipMode":"visible","derivationIds":[],"id":"67384977-EF11-42BC-869F-1DE41B0E0872","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":3287},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3293},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"3289":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"3290":{"style":{"__isSmartRef__":true,"id":3291},"chunkOwner":{"__isSmartRef__":true,"id":3288},"_id":"_20808","storedString":"►","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3291":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3292":{"morph":{"__isSmartRef__":true,"id":3288},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3293":{"onMouseDown":{"__isSmartRef__":true,"id":3294}},"3294":{"varMapping":{"__isSmartRef__":true,"id":3295},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3300},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3295":{"this":{"__isSmartRef__":true,"id":3288},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3296}},"3296":{"$super":{"__isSmartRef__":true,"id":3297}},"3297":{"varMapping":{"__isSmartRef__":true,"id":3298},"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":3299},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3298":{"obj":{"__isSmartRef__":true,"id":3288},"name":"onMouseDown"},"3299":{},"3300":{},"3301":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3302},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":3303},{"__isSmartRef__":true,"id":3305}],"eventHandler":{"__isSmartRef__":true,"id":3307},"_ClipMode":"visible","derivationIds":[],"id":"93270A4E-3948-4EF0-B6EC-0F5B44AE1AFE","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":3287},"__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3308},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"3302":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(205.0,16.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"3303":{"style":{"__isSmartRef__":true,"id":3304},"chunkOwner":{"__isSmartRef__":true,"id":3301},"_id":"_39809","storedString":"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3304":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3305":{"style":{"__isSmartRef__":true,"id":3306},"chunkOwner":{"__isSmartRef__":true,"id":3301},"_id":"_39810","storedString":" inherited from lively.morphic.Text","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3306":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"3307":{"morph":{"__isSmartRef__":true,"id":3301},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3308":{"onMouseDown":{"__isSmartRef__":true,"id":3309}},"3309":{"varMapping":{"__isSmartRef__":true,"id":3310},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3315},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3310":{"this":{"__isSmartRef__":true,"id":3301},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3311}},"3311":{"$super":{"__isSmartRef__":true,"id":3312}},"3312":{"varMapping":{"__isSmartRef__":true,"id":3313},"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":3314},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3313":{"obj":{"__isSmartRef__":true,"id":3301},"name":"onMouseDown"},"3314":{},"3315":{},"3316":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"3317":{"morph":{"__isSmartRef__":true,"id":3287},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3318":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":3319}},"3319":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":3287},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"3320":{"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"3321":{"morph":{"__isSmartRef__":true,"id":3286},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3322":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":3323}},"3323":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":3324},"spacing":0,"container":{"__isSmartRef__":true,"id":3286},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"3324":{"top":0,"right":0,"bottom":0,"left":0},"3325":{"source":{"__isSmartRef__":true,"id":3284},"target":{"__isSmartRef__":true,"id":3286}},"3326":{"onExpand":{"__isSmartRef__":true,"id":3327},"onUpdateChildren":{"__isSmartRef__":true,"id":3330},"onUpdate":{"__isSmartRef__":true,"id":3333}},"3327":{"varMapping":{"__isSmartRef__":true,"id":3328},"source":"function onExpand() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":3329},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3328":{"this":{"__isSmartRef__":true,"id":3284}},"3329":{},"3330":{"varMapping":{"__isSmartRef__":true,"id":3331},"source":"function onUpdateChildren() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":3332},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3331":{"this":{"__isSmartRef__":true,"id":3284}},"3332":{},"3333":{"varMapping":{"__isSmartRef__":true,"id":3334},"source":"function onUpdate() {\n this.description = \"inherited from \" + this.inspector.typename(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":3335},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3334":{"this":{"__isSmartRef__":true,"id":3284}},"3335":{},"3336":{"onSelect":{"__isSmartRef__":true,"id":3337},"onExpand":{"__isSmartRef__":true,"id":3340},"onUpdateChildren":{"__isSmartRef__":true,"id":3343},"onUpdate":{"__isSmartRef__":true,"id":3346}},"3337":{"varMapping":{"__isSmartRef__":true,"id":3338},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":3339},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3338":{"this":{"__isSmartRef__":true,"id":1367}},"3339":{},"3340":{"varMapping":{"__isSmartRef__":true,"id":3341},"source":"function onExpand() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":3342},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3341":{"this":{"__isSmartRef__":true,"id":1367}},"3342":{},"3343":{"varMapping":{"__isSmartRef__":true,"id":3344},"source":"function onUpdateChildren() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":3345},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3344":{"this":{"__isSmartRef__":true,"id":1367}},"3345":{},"3346":{"varMapping":{"__isSmartRef__":true,"id":3347},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":3348},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3347":{"this":{"__isSmartRef__":true,"id":1367}},"3348":{},"3349":{"_NodeClass":["tree"],"_NodeId":"morph-01a6356e-c15d-4f8d-bbb6-8680b231177d","_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(354.0,760.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"3350":{"morph":{"__isSmartRef__":true,"id":1366},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3351":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":3352}},"3352":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":3353},"spacing":0,"container":{"__isSmartRef__":true,"id":1366},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"3353":{"top":0,"right":0,"bottom":0,"left":0},"3354":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3355},"derivationIds":[null],"id":"29A6219C-55DE-4ECC-9C26-6C13549D3D32","_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":3356}],"eventHandler":{"__isSmartRef__":true,"id":3358},"_ClipMode":"visible","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":false,"fixedWidth":true,"fixedHeight":true,"_InputAllowed":false,"allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"_HandStyle":"default","_Align":"right","owner":{"__isSmartRef__":true,"id":3359},"_MaxTextWidth":2,"_MinTextWidth":2,"_MaxTextHeight":null,"_MinTextHeight":null,"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(0.0,0.0)"},"3355":{"_BorderWidth":0,"_Fill":null,"_NodeClass":["morph","text"],"_NodeId":"morph-29a6219c-55de-4ecc-9c26-6c13549d3d32","__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"3356":{"style":{"__isSmartRef__":true,"id":3357},"chunkOwner":{"__isSmartRef__":true,"id":3354},"_id":"_20627","storedString":"▼","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3357":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3358":{"morph":{"__isSmartRef__":true,"id":3354},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3359":{"submorphs":[{"__isSmartRef__":true,"id":3354},{"__isSmartRef__":true,"id":3360}],"scripts":[],"shape":{"__isSmartRef__":true,"id":3365},"derivationIds":[null],"id":"2AEC3E2F-CB91-46F1-B8C1-8D35A130458F","eventHandler":{"__isSmartRef__":true,"id":3366},"_ClipMode":"visible","droppingEnabled":true,"halosEnabled":true,"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":3367},"isInLayoutCycle":false,"owner":null,"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Morph","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"3360":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3361},"derivationIds":[null],"id":"6978CD3E-475C-4D72-8FFC-4EE1D72E5A57","_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":3362}],"cachedTextString":"undefined","eventHandler":{"__isSmartRef__":true,"id":3364},"_ClipMode":"visible","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":false,"fixedWidth":false,"fixedHeight":true,"_InputAllowed":false,"allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"_HandStyle":"default","owner":{"__isSmartRef__":true,"id":3359},"_MaxTextWidth":null,"_MinTextWidth":null,"_MaxTextHeight":null,"_MinTextHeight":null,"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(15.0,0.0)"},"3361":{"_BorderWidth":0,"_Fill":null,"_NodeClass":["morph","text"],"_NodeId":"morph-6978cd3e-475c-4d72-8ffc-4ee1d72e5a57","__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(99.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"3362":{"style":{"__isSmartRef__":true,"id":3363},"chunkOwner":{"__isSmartRef__":true,"id":3360},"_id":"_4928","storedString":"saved source","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3363":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3364":{"morph":{"__isSmartRef__":true,"id":3360},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3365":{"_NodeClass":["morph"],"_NodeId":"morph-2aec3e2f-cb91-46f1-b8c1-8d35a130458f","__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(115.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"3366":{"morph":{"__isSmartRef__":true,"id":3359},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3367":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":3368}},"3368":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":3359},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"3369":{"reset":{"__isSmartRef__":true,"id":3370}},"3370":{"varMapping":{"__isSmartRef__":true,"id":3371},"source":"function reset() {\n this.item = null;\n this.submorphs.invoke(\"remove\");\n this.childNodes = null;\n this.setExtent(pt(1,1));\n this.applyLayout();\n}","funcProperties":{"__isSmartRef__":true,"id":3372},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3371":{"this":{"__isSmartRef__":true,"id":1366}},"3372":{"timestamp":{"__isSmartRef__":true,"id":3373},"user":"cschuster","tags":[]},"3373":{"isSerializedDate":true,"string":"Wed May 30 2012 00:35:26 GMT+0200 (CEST)"},"3374":{"_BorderWidth":0,"_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(433.9,343.2)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(255,255,255)","_Padding":"lively.rect(0,0,0,0)"},"3375":{"partsSpaceName":"PartsBin/Basic","comment":"A simple box morph. A really blue one. Its amazing what you can build out of simple boxes.... Who needs stars when you got blue rectangles!","migrationLevel":4,"partName":"Rectangle","changes":[{"__isSmartRef__":true,"id":3376},{"__isSmartRef__":true,"id":3378},{"__isSmartRef__":true,"id":3380},{"__isSmartRef__":true,"id":3382},{"__isSmartRef__":true,"id":3384},{"__isSmartRef__":true,"id":3386}],"revisionOnLoad":163371,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"3376":{"date":{"__isSmartRef__":true,"id":3377},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"3377":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"3378":{"date":{"__isSmartRef__":true,"id":3379},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"3379":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"3380":{"date":{"__isSmartRef__":true,"id":3381},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"3381":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"3382":{"date":{"__isSmartRef__":true,"id":3383},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"3383":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"3384":{"date":{"__isSmartRef__":true,"id":3385},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"3385":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"3386":{"date":{"__isSmartRef__":true,"id":3387},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"3387":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"3388":{"morph":{"__isSmartRef__":true,"id":1365},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3389":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3390}},"3390":{"test01IsMorph":{"__isSmartRef__":true,"id":3391}},"3391":{"varMapping":{"__isSmartRef__":true,"id":3392},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":3393},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3392":{"this":{"__isSmartRef__":true,"id":3389}},"3393":{},"3394":{"resizeWidth":true,"resizeHeight":true},"3395":{"submorphs":[{"__isSmartRef__":true,"id":3396},{"__isSmartRef__":true,"id":3407}],"scripts":[],"shape":{"__isSmartRef__":true,"id":3412},"derivationIds":[null,"1DDF17DF-89F1-41AF-8FED-513C5DA4861F","34E9C329-CF65-4830-925D-B24B87EE3DF6","11A0A064-4A2C-4690-9636-6789C5696F63","35948438-B473-40F3-8AFF-7CEAAEAD2F48","9C44EA9A-7CD0-40B1-B44A-BD97126020A9","ED63BB10-E75E-41F7-B171-17FB2E70028A","2A26EF6F-B65C-4040-A343-0B563A6D23FD","1BC60F94-B9FA-4039-97F3-537564196FD9","1A3FCF3A-2B05-489C-A6A2-1BA668DD41C6","C5D0589C-A5E3-4EA4-8786-F69A01B8E54F","9018B830-2426-40E1-99E3-F8DD145D2907","8916D213-ED73-48BE-8C12-90AA950ECD3A","0EEEC303-0DA5-4A8A-9B2F-12D43E2AFEC2","756D8367-C492-435D-A58C-7777D259CAC9","0C785828-7A75-40B9-BA32-41E2E7BCF232","1CB7A529-70B5-4DB1-9A21-2DA7902316FC","9B3670A6-E75D-46C9-A993-21AA2E164105","080D3171-89D5-4048-AF20-47F19CB803C3","7F75402B-27C7-4D87-B0C3-BACA111C472F","02CD346B-EC56-41B8-A885-DB34381D80C1","38AFD261-0829-404B-B79E-F20218E94C84"],"id":"3DB82350-97ED-4A5B-9484-A1F297FCD30D","eventHandler":{"__isSmartRef__":true,"id":3413},"_ClipMode":"visible","droppingEnabled":true,"halosEnabled":true,"attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"owner":{"__isSmartRef__":true,"id":11},"showsHalos":false,"layout":{"__isSmartRef__":true,"id":3414},"isInLayoutCycle":false,"prevScroll":[0,0],"isCopyMorphRef":true,"morphRefId":2,"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Morph","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(8.1,8.1)"},"3396":{"submorphs":[],"scripts":[],"id":"CA144D9C-23AA-4081-AB23-1DC37C84AB24","shape":{"__isSmartRef__":true,"id":3397},"droppingEnabled":true,"halosEnabled":true,"_ClipMode":"auto","eventHandler":{"__isSmartRef__":true,"id":3398},"itemList":[{"__isSmartRef__":true,"id":3399},{"__isSmartRef__":true,"id":3400},{"__isSmartRef__":true,"id":3401},{"__isSmartRef__":true,"id":3402}],"selectOnMove":false,"showsHalos":false,"attributeConnections":[{"__isSmartRef__":true,"id":3403}],"doNotSerialize":["$$selection"],"doNotCopyProperties":["$$selection"],"name":"ObjectInspectorFilterList","partsBinMetaInfo":{"__isSmartRef__":true,"id":3405},"prevScroll":[0,0],"selectedLineNo":0,"valueScale":1,"changeTriggered":false,"derivationIds":[11781,"5102790A-CF88-40E4-A4D5-2F4DC18EE7F4","99147EDF-9E62-4AEC-ADD3-8AE47D5B9CA5","5C61633B-2FCB-439D-BAF5-65CB4D143B97","B4426A19-F07D-430E-B4A0-A62E57595CC6","73A966DD-D592-4638-96F9-60608A6829A4","8685C59F-E3BA-4E8B-8BF3-F0B2DA4C489A","FFE81A11-EA11-4EC7-BDD2-4CD8CD233795","B99EF2EF-3A62-4E7B-BE60-1BE2827CCE65","A11E3246-8FFF-424D-88EE-BD89875802AD","AC6169D4-D438-4C2E-A28C-BD36B8083EBA","C767CCD0-8B53-4669-AE15-191BC54D43A8","16D2E351-C720-4868-AF19-37373DF22E18","E3043356-AEC3-4047-8F77-CE2FCFBD9A33","6731C1BC-FBBD-456C-9A73-725075E36BE2","BE9906CB-B16B-45B1-86E3-B9255D31570A","390F5946-D572-43AA-A8FE-690DE6A1E2D4","EF4BBFB3-414A-42A1-8521-04CAADCBCD93","4A9BE8E6-AB6E-493F-9C84-3111FB900D84","473226F1-A5A0-4CC0-B0BB-180AEA66B015","95CE6728-720A-4805-93F3-8B7F6F7F2533","B3008B04-B3D3-48CB-B7C8-646CB1BA84BC","65C92E6F-8E44-47B1-95DE-8A214AFFAE4F","D3D28D1C-0D78-4229-81FC-09FB04009785"],"owner":{"__isSmartRef__":true,"id":3395},"selection":"standard","layout":{"__isSmartRef__":true,"id":3406},"#startLetters":"","isBeingDragged":false,"_Rotation":0,"_Scale":0.998001,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__LivelyClassName__":"lively.morphic.DropDownList","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(92.0,0.0)","distanceToDragEvent":"lively.pt(89.0,-13.9)"},"3397":{"_BorderWidth":0,"_BorderRadius":0,"_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(341.9,21.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(243,243,243)","_Padding":"lively.rect(0,0,0,0)"},"3398":{"morph":{"__isSmartRef__":true,"id":3396},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3399":{"isListItem":true,"string":"show standard properties","value":"standard"},"3400":{"isListItem":true,"string":"show all properties","value":"properties"},"3401":{"isListItem":true,"string":"show functions","value":"functions"},"3402":{"isListItem":true,"string":"show morphs","value":"submorphs"},"3403":{"sourceObj":{"__isSmartRef__":true,"id":3396},"sourceAttrName":"selection","targetObj":{"__isSmartRef__":true,"id":11},"targetMethodName":"setFilter","converterString":null,"updaterString":null,"varMapping":{"__isSmartRef__":true,"id":3404},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3404":{"source":{"__isSmartRef__":true,"id":3396},"target":{"__isSmartRef__":true,"id":11}},"3405":{"requiredModules":[],"migrationLevel":2,"partsSpaceName":"PartsBin/Widgets/","comment":"\"Native\" drop down list","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"3406":{"resizeWidth":true},"3407":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3408},"derivationIds":[null,"E88A53FB-D21B-44BB-BDFD-869442C56311","0F787D3F-D240-44AF-ACF9-68B168A37AF6","A057ACC6-677C-4F53-B1D5-9938B56D0FEB","9732F158-76D9-4A36-8A15-548AF9D33FDE","27B1C939-33F2-47D5-832F-A75A78CB87AB","14D838C8-A334-48E3-81C0-D163F3856BC8","8ED36FD4-3BC1-4666-9D10-9D5B011CCC09","03AB1784-1272-475D-907F-BCED9FB98003","9B479E1E-E883-48A8-A81E-C9401988816C","95B8D1CF-CA5A-467B-8E75-190C0F92968F","61D66172-31A5-4E3A-A8DA-7DB2A7E60829","2D0FA765-B758-4A5A-A27C-EC16E95D2F0A","AD1A023D-D343-4F30-8EE9-5CA1E5C6DFCA","FDBEE6AB-A3AC-4E07-B69A-202BF0E33B71","7A8530D3-BFD4-4C90-9F6E-FB5C59BB4E86","B9F96B7E-3E06-4CFB-8E58-DA25B52A5E53","ED1FEFD6-32CA-4FAD-A1D4-742130C739D9","53B9FE5E-BDCF-4A83-B227-BF0D13186017","FDF8DD2F-775D-4630-977E-68B1C8CB8E1B","01F45153-329E-4EC1-B079-A3877CFB60F1","23142B0A-86A5-42F0-A114-C125E191006E"],"id":"5179ABC9-87ED-4D20-A3AD-E62DF092963F","_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":3409}],"eventHandler":{"__isSmartRef__":true,"id":3411},"_ClipMode":"visible","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":true,"_InputAllowed":true,"allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"owner":{"__isSmartRef__":true,"id":3395},"_MaxTextWidth":84,"_MinTextWidth":84,"_MaxTextHeight":null,"_MinTextHeight":null,"showsHalos":false,"#startLetters":"can","isBeingDragged":false,"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(0.0,0.0)"},"3408":{"_BorderWidth":0,"_Fill":null,"_NodeClass":["morph","text"],"_NodeId":"morph-e88a53fb-d21b-44bb-bdfd-869442c56311","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(92.0,0.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"3409":{"style":{"__isSmartRef__":true,"id":3410},"chunkOwner":{"__isSmartRef__":true,"id":3407},"storedString":"Filter:","_id":"_2549","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3410":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3411":{"morph":{"__isSmartRef__":true,"id":3407},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3412":{"_NodeClass":["morph"],"_NodeId":"morph-1ddf17df-89f1-41af-8fed-513c5da4861f","_BorderWidth":0,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(433.9,28.1)","_Padding":"lively.rect(0,0,0,0)"},"3413":{"morph":{"__isSmartRef__":true,"id":3395},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3414":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":3415},"adjustForNewBounds":true,"__serializedExpressions__":["extentWithoutPlaceholder"],"extentWithoutPlaceholder":"lively.pt(358.2,100.0)"},"3415":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":0,"container":{"__isSmartRef__":true,"id":3395},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"3416":{"submorphs":[],"scripts":[],"id":"0BEDEFC9-B636-4701-A46F-4414B4ECF287","shape":{"__isSmartRef__":true,"id":3417},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"SplitterMorph2","partsBinMetaInfo":{"__isSmartRef__":true,"id":3418},"eventHandler":{"__isSmartRef__":true,"id":3439},"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","ED38E7CF-DBF8-44F7-8FCD-44556A95F525","2837627B-B301-45E3-BE2F-AE809626DE89","43E4DB05-C44F-44CB-A54B-72C9636B3396","D4A35074-DDE1-4EB5-AA93-C43A119497EB"],"partTests":{"__isSmartRef__":true,"id":3440},"_ClipMode":"visible","moved":true,"layout":{"__isSmartRef__":true,"id":3445},"isBeingDragged":false,"originalTargetExtent":null,"morphA":null,"morphB":null,"originalMorphAExtent":null,"originalMorphBExtent":null,"prevScroll":[0,0],"owner":{"__isSmartRef__":true,"id":11},"_Rotation":0,"_Scale":0.9803921568627452,"__serializedExpressions__":["_Position","distanceToDragEvent","dragStartPoint","originalMorphBPosition"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3446},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(422.0,364.5)","distanceToDragEvent":"lively.pt(37.9,-13.4)","dragStartPoint":"lively.pt(1185.0,5071.0)","originalMorphBPosition":"lively.pt(8.1,354.4)"},"3417":{"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":0.5557,"_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(20.0,44.9)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(167,167,173)","_Padding":"lively.rect(0,0,0,0)"},"3418":{"partsSpaceName":"PartsBin/Widgets/","comment":"A splitter, that exchanges the extent from two morphs.... ok, hard to describe. It's just a splitter.\n\nInspired by the resize corner, it latebinds into the ui, by placing it ontop two adjacent morphs.","migrationLevel":4,"partName":"SplitterMorph","changes":[{"__isSmartRef__":true,"id":3419},{"__isSmartRef__":true,"id":3421},{"__isSmartRef__":true,"id":3423},{"__isSmartRef__":true,"id":3425},{"__isSmartRef__":true,"id":3427},{"__isSmartRef__":true,"id":3429},{"__isSmartRef__":true,"id":3431},{"__isSmartRef__":true,"id":3433},{"__isSmartRef__":true,"id":3435},{"__isSmartRef__":true,"id":3437}],"revisionOnLoad":184652,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"3419":{"date":{"__isSmartRef__":true,"id":3420},"author":"jenslincke","message":"no comment","id":"3FF2C8E3-9B5C-4846-B328-5B9DE699E342"},"3420":{"isSerializedDate":true,"string":"Thu Nov 22 2012 14:01:17 GMT+0100 (CET)"},"3421":{"date":{"__isSmartRef__":true,"id":3422},"author":"jenslincke","message":"no comment","id":"4D8DFE4C-2980-4B5F-A1E9-E4C650CBA0C6"},"3422":{"isSerializedDate":true,"string":"Thu Nov 22 2012 14:01:14 GMT+0100 (CET)"},"3423":{"date":{"__isSmartRef__":true,"id":3424},"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205"},"3424":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:35:51 GMT+0100 (CET)"},"3425":{"date":{"__isSmartRef__":true,"id":3426},"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8"},"3426":{"isSerializedDate":true,"string":"Mon Jun 18 2012 19:35:08 GMT+0200 (CEST)"},"3427":{"date":{"__isSmartRef__":true,"id":3428},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"3428":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"3429":{"date":{"__isSmartRef__":true,"id":3430},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"3430":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"3431":{"date":{"__isSmartRef__":true,"id":3432},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"3432":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"3433":{"date":{"__isSmartRef__":true,"id":3434},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"3434":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"3435":{"date":{"__isSmartRef__":true,"id":3436},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"3436":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"3437":{"date":{"__isSmartRef__":true,"id":3438},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"3438":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"3439":{"morph":{"__isSmartRef__":true,"id":3416},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3440":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3441}},"3441":{"test01IsMorph":{"__isSmartRef__":true,"id":3442}},"3442":{"varMapping":{"__isSmartRef__":true,"id":3443},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":3444},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3443":{"this":{"__isSmartRef__":true,"id":3440}},"3444":{},"3445":{"moveVertical":true,"moveHorizontal":true},"3446":{"onDrag":{"__isSmartRef__":true,"id":3447},"onDragEnd":{"__isSmartRef__":true,"id":3455},"onDragStart":{"__isSmartRef__":true,"id":3463},"getSiblingsAtCorner":{"__isSmartRef__":true,"id":3471}},"3447":{"varMapping":{"__isSmartRef__":true,"id":3448},"source":"function onDrag(evt) {\n var moveDelta = evt.mousePoint.subPt(this.dragStartPoint)\n\n moveDelta.x = 0;\n if (!this.morphA || !this.morphB) return;\n \n var newExtent = this.originalMorphAExtent.addPt(moveDelta);\n this.morphA.setExtent(newExtent);\n\n this.morphB.setPosition(this.originalMorphBPosition.addPt(moveDelta));\n moveDelta.y = - moveDelta.y;\n this.morphB.setExtent(this.originalMorphBExtent.addPt(moveDelta));\n\n this.setBounds(\n rect(this.morphA.bounds().bottomRight().subPt(pt(20,20)),\n this.morphB.bounds().topRight().addPt(pt(0,20))));\n\n this.setExtent(pt(this.getExtent().x, Math.max(this.getExtent().y, 20)))\n\n}","funcProperties":{"__isSmartRef__":true,"id":3453},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3448":{"this":{"__isSmartRef__":true,"id":3416},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3449}},"3449":{"$super":{"__isSmartRef__":true,"id":3450}},"3450":{"varMapping":{"__isSmartRef__":true,"id":3451},"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":3452},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3451":{"obj":{"__isSmartRef__":true,"id":3416},"name":"onDrag"},"3452":{},"3453":{"timestamp":{"__isSmartRef__":true,"id":3454},"user":"jenslincke","tags":[]},"3454":{"isSerializedDate":true,"string":"Thu Nov 22 2012 13:58:16 GMT+0100 (CET)"},"3455":{"varMapping":{"__isSmartRef__":true,"id":3456},"source":"function onDragEnd(evt) {\n this.morphA = null;\n this.morphB = null;\n this.originalMorphAExtent = null;\n this.originalMorphBExtent = null;\n}","funcProperties":{"__isSmartRef__":true,"id":3461},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3456":{"this":{"__isSmartRef__":true,"id":3416},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3457}},"3457":{"$super":{"__isSmartRef__":true,"id":3458}},"3458":{"varMapping":{"__isSmartRef__":true,"id":3459},"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":3460},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3459":{"obj":{"__isSmartRef__":true,"id":3416},"name":"onDragEnd"},"3460":{},"3461":{"timestamp":{"__isSmartRef__":true,"id":3462},"user":"jenslincke","tags":[]},"3462":{"isSerializedDate":true,"string":"Thu Nov 22 2012 12:32:59 GMT+0100 (CET)"},"3463":{"varMapping":{"__isSmartRef__":true,"id":3464},"source":"function onDragStart(evt) {\n this.dragStartPoint = evt.mousePoint;\n this.morphA = this.getSiblingsAtCorner(\"topLeft\")[0]\n this.morphB = this.getSiblingsAtCorner(\"bottomLeft\")[0]\n\n if (!this.morphA || !this.morphB) return;\n\n this.originalMorphAExtent = this.morphA.getExtent();\n this.originalMorphBExtent = this.morphB.getExtent();\n this.originalMorphBPosition = this.morphB.getPosition();\n\n}","funcProperties":{"__isSmartRef__":true,"id":3469},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3464":{"this":{"__isSmartRef__":true,"id":3416},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3465}},"3465":{"$super":{"__isSmartRef__":true,"id":3466}},"3466":{"varMapping":{"__isSmartRef__":true,"id":3467},"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":3468},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3467":{"obj":{"__isSmartRef__":true,"id":3416},"name":"onDragStart"},"3468":{},"3469":{"timestamp":{"__isSmartRef__":true,"id":3470},"user":"jenslincke","tags":[]},"3470":{"isSerializedDate":true,"string":"Thu Nov 22 2012 13:44:37 GMT+0100 (CET)"},"3471":{"varMapping":{"__isSmartRef__":true,"id":3472},"source":"function getSiblingsAtCorner(corner) {\n // this.getSiblingsAtCorner(\"topLeft\")\n var p = this.bounds()[corner]()\n var self= this;\n return this.owner.submorphs.select(function(ea) {\n return (ea !== self) && ea.bounds().containsPoint(p)\n })\n}","funcProperties":{"__isSmartRef__":true,"id":3473},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3472":{"this":{"__isSmartRef__":true,"id":3416}},"3473":{"timestamp":{"__isSmartRef__":true,"id":3474},"user":"jenslincke","tags":[]},"3474":{"isSerializedDate":true,"string":"Thu Nov 22 2012 12:28:43 GMT+0100 (CET)"},"3475":{"target":{"__isSmartRef__":true,"id":11},"selector":"update","args":[],"stopped":false,"tickTime":500,"suspended":false,"__LivelyClassName__":"lively.morphic.TargetScript","__SourceModuleName__":"Global.lively.morphic.Core"},"3476":{"_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(450.2,497.4)","_BorderColor":"Color.rgb(95,94,95)","_Fill":"Color.rgb(235,235,235)","_Padding":"lively.rect(0,0,0,0)"},"3477":{"partsSpaceName":"PartsBin/Tools","comment":"A tool for inspecting an object. Very similar to the ObjectExplorer but a lot faster and with the ability to edit primitives.","migrationLevel":4,"partName":"ObjectInspector","changes":[{"__isSmartRef__":true,"id":3478},{"__isSmartRef__":true,"id":3480},{"__isSmartRef__":true,"id":3482},{"__isSmartRef__":true,"id":3484},{"__isSmartRef__":true,"id":3486},{"__isSmartRef__":true,"id":3488},{"__isSmartRef__":true,"id":3490}],"revisionOnLoad":163371,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"3478":{"date":{"__isSmartRef__":true,"id":3479},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"3479":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"3480":{"date":{"__isSmartRef__":true,"id":3481},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"3481":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"3482":{"date":{"__isSmartRef__":true,"id":3483},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"3483":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"3484":{"date":{"__isSmartRef__":true,"id":3485},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"3485":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"3486":{"date":{"__isSmartRef__":true,"id":3487},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"3487":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"3488":{"date":{"__isSmartRef__":true,"id":3489},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"3489":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"3490":{"date":{"__isSmartRef__":true,"id":3491},"author":"cschuster","message":"initial commit. still a lot of work to do.","id":"258D3B7C-8C70-4B34-962F-E2F39A8596D5"},"3491":{"isSerializedDate":true,"string":"Tue May 29 2012 23:52:57 GMT+0200 (CEST)"},"3492":{"morph":{"__isSmartRef__":true,"id":11},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3493":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3494}},"3494":{"test01IsMorph":{"__isSmartRef__":true,"id":3495}},"3495":{"varMapping":{"__isSmartRef__":true,"id":3496},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":3497},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3496":{"this":{"__isSmartRef__":true,"id":3493}},"3497":{},"3498":{"resizeWidth":true,"resizeHeight":true,"adjustForNewBounds":true,"__serializedExpressions__":["extentWithoutPlaceholder"],"extentWithoutPlaceholder":"lively.pt(313.2,397.4)"},"3499":{"inspect":{"__isSmartRef__":true,"id":3500},"reset":{"__isSmartRef__":true,"id":3504},"select":{"__isSmartRef__":true,"id":3508},"createItem":{"__isSmartRef__":true,"id":3512},"describe":{"__isSmartRef__":true,"id":3516},"update":{"__isSmartRef__":true,"id":3520},"expand":{"__isSmartRef__":true,"id":3524},"setFilter":{"__isSmartRef__":true,"id":3528},"isPrimitive":{"__isSmartRef__":true,"id":3532},"createPrototypeItem":{"__isSmartRef__":true,"id":3536},"typename":{"__isSmartRef__":true,"id":3540},"getFilter":{"__isSmartRef__":true,"id":3544}},"3500":{"varMapping":{"__isSmartRef__":true,"id":3501},"source":"function inspect(obj) {\n if (this.owner.isWindow) {\n this.owner.setTitle(this.describe(obj));\n }\n this.get(\"ObjectInspectorText\").doitContext = obj;\n if (!this.filter) this.get(\"ObjectInspectorFilterList\").selectAt(0);\n this.tree = this.get(\"ObjectInspectorTree\");\n this.tree.setItem(this.createItem({\"\": obj}, \"\", true));\n this.startStepping(500, 'update');\n}","funcProperties":{"__isSmartRef__":true,"id":3502},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3501":{"this":{"__isSmartRef__":true,"id":11}},"3502":{"timestamp":{"__isSmartRef__":true,"id":3503},"user":"cschuster","tags":[]},"3503":{"isSerializedDate":true,"string":"Fri Jun 15 2012 00:12:23 GMT+0200 (CEST)"},"3504":{"varMapping":{"__isSmartRef__":true,"id":3505},"source":"function reset() {\n if (this.owner.isWindow) {\n this.owner.setTitle(\"ObjectInspector\");\n }\n this.get(\"ObjectInspectorText\").textString = \"this\";\n this.get(\"ObjectInspectorText\").doitContext = null;\n this.stopStepping();\n this.get(\"ObjectInspectorTree\").reset();\n this.get(\"ObjectInspectorFilterList\").setList([\n {isListItem: true,\n string: \"show standard properties\",\n value: \"standard\"},\n {isListItem:true, \n string:\"show all properties\", \n value: \"properties\"},\n {isListItem:true, \n string:\"show functions\", \n value: \"functions\"},\n {isListItem:true, \n string:\"show morphs\", \n value: \"submorphs\"}]);\n this.get(\"ObjectInspectorFilterList\").selectAt(0);\n this.applyLayout();\n}","funcProperties":{"__isSmartRef__":true,"id":3506},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3505":{"this":{"__isSmartRef__":true,"id":11}},"3506":{"timestamp":{"__isSmartRef__":true,"id":3507},"user":"cschuster","tags":[]},"3507":{"isSerializedDate":true,"string":"Fri Jun 15 2012 00:12:23 GMT+0200 (CEST)"},"3508":{"varMapping":{"__isSmartRef__":true,"id":3509},"source":"function select(item, tree) {\n if (item.data !== null && item.data !== undefined) {\n this.get(\"ObjectInspectorText\").doitContext = item.data;\n }\n if (Object.isString(item.data) ||\n Object.isNumber(item.data) ||\n Object.isBoolean(item.data)) {\n Object.addScript(item, function onEdit(str) {\n var val = str;\n if (val === \"null\") val = null;\n if (val === \"true\") val = true;\n if (val === \"false\") val = false;\n if (Object.isString(val) && val.match(/^\\d+$/)) val = parseInt(val);\n this.parent[this.name] = val;\n });\n tree.editDescription();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":3510},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3509":{"this":{"__isSmartRef__":true,"id":11}},"3510":{"timestamp":{"__isSmartRef__":true,"id":3511},"user":"cschuster","tags":[]},"3511":{"isSerializedDate":true,"string":"Fri Jun 15 2012 00:12:23 GMT+0200 (CEST)"},"3512":{"varMapping":{"__isSmartRef__":true,"id":3513},"source":"function createItem(obj, property, isRoot) {\n var value = obj[property];\n var item = {data: value, inspector: this, parent: obj};\n if (!isRoot) item.name = property;\n item.description = this.describe(value);\n Object.addScript(item, function onSelect(tree) { this.inspector.select(this, tree); });\n if (!this.isPrimitive(value)) {\n item.children = [];\n Object.addScript(item, function onExpand() { this.inspector.expand(this); });\n Object.addScript(item, function onUpdateChildren() { this.inspector.expand(this); });\n }\n Object.addScript(item, function onUpdate() {\n this.description = this.inspector.describe(this.data);\n });\n return item;\n}","funcProperties":{"__isSmartRef__":true,"id":3514},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3513":{"this":{"__isSmartRef__":true,"id":11}},"3514":{"timestamp":{"__isSmartRef__":true,"id":3515},"user":"cschuster","tags":[]},"3515":{"isSerializedDate":true,"string":"Fri Jun 15 2012 00:12:23 GMT+0200 (CEST)"},"3516":{"varMapping":{"__isSmartRef__":true,"id":3517},"source":"function describe(obj) {\n var str;\n if (obj && obj.name) {\n str = Object.isFunction(obj.name) ? obj.name() : obj.name;\n }\n if (!str) str = Objects.shortPrintStringOf(obj);\n if (str.length > 32) str = str.substring(0, 36) + '...';\n return str;\n}","funcProperties":{"__isSmartRef__":true,"id":3518},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3517":{"this":{"__isSmartRef__":true,"id":11}},"3518":{"timestamp":{"__isSmartRef__":true,"id":3519},"user":"cschuster","tags":[]},"3519":{"isSerializedDate":true,"string":"Mon Jul 02 2012 23:16:12 GMT+0200 (CEST)"},"3520":{"varMapping":{"__isSmartRef__":true,"id":3521},"source":"function update() {\n if (this.tree.item) this.tree.update();\n}","funcProperties":{"__isSmartRef__":true,"id":3522},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3521":{"this":{"__isSmartRef__":true,"id":11}},"3522":{"timestamp":{"__isSmartRef__":true,"id":3523},"user":"cschuster","tags":[]},"3523":{"isSerializedDate":true,"string":"Fri Jun 15 2012 00:12:23 GMT+0200 (CEST)"},"3524":{"varMapping":{"__isSmartRef__":true,"id":3525},"source":"function expand(item) {\n var props = Properties.allProperties(item.data, this.getFilter());\n if (!Object.isArray(item.data)) props = props.sort();\n var newChildren = [];\n var lookup = {};\n item.children.each(function(i) { lookup[i.name] = i; });\n props.each(function(prop) {\n var existing = lookup[prop];\n if (existing) {\n existing.data = item.data[prop];\n newChildren.push(existing);\n } else {\n newChildren.push(this.createItem(item.data, prop));\n }\n }.bind(this));\n var proto = !Object.isFunction(item.data) &&\n !this.isPrimitive(item.data) &&\n Object.getPrototypeOf(item.data);\n if (proto) {\n var existing = item.children.detect(function(i) { return i.data === proto; });\n if (existing) {\n newChildren.push(existing);\n } else {\n newChildren.push(this.createPrototypeItem(proto));\n }\n }\n item.children = newChildren;\n}","funcProperties":{"__isSmartRef__":true,"id":3526},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3525":{"this":{"__isSmartRef__":true,"id":11}},"3526":{"timestamp":{"__isSmartRef__":true,"id":3527},"user":"cschuster","tags":[]},"3527":{"isSerializedDate":true,"string":"Fri Jun 15 2012 00:20:47 GMT+0200 (CEST)"},"3528":{"varMapping":{"__isSmartRef__":true,"id":3529},"source":"function setFilter(str) {\n var startsAlphaNum = /^[a-zA-Z0-9]/;\n var fn = {\n standard: function(obj, prop) {\n return obj.hasOwnProperty(prop) &&\n startsAlphaNum.test(prop) &&\n !Object.isFunction(obj[prop]);\n },\n properties: function(obj, prop) {\n return obj.hasOwnProperty(prop) &&\n !Object.isFunction(obj[prop]);\n },\n functions: function(obj, prop) {\n return obj.hasOwnProperty(prop) &&\n Object.isFunction(obj[prop]);\n },\n submorphs: function(obj, prop) {\n return obj.hasOwnProperty(prop) &&\n (prop == 'submorphs' || obj[prop] instanceof lively.morphic.Morph);\n },\n };\n this.filter = fn[str];\n var that = this;\n this.tree.layoutAfter(function() { that.update(); });\n}","funcProperties":{"__isSmartRef__":true,"id":3530},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3529":{"this":{"__isSmartRef__":true,"id":11}},"3530":{"timestamp":{"__isSmartRef__":true,"id":3531},"user":"cschuster","tags":[]},"3531":{"isSerializedDate":true,"string":"Fri Jun 15 2012 00:12:23 GMT+0200 (CEST)"},"3532":{"varMapping":{"__isSmartRef__":true,"id":3533},"source":"function isPrimitive(value) {\n return value === null ||\n value === undefined ||\n Object.isString(value) ||\n Object.isNumber(value) ||\n Object.isBoolean(value);\n}","funcProperties":{"__isSmartRef__":true,"id":3534},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3533":{"this":{"__isSmartRef__":true,"id":11}},"3534":{"timestamp":{"__isSmartRef__":true,"id":3535},"user":"cschuster","tags":[]},"3535":{"isSerializedDate":true,"string":"Fri Jun 15 2012 00:12:23 GMT+0200 (CEST)"},"3536":{"varMapping":{"__isSmartRef__":true,"id":3537},"source":"function createPrototypeItem(proto) {\n var that = this;\n var item = {data: proto, inspector: this, doNotSerialize: [\"data\"]};\n item.name = \"\";\n item.description = \"inherited from \" + this.typename(proto);\n item.children = [];\n Object.addScript(item, function onExpand() { this.inspector.expand(this); });\n Object.addScript(item, function onUpdateChildren() { this.inspector.expand(this); });\n Object.addScript(item, function onUpdate() {\n this.description = \"inherited from \" + this.inspector.typename(this.data);\n });\n return item;\n}","funcProperties":{"__isSmartRef__":true,"id":3538},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3537":{"this":{"__isSmartRef__":true,"id":11}},"3538":{"timestamp":{"__isSmartRef__":true,"id":3539},"user":"cschuster","tags":[]},"3539":{"isSerializedDate":true,"string":"Wed Aug 01 2012 04:04:06 GMT+0200 (CEST)"},"3540":{"varMapping":{"__isSmartRef__":true,"id":3541},"source":"function typename(proto) {\n return proto.constructor.type || proto.constructor.name || proto.toString();\n}","funcProperties":{"__isSmartRef__":true,"id":3542},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3541":{"this":{"__isSmartRef__":true,"id":11}},"3542":{"timestamp":{"__isSmartRef__":true,"id":3543},"user":"cschuster","tags":[]},"3543":{"isSerializedDate":true,"string":"Fri Jun 15 2012 00:12:23 GMT+0200 (CEST)"},"3544":{"varMapping":{"__isSmartRef__":true,"id":3545},"source":"function getFilter() {\n if (!this.filter) {\n this.setFilter(this.get(\"ObjectInspectorFilterList\").getSelectedItem());\n }\n return this.filter;\n}","funcProperties":{"__isSmartRef__":true,"id":3546},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3545":{"this":{"__isSmartRef__":true,"id":11}},"3546":{"timestamp":{"__isSmartRef__":true,"id":3547},"user":"cschuster","tags":[]},"3547":{"isSerializedDate":true,"string":"Fri Jun 15 2012 00:20:17 GMT+0200 (CEST)"},"3548":{"submorphs":[{"__isSmartRef__":true,"id":3549},{"__isSmartRef__":true,"id":3555},{"__isSmartRef__":true,"id":3568},{"__isSmartRef__":true,"id":3580}],"scripts":[],"shape":{"__isSmartRef__":true,"id":3593},"eventHandler":{"__isSmartRef__":true,"id":3594},"_ClipMode":"visible","derivationIds":["3354C449-DE1C-422A-9B91-C1B724A2D784"],"id":"B13A550A-E6A3-41A1-9303-3708B3BDAF85","droppingEnabled":false,"halosEnabled":true,"layout":{"__isSmartRef__":true,"id":3595},"windowMorph":{"__isSmartRef__":true,"id":10},"label":{"__isSmartRef__":true,"id":3549},"closeButton":{"__isSmartRef__":true,"id":3555},"menuButton":{"__isSmartRef__":true,"id":3568},"collapseButton":{"__isSmartRef__":true,"id":3580},"_PreviousBorderWidth":0,"owner":{"__isSmartRef__":true,"id":10},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.TitleBar","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,0.0)"},"3549":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3550},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":3551}],"eventHandler":{"__isSmartRef__":true,"id":3553},"_ClipMode":"hidden","derivationIds":["683202D2-6E15-4762-BEF3-633DF82B9EE4"],"id":"27EAFEDF-7AA4-4A32-B8BC-9D2BBED038A9","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"isLabel":true,"layout":{"__isSmartRef__":true,"id":3554},"eventsAreIgnored":true,"owner":{"__isSmartRef__":true,"id":3548},"_StyleClassNames":["window-title"],"_TextStylingMode":true,"__serializedExpressions__":["_TextColor","_Position"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(21.0,3.0)"},"3550":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(391.4,18.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"3551":{"style":{"__isSmartRef__":true,"id":3552},"chunkOwner":{"__isSmartRef__":true,"id":3549},"_id":"_6","storedString":"Text","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3552":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3553":{"morph":{"__isSmartRef__":true,"id":3549},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3554":{"resizeWidth":true},"3555":{"submorphs":[{"__isSmartRef__":true,"id":3556}],"scripts":[],"shape":{"__isSmartRef__":true,"id":3561},"eventHandler":{"__isSmartRef__":true,"id":3562},"_ClipMode":"visible","derivationIds":["FB7A3DD8-97CB-4398-883B-A3D2C87C2F82"],"id":"C4C15292-08B1-4156-88BF-9948924D0A51","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"accessibleInInactiveWindow":true,"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":3556},"_PreviousBorderWidth":0,"owner":{"__isSmartRef__":true,"id":3548},"layout":{"__isSmartRef__":true,"id":3563},"_StyleClassNames":["close"],"attributeConnections":[{"__isSmartRef__":true,"id":3564},{"__isSmartRef__":true,"id":3566}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.WindowControl","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(431.4,3.0)"},"3556":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3557},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":3558}],"eventHandler":{"__isSmartRef__":true,"id":3560},"_ClipMode":"hidden","derivationIds":["18901FFC-0D21-407F-ABC0-2BB1D80521AD"],"id":"2F87D0F6-4190-42E5-BAC6-501437BE651E","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":8,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":3555},"isLabel":true,"eventsAreIgnored":true,"_TextStylingMode":true,"__serializedExpressions__":["_TextColor","_Position"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,-1.0)"},"3557":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"3558":{"style":{"__isSmartRef__":true,"id":3559},"chunkOwner":{"__isSmartRef__":true,"id":3556},"_id":"_1670","storedString":"X","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3559":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3560":{"morph":{"__isSmartRef__":true,"id":3556},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3561":{"_BorderWidth":1,"_StrokeOpacity":0,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"3562":{"morph":{"__isSmartRef__":true,"id":3555},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3563":{"moveHorizontal":true},"3564":{"sourceObj":{"__isSmartRef__":true,"id":3555},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":10},"targetMethodName":"getCloseHelp","varMapping":{"__isSmartRef__":true,"id":3565},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3565":{"source":{"__isSmartRef__":true,"id":3555},"target":{"__isSmartRef__":true,"id":10}},"3566":{"sourceObj":{"__isSmartRef__":true,"id":3555},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":10},"targetMethodName":"initiateShutdown","varMapping":{"__isSmartRef__":true,"id":3567},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3567":{"source":{"__isSmartRef__":true,"id":3555},"target":{"__isSmartRef__":true,"id":10}},"3568":{"submorphs":[{"__isSmartRef__":true,"id":3569}],"scripts":[],"shape":{"__isSmartRef__":true,"id":3574},"eventHandler":{"__isSmartRef__":true,"id":3575},"_ClipMode":"visible","derivationIds":["E51FF825-9570-4914-B20B-7029DCC9ACE0"],"id":"7C493F10-45BC-4A2C-8577-364D469BFD23","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"accessibleInInactiveWindow":true,"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":3569},"_PreviousBorderWidth":0,"owner":{"__isSmartRef__":true,"id":3548},"attributeConnections":[{"__isSmartRef__":true,"id":3576},{"__isSmartRef__":true,"id":3578}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"isPressed":false,"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.WindowControl","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(3.0,3.0)"},"3569":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3570},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":3571}],"eventHandler":{"__isSmartRef__":true,"id":3573},"_ClipMode":"hidden","derivationIds":["37A2A739-1A1F-498C-8EEE-909ABECE1795"],"id":"7ACEEA10-24CE-4A5A-B50D-623DF5E3A584","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":8,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":3568},"isLabel":true,"eventsAreIgnored":true,"_TextStylingMode":true,"__serializedExpressions__":["_TextColor","_Position"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"3570":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(18.0,17.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"3571":{"style":{"__isSmartRef__":true,"id":3572},"chunkOwner":{"__isSmartRef__":true,"id":3569},"_id":"_1672","storedString":"M","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3572":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3573":{"morph":{"__isSmartRef__":true,"id":3569},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3574":{"_BorderWidth":1,"_StrokeOpacity":0,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"3575":{"morph":{"__isSmartRef__":true,"id":3568},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3576":{"sourceObj":{"__isSmartRef__":true,"id":3568},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":10},"targetMethodName":"getMenuHelp","varMapping":{"__isSmartRef__":true,"id":3577},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3577":{"source":{"__isSmartRef__":true,"id":3568},"target":{"__isSmartRef__":true,"id":10}},"3578":{"sourceObj":{"__isSmartRef__":true,"id":3568},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":10},"targetMethodName":"showTargetMorphMenu","varMapping":{"__isSmartRef__":true,"id":3579},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3579":{"source":{"__isSmartRef__":true,"id":3568},"target":{"__isSmartRef__":true,"id":10}},"3580":{"submorphs":[{"__isSmartRef__":true,"id":3581}],"scripts":[],"shape":{"__isSmartRef__":true,"id":3586},"eventHandler":{"__isSmartRef__":true,"id":3587},"_ClipMode":"visible","derivationIds":["158AFC6D-24CB-4DB5-A245-6D7283DDC1D6"],"id":"DC0B7B6C-64DF-440D-8E3A-BFB9C9E86E58","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"accessibleInInactiveWindow":true,"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":3581},"_PreviousBorderWidth":0,"owner":{"__isSmartRef__":true,"id":3548},"layout":{"__isSmartRef__":true,"id":3588},"attributeConnections":[{"__isSmartRef__":true,"id":3589},{"__isSmartRef__":true,"id":3591}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.WindowControl","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(412.4,3.0)"},"3581":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3582},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":3583}],"eventHandler":{"__isSmartRef__":true,"id":3585},"_ClipMode":"hidden","derivationIds":["864112B1-4791-4892-9D7E-E83FFCFDEAF6"],"id":"0B118C36-E7F0-48B3-A3F6-0670BE0EF41C","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":8,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":3580},"isLabel":true,"eventsAreIgnored":true,"_TextStylingMode":true,"__serializedExpressions__":["_TextColor","_Position"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,1.0)"},"3582":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"3583":{"style":{"__isSmartRef__":true,"id":3584},"chunkOwner":{"__isSmartRef__":true,"id":3581},"_id":"_1674","storedString":"–","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3584":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3585":{"morph":{"__isSmartRef__":true,"id":3581},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3586":{"_BorderWidth":1,"_StrokeOpacity":0,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"3587":{"morph":{"__isSmartRef__":true,"id":3580},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3588":{"moveHorizontal":true},"3589":{"sourceObj":{"__isSmartRef__":true,"id":3580},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":10},"targetMethodName":"getCollapseHelp","varMapping":{"__isSmartRef__":true,"id":3590},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3590":{"source":{"__isSmartRef__":true,"id":3580},"target":{"__isSmartRef__":true,"id":10}},"3591":{"sourceObj":{"__isSmartRef__":true,"id":3580},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":10},"targetMethodName":"toggleCollapse","varMapping":{"__isSmartRef__":true,"id":3592},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3592":{"source":{"__isSmartRef__":true,"id":3580},"target":{"__isSmartRef__":true,"id":10}},"3593":{"_AppearanceStylingMode":true,"_BorderStylingMode":true,"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(451.4,22.0)","_Padding":"lively.rect(0,0,0,0)"},"3594":{"morph":{"__isSmartRef__":true,"id":3548},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3595":{"resizeWidth":true,"adjustForNewBounds":true},"3596":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3597},"derivationIds":[null,"E34B7A68-766E-4DB7-A7E3-E4EE8A7079AC","7A7C4259-E86A-4D41-9B21-CE6D4EADF5A7","34C6ADC2-7F79-44A2-BEDF-A05F972B36BC","36694142-B04E-484B-957B-9BBF9784B20E","3CFE3EDB-8A42-4E75-A348-120654F234F2","3464720D-ABB2-4C88-BEEA-62B58DD08CD5","B5EA6ABC-057D-4A70-AB94-B3EDCA5E395E","05F4CC34-0F8A-43CA-94B6-9A543A70E55C","A2BF090C-5A85-4E54-92CA-6ABA47629E7B","DDD9B33B-824A-4C58-8107-67C5FADDFB72","09051614-6CE4-4984-B3CF-F3E78B5898B1","284F15EF-EA68-4F32-86F3-EA5DD3A23D1C","BE99321C-F9F7-45C2-9BED-3AC496C10878","344F1643-CC8E-4B9C-A57A-75074EDFDD12","E24B6723-2DA3-42B9-AE0B-1E28DA2C0CF8","035E96EC-B4F1-4D94-A31F-21750A89C148","658D2557-B37E-4C58-8618-9AF1E45EFA55","413248B4-5FDD-4647-9E20-F195F11DF903","20EF83E4-287D-4306-9EA0-65B7286C0E48","77F94626-E559-4BB8-B6EA-1EC2E50823C3","85515935-002D-4FF0-8C2B-E88837E5B98D","1B4B5619-CD65-49B8-939D-06D7DD9E0C4C","79748D72-9031-4011-9BD4-B7FE72461789","68C2CE7C-DB25-4911-B12A-8B0F69C8D46D","90DDEE95-E7B6-4FF5-A7B7-ED97BA99A75C","30A9C6A1-50FD-465E-8884-1FB4E887AA22","133E5671-4F3E-44AE-BA1C-8A23DFEFE806","8133C4D1-E8E5-4C70-BD30-B8BD467A97F0","19DEC829-053A-427D-B74C-447D4BFBBADF","F60BE0BE-9E27-495C-AD10-1BF48EF87F21","A6CCEFD6-C07E-4D58-8DBB-91E5EE97252D","483FFC15-78C6-43CA-88E9-D64C2C67C242","8A45C54F-F39A-477F-B6AB-21DD1002C37F"],"id":"8FC42F34-E442-41BC-B291-8B55070CA296","eventHandler":{"__isSmartRef__":true,"id":3601},"_ClipMode":"visible","droppingEnabled":true,"halosEnabled":true,"owner":{"__isSmartRef__":true,"id":10},"attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"dragStartPoint":null,"originalTargetExtent":null,"_Rotation":0,"_Scale":1.0000000000000009,"__serializedExpressions__":["_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3602},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","_Position":"lively.pt(437.4,505.4)"},"3597":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":3598},{"__isSmartRef__":true,"id":3599},{"__isSmartRef__":true,"id":3600}],"_BorderWidth":0,"_BorderColor":null,"_NodeClass":["path"],"_NodeId":"morph-e34b7a68-766e-4db7-a7e3-e4ee8a7079ac","__serializedExpressions__":["_Position","_Extent","_Padding","_Fill"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Position":"lively.pt(-1.0,-1.0)","_Extent":"lively.pt(15.0,15.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(204,204,204)"},"3598":{"isAbsolute":true,"x":14,"y":0,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"3599":{"isAbsolute":true,"x":14,"y":14,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"3600":{"isAbsolute":true,"x":0,"y":14,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"3601":{"morph":{"__isSmartRef__":true,"id":3596},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3602":{"onDragStart":{"__isSmartRef__":true,"id":3603},"onDrag":{"__isSmartRef__":true,"id":3610},"onDragEnd":{"__isSmartRef__":true,"id":3617}},"3603":{"varMapping":{"__isSmartRef__":true,"id":3604},"source":"function onDragStart(evt) {\n this.dragStartPoint = evt.mousePoint;\n this.originalTargetExtent = this.owner.getExtent();\n }","funcProperties":{"__isSmartRef__":true,"id":3609},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3604":{"this":{"__isSmartRef__":true,"id":3596},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3605}},"3605":{"$super":{"__isSmartRef__":true,"id":3606}},"3606":{"varMapping":{"__isSmartRef__":true,"id":3607},"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":3608},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3607":{"obj":{"__isSmartRef__":true,"id":3596},"name":"onDragStart"},"3608":{},"3609":{},"3610":{"varMapping":{"__isSmartRef__":true,"id":3611},"source":"function onDrag(evt) {\n var moveDelta = evt.mousePoint.subPt(this.dragStartPoint)\n if (evt.isShiftDown()) {\n var maxDelta = Math.max(moveDelta.x, moveDelta.y);\n\t moveDelta = pt(maxDelta, maxDelta);\n };\n this.owner.setExtent(this.originalTargetExtent.addPt(moveDelta));\n this.align(this.bounds().bottomRight(), this.owner.getExtent());\n }","funcProperties":{"__isSmartRef__":true,"id":3616},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3611":{"this":{"__isSmartRef__":true,"id":3596},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3612}},"3612":{"$super":{"__isSmartRef__":true,"id":3613}},"3613":{"varMapping":{"__isSmartRef__":true,"id":3614},"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":3615},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3614":{"obj":{"__isSmartRef__":true,"id":3596},"name":"onDrag"},"3615":{},"3616":{},"3617":{"varMapping":{"__isSmartRef__":true,"id":3618},"source":"function onDragEnd(evt) {\n this.dragStartPoint = null;\n this.originalTargetExtent = null;\n }","funcProperties":{"__isSmartRef__":true,"id":3623},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3618":{"this":{"__isSmartRef__":true,"id":3596},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3619}},"3619":{"$super":{"__isSmartRef__":true,"id":3620}},"3620":{"varMapping":{"__isSmartRef__":true,"id":3621},"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":3622},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3621":{"obj":{"__isSmartRef__":true,"id":3596},"name":"onDragEnd"},"3622":{},"3623":{},"3624":{"_BorderWidth":0,"_Fill":null,"_StrokeOpacity":0,"_BorderRadius":0,"_NodeClass":["window"],"_NodeId":"morph-cd7bcb08-eb4a-48cd-952b-53a1eaeb23d0","__serializedExpressions__":["_Padding","_Extent"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Padding":"lively.rect(0,0,0,0)","_Extent":"lively.pt(451.4,519.4)"},"3625":{"morph":{"__isSmartRef__":true,"id":10},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3626":{"adjustForNewBounds":true},"3627":{"partsSpaceName":"PartsBin/Tools","comment":"A tool for inspecting an object. Very similar to the ObjectExplorer but a lot faster and with the ability to edit primitives, filter properties and display inheritance.","migrationLevel":4,"partName":"ObjectInspector","changes":[{"__isSmartRef__":true,"id":3628},{"__isSmartRef__":true,"id":3630},{"__isSmartRef__":true,"id":3632},{"__isSmartRef__":true,"id":3634},{"__isSmartRef__":true,"id":3636},{"__isSmartRef__":true,"id":3638},{"__isSmartRef__":true,"id":3640},{"__isSmartRef__":true,"id":3642},{"__isSmartRef__":true,"id":3644},{"__isSmartRef__":true,"id":3646},{"__isSmartRef__":true,"id":3648},{"__isSmartRef__":true,"id":3650},{"__isSmartRef__":true,"id":3652},{"__isSmartRef__":true,"id":3654},{"__isSmartRef__":true,"id":3656},{"__isSmartRef__":true,"id":3658},{"__isSmartRef__":true,"id":3660},{"__isSmartRef__":true,"id":3662},{"__isSmartRef__":true,"id":3664},{"__isSmartRef__":true,"id":3666},{"__isSmartRef__":true,"id":3668},{"__isSmartRef__":true,"id":3670},{"__isSmartRef__":true,"id":3672},{"__isSmartRef__":true,"id":3674},{"__isSmartRef__":true,"id":3676},{"__isSmartRef__":true,"id":3678},{"__isSmartRef__":true,"id":3680},{"__isSmartRef__":true,"id":3682},{"__isSmartRef__":true,"id":3684},{"__isSmartRef__":true,"id":3686},{"__isSmartRef__":true,"id":3688},{"__isSmartRef__":true,"id":3690},{"__isSmartRef__":true,"id":3692},{"__isSmartRef__":true,"id":3694},{"__isSmartRef__":true,"id":3696},{"__isSmartRef__":true,"id":3698}],"lastModifiedDate":{"__isSmartRef__":true,"id":3700},"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"3628":{"date":{"__isSmartRef__":true,"id":3629},"author":"cschuster","message":"reset scale to 1","id":"44F3B7C5-4880-4E0C-8E1A-B0CE032E7594"},"3629":{"isSerializedDate":true,"string":"Fri Jun 29 2012 01:21:07 GMT+0200 (CEST)"},"3630":{"date":{"__isSmartRef__":true,"id":3631},"author":"cschuster","message":"fixed a bug with addScript","id":"A00EC8E9-2F93-46E8-A1C8-22588B39BC11"},"3631":{"isSerializedDate":true,"string":"Thu Jun 14 2012 20:36:16 GMT+0200 (CEST)"},"3632":{"date":{"__isSmartRef__":true,"id":3633},"author":"cschuster","message":"copying should now work","id":"334BC443-5022-4C12-8DE0-532B479A57DC"},"3633":{"isSerializedDate":true,"string":"Thu Jun 14 2012 20:14:16 GMT+0200 (CEST)"},"3634":{"date":{"__isSmartRef__":true,"id":3635},"author":"cschuster","message":"changed submorphs to morphs.","id":"F6E05A4D-23B9-4CCA-88DE-C14C35965B13"},"3635":{"isSerializedDate":true,"string":"Wed Jun 06 2012 18:56:30 GMT+0200 (CEST)"},"3636":{"date":{"__isSmartRef__":true,"id":3637},"author":"cschuster","message":"inheritance now works as well","id":"B6153C82-028D-48C6-A949-B9C16246B7E1"},"3637":{"isSerializedDate":true,"string":"Wed Jun 06 2012 03:06:06 GMT+0200 (CEST)"},"3638":{"date":{"__isSmartRef__":true,"id":3639},"author":"cschuster","message":"started work on displaying inherited properties.","id":"E2D295AA-8DC9-41F0-8699-3B4294FFA5A2"},"3639":{"isSerializedDate":true,"string":"Wed Jun 06 2012 02:46:47 GMT+0200 (CEST)"},"3640":{"date":{"__isSmartRef__":true,"id":3641},"author":"cschuster","message":"fixed handling of null and undefined values","id":"25FAB4E6-9A70-4E32-8213-1098C6A9C363"},"3641":{"isSerializedDate":true,"string":"Wed Jun 06 2012 01:57:14 GMT+0200 (CEST)"},"3642":{"date":{"__isSmartRef__":true,"id":3643},"author":"cschuster","message":"fixed problem with boolean values","id":"ECA8BC3D-29C8-4779-B61C-27DC9E13B7E2"},"3643":{"isSerializedDate":true,"string":"Wed Jun 06 2012 01:25:44 GMT+0200 (CEST)"},"3644":{"date":{"__isSmartRef__":true,"id":3645},"author":"cschuster","message":"fixed bug with primitive values.","id":"6B05214C-6EE6-4F5C-BA36-DFC15578CB12"},"3645":{"isSerializedDate":true,"string":"Wed Jun 06 2012 01:14:48 GMT+0200 (CEST)"},"3646":{"date":{"__isSmartRef__":true,"id":3647},"author":"cschuster","message":"better updating for collapsed items","id":"A37C0C9B-1F7F-49D9-BC86-CA97E05C812D"},"3647":{"isSerializedDate":true,"string":"Wed Jun 06 2012 01:12:20 GMT+0200 (CEST)"},"3648":{"date":{"__isSmartRef__":true,"id":3649},"author":"cschuster","message":"removed filter for inherited properties","id":"CABABBD4-BABE-4D47-8EBF-CED45960532B"},"3649":{"isSerializedDate":true,"string":"Wed Jun 06 2012 00:10:42 GMT+0200 (CEST)"},"3650":{"date":{"__isSmartRef__":true,"id":3651},"author":"cschuster","message":"editing of strings, numbers and boolean values","id":"CE0C9588-EB85-4390-B51B-BC51AA154F11"},"3651":{"isSerializedDate":true,"string":"Tue Jun 05 2012 02:33:18 GMT+0200 (CEST)"},"3652":{"date":{"__isSmartRef__":true,"id":3653},"author":"cschuster","message":"improved text editing","id":"C9950198-82AF-47B8-9BDF-04C7457FE598"},"3653":{"isSerializedDate":true,"string":"Tue Jun 05 2012 01:18:18 GMT+0200 (CEST)"},"3654":{"date":{"__isSmartRef__":true,"id":3655},"author":"cschuster","message":"now supports editing of string properties","id":"4DEA5157-6A26-46F4-AE4E-59112855E522"},"3655":{"isSerializedDate":true,"string":"Tue Jun 05 2012 00:44:13 GMT+0200 (CEST)"},"3656":{"date":{"__isSmartRef__":true,"id":3657},"author":"cschuster","message":"updating should work now. still needs some testing","id":"381E10DB-4391-42E3-A790-D5EAEFF2758B"},"3657":{"isSerializedDate":true,"string":"Sat Jun 02 2012 03:12:07 GMT+0200 (CEST)"},"3658":{"date":{"__isSmartRef__":true,"id":3659},"author":"cschuster","message":"initial commit. still a lot of work to do.","id":"258D3B7C-8C70-4B34-962F-E2F39A8596D5"},"3659":{"isSerializedDate":true,"string":"Tue May 29 2012 23:52:57 GMT+0200 (CEST)"},"3660":{"date":{"__isSmartRef__":true,"id":3661},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"3661":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"3662":{"date":{"__isSmartRef__":true,"id":3663},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"3663":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"3664":{"date":{"__isSmartRef__":true,"id":3665},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"3665":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"3666":{"date":{"__isSmartRef__":true,"id":3667},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"3667":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"3668":{"date":{"__isSmartRef__":true,"id":3669},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"3669":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"3670":{"date":{"__isSmartRef__":true,"id":3671},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"3671":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"3672":{"date":{"__isSmartRef__":true,"id":3673},"author":"cschuster","message":"faster updating","id":"BDDADEB8-FC7D-4240-965D-5C2A8106884F"},"3673":{"isSerializedDate":true,"string":"Mon Jun 04 2012 20:44:27 GMT+0200 (CEST)"},"3674":{"date":{"__isSmartRef__":true,"id":3675},"author":"cschuster","message":"now uses hidden root node","id":"63608436-F5CC-4F6C-8C9E-C4039CAAE8AE"},"3675":{"isSerializedDate":true,"string":"Mon Jun 04 2012 22:34:53 GMT+0200 (CEST)"},"3676":{"date":{"__isSmartRef__":true,"id":3677},"author":"cschuster","message":"now supports filtering","id":"CF4D534E-10BF-4727-8FB1-25AB7DEC6E48"},"3677":{"isSerializedDate":true,"string":"Tue Jun 05 2012 23:45:47 GMT+0200 (CEST)"},"3678":{"date":{"__isSmartRef__":true,"id":3679},"author":"cschuster","message":"fixed the problems with the unspecified filter.","id":"745E611A-B941-4FFD-9759-E982062C03B8"},"3679":{"isSerializedDate":true,"string":"Tue Jun 05 2012 23:51:21 GMT+0200 (CEST)"},"3680":{"date":{"__isSmartRef__":true,"id":3681},"author":"cschuster","message":"fixed bug with prototype of primitives.","id":"A3F3EEC4-36E8-4EC8-B2DD-8B899A275990"},"3681":{"isSerializedDate":true,"string":"Wed Jun 06 2012 03:16:23 GMT+0200 (CEST)"},"3682":{"date":{"__isSmartRef__":true,"id":3683},"author":"jenslincke","message":"added \"show submorphs\" to filter options","id":"93060C3D-5BE0-46C0-BF46-58B7C287E037"},"3683":{"isSerializedDate":true,"string":"Wed Jun 06 2012 10:58:01 GMT+0200 (CEST)"},"3684":{"date":{"__isSmartRef__":true,"id":3685},"author":"cschuster","message":"fixed description string for namespaces and clipping mode.","id":"9CB238CB-7069-43DE-81BD-C09B61A2BDB4"},"3685":{"isSerializedDate":true,"string":"Thu Jun 07 2012 00:19:24 GMT+0200 (CEST)"},"3686":{"date":{"__isSmartRef__":true,"id":3687},"author":"cschuster","message":"hopefully fixed the addScript bug","id":"D040A117-4200-449C-A492-272C4498EDBD"},"3687":{"isSerializedDate":true,"string":"Fri Jun 15 2012 00:12:43 GMT+0200 (CEST)"},"3688":{"date":{"__isSmartRef__":true,"id":3689},"author":"cschuster","message":"fixed serialization of filter","id":"776E7AFA-1299-4714-94C4-F514AC2A255C"},"3689":{"isSerializedDate":true,"string":"Fri Jun 15 2012 00:21:17 GMT+0200 (CEST)"},"3690":{"date":{"__isSmartRef__":true,"id":3691},"author":"cschuster","message":"fixed string describe bug","id":"B38CA966-52EB-420C-84FB-ADED1B421078"},"3691":{"isSerializedDate":true,"string":"Mon Jul 02 2012 23:16:55 GMT+0200 (CEST)"},"3692":{"date":{"__isSmartRef__":true,"id":3693},"author":"cschuster","message":"do not serialize prototype data","id":"E13FF3C5-692E-45E6-81DA-497C4F1A252B"},"3693":{"isSerializedDate":true,"string":"Wed Aug 01 2012 04:04:41 GMT+0200 (CEST)"},"3694":{"date":{"__isSmartRef__":true,"id":3695},"author":"jenslincke","message":"changed layout and added splitter","id":"98C76CEA-1AFB-4802-B245-BC542286BE14"},"3695":{"isSerializedDate":true,"string":"Thu Nov 22 2012 14:43:32 GMT+0100 (CET)"},"3696":{"date":{"__isSmartRef__":true,"id":3697},"author":"jenslincke","message":"changed layout and added splitter","id":"8CE1DD54-E7A9-40CC-9761-30F2B4D4191C"},"3697":{"isSerializedDate":true,"string":"Thu Nov 22 2012 14:43:37 GMT+0100 (CET)"},"3698":{"date":{"__isSmartRef__":true,"id":3699},"author":"jenslincke","message":"new title bar","id":"24261115-4F33-48D7-9E6F-D580EF3CB481"},"3699":{"isSerializedDate":true,"string":"Thu Nov 29 2012 09:58:12 GMT+0100 (CET)"},"3700":{"isSerializedDate":true,"string":"Thu Nov 29 2012 09:55:17 GMT+0100 (CET)"},"3701":{"inspect":{"__isSmartRef__":true,"id":3702}},"3702":{"varMapping":{"__isSmartRef__":true,"id":3703},"source":"function inspect(obj) {\n this.get('ObjectInspector').inspect(obj);\n}","funcProperties":{"__isSmartRef__":true,"id":3704},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3703":{"this":{"__isSmartRef__":true,"id":10}},"3704":{"timestamp":{"__isSmartRef__":true,"id":3705},"user":"cschuster","tags":[]},"3705":{"isSerializedDate":true,"string":"Fri Jun 01 2012 21:32:31 GMT+0200 (CEST)"},"3706":{"submorphs":[{"__isSmartRef__":true,"id":3707},{"__isSmartRef__":true,"id":3715},{"__isSmartRef__":true,"id":3740},{"__isSmartRef__":true,"id":3788},{"__isSmartRef__":true,"id":3813}],"scripts":[],"shape":{"__isSmartRef__":true,"id":3838},"eventHandler":{"__isSmartRef__":true,"id":3839},"_ClipMode":"visible","derivationIds":[],"id":"662E3241-FA2D-4351-B2AE-89B49C4CB128","droppingEnabled":false,"halosEnabled":true,"draggingEnabled":true,"layout":{"__isSmartRef__":true,"id":3840},"LK2":true,"targetMorph":{"__isSmartRef__":true,"id":3707},"reframeHandle":{"__isSmartRef__":true,"id":3813},"bottomReframeHandle":{"__isSmartRef__":true,"id":3788},"rightReframeHandle":{"__isSmartRef__":true,"id":3715},"titleBar":{"__isSmartRef__":true,"id":3740},"collapsedTransform":null,"collapsedExtent":null,"expandedTransform":null,"expandedExtent":null,"ignoreEventsOnExpand":false,"_PreviousBorderWidth":0,"owner":{"__isSmartRef__":true,"id":0},"highlighted":false,"isBeingDragged":false,"__serializedExpressions__":["_Position","contentOffset","prevDragPos"],"__LivelyClassName__":"lively.morphic.Window","__SourceModuleName__":"Global.lively.morphic.Widgets","withoutLayers":["Global.lively.morphic.GrabbingLayer"],"_Position":"lively.pt(201.0,217.0)","contentOffset":"lively.pt(4.0,22.0)","prevDragPos":"lively.pt(526.0,118.0)"},"3707":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3708},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":3709}],"eventHandler":{"__isSmartRef__":true,"id":3711},"_ClipMode":"auto","derivationIds":[],"id":"6E04FCEF-AF8F-48BB-AFBE-61BF71EB23ED","grabbingEnabled":false,"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":3706},"layout":{"__isSmartRef__":true,"id":3712},"syntaxHighlightingWhileTyping":true,"attributeConnections":[{"__isSmartRef__":true,"id":3713}],"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"],"doNotCopyProperties":["$$textString"],"accessibleInInactiveWindow":true,"_lastSyntaxHighlightTime":38,"charsReplaced":"/* * Copyright (c) 2006-2009 Sun Microsystems, Inc. * Copyright (c) 2008-2011 Hasso Plattner Institute * * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the \"Software\"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */// set to the context enclosing the SVG context.// rk: replaced \"this.window.top || this.window\" with \"this.window\"// rk: when is it necessary to use the parent context?var Global = this.window || GLOBAL /*for Node.js*/;function dbgOn(cond, optMessage) { if (optMessage) console.log(optMessage); if (cond) debugger; // note that rhino has issues with this keyword // also call as: throw dbgOn(new Error(....)) return cond;}function assert(value, message) { if (value) { return; } // capture the stack var stack; try { throw new Error() } catch(e) { stack = e.stack || '' }; alert('Assertion failed' + (message ? ': ' + message : '!') + '\\n' + stack);};// namespace logic adapted from// http://higher-order.blogspot.com/2008/02/designing-clientserver-web-applications.htmlvar using = (function() { function Util(args) { // args is an escaping arguments array this.objects = Array.prototype.concat.apply([], args); //var ownArgs = this.objects = new Array(args.length); //for (var i = 0; i < args.length; i++) ownArgs[i] = args[i]; }; Util.prototype = { log: function(msg) { console.log(msg); }, run: function(inner) { var args = this.objects; if (this.moduleName) { // little convenience, if (args.length > 0) this.log('using().module(): ignoring args ' + args); return module(this.moduleName).requires().toRun(inner); } else return inner.apply(args[0], args); }, model: function(model) { // KP: interestingly, declaring the above as \"model: function model(model)\" // seems to bind model to to the function, not the formal parameter, at least in rhino! this.model = model; return this; }, module: function(moduleName) { this.moduleName = moduleName; return this; }, link: function link(literal, variableMap) { variableMap = variableMap || {}; return new lively.data.Resolver().link(literal, [], undefined, variableMap, this.objects, this.model); }, extend: function extend(base, extLiteral) { return this.link(Object.extend(Object.clone(base), extLiteral)); }, test: function(inner) { try { return this.run(inner); } catch (er) { alert('test failed: ' + er); return undefined; } } } return function using() { return new Util(arguments); }})();function namespace(spec, context) { var codeDB; if (spec[0] == '$') { codeDB = spec.substring(1, spec.indexOf('.')); spec = spec.substring(spec.indexOf('.') + 1); } var ret = __oldNamespace(spec, context); if (codeDB) { ret.fromDB = codeDB; } return ret;};function __oldNamespace(spec, context) { var i,N; context = context || Global; spec = spec.valueOf(); if (typeof spec === 'object') { if (typeof spec.length === 'number') {//assume an array-like object for (i = 0,N = spec.length; i < N; i++) { return namespace(spec[i], context); } } else {//spec is a specification object e.g, {com: {trifork: ['model,view']}} for (i in spec) if (spec.hasOwnProperty(i)) { context[i] = context[i] || new lively.lang.Namespace(context, i); return namespace(spec[i], context[i]);//recursively descend tree } } } else if (typeof spec === 'string') { (function handleStringCase() { var parts; parts = spec.split('.'); for (i = 0, N = parts.length; i= 0) { ea.pendingRequirements = []; ea.load(); testModuleLoad.delay(6); }\t}); console.log('Module load check done. ' + modules.length + ' modules loaded.');}).delay(10);function module(moduleName) { moduleName = LivelyMigrationSupport.fixModuleName(moduleName); function isNamespaceAwareModule(moduleName) { return moduleName && !moduleName.endsWith('.js'); } function convertUrlToNSIdentifier(url) { var result = url; result = result.replace(/\\//g, '.'); // get rid of '.js' if (result.endsWith('.js')) result = result.substring(0, result.lastIndexOf('.')); return result; } function createNamespaceModule(moduleName) { return namespace(isNamespaceAwareModule(moduleName) ? moduleName : convertUrlToNSIdentifier(moduleName)); } function basicRequire(/*module, requiredModuleNameOrAnArray, anotherRequiredModuleName, ...*/) { // support modulenames as array and parameterlist var args = $A(arguments), module = args.shift(), preReqModuleNames = Object.isArray(args[0]) ? args[0] : args, requiredModules = []; for (var i = 0; i < preReqModuleNames.length; i++) { var name = LivelyMigrationSupport.fixModuleName(preReqModuleNames[i]), reqModule = createNamespaceModule(name); module.addRequiredModule(reqModule); requiredModules.push(reqModule); } return { toRun: function(code) { var debugCode = code; code = code.curry(module); // pass in own module name for nested requirements var codeWrapper = function() { // run code with namespace modules as additional parameters try { module.activate(); code.apply(this, requiredModules); module._isLoaded = true; } catch(e) { module.logError(module + '>>basicRequire: ' + e, debugCode) } finally { module.deactivate(); } } module.addOnloadCallback(codeWrapper); module.load(); } }; }; dbgOn(!Object.isString(moduleName)); var module = createNamespaceModule(moduleName); module.wasDefined = true; module.requires = basicRequire.curry(module); return module;};function require(/*requiredModuleNameOrAnArray, anotherRequiredModuleName, ...*/) { var getUniqueName = function() { return 'anonymous_module_' + require.counter }, args = $A(arguments); require.counter !== undefined ? require.counter++ : require.counter = 0; var m = module(getUniqueName()).beAnonymous(); if (lively.Config.showModuleDefStack) try { throw new Error() } catch(e) { m.defStack = e.stack } return m.requires(Object.isArray(args[0]) ? args[0] : args);};// ===========================================================================// Our JS library extensions (JS 1.5, no particular browser or graphics engine)// ===========================================================================/** * LK class system. */Object.extend(Function.prototype, { defaultCategoryName: 'default category', subclass: function(/*... */) { // Main method of the LK class system. // {className} is the name of the new class constructor which this method synthesizes // and binds to {className} in the Global namespace. // Remaining arguments are (inline) properties and methods to be copied into the prototype // of the newly created constructor. // modified from prototype.js var args = $A(arguments), className = args.shift(), targetScope = Global, shortName = null; if (className) { targetScope = Class.namespaceFor(className); shortName = Class.unqualifiedNameFor(className); } else { shortName = \"anonymous_\" + (Class.anonymousCounter++); className = shortName; } var klass; if (className && targetScope[shortName] && (targetScope[shortName].superclass === this)) { // preserve the class to allow using the subclass construct in interactive development klass = targetScope[shortName]; } else { klass = Class.newInitializer(shortName); klass.superclass = this; var protoclass = function() { }; // that's the constructor of the new prototype object protoclass.prototype = this.prototype; klass.prototype = new protoclass(); klass.prototype.constructor = klass; klass.prototype.constructor.type = className; // KP: .name would be better but js ignores .name on anonymous functions klass.prototype.constructor.displayName = className; // for debugging, because name can not be assigned if (className) targetScope[shortName] = klass; // otherwise it's anonymous // remember the module that contains the class def if (Global.lively && lively.lang && lively.lang.Namespace) klass.sourceModule = lively.lang.Namespace.current(); }; // the remaining args should be category strings or source objects this.addMethods.apply(klass, args); if (!klass.prototype.initialize) klass.prototype.initialize = Functions.Empty; return klass; }, addMethods: function(/*...*/) { var args = arguments, category = this.defaultCategoryName, traits = []; for (var i = 0; i < args.length; i++) { if (Object.isString(args[i])) { category = args[i]; } else if (Global.RealTrait && args[i] instanceof RealTrait) { // FIXME Traits are optional and defined in lively.Traits // This should go somewhere into lively.Traits... // we apply traits afterwards because they can override behavior traits.push(args[i]); } else { this.addCategorizedMethods(category, args[i] instanceof Function ? (args[i])() : args[i]); } } for (i = 0; i < traits.length; i++) { traits[i].applyTo(this); } }, addCategorizedMethods: function(categoryName, source) { // first parameter is a category name // copy all the methods and properties from {source} into the // prototype property of the receiver, which is intended to be // a class constructor. Method arguments named '$super' are treated // specially, see Prototype.js documentation for \"Class.create()\" for details. // derived from Class.Methods.addMethods() in prototype.js // prepare the categories if (!this.categories) this.categories = {}; if (!this.categories[categoryName]) this.categories[categoryName] = []; var currentCategoryNames = this.categories[categoryName]; if (!source) throw dbgOn(new Error('no source in addCategorizedMethods!')); var ancestor = this.superclass && this.superclass.prototype; var className = this.type || \"Anonymous\"; for (var property in source) { if (property == 'constructor') continue; var getter = source.__lookupGetter__(property); if (getter) this.prototype.__defineGetter__(property, getter); var setter = source.__lookupSetter__(property); if (setter) this.prototype.__defineSetter__(property, setter); if (getter || setter) continue; currentCategoryNames.push(property); var value = source[property]; // weirdly, RegExps are functions in Safari, so testing for // Object.isFunction on regexp field values will return true. // But they're not full-blown functions and don't // inherit argumentNames from Function.prototype var hasSuperCall = ancestor && Object.isFunction(value) && value.argumentNames && value.argumentNames().first() == \"$super\"; if (hasSuperCall) { // wrapped in a function to save the value of 'method' for advice (function() { var method = value, advice = (function(m) { var cs = function callSuper() { var method = ancestor[m]; if (!method) { throw new Error(Strings.format('Trying to call super of' + '%s>>%s but super method non existing in %s', className, m, ancestor.constructor.type)); } return method.apply(this, arguments); }; cs.varMapping = {ancestor: ancestor, m: m}; cs.isSuperCall = true; return cs; })(property); advice.methodName = \"$super:\" + (this.superclass ? this.superclass.type + \">>\" : \"\") + property; value = Object.extend(advice.wrap(method), { valueOf: function() { return method }, toString: function() { return method.toString() }, originalFunction: method, methodName: advice.methodName, isSuperWrapper: true }); // for lively.Closures method.varMapping = {$super: advice}; })(); } this.prototype[property] = value; if (property === \"formals\") { // rk FIXME remove this cruft // special property (used to be pins, but now called formals to disambiguate old and new style Class.addPins(this, value); } else if (Object.isFunction(value)) { // remember name for profiling in WebKit value.displayName = className + \"$\" + property; // remember where it was defined if (Global.lively && lively.lang && lively.lang.Namespace) value.sourceModule = lively.lang.Namespace.current(); for (; value; value = value.originalFunction) { if (value.methodName) { //console.log(\"class \" + this.prototype.constructor.type // + \" borrowed \" + value.qualifiedMethodName()); } value.declaredClass = this.prototype.constructor.type; value.methodName = property; } } } // end of for (var property in source) return this; }, addProperties: function(spec, recordType) { Class.addMixin(this, recordType.prototype.create(spec).prototype); }, isSubclassOf: function(aClass) { return this.superclasses().include(aClass); }, allSubclasses: function() { var klass = this; return Global.classes(true).select(function(ea) { return ea.isSubclassOf(klass) }); }, withAllSubclasses: function() { return [this].concat(this.allSubclasses()) }, directSubclasses: function() { var klass = this; return Global.classes(true).select(function(ea) { return ea.superclass === klass }); }, withAllSortedSubclassesDo: function(func) { // this method iterates func on all subclasses of klass (including klass) // it is ensured that the klasses are sorted by a) subclass relationship and b) name (not type!) // func gets as parameters: 1) the class 2) index in list 3) level of inheritance // compared to klass (1 for direct subclasses and so on) function createSortedSubclassList(klass, level) { var list = klass.directSubclasses() .sortBy(function(ea) { return ea.name.charCodeAt(0) }) .collect(function(subclass) { return createSortedSubclassList(subclass, level + 1) }) .flatten(); return [{klass: klass, level: level}].concat(list) } return createSortedSubclassList(this, 0).collect(function(spec, idx) { return func(spec.klass, idx, spec.level) }) }, superclasses: function() { if (!this.superclass) return []; if (this.superclass === Object) return [Object]; return this.superclass.superclasses().concat([this.superclass]); }, categoryNameFor: function(propName) { for (var categoryName in this.categories) { if (this.categories[categoryName].include(propName)) { return categoryName; } } return null; }, remove: function() { var ownerNamespace = Class.namespaceFor(this.type), ownName = Class.unqualifiedNameFor(this.type); delete ownerNamespace[ownName]; },});var Class = { anonymousCounter: 0, initializerTemplate: (function CLASS(){ Class.initializer.apply(this, arguments) }).toString(), newInitializer: function(name) { // this hack ensures that class instances have a name return eval(Class.initializerTemplate.replace(/CLASS/g, name) + \";\" + name); }, initializer: function initializer() { var firstArg = arguments[0]; // maybe special initialization required if (firstArg && firstArg.isImporter) { this.deserialize.apply(this, arguments); } else if (firstArg && firstArg.isCopier) { this.copyFrom.apply(this, arguments); } else if (firstArg && firstArg.isInstanceRestorer) { // just do nothing // for WebCards and other JSON-based dersialization logic } else { // if this.initialize is undefined then prolly the constructor was called without 'new' this.initialize.apply(this, arguments); } }, def: function Class$def(constr, superConstr, optProtos, optStatics) { // currently not used // Main method of the LK class system. // {className} is the name of the new class constructor which this method synthesizes // and binds to {className} in the Global namespace. // Remaining arguments are (inline) properties and methods to be copied into the prototype // of the newly created constructor. // modified from prototype.js var klass = Class.newInitializer(\"klass\"); klass.superclass = superConstr; var protoclass = function() { }; // that's the constructor of the new prototype object protoclass.prototype = superConstr.prototype; klass.prototype = new protoclass(); // Object.extend(klass.prototype, constr.prototype); klass.prototype.constructor = klass; var className = constr.name; // getName() klass.addMethods({initialize: constr}); // KP: .name would be better but js ignores .name on anonymous functions klass.type = className; if (optProtos) klass.addMethods(optProtos); if (optStatics) Object.extend(klass, optStatics); Global[className] = klass; return klass; }, isValidIdentifier: function(str) { return /^(?:[a-zA-Z_][\\w\\-]*[.])*[a-zA-Z_][\\w\\-]*$/.test(str); }, isClass: function Class$isClass(object) { if (object === Object || object === Array || object === Function || object === String || object === Number) { return true; } return (object instanceof Function) && (object.superclass !== undefined); }, className: function Class$className(cl) { if (cl === Object) return \"Object\" if (cl === Array) return \"Array\" if (cl === Function) return \"Function\" if (cl === String) return \"String\" if (cl === Number) return \"Number\" return cl.type; }, forName: function forName(name) { // lookup the class object given the qualified name var ns = Class.namespaceFor(name), shortName = Class.unqualifiedNameFor(name); return ns[shortName]; }, deleteObjectNamed: function Class$deleteObjectNamed(name) { var ns = Class.namespaceFor(name), shortName = Class.unqualifiedNameFor(name); delete ns[shortName]; }, unqualifiedNameFor: function Class$unqualifiedNameFor(name) { var lastDot = name.lastIndexOf('.'), // lastDot may be -1 unqualifiedName = name.substring(lastDot + 1); if (!Class.isValidIdentifier(unqualifiedName)) throw new Error('not a name ' + unqualifiedName); return unqualifiedName; }, namespaceFor: function Class$namespaceFor(className) { // get the namespace object given the qualified name var lastDot = className ? className.lastIndexOf('.') : -1; if (lastDot < 0) return Global; else return namespace(className.substring(0, lastDot)); }, withAllClassNames: function Class$withAllClassNames(scope, callback) { for (var name in scope) { try { if (Class.isClass(scope[name])) callback(name); } catch (er) { // FF exceptions } } callback(\"Object\"); callback(\"Global\"); }, makeEnum: function Class$makeEnum(strings) { // simple mechanism for making objecs with property values set to // property names, to be used as enums. var e = {}; for (var i = 0; i < strings.length; i++) { e[strings[i]] = strings[i]; } return e; }, getConstructor: function Class$getConstructor(object) { var c = object.constructor; return (c && c.getOriginal) ? c.getOriginal() : c; }, getPrototype: function Class$getPrototype(object) { return this.getConstructor(object).prototype; }, applyPrototypeMethod: function Class$applyPrototypeMethod(methodName, target, args) { var method = this.getPrototype(target); if (!method) throw new Error(\"method \" + methodName + \" not found\"); return method.apply(this, args); }, getSuperConstructor: function Class$getSuperConstructor(object) { return this.getConstructor(object).superclass; }, getSuperPrototype: function Class$getSuperPrototype(object) { var sup = this.getSuperConstructor(object); return sup && sup.prototype; }, addPins: function Class$addPins(cls, spec) { if (Global.Relay) { Class.addMixin(cls, Relay.newDelegationMixin(spec).prototype); return; } // this is for refactoring away from Relay and friends if (!Object.isArray(spec)) throw new Error('Cannot deal with non-Array spec in addPins'); function unstripName(name) { return name.replace(/[\\+|\\-]?(.*)/, '$1') }; function needsSetter(name) { return !name.startsWith('-') }; function needsGetter(name) { return !name.startsWith('+') }; var mixinSpec = {}; spec.forEach(function(specString) { var name = unstripName(specString); if (needsSetter(specString)) mixinSpec['set' + name] = function(value) { return this['_' + name] = value } if (needsGetter(specString)) mixinSpec['get' + name] = function() { return this['_' + name] } }) Class.addMixin(cls, mixinSpec); }, addMixin: function Class$addMixin(cls, source) { var spec = {}; for (var prop in source) { var value = source[prop]; switch (prop) { case \"constructor\": case \"initialize\": case \"deserialize\": case \"copyFrom\": case \"toString\": case \"definition\": case \"description\": break; default: if (cls.prototype[prop] === undefined) // do not override existing values! spec[prop] = value; } } cls.addMethods(spec); },};Object.subclass('Namespace','initializing', { initialize: function(context, nsName) { this.namespaceIdentifier = context.namespaceIdentifier + '.' + nsName; this.createTime = new Date(); },},'accessing', { gather: function(selector, condition, recursive) { var result = Object.values(this).select(function(ea) { return condition.call(this, ea) }, this); if (!recursive) return result; return this.subNamespaces().inject(result, function(result, ns) { return result.concat(ns[selector](true)) }); }, subNamespaces: function(recursive) { return this.gather( 'subNamespaces', function(ea) { return (ea instanceof lively.lang.Namespace || ea === Global) && ea !== this }, recursive); }, classes: function(recursive) { var normalClasses = this.gather( 'classes', function(ea) { return ea && ea !== this.constructor && Class.isClass(ea) }, recursive); if (this === Global) return [Array, Number, String, Function].concat(normalClasses); return normalClasses; }, functions: function(recursive) { return this.gather( 'functions', function(ea) { return ea && !Class.isClass(ea) && Object.isFunction(ea) && !ea.declaredClass && this.requires !== ea && ea.getOriginal() === ea }, recursive); },});// let Glabal act like a namespace itselfObject.extend(Global, Namespace.prototype);Object.extend(Global, { namespaceIdentifier: 'Global', isLoaded: Functions.True,});Namespace.addMethods('properties', { isLivelyModule: true,},'initializing', { beAnonymous: function() { this._isAnonymous = true; this.sourceModuleName = lively.lang.Namespace.current().namespaceIdentifier; return this; },},'accessing', { // module specific, should be a subclass? name: function() { var identifier = this.namespaceIdentifier, globalIdStart = 'Global.'; if (identifier.startsWith(globalIdStart)) { identifier = identifier.substring(globalIdStart.length); } return identifier; }, findUri: function(optFileType) { var fileType = optFileType || 'js', fileExtension = '.' + fileType, namespacePrefix; if (this.namespaceIdentifier.startsWith('Global.')) { namespacePrefix = 'Global.'; } else { throw dbgOn(new Error('unknown namespaceIdentifier')); } var relativePath = this.namespaceIdentifier .substr(namespacePrefix.length) .replace(/\\./g, '/'); if (!relativePath.match(/\\.js$/)) { relativePath += fileExtension; } var uri = ''; lively.Config.modulePaths.forEach(function(ea) { if (relativePath.substring(0, ea.length) == ea) { uri = lively.Config.rootPath + relativePath; } }); if (uri == '') { uri = lively.Config.codeBase + relativePath; } return uri; }, uri: function(optType) { // FIXME cleanup necessary if (this.__cachedUri && !optType) { return this.__cachedUri; } var url; if (this.fromDB) { var id = this.namespaceIdentifier; // something like lively.Core var namespacePrefix; if (id.startsWith('Global.')) { namespacePrefix = 'Global.'; id = id.substring(7); } else throw dbgOn(new Error('unknown namespaceIdentifier')); // FIXME: extract to lively.Config.codeBaseDB url = lively.Config.couchDBURL + '/' + this.fromDB + '/_design/raw_data/_list/javascript/for-module?module=' + id; this.__cachedUri = url; return url; } else { var id = this.namespaceIdentifier; // something like lively.Core var namespacePrefix; if (!this.isAnonymous()) { url = this.findUri(optType); } else { if (id.startsWith('Global.')) namespacePrefix = 'Global.'; else throw dbgOn(new Error('unknown namespaceIdentifier')); url = lively.Config.codeBase + this.namespaceIdentifier.substr(namespacePrefix.length).replace(/\\./g, '/'); } this.__cachedUri = url; return url; } }, relativePath: function(optType) { return new URL(this.uri(optType)).relativePathFrom(URL.codeBase); }, lastPart: function() { return this.name().match(/[^.]+$/)[0]; }},'module dependencies', { addDependendModule: function(depModule) { if (!this.dependendModules) this.dependendModules = []; this.dependendModules.push(depModule); // keep a copy of the dependencies for debugging if (!this.debugDependendModules) this.debugDependendModules = []; this.debugDependendModules.push(depModule); }, informDependendModules: function() { if (!this.dependendModules) return; var deps = this.dependendModules.uniq(); this.dependendModules = []; deps.forEach(function(ea) { ea.removeRequiredModule(this) }, this); }, traceDependendModules: function(visited) { visited = visited || []; var deps = this.debugDependendModules || []; deps = deps.withoutAll(visited) visited.push(this); return [this.namespaceIdentifier, deps.collect(function(ea) { return ea.traceDependendModules(visited) })] }, addRequiredModule: function(requiredModule) { // privateRequirements is just for keeping track later on if (!this.privateRequirements) this.privateRequirements = []; this.privateRequirements.push(requiredModule); if (requiredModule.isLoaded()) return; if (!this.pendingRequirements) this.pendingRequirements = []; this.pendingRequirements.push(requiredModule); requiredModule.addDependendModule(this); }, removeRequiredModule: function(requiredModule) { if (this.pendingRequirements && !this.pendingRequirements.include(requiredModule)) throw dbgOn(new Error('requiredModule not there')); this.pendingRequirements = this.pendingRequirements.without(requiredModule); if (!this.hasPendingRequirements()) { this.load(); } }, pendingRequirementNames: function() { if (!this.pendingRequirements) return []; return this.pendingRequirements.collect(function(ea) { return ea.uri() }); }, hasPendingRequirements: function() { return this.pendingRequirements && this.pendingRequirements.length > 0; }, loadRequirementsFirst: function() { this.pendingRequirements && this.pendingRequirements.invoke('load'); }, wasRequiredBy: function() { return Global.subNamespaces(true).select(function(m) { return m.privateRequirements && m.privateRequirements.include(this); }, this); },},'load callbacks', { addOnloadCallback: function(cb) { if (!this.callbacks) this.callbacks = []; this.callbacks.push(cb); }, runOnloadCallbacks: function() { if (!this.callbacks) return; var cb; while (cb = this.callbacks.shift()) { try {cb()} catch(e) { this.logError('runOnloadCallbacks: ' + cb.name + ': ' + e); throw e } }; }, isAnonymous: function() { return this._isAnonymous },},'testing', { isLoaded: function() { return this._isLoaded; }, isLoading: function() { if (this.isLoaded()) return false; if (this.uri().include('anonymous')) return true; return JSLoader.scriptInDOM(this.uri()); }, isAnonymous: function() { return this._isAnonymous },},'loading', { load: function(loadSync) { if (loadSync) { var prevWasSync = this.constructor.loadSync; this.constructor.loadSync = true; } if (this.isLoaded()) { this.runOnloadCallbacks(); return; } if (this.isLoading() && this.wasDefined && !this.hasPendingRequirements()) { this.runOnloadCallbacks(); // time is not only the time needed for the request and code evaluation // but the complete time span from the creation of the module (when the module is first encountered) // to evaluation the evaluation of its code, including load time of all requirements var time = this.createTime ? new Date() - this.createTime : 'na'; console.log(this.uri() + ' loaded in ' + time + ' ms'); this.informDependendModules(); return; } if (this.isLoading()) { this.loadRequirementsFirst(); return; } JSLoader.loadJs(this.uri(), null, this.constructor.loadSync); if (loadSync) this.constructor.loadSync = prevWasSync; }, activate: function() { this.constructor.namespaceStack.push(this); }, deactivate: function() { var m = this.constructor.namespaceStack.pop(); if (m !== this) throw new Error('Wrong module: ' + this.namespaceIdentifier + ' instead of expected ' + m.namespaceIdentifier ) },},'removing', { remove: function() { var ownerNamespace = Class.namespaceFor(this.namespaceIdentifier), ownName = Class.unqualifiedNameFor(this.namespaceIdentifier) JSLoader.removeAllScriptsThatLinkTo(this.uri()); delete ownerNamespace[ownName]; }, removeScriptNode: function() { var node = document.getElementById(this.uri()); if (!node) return node.parentNode.removeChild(node); },},'debugging', { toString: function() { return 'module(' + this.namespaceIdentifier + ')' }, inspect: function() { this.toString() + ' defined at ' + this.defStack }, logError: function(e, optCode) { var list = this.traceDependendModules(); var msg = 'Error while loading ' + this.moduleName + ': ' + e; msg += '\\ndependencies: ' + Strings.printNested(list) if (Global.lively && lively.morphic && lively.morphic.World && lively.morphic.World.current() && lively.morphic.World.current().logError) lively.morphic.World.current().logError(e) if (e.stack) msg = msg + e.stack; if (optCode) msg += \"code:\\n\" + optCode; console.error(msg); dbgOn(true); },});Object.extend(Namespace, { namespaceStack: [Global], current: function() { return this.namespaceStack.last() }, topologicalSortLoadedModules: function() { if (lively.Config.standAlone) { var scripIds = []; $('body script').each(function() { scripIds.push($(this).attr('id')) }); return scripIds.collect(function(id) { var name = id.replace(/^..\\//, ''); return module(name); }); } // get currently loaded modules that really are js files var modules = Global.subNamespaces(true) .reject(function(ea) { return ea.isAnonymous(); }) .select(function(ea) { return ea.isLoaded() && new WebResource(ea.uri()).exists() }); // topological sort modules according to their requirements var sortedModules = [], i = 0; while (i < 1000 && modules.length > 0) { i++; var canBeLoaded = modules.select(function(module) { if (!module.privateRequirements) return true; return module.privateRequirements.all(function(requirement) { return sortedModules.include(requirement) }) }) sortedModules = sortedModules.concat(canBeLoaded); modules = modules.withoutAll(canBeLoaded); } if (modules.length > 0) throw new Error('Cannot find dependencies for all modules!'); return sortedModules; }, bootstrapModules: function() { // return a string to include in bootstrap.js var urls = this.topologicalSortLoadedModules() .collect(function(ea) { return new URL(ea.uri()).relativePathFrom(URL.codeBase) }) // omit modules outside of core .reject(function(path) { return path.startsWith('..') }); var manual = [LivelyLoader.libsFile, 'lively/Migration.js', 'lively/JSON.js', 'lively/lang/Object.js', 'lively/lang/Function.js', 'lively/lang/String.js', 'lively/lang/Array.js', 'lively/lang/Number.js', 'lively/lang/Date.js', 'lively/defaultconfig.js', 'lively/localconfig.js', 'lively/Base.js', 'lively/lang/Closure.js', // FIXME: require module instead 'lively/lang/UUID.js', // FIXME: require module instead 'lively/LocalStorage.js']; urls = manual.concat(urls); return urls; }, bootstrapModulesString: function() { var urls = this.bootstrapModules(); return '[\\'' + urls.join('\\', \\'') + '\\']'; }});(function createLivelyNamespace(Global) { // namespace('lively.lang'); var preExistingLively = Global.lively; delete Global.lively; var lively = new Global.Namespace(Global, 'lively'); // FIXME this is just a hack to get properties of a potentially // predefined \"lively\" object over to the namespace lively object // namespaces should deal with this in general if (preExistingLively) { for (var name in preExistingLively) { lively[name] = preExistingLively[name]; } } Global.lively = lively;})(Global);(function moveNamespaceClassToLivelyLang(Global) { var lively = Global.lively, Namespace = Global.Namespace; lively.lang = new Namespace(lively, 'lang'); lively.lang.Namespace = Namespace; // alias lively.Module = lively.lang.Namespace; delete Global.Namespace;})(Global);(function addUsefulStuffToLivelyNS(Global, lively) { lively.assert = Global.assert;})(Global, lively);Object.extend(lively.Module, { findAllInThenDo: function(url, callback) { var dir = new URL(url).getDirectory(); if (url.isLeaf()) { throw new Error(url + ' is not a directory!'); } var webR = dir.asWebResource(); lively.bindings.connect(webR, 'subDocuments', {onLoad: function(files) { var moduleNames = files.invoke('getURL') .invoke('asModuleName'), modules = moduleNames.collect(function(name) { return module(name); }) callback(modules); }}, 'onLoad'); webR.getSubElements(); }});(function setupLivelyLang(lively) { lively.lang.Execution = { showStack: Functions.Null, resetDebuggingStack: Functions.Null, installStackTracers: Functions.Null }; lively.lang.let = function(/** **/) { // lively.lang.let(y, function(x) { body }) is equivalent to { let y = x; body; } return arguments[arguments.length - 1].apply(this, arguments); }})(lively);/* * Stack Viewer when Dan's StackTracer is not available * FIXME rk: move this to Helper.js? */function getStack() { var result = []; for(var caller = arguments.callee.caller; caller; caller = caller.caller) { if (result.indexOf(caller) != -1) { result.push({name: \"recursive call can't be traced\"}); break; } result.push(caller); }; return result;};function printStack() { function guessFunctionName(func) { var qName = func.qualifiedMethodName && func.qualifiedMethodName(), regExpRes = func.toString().match(/function (.+)\\(/); return qName || (regExpRes && regExpRes[1]) || func; }; var string = \"== Stack ==\\n\", stack = getStack(); stack.shift(); // for getStack stack.shift(); // for printStack (me) var indent = \"\"; for (var i=0; i < stack.length; i++) { string += indent + i + \": \" +guessFunctionName(stack[i]) + \"\\n\"; indent += \" \"; }; return string;};function logStack() { this.console.log(printStack());};(function setupjQuery(Global) { var lively = Global.lively, jQuery = Global.jQuery; // we still are adding jQuery to Global but this is DEPRECATED // We need to be able to run with libraries requiring different jQuery versions // so we will restrict \"our\" to lively.$ in the future Global.$ = lively.$ = jQuery.noConflict(/*true -- really removes $*/);})(Global);","lastFindLoc":42520,"isBeingDragged":false,"showsHalos":false,"__serializedExpressions__":["_TextColor","_Position"],"textString":"/* * Copyright (c) 2006-2009 Sun Microsystems, Inc. * Copyright (c) 2008-2011 Hasso Plattner Institute * * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the \"Software\"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */// set to the context enclosing the SVG context.// rk: replaced \"this.window.top || this.window\" with \"this.window\"// rk: when is it necessary to use the parent context?var Global = this.window || GLOBAL /*for Node.js*/;function dbgOn(cond, optMessage) { if (optMessage) console.log(optMessage); if (cond) debugger; // note that rhino has issues with this keyword // also call as: throw dbgOn(new Error(....)) return cond;}function assert(value, message) { if (value) { return; } // capture the stack var stack; try { throw new Error() } catch(e) { stack = e.stack || '' }; alert('Assertion failed' + (message ? ': ' + message : '!') + '\\n' + stack);};// namespace logic adapted from// http://higher-order.blogspot.com/2008/02/designing-clientserver-web-applications.htmlvar using = (function() { function Util(args) { // args is an escaping arguments array this.objects = Array.prototype.concat.apply([], args); //var ownArgs = this.objects = new Array(args.length); //for (var i = 0; i < args.length; i++) ownArgs[i] = args[i]; }; Util.prototype = { log: function(msg) { console.log(msg); }, run: function(inner) { var args = this.objects; if (this.moduleName) { // little convenience, if (args.length > 0) this.log('using().module(): ignoring args ' + args); return module(this.moduleName).requires().toRun(inner); } else return inner.apply(args[0], args); }, model: function(model) { // KP: interestingly, declaring the above as \"model: function model(model)\" // seems to bind model to to the function, not the formal parameter, at least in rhino! this.model = model; return this; }, module: function(moduleName) { this.moduleName = moduleName; return this; }, link: function link(literal, variableMap) { variableMap = variableMap || {}; return new lively.data.Resolver().link(literal, [], undefined, variableMap, this.objects, this.model); }, extend: function extend(base, extLiteral) { return this.link(Object.extend(Object.clone(base), extLiteral)); }, test: function(inner) { try { return this.run(inner); } catch (er) { alert('test failed: ' + er); return undefined; } } } return function using() { return new Util(arguments); }})();function namespace(spec, context) { var codeDB; if (spec[0] == '$') { codeDB = spec.substring(1, spec.indexOf('.')); spec = spec.substring(spec.indexOf('.') + 1); } var ret = __oldNamespace(spec, context); if (codeDB) { ret.fromDB = codeDB; } return ret;};function __oldNamespace(spec, context) { var i,N; context = context || Global; spec = spec.valueOf(); if (typeof spec === 'object') { if (typeof spec.length === 'number') {//assume an array-like object for (i = 0,N = spec.length; i < N; i++) { return namespace(spec[i], context); } } else {//spec is a specification object e.g, {com: {trifork: ['model,view']}} for (i in spec) if (spec.hasOwnProperty(i)) { context[i] = context[i] || new lively.lang.Namespace(context, i); return namespace(spec[i], context[i]);//recursively descend tree } } } else if (typeof spec === 'string') { (function handleStringCase() { var parts; parts = spec.split('.'); for (i = 0, N = parts.length; i= 0) { ea.pendingRequirements = []; ea.load(); testModuleLoad.delay(6); }\t}); console.log('Module load check done. ' + modules.length + ' modules loaded.');}).delay(10);function module(moduleName) { moduleName = LivelyMigrationSupport.fixModuleName(moduleName); function isNamespaceAwareModule(moduleName) { return moduleName && !moduleName.endsWith('.js'); } function convertUrlToNSIdentifier(url) { var result = url; result = result.replace(/\\//g, '.'); // get rid of '.js' if (result.endsWith('.js')) result = result.substring(0, result.lastIndexOf('.')); return result; } function createNamespaceModule(moduleName) { return namespace(isNamespaceAwareModule(moduleName) ? moduleName : convertUrlToNSIdentifier(moduleName)); } function basicRequire(/*module, requiredModuleNameOrAnArray, anotherRequiredModuleName, ...*/) { // support modulenames as array and parameterlist var args = $A(arguments), module = args.shift(), preReqModuleNames = Object.isArray(args[0]) ? args[0] : args, requiredModules = []; for (var i = 0; i < preReqModuleNames.length; i++) { var name = LivelyMigrationSupport.fixModuleName(preReqModuleNames[i]), reqModule = createNamespaceModule(name); module.addRequiredModule(reqModule); requiredModules.push(reqModule); } return { toRun: function(code) { var debugCode = code; code = code.curry(module); // pass in own module name for nested requirements var codeWrapper = function() { // run code with namespace modules as additional parameters try { module.activate(); code.apply(this, requiredModules); module._isLoaded = true; } catch(e) { module.logError(module + '>>basicRequire: ' + e, debugCode) } finally { module.deactivate(); } } module.addOnloadCallback(codeWrapper); module.load(); } }; }; dbgOn(!Object.isString(moduleName)); var module = createNamespaceModule(moduleName); module.wasDefined = true; module.requires = basicRequire.curry(module); return module;};function require(/*requiredModuleNameOrAnArray, anotherRequiredModuleName, ...*/) { var getUniqueName = function() { return 'anonymous_module_' + require.counter }, args = $A(arguments); require.counter !== undefined ? require.counter++ : require.counter = 0; var m = module(getUniqueName()).beAnonymous(); if (lively.Config.showModuleDefStack) try { throw new Error() } catch(e) { m.defStack = e.stack } return m.requires(Object.isArray(args[0]) ? args[0] : args);};// ===========================================================================// Our JS library extensions (JS 1.5, no particular browser or graphics engine)// ===========================================================================/** * LK class system. */Object.extend(Function.prototype, { defaultCategoryName: 'default category', subclass: function(/*... */) { // Main method of the LK class system. // {className} is the name of the new class constructor which this method synthesizes // and binds to {className} in the Global namespace. // Remaining arguments are (inline) properties and methods to be copied into the prototype // of the newly created constructor. // modified from prototype.js var args = $A(arguments), className = args.shift(), targetScope = Global, shortName = null; if (className) { targetScope = Class.namespaceFor(className); shortName = Class.unqualifiedNameFor(className); } else { shortName = \"anonymous_\" + (Class.anonymousCounter++); className = shortName; } var klass; if (className && targetScope[shortName] && (targetScope[shortName].superclass === this)) { // preserve the class to allow using the subclass construct in interactive development klass = targetScope[shortName]; } else { klass = Class.newInitializer(shortName); klass.superclass = this; var protoclass = function() { }; // that's the constructor of the new prototype object protoclass.prototype = this.prototype; klass.prototype = new protoclass(); klass.prototype.constructor = klass; klass.prototype.constructor.type = className; // KP: .name would be better but js ignores .name on anonymous functions klass.prototype.constructor.displayName = className; // for debugging, because name can not be assigned if (className) targetScope[shortName] = klass; // otherwise it's anonymous // remember the module that contains the class def if (Global.lively && lively.lang && lively.lang.Namespace) klass.sourceModule = lively.lang.Namespace.current(); }; // the remaining args should be category strings or source objects this.addMethods.apply(klass, args); if (!klass.prototype.initialize) klass.prototype.initialize = Functions.Empty; return klass; }, addMethods: function(/*...*/) { var args = arguments, category = this.defaultCategoryName, traits = []; for (var i = 0; i < args.length; i++) { if (Object.isString(args[i])) { category = args[i]; } else if (Global.RealTrait && args[i] instanceof RealTrait) { // FIXME Traits are optional and defined in lively.Traits // This should go somewhere into lively.Traits... // we apply traits afterwards because they can override behavior traits.push(args[i]); } else { this.addCategorizedMethods(category, args[i] instanceof Function ? (args[i])() : args[i]); } } for (i = 0; i < traits.length; i++) { traits[i].applyTo(this); } }, addCategorizedMethods: function(categoryName, source) { // first parameter is a category name // copy all the methods and properties from {source} into the // prototype property of the receiver, which is intended to be // a class constructor. Method arguments named '$super' are treated // specially, see Prototype.js documentation for \"Class.create()\" for details. // derived from Class.Methods.addMethods() in prototype.js // prepare the categories if (!this.categories) this.categories = {}; if (!this.categories[categoryName]) this.categories[categoryName] = []; var currentCategoryNames = this.categories[categoryName]; if (!source) throw dbgOn(new Error('no source in addCategorizedMethods!')); var ancestor = this.superclass && this.superclass.prototype; var className = this.type || \"Anonymous\"; for (var property in source) { if (property == 'constructor') continue; var getter = source.__lookupGetter__(property); if (getter) this.prototype.__defineGetter__(property, getter); var setter = source.__lookupSetter__(property); if (setter) this.prototype.__defineSetter__(property, setter); if (getter || setter) continue; currentCategoryNames.push(property); var value = source[property]; // weirdly, RegExps are functions in Safari, so testing for // Object.isFunction on regexp field values will return true. // But they're not full-blown functions and don't // inherit argumentNames from Function.prototype var hasSuperCall = ancestor && Object.isFunction(value) && value.argumentNames && value.argumentNames().first() == \"$super\"; if (hasSuperCall) { // wrapped in a function to save the value of 'method' for advice (function() { var method = value, advice = (function(m) { var cs = function callSuper() { var method = ancestor[m]; if (!method) { throw new Error(Strings.format('Trying to call super of' + '%s>>%s but super method non existing in %s', className, m, ancestor.constructor.type)); } return method.apply(this, arguments); }; cs.varMapping = {ancestor: ancestor, m: m}; cs.isSuperCall = true; return cs; })(property); advice.methodName = \"$super:\" + (this.superclass ? this.superclass.type + \">>\" : \"\") + property; value = Object.extend(advice.wrap(method), { valueOf: function() { return method }, toString: function() { return method.toString() }, originalFunction: method, methodName: advice.methodName, isSuperWrapper: true }); // for lively.Closures method.varMapping = {$super: advice}; })(); } this.prototype[property] = value; if (property === \"formals\") { // rk FIXME remove this cruft // special property (used to be pins, but now called formals to disambiguate old and new style Class.addPins(this, value); } else if (Object.isFunction(value)) { // remember name for profiling in WebKit value.displayName = className + \"$\" + property; // remember where it was defined if (Global.lively && lively.lang && lively.lang.Namespace) value.sourceModule = lively.lang.Namespace.current(); for (; value; value = value.originalFunction) { if (value.methodName) { //console.log(\"class \" + this.prototype.constructor.type // + \" borrowed \" + value.qualifiedMethodName()); } value.declaredClass = this.prototype.constructor.type; value.methodName = property; } } } // end of for (var property in source) return this; }, addProperties: function(spec, recordType) { Class.addMixin(this, recordType.prototype.create(spec).prototype); }, isSubclassOf: function(aClass) { return this.superclasses().include(aClass); }, allSubclasses: function() { var klass = this; return Global.classes(true).select(function(ea) { return ea.isSubclassOf(klass) }); }, withAllSubclasses: function() { return [this].concat(this.allSubclasses()) }, directSubclasses: function() { var klass = this; return Global.classes(true).select(function(ea) { return ea.superclass === klass }); }, withAllSortedSubclassesDo: function(func) { // this method iterates func on all subclasses of klass (including klass) // it is ensured that the klasses are sorted by a) subclass relationship and b) name (not type!) // func gets as parameters: 1) the class 2) index in list 3) level of inheritance // compared to klass (1 for direct subclasses and so on) function createSortedSubclassList(klass, level) { var list = klass.directSubclasses() .sortBy(function(ea) { return ea.name.charCodeAt(0) }) .collect(function(subclass) { return createSortedSubclassList(subclass, level + 1) }) .flatten(); return [{klass: klass, level: level}].concat(list) } return createSortedSubclassList(this, 0).collect(function(spec, idx) { return func(spec.klass, idx, spec.level) }) }, superclasses: function() { if (!this.superclass) return []; if (this.superclass === Object) return [Object]; return this.superclass.superclasses().concat([this.superclass]); }, categoryNameFor: function(propName) { for (var categoryName in this.categories) { if (this.categories[categoryName].include(propName)) { return categoryName; } } return null; }, remove: function() { var ownerNamespace = Class.namespaceFor(this.type), ownName = Class.unqualifiedNameFor(this.type); delete ownerNamespace[ownName]; },});var Class = { anonymousCounter: 0, initializerTemplate: (function CLASS(){ Class.initializer.apply(this, arguments) }).toString(), newInitializer: function(name) { // this hack ensures that class instances have a name return eval(Class.initializerTemplate.replace(/CLASS/g, name) + \";\" + name); }, initializer: function initializer() { var firstArg = arguments[0]; // maybe special initialization required if (firstArg && firstArg.isImporter) { this.deserialize.apply(this, arguments); } else if (firstArg && firstArg.isCopier) { this.copyFrom.apply(this, arguments); } else if (firstArg && firstArg.isInstanceRestorer) { // just do nothing // for WebCards and other JSON-based dersialization logic } else { // if this.initialize is undefined then prolly the constructor was called without 'new' this.initialize.apply(this, arguments); } }, def: function Class$def(constr, superConstr, optProtos, optStatics) { // currently not used // Main method of the LK class system. // {className} is the name of the new class constructor which this method synthesizes // and binds to {className} in the Global namespace. // Remaining arguments are (inline) properties and methods to be copied into the prototype // of the newly created constructor. // modified from prototype.js var klass = Class.newInitializer(\"klass\"); klass.superclass = superConstr; var protoclass = function() { }; // that's the constructor of the new prototype object protoclass.prototype = superConstr.prototype; klass.prototype = new protoclass(); // Object.extend(klass.prototype, constr.prototype); klass.prototype.constructor = klass; var className = constr.name; // getName() klass.addMethods({initialize: constr}); // KP: .name would be better but js ignores .name on anonymous functions klass.type = className; if (optProtos) klass.addMethods(optProtos); if (optStatics) Object.extend(klass, optStatics); Global[className] = klass; return klass; }, isValidIdentifier: function(str) { return /^(?:[a-zA-Z_][\\w\\-]*[.])*[a-zA-Z_][\\w\\-]*$/.test(str); }, isClass: function Class$isClass(object) { if (object === Object || object === Array || object === Function || object === String || object === Number) { return true; } return (object instanceof Function) && (object.superclass !== undefined); }, className: function Class$className(cl) { if (cl === Object) return \"Object\" if (cl === Array) return \"Array\" if (cl === Function) return \"Function\" if (cl === String) return \"String\" if (cl === Number) return \"Number\" return cl.type; }, forName: function forName(name) { // lookup the class object given the qualified name var ns = Class.namespaceFor(name), shortName = Class.unqualifiedNameFor(name); return ns[shortName]; }, deleteObjectNamed: function Class$deleteObjectNamed(name) { var ns = Class.namespaceFor(name), shortName = Class.unqualifiedNameFor(name); delete ns[shortName]; }, unqualifiedNameFor: function Class$unqualifiedNameFor(name) { var lastDot = name.lastIndexOf('.'), // lastDot may be -1 unqualifiedName = name.substring(lastDot + 1); if (!Class.isValidIdentifier(unqualifiedName)) throw new Error('not a name ' + unqualifiedName); return unqualifiedName; }, namespaceFor: function Class$namespaceFor(className) { // get the namespace object given the qualified name var lastDot = className ? className.lastIndexOf('.') : -1; if (lastDot < 0) return Global; else return namespace(className.substring(0, lastDot)); }, withAllClassNames: function Class$withAllClassNames(scope, callback) { for (var name in scope) { try { if (Class.isClass(scope[name])) callback(name); } catch (er) { // FF exceptions } } callback(\"Object\"); callback(\"Global\"); }, makeEnum: function Class$makeEnum(strings) { // simple mechanism for making objecs with property values set to // property names, to be used as enums. var e = {}; for (var i = 0; i < strings.length; i++) { e[strings[i]] = strings[i]; } return e; }, getConstructor: function Class$getConstructor(object) { var c = object.constructor; return (c && c.getOriginal) ? c.getOriginal() : c; }, getPrototype: function Class$getPrototype(object) { return this.getConstructor(object).prototype; }, applyPrototypeMethod: function Class$applyPrototypeMethod(methodName, target, args) { var method = this.getPrototype(target); if (!method) throw new Error(\"method \" + methodName + \" not found\"); return method.apply(this, args); }, getSuperConstructor: function Class$getSuperConstructor(object) { return this.getConstructor(object).superclass; }, getSuperPrototype: function Class$getSuperPrototype(object) { var sup = this.getSuperConstructor(object); return sup && sup.prototype; }, addPins: function Class$addPins(cls, spec) { if (Global.Relay) { Class.addMixin(cls, Relay.newDelegationMixin(spec).prototype); return; } // this is for refactoring away from Relay and friends if (!Object.isArray(spec)) throw new Error('Cannot deal with non-Array spec in addPins'); function unstripName(name) { return name.replace(/[\\+|\\-]?(.*)/, '$1') }; function needsSetter(name) { return !name.startsWith('-') }; function needsGetter(name) { return !name.startsWith('+') }; var mixinSpec = {}; spec.forEach(function(specString) { var name = unstripName(specString); if (needsSetter(specString)) mixinSpec['set' + name] = function(value) { return this['_' + name] = value } if (needsGetter(specString)) mixinSpec['get' + name] = function() { return this['_' + name] } }) Class.addMixin(cls, mixinSpec); }, addMixin: function Class$addMixin(cls, source) { var spec = {}; for (var prop in source) { var value = source[prop]; switch (prop) { case \"constructor\": case \"initialize\": case \"deserialize\": case \"copyFrom\": case \"toString\": case \"definition\": case \"description\": break; default: if (cls.prototype[prop] === undefined) // do not override existing values! spec[prop] = value; } } cls.addMethods(spec); },};Object.subclass('Namespace','initializing', { initialize: function(context, nsName) { this.namespaceIdentifier = context.namespaceIdentifier + '.' + nsName; this.createTime = new Date(); },},'accessing', { gather: function(selector, condition, recursive) { var result = Object.values(this).select(function(ea) { return condition.call(this, ea) }, this); if (!recursive) return result; return this.subNamespaces().inject(result, function(result, ns) { return result.concat(ns[selector](true)) }); }, subNamespaces: function(recursive) { return this.gather( 'subNamespaces', function(ea) { return (ea instanceof lively.lang.Namespace || ea === Global) && ea !== this }, recursive); }, classes: function(recursive) { var normalClasses = this.gather( 'classes', function(ea) { return ea && ea !== this.constructor && Class.isClass(ea) }, recursive); if (this === Global) return [Array, Number, String, Function].concat(normalClasses); return normalClasses; }, functions: function(recursive) { return this.gather( 'functions', function(ea) { return ea && !Class.isClass(ea) && Object.isFunction(ea) && !ea.declaredClass && this.requires !== ea && ea.getOriginal() === ea }, recursive); },});// let Glabal act like a namespace itselfObject.extend(Global, Namespace.prototype);Object.extend(Global, { namespaceIdentifier: 'Global', isLoaded: Functions.True,});Namespace.addMethods('properties', { isLivelyModule: true,},'initializing', { beAnonymous: function() { this._isAnonymous = true; this.sourceModuleName = lively.lang.Namespace.current().namespaceIdentifier; return this; },},'accessing', { // module specific, should be a subclass? name: function() { var identifier = this.namespaceIdentifier, globalIdStart = 'Global.'; if (identifier.startsWith(globalIdStart)) { identifier = identifier.substring(globalIdStart.length); } return identifier; }, findUri: function(optFileType) { var fileType = optFileType || 'js', fileExtension = '.' + fileType, namespacePrefix; if (this.namespaceIdentifier.startsWith('Global.')) { namespacePrefix = 'Global.'; } else { throw dbgOn(new Error('unknown namespaceIdentifier')); } var relativePath = this.namespaceIdentifier .substr(namespacePrefix.length) .replace(/\\./g, '/'); if (!relativePath.match(/\\.js$/)) { relativePath += fileExtension; } var uri = ''; lively.Config.modulePaths.forEach(function(ea) { if (relativePath.substring(0, ea.length) == ea) { uri = lively.Config.rootPath + relativePath; } }); if (uri == '') { uri = lively.Config.codeBase + relativePath; } return uri; }, uri: function(optType) { // FIXME cleanup necessary if (this.__cachedUri && !optType) { return this.__cachedUri; } var url; if (this.fromDB) { var id = this.namespaceIdentifier; // something like lively.Core var namespacePrefix; if (id.startsWith('Global.')) { namespacePrefix = 'Global.'; id = id.substring(7); } else throw dbgOn(new Error('unknown namespaceIdentifier')); // FIXME: extract to lively.Config.codeBaseDB url = lively.Config.couchDBURL + '/' + this.fromDB + '/_design/raw_data/_list/javascript/for-module?module=' + id; this.__cachedUri = url; return url; } else { var id = this.namespaceIdentifier; // something like lively.Core var namespacePrefix; if (!this.isAnonymous()) { url = this.findUri(optType); } else { if (id.startsWith('Global.')) namespacePrefix = 'Global.'; else throw dbgOn(new Error('unknown namespaceIdentifier')); url = lively.Config.codeBase + this.namespaceIdentifier.substr(namespacePrefix.length).replace(/\\./g, '/'); } this.__cachedUri = url; return url; } }, relativePath: function(optType) { return new URL(this.uri(optType)).relativePathFrom(URL.codeBase); }, lastPart: function() { return this.name().match(/[^.]+$/)[0]; }},'module dependencies', { addDependendModule: function(depModule) { if (!this.dependendModules) this.dependendModules = []; this.dependendModules.push(depModule); // keep a copy of the dependencies for debugging if (!this.debugDependendModules) this.debugDependendModules = []; this.debugDependendModules.push(depModule); }, informDependendModules: function() { if (!this.dependendModules) return; var deps = this.dependendModules.uniq(); this.dependendModules = []; deps.forEach(function(ea) { ea.removeRequiredModule(this) }, this); }, traceDependendModules: function(visited) { visited = visited || []; var deps = this.debugDependendModules || []; deps = deps.withoutAll(visited) visited.push(this); return [this.namespaceIdentifier, deps.collect(function(ea) { return ea.traceDependendModules(visited) })] }, addRequiredModule: function(requiredModule) { // privateRequirements is just for keeping track later on if (!this.privateRequirements) this.privateRequirements = []; this.privateRequirements.push(requiredModule); if (requiredModule.isLoaded()) return; if (!this.pendingRequirements) this.pendingRequirements = []; this.pendingRequirements.push(requiredModule); requiredModule.addDependendModule(this); }, removeRequiredModule: function(requiredModule) { if (this.pendingRequirements && !this.pendingRequirements.include(requiredModule)) throw dbgOn(new Error('requiredModule not there')); this.pendingRequirements = this.pendingRequirements.without(requiredModule); if (!this.hasPendingRequirements()) { this.load(); } }, pendingRequirementNames: function() { if (!this.pendingRequirements) return []; return this.pendingRequirements.collect(function(ea) { return ea.uri() }); }, hasPendingRequirements: function() { return this.pendingRequirements && this.pendingRequirements.length > 0; }, loadRequirementsFirst: function() { this.pendingRequirements && this.pendingRequirements.invoke('load'); }, wasRequiredBy: function() { return Global.subNamespaces(true).select(function(m) { return m.privateRequirements && m.privateRequirements.include(this); }, this); },},'load callbacks', { addOnloadCallback: function(cb) { if (!this.callbacks) this.callbacks = []; this.callbacks.push(cb); }, runOnloadCallbacks: function() { if (!this.callbacks) return; var cb; while (cb = this.callbacks.shift()) { try {cb()} catch(e) { this.logError('runOnloadCallbacks: ' + cb.name + ': ' + e); throw e } }; }, isAnonymous: function() { return this._isAnonymous },},'testing', { isLoaded: function() { return this._isLoaded; }, isLoading: function() { if (this.isLoaded()) return false; if (this.uri().include('anonymous')) return true; return JSLoader.scriptInDOM(this.uri()); }, isAnonymous: function() { return this._isAnonymous },},'loading', { load: function(loadSync) { if (loadSync) { var prevWasSync = this.constructor.loadSync; this.constructor.loadSync = true; } if (this.isLoaded()) { this.runOnloadCallbacks(); return; } if (this.isLoading() && this.wasDefined && !this.hasPendingRequirements()) { this.runOnloadCallbacks(); // time is not only the time needed for the request and code evaluation // but the complete time span from the creation of the module (when the module is first encountered) // to evaluation the evaluation of its code, including load time of all requirements var time = this.createTime ? new Date() - this.createTime : 'na'; console.log(this.uri() + ' loaded in ' + time + ' ms'); this.informDependendModules(); return; } if (this.isLoading()) { this.loadRequirementsFirst(); return; } JSLoader.loadJs(this.uri(), null, this.constructor.loadSync); if (loadSync) this.constructor.loadSync = prevWasSync; }, activate: function() { this.constructor.namespaceStack.push(this); }, deactivate: function() { var m = this.constructor.namespaceStack.pop(); if (m !== this) throw new Error('Wrong module: ' + this.namespaceIdentifier + ' instead of expected ' + m.namespaceIdentifier ) },},'removing', { remove: function() { var ownerNamespace = Class.namespaceFor(this.namespaceIdentifier), ownName = Class.unqualifiedNameFor(this.namespaceIdentifier) JSLoader.removeAllScriptsThatLinkTo(this.uri()); delete ownerNamespace[ownName]; }, removeScriptNode: function() { var node = document.getElementById(this.uri()); if (!node) return node.parentNode.removeChild(node); },},'debugging', { toString: function() { return 'module(' + this.namespaceIdentifier + ')' }, inspect: function() { this.toString() + ' defined at ' + this.defStack }, logError: function(e, optCode) { var list = this.traceDependendModules(); var msg = 'Error while loading ' + this.moduleName + ': ' + e; msg += '\\ndependencies: ' + Strings.printNested(list) if (Global.lively && lively.morphic && lively.morphic.World && lively.morphic.World.current() && lively.morphic.World.current().logError) lively.morphic.World.current().logError(e) if (e.stack) msg = msg + e.stack; if (optCode) msg += \"code:\\n\" + optCode; console.error(msg); dbgOn(true); },});Object.extend(Namespace, { namespaceStack: [Global], current: function() { return this.namespaceStack.last() }, topologicalSortLoadedModules: function() { if (lively.Config.standAlone) { var scripIds = []; $('body script').each(function() { scripIds.push($(this).attr('id')) }); return scripIds.collect(function(id) { var name = id.replace(/^..\\//, ''); return module(name); }); } // get currently loaded modules that really are js files var modules = Global.subNamespaces(true) .reject(function(ea) { return ea.isAnonymous(); }) .select(function(ea) { return ea.isLoaded() && new WebResource(ea.uri()).exists() }); // topological sort modules according to their requirements var sortedModules = [], i = 0; while (i < 1000 && modules.length > 0) { i++; var canBeLoaded = modules.select(function(module) { if (!module.privateRequirements) return true; return module.privateRequirements.all(function(requirement) { return sortedModules.include(requirement) }) }) sortedModules = sortedModules.concat(canBeLoaded); modules = modules.withoutAll(canBeLoaded); } if (modules.length > 0) throw new Error('Cannot find dependencies for all modules!'); return sortedModules; }, bootstrapModules: function() { // return a string to include in bootstrap.js var urls = this.topologicalSortLoadedModules() .collect(function(ea) { return new URL(ea.uri()).relativePathFrom(URL.codeBase) }) // omit modules outside of core .reject(function(path) { return path.startsWith('..') }); var manual = [LivelyLoader.libsFile, 'lively/Migration.js', 'lively/JSON.js', 'lively/lang/Object.js', 'lively/lang/Function.js', 'lively/lang/String.js', 'lively/lang/Array.js', 'lively/lang/Number.js', 'lively/lang/Date.js', 'lively/defaultconfig.js', 'lively/localconfig.js', 'lively/Base.js', 'lively/lang/Closure.js', // FIXME: require module instead 'lively/lang/UUID.js', // FIXME: require module instead 'lively/LocalStorage.js']; urls = manual.concat(urls); return urls; }, bootstrapModulesString: function() { var urls = this.bootstrapModules(); return '[\\'' + urls.join('\\', \\'') + '\\']'; }});(function createLivelyNamespace(Global) { // namespace('lively.lang'); var preExistingLively = Global.lively; delete Global.lively; var lively = new Global.Namespace(Global, 'lively'); // FIXME this is just a hack to get properties of a potentially // predefined \"lively\" object over to the namespace lively object // namespaces should deal with this in general if (preExistingLively) { for (var name in preExistingLively) { lively[name] = preExistingLively[name]; } } Global.lively = lively;})(Global);(function moveNamespaceClassToLivelyLang(Global) { var lively = Global.lively, Namespace = Global.Namespace; lively.lang = new Namespace(lively, 'lang'); lively.lang.Namespace = Namespace; // alias lively.Module = lively.lang.Namespace; delete Global.Namespace;})(Global);(function addUsefulStuffToLivelyNS(Global, lively) { lively.assert = Global.assert;})(Global, lively);Object.extend(lively.Module, { findAllInThenDo: function(url, callback) { var dir = new URL(url).getDirectory(); if (url.isLeaf()) { throw new Error(url + ' is not a directory!'); } var webR = dir.asWebResource(); lively.bindings.connect(webR, 'subDocuments', {onLoad: function(files) { var moduleNames = files.invoke('getURL') .invoke('asModuleName'), modules = moduleNames.collect(function(name) { return module(name); }) callback(modules); }}, 'onLoad'); webR.getSubElements(); }});(function setupLivelyLang(lively) { lively.lang.Execution = { showStack: Functions.Null, resetDebuggingStack: Functions.Null, installStackTracers: Functions.Null }; lively.lang.let = function(/** **/) { // lively.lang.let(y, function(x) { body }) is equivalent to { let y = x; body; } return arguments[arguments.length - 1].apply(this, arguments); }})(lively);/* * Stack Viewer when Dan's StackTracer is not available * FIXME rk: move this to Helper.js? */function getStack() { var result = []; for(var caller = arguments.callee.caller; caller; caller = caller.caller) { if (result.indexOf(caller) != -1) { result.push({name: \"recursive call can't be traced\"}); break; } result.push(caller); }; return result;};function printStack() { function guessFunctionName(func) { var qName = func.qualifiedMethodName && func.qualifiedMethodName(), regExpRes = func.toString().match(/function (.+)\\(/); return qName || (regExpRes && regExpRes[1]) || func; }; var string = \"== Stack ==\\n\", stack = getStack(); stack.shift(); // for getStack stack.shift(); // for printStack (me) var indent = \"\"; for (var i=0; i < stack.length; i++) { string += indent + i + \": \" +guessFunctionName(stack[i]) + \"\\n\"; indent += \" \"; }; return string;};function logStack() { this.console.log(printStack());};(function setupjQuery(Global) { var lively = Global.lively, jQuery = Global.jQuery; // we still are adding jQuery to Global but this is DEPRECATED // We need to be able to run with libraries requiring different jQuery versions // so we will restrict \"our\" to lively.$ in the future Global.$ = lively.$ = jQuery.noConflict(/*true -- really removes $*/);})(Global);","previousSelection":null,"priorSelectionRange":[1249,1249],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(4.0,22.0)"},"3708":{"_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(1000.0,367.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(95,94,95)","_Fill":"Color.rgb(243,243,243)"},"3709":{"style":{"__isSmartRef__":true,"id":3710},"chunkOwner":{"__isSmartRef__":true,"id":3707},"_id":"_4","storedString":"/* * Copyright (c) 2006-2009 Sun Microsystems, Inc. * Copyright (c) 2008-2011 Hasso Plattner Institute * * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the \"Software\"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */// set to the context enclosing the SVG context.// rk: replaced \"this.window.top || this.window\" with \"this.window\"// rk: when is it necessary to use the parent context?var Global = this.window || GLOBAL /*for Node.js*/;function dbgOn(cond, optMessage) { if (optMessage) console.log(optMessage); if (cond) debugger; // note that rhino has issues with this keyword // also call as: throw dbgOn(new Error(....)) return cond;}function assert(value, message) { if (value) { return; } // capture the stack var stack; try { throw new Error() } catch(e) { stack = e.stack || '' }; alert('Assertion failed' + (message ? ': ' + message : '!') + '\\n' + stack);};// namespace logic adapted from// http://higher-order.blogspot.com/2008/02/designing-clientserver-web-applications.htmlvar using = (function() { function Util(args) { // args is an escaping arguments array this.objects = Array.prototype.concat.apply([], args); //var ownArgs = this.objects = new Array(args.length); //for (var i = 0; i < args.length; i++) ownArgs[i] = args[i]; }; Util.prototype = { log: function(msg) { console.log(msg); }, run: function(inner) { var args = this.objects; if (this.moduleName) { // little convenience, if (args.length > 0) this.log('using().module(): ignoring args ' + args); return module(this.moduleName).requires().toRun(inner); } else return inner.apply(args[0], args); }, model: function(model) { // KP: interestingly, declaring the above as \"model: function model(model)\" // seems to bind model to to the function, not the formal parameter, at least in rhino! this.model = model; return this; }, module: function(moduleName) { this.moduleName = moduleName; return this; }, link: function link(literal, variableMap) { variableMap = variableMap || {}; return new lively.data.Resolver().link(literal, [], undefined, variableMap, this.objects, this.model); }, extend: function extend(base, extLiteral) { return this.link(Object.extend(Object.clone(base), extLiteral)); }, test: function(inner) { try { return this.run(inner); } catch (er) { alert('test failed: ' + er); return undefined; } } } return function using() { return new Util(arguments); }})();function namespace(spec, context) { var codeDB; if (spec[0] == '$') { codeDB = spec.substring(1, spec.indexOf('.')); spec = spec.substring(spec.indexOf('.') + 1); } var ret = __oldNamespace(spec, context); if (codeDB) { ret.fromDB = codeDB; } return ret;};function __oldNamespace(spec, context) { var i,N; context = context || Global; spec = spec.valueOf(); if (typeof spec === 'object') { if (typeof spec.length === 'number') {//assume an array-like object for (i = 0,N = spec.length; i < N; i++) { return namespace(spec[i], context); } } else {//spec is a specification object e.g, {com: {trifork: ['model,view']}} for (i in spec) if (spec.hasOwnProperty(i)) { context[i] = context[i] || new lively.lang.Namespace(context, i); return namespace(spec[i], context[i]);//recursively descend tree } } } else if (typeof spec === 'string') { (function handleStringCase() { var parts; parts = spec.split('.'); for (i = 0, N = parts.length; i= 0) { ea.pendingRequirements = []; ea.load(); testModuleLoad.delay(6); }\t}); console.log('Module load check done. ' + modules.length + ' modules loaded.');}).delay(10);function module(moduleName) { moduleName = LivelyMigrationSupport.fixModuleName(moduleName); function isNamespaceAwareModule(moduleName) { return moduleName && !moduleName.endsWith('.js'); } function convertUrlToNSIdentifier(url) { var result = url; result = result.replace(/\\//g, '.'); // get rid of '.js' if (result.endsWith('.js')) result = result.substring(0, result.lastIndexOf('.')); return result; } function createNamespaceModule(moduleName) { return namespace(isNamespaceAwareModule(moduleName) ? moduleName : convertUrlToNSIdentifier(moduleName)); } function basicRequire(/*module, requiredModuleNameOrAnArray, anotherRequiredModuleName, ...*/) { // support modulenames as array and parameterlist var args = $A(arguments), module = args.shift(), preReqModuleNames = Object.isArray(args[0]) ? args[0] : args, requiredModules = []; for (var i = 0; i < preReqModuleNames.length; i++) { var name = LivelyMigrationSupport.fixModuleName(preReqModuleNames[i]), reqModule = createNamespaceModule(name); module.addRequiredModule(reqModule); requiredModules.push(reqModule); } return { toRun: function(code) { var debugCode = code; code = code.curry(module); // pass in own module name for nested requirements var codeWrapper = function() { // run code with namespace modules as additional parameters try { module.activate(); code.apply(this, requiredModules); module._isLoaded = true; } catch(e) { module.logError(module + '>>basicRequire: ' + e, debugCode) } finally { module.deactivate(); } } module.addOnloadCallback(codeWrapper); module.load(); } }; }; dbgOn(!Object.isString(moduleName)); var module = createNamespaceModule(moduleName); module.wasDefined = true; module.requires = basicRequire.curry(module); return module;};function require(/*requiredModuleNameOrAnArray, anotherRequiredModuleName, ...*/) { var getUniqueName = function() { return 'anonymous_module_' + require.counter }, args = $A(arguments); require.counter !== undefined ? require.counter++ : require.counter = 0; var m = module(getUniqueName()).beAnonymous(); if (lively.Config.showModuleDefStack) try { throw new Error() } catch(e) { m.defStack = e.stack } return m.requires(Object.isArray(args[0]) ? args[0] : args);};// ===========================================================================// Our JS library extensions (JS 1.5, no particular browser or graphics engine)// ===========================================================================/** * LK class system. */Object.extend(Function.prototype, { defaultCategoryName: 'default category', subclass: function(/*... */) { // Main method of the LK class system. // {className} is the name of the new class constructor which this method synthesizes // and binds to {className} in the Global namespace. // Remaining arguments are (inline) properties and methods to be copied into the prototype // of the newly created constructor. // modified from prototype.js var args = $A(arguments), className = args.shift(), targetScope = Global, shortName = null; if (className) { targetScope = Class.namespaceFor(className); shortName = Class.unqualifiedNameFor(className); } else { shortName = \"anonymous_\" + (Class.anonymousCounter++); className = shortName; } var klass; if (className && targetScope[shortName] && (targetScope[shortName].superclass === this)) { // preserve the class to allow using the subclass construct in interactive development klass = targetScope[shortName]; } else { klass = Class.newInitializer(shortName); klass.superclass = this; var protoclass = function() { }; // that's the constructor of the new prototype object protoclass.prototype = this.prototype; klass.prototype = new protoclass(); klass.prototype.constructor = klass; klass.prototype.constructor.type = className; // KP: .name would be better but js ignores .name on anonymous functions klass.prototype.constructor.displayName = className; // for debugging, because name can not be assigned if (className) targetScope[shortName] = klass; // otherwise it's anonymous // remember the module that contains the class def if (Global.lively && lively.lang && lively.lang.Namespace) klass.sourceModule = lively.lang.Namespace.current(); }; // the remaining args should be category strings or source objects this.addMethods.apply(klass, args); if (!klass.prototype.initialize) klass.prototype.initialize = Functions.Empty; return klass; }, addMethods: function(/*...*/) { var args = arguments, category = this.defaultCategoryName, traits = []; for (var i = 0; i < args.length; i++) { if (Object.isString(args[i])) { category = args[i]; } else if (Global.RealTrait && args[i] instanceof RealTrait) { // FIXME Traits are optional and defined in lively.Traits // This should go somewhere into lively.Traits... // we apply traits afterwards because they can override behavior traits.push(args[i]); } else { this.addCategorizedMethods(category, args[i] instanceof Function ? (args[i])() : args[i]); } } for (i = 0; i < traits.length; i++) { traits[i].applyTo(this); } }, addCategorizedMethods: function(categoryName, source) { // first parameter is a category name // copy all the methods and properties from {source} into the // prototype property of the receiver, which is intended to be // a class constructor. Method arguments named '$super' are treated // specially, see Prototype.js documentation for \"Class.create()\" for details. // derived from Class.Methods.addMethods() in prototype.js // prepare the categories if (!this.categories) this.categories = {}; if (!this.categories[categoryName]) this.categories[categoryName] = []; var currentCategoryNames = this.categories[categoryName]; if (!source) throw dbgOn(new Error('no source in addCategorizedMethods!')); var ancestor = this.superclass && this.superclass.prototype; var className = this.type || \"Anonymous\"; for (var property in source) { if (property == 'constructor') continue; var getter = source.__lookupGetter__(property); if (getter) this.prototype.__defineGetter__(property, getter); var setter = source.__lookupSetter__(property); if (setter) this.prototype.__defineSetter__(property, setter); if (getter || setter) continue; currentCategoryNames.push(property); var value = source[property]; // weirdly, RegExps are functions in Safari, so testing for // Object.isFunction on regexp field values will return true. // But they're not full-blown functions and don't // inherit argumentNames from Function.prototype var hasSuperCall = ancestor && Object.isFunction(value) && value.argumentNames && value.argumentNames().first() == \"$super\"; if (hasSuperCall) { // wrapped in a function to save the value of 'method' for advice (function() { var method = value, advice = (function(m) { var cs = function callSuper() { var method = ancestor[m]; if (!method) { throw new Error(Strings.format('Trying to call super of' + '%s>>%s but super method non existing in %s', className, m, ancestor.constructor.type)); } return method.apply(this, arguments); }; cs.varMapping = {ancestor: ancestor, m: m}; cs.isSuperCall = true; return cs; })(property); advice.methodName = \"$super:\" + (this.superclass ? this.superclass.type + \">>\" : \"\") + property; value = Object.extend(advice.wrap(method), { valueOf: function() { return method }, toString: function() { return method.toString() }, originalFunction: method, methodName: advice.methodName, isSuperWrapper: true }); // for lively.Closures method.varMapping = {$super: advice}; })(); } this.prototype[property] = value; if (property === \"formals\") { // rk FIXME remove this cruft // special property (used to be pins, but now called formals to disambiguate old and new style Class.addPins(this, value); } else if (Object.isFunction(value)) { // remember name for profiling in WebKit value.displayName = className + \"$\" + property; // remember where it was defined if (Global.lively && lively.lang && lively.lang.Namespace) value.sourceModule = lively.lang.Namespace.current(); for (; value; value = value.originalFunction) { if (value.methodName) { //console.log(\"class \" + this.prototype.constructor.type // + \" borrowed \" + value.qualifiedMethodName()); } value.declaredClass = this.prototype.constructor.type; value.methodName = property; } } } // end of for (var property in source) return this; }, addProperties: function(spec, recordType) { Class.addMixin(this, recordType.prototype.create(spec).prototype); }, isSubclassOf: function(aClass) { return this.superclasses().include(aClass); }, allSubclasses: function() { var klass = this; return Global.classes(true).select(function(ea) { return ea.isSubclassOf(klass) }); }, withAllSubclasses: function() { return [this].concat(this.allSubclasses()) }, directSubclasses: function() { var klass = this; return Global.classes(true).select(function(ea) { return ea.superclass === klass }); }, withAllSortedSubclassesDo: function(func) { // this method iterates func on all subclasses of klass (including klass) // it is ensured that the klasses are sorted by a) subclass relationship and b) name (not type!) // func gets as parameters: 1) the class 2) index in list 3) level of inheritance // compared to klass (1 for direct subclasses and so on) function createSortedSubclassList(klass, level) { var list = klass.directSubclasses() .sortBy(function(ea) { return ea.name.charCodeAt(0) }) .collect(function(subclass) { return createSortedSubclassList(subclass, level + 1) }) .flatten(); return [{klass: klass, level: level}].concat(list) } return createSortedSubclassList(this, 0).collect(function(spec, idx) { return func(spec.klass, idx, spec.level) }) }, superclasses: function() { if (!this.superclass) return []; if (this.superclass === Object) return [Object]; return this.superclass.superclasses().concat([this.superclass]); }, categoryNameFor: function(propName) { for (var categoryName in this.categories) { if (this.categories[categoryName].include(propName)) { return categoryName; } } return null; }, remove: function() { var ownerNamespace = Class.namespaceFor(this.type), ownName = Class.unqualifiedNameFor(this.type); delete ownerNamespace[ownName]; },});var Class = { anonymousCounter: 0, initializerTemplate: (function CLASS(){ Class.initializer.apply(this, arguments) }).toString(), newInitializer: function(name) { // this hack ensures that class instances have a name return eval(Class.initializerTemplate.replace(/CLASS/g, name) + \";\" + name); }, initializer: function initializer() { var firstArg = arguments[0]; // maybe special initialization required if (firstArg && firstArg.isImporter) { this.deserialize.apply(this, arguments); } else if (firstArg && firstArg.isCopier) { this.copyFrom.apply(this, arguments); } else if (firstArg && firstArg.isInstanceRestorer) { // just do nothing // for WebCards and other JSON-based dersialization logic } else { // if this.initialize is undefined then prolly the constructor was called without 'new' this.initialize.apply(this, arguments); } }, def: function Class$def(constr, superConstr, optProtos, optStatics) { // currently not used // Main method of the LK class system. // {className} is the name of the new class constructor which this method synthesizes // and binds to {className} in the Global namespace. // Remaining arguments are (inline) properties and methods to be copied into the prototype // of the newly created constructor. // modified from prototype.js var klass = Class.newInitializer(\"klass\"); klass.superclass = superConstr; var protoclass = function() { }; // that's the constructor of the new prototype object protoclass.prototype = superConstr.prototype; klass.prototype = new protoclass(); // Object.extend(klass.prototype, constr.prototype); klass.prototype.constructor = klass; var className = constr.name; // getName() klass.addMethods({initialize: constr}); // KP: .name would be better but js ignores .name on anonymous functions klass.type = className; if (optProtos) klass.addMethods(optProtos); if (optStatics) Object.extend(klass, optStatics); Global[className] = klass; return klass; }, isValidIdentifier: function(str) { return /^(?:[a-zA-Z_][\\w\\-]*[.])*[a-zA-Z_][\\w\\-]*$/.test(str); }, isClass: function Class$isClass(object) { if (object === Object || object === Array || object === Function || object === String || object === Number) { return true; } return (object instanceof Function) && (object.superclass !== undefined); }, className: function Class$className(cl) { if (cl === Object) return \"Object\" if (cl === Array) return \"Array\" if (cl === Function) return \"Function\" if (cl === String) return \"String\" if (cl === Number) return \"Number\" return cl.type; }, forName: function forName(name) { // lookup the class object given the qualified name var ns = Class.namespaceFor(name), shortName = Class.unqualifiedNameFor(name); return ns[shortName]; }, deleteObjectNamed: function Class$deleteObjectNamed(name) { var ns = Class.namespaceFor(name), shortName = Class.unqualifiedNameFor(name); delete ns[shortName]; }, unqualifiedNameFor: function Class$unqualifiedNameFor(name) { var lastDot = name.lastIndexOf('.'), // lastDot may be -1 unqualifiedName = name.substring(lastDot + 1); if (!Class.isValidIdentifier(unqualifiedName)) throw new Error('not a name ' + unqualifiedName); return unqualifiedName; }, namespaceFor: function Class$namespaceFor(className) { // get the namespace object given the qualified name var lastDot = className ? className.lastIndexOf('.') : -1; if (lastDot < 0) return Global; else return namespace(className.substring(0, lastDot)); }, withAllClassNames: function Class$withAllClassNames(scope, callback) { for (var name in scope) { try { if (Class.isClass(scope[name])) callback(name); } catch (er) { // FF exceptions } } callback(\"Object\"); callback(\"Global\"); }, makeEnum: function Class$makeEnum(strings) { // simple mechanism for making objecs with property values set to // property names, to be used as enums. var e = {}; for (var i = 0; i < strings.length; i++) { e[strings[i]] = strings[i]; } return e; }, getConstructor: function Class$getConstructor(object) { var c = object.constructor; return (c && c.getOriginal) ? c.getOriginal() : c; }, getPrototype: function Class$getPrototype(object) { return this.getConstructor(object).prototype; }, applyPrototypeMethod: function Class$applyPrototypeMethod(methodName, target, args) { var method = this.getPrototype(target); if (!method) throw new Error(\"method \" + methodName + \" not found\"); return method.apply(this, args); }, getSuperConstructor: function Class$getSuperConstructor(object) { return this.getConstructor(object).superclass; }, getSuperPrototype: function Class$getSuperPrototype(object) { var sup = this.getSuperConstructor(object); return sup && sup.prototype; }, addPins: function Class$addPins(cls, spec) { if (Global.Relay) { Class.addMixin(cls, Relay.newDelegationMixin(spec).prototype); return; } // this is for refactoring away from Relay and friends if (!Object.isArray(spec)) throw new Error('Cannot deal with non-Array spec in addPins'); function unstripName(name) { return name.replace(/[\\+|\\-]?(.*)/, '$1') }; function needsSetter(name) { return !name.startsWith('-') }; function needsGetter(name) { return !name.startsWith('+') }; var mixinSpec = {}; spec.forEach(function(specString) { var name = unstripName(specString); if (needsSetter(specString)) mixinSpec['set' + name] = function(value) { return this['_' + name] = value } if (needsGetter(specString)) mixinSpec['get' + name] = function() { return this['_' + name] } }) Class.addMixin(cls, mixinSpec); }, addMixin: function Class$addMixin(cls, source) { var spec = {}; for (var prop in source) { var value = source[prop]; switch (prop) { case \"constructor\": case \"initialize\": case \"deserialize\": case \"copyFrom\": case \"toString\": case \"definition\": case \"description\": break; default: if (cls.prototype[prop] === undefined) // do not override existing values! spec[prop] = value; } } cls.addMethods(spec); },};Object.subclass('Namespace','initializing', { initialize: function(context, nsName) { this.namespaceIdentifier = context.namespaceIdentifier + '.' + nsName; this.createTime = new Date(); },},'accessing', { gather: function(selector, condition, recursive) { var result = Object.values(this).select(function(ea) { return condition.call(this, ea) }, this); if (!recursive) return result; return this.subNamespaces().inject(result, function(result, ns) { return result.concat(ns[selector](true)) }); }, subNamespaces: function(recursive) { return this.gather( 'subNamespaces', function(ea) { return (ea instanceof lively.lang.Namespace || ea === Global) && ea !== this }, recursive); }, classes: function(recursive) { var normalClasses = this.gather( 'classes', function(ea) { return ea && ea !== this.constructor && Class.isClass(ea) }, recursive); if (this === Global) return [Array, Number, String, Function].concat(normalClasses); return normalClasses; }, functions: function(recursive) { return this.gather( 'functions', function(ea) { return ea && !Class.isClass(ea) && Object.isFunction(ea) && !ea.declaredClass && this.requires !== ea && ea.getOriginal() === ea }, recursive); },});// let Glabal act like a namespace itselfObject.extend(Global, Namespace.prototype);Object.extend(Global, { namespaceIdentifier: 'Global', isLoaded: Functions.True,});Namespace.addMethods('properties', { isLivelyModule: true,},'initializing', { beAnonymous: function() { this._isAnonymous = true; this.sourceModuleName = lively.lang.Namespace.current().namespaceIdentifier; return this; },},'accessing', { // module specific, should be a subclass? name: function() { var identifier = this.namespaceIdentifier, globalIdStart = 'Global.'; if (identifier.startsWith(globalIdStart)) { identifier = identifier.substring(globalIdStart.length); } return identifier; }, findUri: function(optFileType) { var fileType = optFileType || 'js', fileExtension = '.' + fileType, namespacePrefix; if (this.namespaceIdentifier.startsWith('Global.')) { namespacePrefix = 'Global.'; } else { throw dbgOn(new Error('unknown namespaceIdentifier')); } var relativePath = this.namespaceIdentifier .substr(namespacePrefix.length) .replace(/\\./g, '/'); if (!relativePath.match(/\\.js$/)) { relativePath += fileExtension; } var uri = ''; lively.Config.modulePaths.forEach(function(ea) { if (relativePath.substring(0, ea.length) == ea) { uri = lively.Config.rootPath + relativePath; } }); if (uri == '') { uri = lively.Config.codeBase + relativePath; } return uri; }, uri: function(optType) { // FIXME cleanup necessary if (this.__cachedUri && !optType) { return this.__cachedUri; } var url; if (this.fromDB) { var id = this.namespaceIdentifier; // something like lively.Core var namespacePrefix; if (id.startsWith('Global.')) { namespacePrefix = 'Global.'; id = id.substring(7); } else throw dbgOn(new Error('unknown namespaceIdentifier')); // FIXME: extract to lively.Config.codeBaseDB url = lively.Config.couchDBURL + '/' + this.fromDB + '/_design/raw_data/_list/javascript/for-module?module=' + id; this.__cachedUri = url; return url; } else { var id = this.namespaceIdentifier; // something like lively.Core var namespacePrefix; if (!this.isAnonymous()) { url = this.findUri(optType); } else { if (id.startsWith('Global.')) namespacePrefix = 'Global.'; else throw dbgOn(new Error('unknown namespaceIdentifier')); url = lively.Config.codeBase + this.namespaceIdentifier.substr(namespacePrefix.length).replace(/\\./g, '/'); } this.__cachedUri = url; return url; } }, relativePath: function(optType) { return new URL(this.uri(optType)).relativePathFrom(URL.codeBase); }, lastPart: function() { return this.name().match(/[^.]+$/)[0]; }},'module dependencies', { addDependendModule: function(depModule) { if (!this.dependendModules) this.dependendModules = []; this.dependendModules.push(depModule); // keep a copy of the dependencies for debugging if (!this.debugDependendModules) this.debugDependendModules = []; this.debugDependendModules.push(depModule); }, informDependendModules: function() { if (!this.dependendModules) return; var deps = this.dependendModules.uniq(); this.dependendModules = []; deps.forEach(function(ea) { ea.removeRequiredModule(this) }, this); }, traceDependendModules: function(visited) { visited = visited || []; var deps = this.debugDependendModules || []; deps = deps.withoutAll(visited) visited.push(this); return [this.namespaceIdentifier, deps.collect(function(ea) { return ea.traceDependendModules(visited) })] }, addRequiredModule: function(requiredModule) { // privateRequirements is just for keeping track later on if (!this.privateRequirements) this.privateRequirements = []; this.privateRequirements.push(requiredModule); if (requiredModule.isLoaded()) return; if (!this.pendingRequirements) this.pendingRequirements = []; this.pendingRequirements.push(requiredModule); requiredModule.addDependendModule(this); }, removeRequiredModule: function(requiredModule) { if (this.pendingRequirements && !this.pendingRequirements.include(requiredModule)) throw dbgOn(new Error('requiredModule not there')); this.pendingRequirements = this.pendingRequirements.without(requiredModule); if (!this.hasPendingRequirements()) { this.load(); } }, pendingRequirementNames: function() { if (!this.pendingRequirements) return []; return this.pendingRequirements.collect(function(ea) { return ea.uri() }); }, hasPendingRequirements: function() { return this.pendingRequirements && this.pendingRequirements.length > 0; }, loadRequirementsFirst: function() { this.pendingRequirements && this.pendingRequirements.invoke('load'); }, wasRequiredBy: function() { return Global.subNamespaces(true).select(function(m) { return m.privateRequirements && m.privateRequirements.include(this); }, this); },},'load callbacks', { addOnloadCallback: function(cb) { if (!this.callbacks) this.callbacks = []; this.callbacks.push(cb); }, runOnloadCallbacks: function() { if (!this.callbacks) return; var cb; while (cb = this.callbacks.shift()) { try {cb()} catch(e) { this.logError('runOnloadCallbacks: ' + cb.name + ': ' + e); throw e } }; }, isAnonymous: function() { return this._isAnonymous },},'testing', { isLoaded: function() { return this._isLoaded; }, isLoading: function() { if (this.isLoaded()) return false; if (this.uri().include('anonymous')) return true; return JSLoader.scriptInDOM(this.uri()); }, isAnonymous: function() { return this._isAnonymous },},'loading', { load: function(loadSync) { if (loadSync) { var prevWasSync = this.constructor.loadSync; this.constructor.loadSync = true; } if (this.isLoaded()) { this.runOnloadCallbacks(); return; } if (this.isLoading() && this.wasDefined && !this.hasPendingRequirements()) { this.runOnloadCallbacks(); // time is not only the time needed for the request and code evaluation // but the complete time span from the creation of the module (when the module is first encountered) // to evaluation the evaluation of its code, including load time of all requirements var time = this.createTime ? new Date() - this.createTime : 'na'; console.log(this.uri() + ' loaded in ' + time + ' ms'); this.informDependendModules(); return; } if (this.isLoading()) { this.loadRequirementsFirst(); return; } JSLoader.loadJs(this.uri(), null, this.constructor.loadSync); if (loadSync) this.constructor.loadSync = prevWasSync; }, activate: function() { this.constructor.namespaceStack.push(this); }, deactivate: function() { var m = this.constructor.namespaceStack.pop(); if (m !== this) throw new Error('Wrong module: ' + this.namespaceIdentifier + ' instead of expected ' + m.namespaceIdentifier ) },},'removing', { remove: function() { var ownerNamespace = Class.namespaceFor(this.namespaceIdentifier), ownName = Class.unqualifiedNameFor(this.namespaceIdentifier) JSLoader.removeAllScriptsThatLinkTo(this.uri()); delete ownerNamespace[ownName]; }, removeScriptNode: function() { var node = document.getElementById(this.uri()); if (!node) return node.parentNode.removeChild(node); },},'debugging', { toString: function() { return 'module(' + this.namespaceIdentifier + ')' }, inspect: function() { this.toString() + ' defined at ' + this.defStack }, logError: function(e, optCode) { var list = this.traceDependendModules(); var msg = 'Error while loading ' + this.moduleName + ': ' + e; msg += '\\ndependencies: ' + Strings.printNested(list) if (Global.lively && lively.morphic && lively.morphic.World && lively.morphic.World.current() && lively.morphic.World.current().logError) lively.morphic.World.current().logError(e) if (e.stack) msg = msg + e.stack; if (optCode) msg += \"code:\\n\" + optCode; console.error(msg); dbgOn(true); },});Object.extend(Namespace, { namespaceStack: [Global], current: function() { return this.namespaceStack.last() }, topologicalSortLoadedModules: function() { if (lively.Config.standAlone) { var scripIds = []; $('body script').each(function() { scripIds.push($(this).attr('id')) }); return scripIds.collect(function(id) { var name = id.replace(/^..\\//, ''); return module(name); }); } // get currently loaded modules that really are js files var modules = Global.subNamespaces(true) .reject(function(ea) { return ea.isAnonymous(); }) .select(function(ea) { return ea.isLoaded() && new WebResource(ea.uri()).exists() }); // topological sort modules according to their requirements var sortedModules = [], i = 0; while (i < 1000 && modules.length > 0) { i++; var canBeLoaded = modules.select(function(module) { if (!module.privateRequirements) return true; return module.privateRequirements.all(function(requirement) { return sortedModules.include(requirement) }) }) sortedModules = sortedModules.concat(canBeLoaded); modules = modules.withoutAll(canBeLoaded); } if (modules.length > 0) throw new Error('Cannot find dependencies for all modules!'); return sortedModules; }, bootstrapModules: function() { // return a string to include in bootstrap.js var urls = this.topologicalSortLoadedModules() .collect(function(ea) { return new URL(ea.uri()).relativePathFrom(URL.codeBase) }) // omit modules outside of core .reject(function(path) { return path.startsWith('..') }); var manual = [LivelyLoader.libsFile, 'lively/Migration.js', 'lively/JSON.js', 'lively/lang/Object.js', 'lively/lang/Function.js', 'lively/lang/String.js', 'lively/lang/Array.js', 'lively/lang/Number.js', 'lively/lang/Date.js', 'lively/defaultconfig.js', 'lively/localconfig.js', 'lively/Base.js', 'lively/lang/Closure.js', // FIXME: require module instead 'lively/lang/UUID.js', // FIXME: require module instead 'lively/LocalStorage.js']; urls = manual.concat(urls); return urls; }, bootstrapModulesString: function() { var urls = this.bootstrapModules(); return '[\\'' + urls.join('\\', \\'') + '\\']'; }});(function createLivelyNamespace(Global) { // namespace('lively.lang'); var preExistingLively = Global.lively; delete Global.lively; var lively = new Global.Namespace(Global, 'lively'); // FIXME this is just a hack to get properties of a potentially // predefined \"lively\" object over to the namespace lively object // namespaces should deal with this in general if (preExistingLively) { for (var name in preExistingLively) { lively[name] = preExistingLively[name]; } } Global.lively = lively;})(Global);(function moveNamespaceClassToLivelyLang(Global) { var lively = Global.lively, Namespace = Global.Namespace; lively.lang = new Namespace(lively, 'lang'); lively.lang.Namespace = Namespace; // alias lively.Module = lively.lang.Namespace; delete Global.Namespace;})(Global);(function addUsefulStuffToLivelyNS(Global, lively) { lively.assert = Global.assert;})(Global, lively);Object.extend(lively.Module, { findAllInThenDo: function(url, callback) { var dir = new URL(url).getDirectory(); if (url.isLeaf()) { throw new Error(url + ' is not a directory!'); } var webR = dir.asWebResource(); lively.bindings.connect(webR, 'subDocuments', {onLoad: function(files) { var moduleNames = files.invoke('getURL') .invoke('asModuleName'), modules = moduleNames.collect(function(name) { return module(name); }) callback(modules); }}, 'onLoad'); webR.getSubElements(); }});(function setupLivelyLang(lively) { lively.lang.Execution = { showStack: Functions.Null, resetDebuggingStack: Functions.Null, installStackTracers: Functions.Null }; lively.lang.let = function(/** **/) { // lively.lang.let(y, function(x) { body }) is equivalent to { let y = x; body; } return arguments[arguments.length - 1].apply(this, arguments); }})(lively);/* * Stack Viewer when Dan's StackTracer is not available * FIXME rk: move this to Helper.js? */function getStack() { var result = []; for(var caller = arguments.callee.caller; caller; caller = caller.caller) { if (result.indexOf(caller) != -1) { result.push({name: \"recursive call can't be traced\"}); break; } result.push(caller); }; return result;};function printStack() { function guessFunctionName(func) { var qName = func.qualifiedMethodName && func.qualifiedMethodName(), regExpRes = func.toString().match(/function (.+)\\(/); return qName || (regExpRes && regExpRes[1]) || func; }; var string = \"== Stack ==\\n\", stack = getStack(); stack.shift(); // for getStack stack.shift(); // for printStack (me) var indent = \"\"; for (var i=0; i < stack.length; i++) { string += indent + i + \": \" +guessFunctionName(stack[i]) + \"\\n\"; indent += \" \"; }; return string;};function logStack() { this.console.log(printStack());};(function setupjQuery(Global) { var lively = Global.lively, jQuery = Global.jQuery; // we still are adding jQuery to Global but this is DEPRECATED // We need to be able to run with libraries requiring different jQuery versions // so we will restrict \"our\" to lively.$ in the future Global.$ = lively.$ = jQuery.noConflict(/*true -- really removes $*/);})(Global);","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3710":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3711":{"morph":{"__isSmartRef__":true,"id":3707},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3712":{"resizeWidth":true,"resizeHeight":true},"3713":{"sourceObj":{"__isSmartRef__":true,"id":3707},"sourceAttrName":"textString","targetObj":{"__isSmartRef__":true,"id":3707},"targetMethodName":"highlightSyntaxDebounced","varMapping":{"__isSmartRef__":true,"id":3714},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3714":{"source":{"__isSmartRef__":true,"id":3707},"target":{"__isSmartRef__":true,"id":3707}},"3715":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3716},"eventHandler":{"__isSmartRef__":true,"id":3717},"_ClipMode":"visible","derivationIds":[],"id":"804B4546-0FA9-4AC6-AC50-91E4C7A44980","droppingEnabled":true,"halosEnabled":true,"_StyleClassNames":["reframe-handle right"],"owner":{"__isSmartRef__":true,"id":3706},"__serializedExpressions__":["_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3718},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(1004.0,0.0)"},"3716":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(4.0,379.0)","_Padding":"lively.rect(0,0,0,0)"},"3717":{"morph":{"__isSmartRef__":true,"id":3715},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3718":{"onDragStart":{"__isSmartRef__":true,"id":3719},"onDrag":{"__isSmartRef__":true,"id":3726},"onDragEnd":{"__isSmartRef__":true,"id":3733}},"3719":{"varMapping":{"__isSmartRef__":true,"id":3720},"source":"function onDragStart(evt) {\n this.dragStartPoint = evt.mousePoint;\n this.originalTargetExtent = this.owner.getExtent();\n }","funcProperties":{"__isSmartRef__":true,"id":3725},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3720":{"this":{"__isSmartRef__":true,"id":3715},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3721}},"3721":{"$super":{"__isSmartRef__":true,"id":3722}},"3722":{"varMapping":{"__isSmartRef__":true,"id":3723},"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":3724},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3723":{"obj":{"__isSmartRef__":true,"id":3715},"name":"onDragStart"},"3724":{},"3725":{},"3726":{"varMapping":{"__isSmartRef__":true,"id":3727},"source":"function onDrag(evt) {\n var moveDelta = pt(evt.mousePoint.subPt(this.dragStartPoint).x,0);\n var newExtent = this.originalTargetExtent.addPt(moveDelta);\n if (newExtent.x < this.owner.minWidth) newExtent.x = this.owner.minWidth;\n\n this.owner.setExtent(newExtent);\n this.align(this.bounds().topRight(), pt(this.owner.getExtent().x,0));\n }","funcProperties":{"__isSmartRef__":true,"id":3732},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3727":{"this":{"__isSmartRef__":true,"id":3715},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3728}},"3728":{"$super":{"__isSmartRef__":true,"id":3729}},"3729":{"varMapping":{"__isSmartRef__":true,"id":3730},"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":3731},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3730":{"obj":{"__isSmartRef__":true,"id":3715},"name":"onDrag"},"3731":{},"3732":{},"3733":{"varMapping":{"__isSmartRef__":true,"id":3734},"source":"function onDragEnd(evt) {\n this.dragStartPoint = null;\n this.originalTargetExtent = null;\n this.owner.alignReframeHandle();\n this.owner.alignBottomReframeHandle();\n }","funcProperties":{"__isSmartRef__":true,"id":3739},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3734":{"this":{"__isSmartRef__":true,"id":3715},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3735}},"3735":{"$super":{"__isSmartRef__":true,"id":3736}},"3736":{"varMapping":{"__isSmartRef__":true,"id":3737},"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":3738},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3737":{"obj":{"__isSmartRef__":true,"id":3715},"name":"onDragEnd"},"3738":{},"3739":{},"3740":{"submorphs":[{"__isSmartRef__":true,"id":3741},{"__isSmartRef__":true,"id":3747},{"__isSmartRef__":true,"id":3760},{"__isSmartRef__":true,"id":3772}],"scripts":[],"shape":{"__isSmartRef__":true,"id":3785},"eventHandler":{"__isSmartRef__":true,"id":3786},"_ClipMode":"visible","derivationIds":[],"id":"50E94A10-2B3C-49EF-AB83-032A547ECEB5","droppingEnabled":false,"halosEnabled":true,"layout":{"__isSmartRef__":true,"id":3787},"windowMorph":{"__isSmartRef__":true,"id":3706},"label":{"__isSmartRef__":true,"id":3741},"closeButton":{"__isSmartRef__":true,"id":3747},"menuButton":{"__isSmartRef__":true,"id":3760},"collapseButton":{"__isSmartRef__":true,"id":3772},"_PreviousBorderWidth":0,"owner":{"__isSmartRef__":true,"id":3706},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.TitleBar","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,0.0)"},"3741":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3742},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":3743}],"eventHandler":{"__isSmartRef__":true,"id":3745},"_ClipMode":"hidden","derivationIds":[],"id":"0EF3BF9B-A5AF-4872-930B-93FA965F51DB","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"isLabel":true,"layout":{"__isSmartRef__":true,"id":3746},"eventsAreIgnored":true,"owner":{"__isSmartRef__":true,"id":3740},"_StyleClassNames":["window-title"],"_TextStylingMode":true,"__serializedExpressions__":["_TextColor","_Position"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(20.0,3.0)"},"3742":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(949.0,18.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"3743":{"style":{"__isSmartRef__":true,"id":3744},"chunkOwner":{"__isSmartRef__":true,"id":3741},"_id":"_169","storedString":"Workspace","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3744":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3745":{"morph":{"__isSmartRef__":true,"id":3741},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3746":{"resizeWidth":true},"3747":{"submorphs":[{"__isSmartRef__":true,"id":3748}],"scripts":[],"shape":{"__isSmartRef__":true,"id":3753},"eventHandler":{"__isSmartRef__":true,"id":3754},"_ClipMode":"visible","derivationIds":[],"id":"86D425EF-3DA5-48C3-A110-38B3552C52C4","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"accessibleInInactiveWindow":true,"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":3748},"_PreviousBorderWidth":0,"owner":{"__isSmartRef__":true,"id":3740},"layout":{"__isSmartRef__":true,"id":3755},"_StyleClassNames":["close"],"attributeConnections":[{"__isSmartRef__":true,"id":3756},{"__isSmartRef__":true,"id":3758}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"isPressed":false,"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.WindowControl","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(988.0,3.0)"},"3748":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3749},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":3750}],"eventHandler":{"__isSmartRef__":true,"id":3752},"_ClipMode":"hidden","derivationIds":[],"id":"4B021857-5173-4894-8FFD-F686A9662BB5","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":8,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":3747},"isLabel":true,"eventsAreIgnored":true,"_TextStylingMode":true,"__serializedExpressions__":["_TextColor","_Position"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,-1.0)"},"3749":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"3750":{"style":{"__isSmartRef__":true,"id":3751},"chunkOwner":{"__isSmartRef__":true,"id":3748},"_id":"_171","storedString":"X","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3751":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3752":{"morph":{"__isSmartRef__":true,"id":3748},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3753":{"_BorderWidth":1,"_StrokeOpacity":0,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"3754":{"morph":{"__isSmartRef__":true,"id":3747},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3755":{"moveHorizontal":true},"3756":{"sourceObj":{"__isSmartRef__":true,"id":3747},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":3706},"targetMethodName":"getCloseHelp","varMapping":{"__isSmartRef__":true,"id":3757},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3757":{"source":{"__isSmartRef__":true,"id":3747},"target":{"__isSmartRef__":true,"id":3706}},"3758":{"sourceObj":{"__isSmartRef__":true,"id":3747},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":3706},"targetMethodName":"initiateShutdown","varMapping":{"__isSmartRef__":true,"id":3759},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3759":{"source":{"__isSmartRef__":true,"id":3747},"target":{"__isSmartRef__":true,"id":3706}},"3760":{"submorphs":[{"__isSmartRef__":true,"id":3761}],"scripts":[],"shape":{"__isSmartRef__":true,"id":3766},"eventHandler":{"__isSmartRef__":true,"id":3767},"_ClipMode":"visible","derivationIds":[],"id":"5865551F-05EF-42E2-B899-4DDADC06546D","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"accessibleInInactiveWindow":true,"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":3761},"_PreviousBorderWidth":0,"owner":{"__isSmartRef__":true,"id":3740},"attributeConnections":[{"__isSmartRef__":true,"id":3768},{"__isSmartRef__":true,"id":3770}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"isPressed":false,"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.WindowControl","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(3.0,3.0)"},"3761":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3762},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":3763}],"eventHandler":{"__isSmartRef__":true,"id":3765},"_ClipMode":"hidden","derivationIds":[],"id":"B3899C6F-9CBF-41A2-8BB3-7F67685C3E14","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":8,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":3760},"isLabel":true,"eventsAreIgnored":true,"_TextStylingMode":true,"__serializedExpressions__":["_TextColor","_Position"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"3762":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"3763":{"style":{"__isSmartRef__":true,"id":3764},"chunkOwner":{"__isSmartRef__":true,"id":3761},"_id":"_173","storedString":"M","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3764":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3765":{"morph":{"__isSmartRef__":true,"id":3761},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3766":{"_BorderWidth":1,"_StrokeOpacity":0,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"3767":{"morph":{"__isSmartRef__":true,"id":3760},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3768":{"sourceObj":{"__isSmartRef__":true,"id":3760},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":3706},"targetMethodName":"getMenuHelp","varMapping":{"__isSmartRef__":true,"id":3769},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3769":{"source":{"__isSmartRef__":true,"id":3760},"target":{"__isSmartRef__":true,"id":3706}},"3770":{"sourceObj":{"__isSmartRef__":true,"id":3760},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":3706},"targetMethodName":"showTargetMorphMenu","varMapping":{"__isSmartRef__":true,"id":3771},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3771":{"source":{"__isSmartRef__":true,"id":3760},"target":{"__isSmartRef__":true,"id":3706}},"3772":{"submorphs":[{"__isSmartRef__":true,"id":3773}],"scripts":[],"shape":{"__isSmartRef__":true,"id":3778},"eventHandler":{"__isSmartRef__":true,"id":3779},"_ClipMode":"visible","derivationIds":[],"id":"84742843-3025-4F15-9EE1-078D76A2578E","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"accessibleInInactiveWindow":true,"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":3773},"_PreviousBorderWidth":0,"owner":{"__isSmartRef__":true,"id":3740},"layout":{"__isSmartRef__":true,"id":3780},"attributeConnections":[{"__isSmartRef__":true,"id":3781},{"__isSmartRef__":true,"id":3783}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"isPressed":false,"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.WindowControl","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(969.0,3.0)"},"3773":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3774},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":3775}],"eventHandler":{"__isSmartRef__":true,"id":3777},"_ClipMode":"hidden","derivationIds":[],"id":"7AF55AAA-0052-4BB6-9092-F0C454B2D1A9","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":8,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":3772},"isLabel":true,"eventsAreIgnored":true,"_TextStylingMode":true,"__serializedExpressions__":["_TextColor","_Position"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,1.0)"},"3774":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"3775":{"style":{"__isSmartRef__":true,"id":3776},"chunkOwner":{"__isSmartRef__":true,"id":3773},"_id":"_175","storedString":"–","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3776":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3777":{"morph":{"__isSmartRef__":true,"id":3773},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3778":{"_BorderWidth":1,"_StrokeOpacity":0,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"3779":{"morph":{"__isSmartRef__":true,"id":3772},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3780":{"moveHorizontal":true},"3781":{"sourceObj":{"__isSmartRef__":true,"id":3772},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":3706},"targetMethodName":"getCollapseHelp","varMapping":{"__isSmartRef__":true,"id":3782},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3782":{"source":{"__isSmartRef__":true,"id":3772},"target":{"__isSmartRef__":true,"id":3706}},"3783":{"sourceObj":{"__isSmartRef__":true,"id":3772},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":3706},"targetMethodName":"toggleCollapse","varMapping":{"__isSmartRef__":true,"id":3784},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3784":{"source":{"__isSmartRef__":true,"id":3772},"target":{"__isSmartRef__":true,"id":3706}},"3785":{"_AppearanceStylingMode":true,"_BorderStylingMode":true,"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(1008.0,22.0)","_Padding":"lively.rect(0,0,0,0)"},"3786":{"morph":{"__isSmartRef__":true,"id":3740},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3787":{"resizeWidth":true,"adjustForNewBounds":true},"3788":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3789},"eventHandler":{"__isSmartRef__":true,"id":3790},"_ClipMode":"visible","derivationIds":[],"id":"21B7C3E6-CF85-4DBA-8D88-EBDDA196F447","droppingEnabled":true,"halosEnabled":true,"_StyleClassNames":["reframe-handle bottom"],"owner":{"__isSmartRef__":true,"id":3706},"__serializedExpressions__":["_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3791},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,389.0)"},"3789":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(994.0,4.0)","_Padding":"lively.rect(0,0,0,0)"},"3790":{"morph":{"__isSmartRef__":true,"id":3788},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3791":{"onDragStart":{"__isSmartRef__":true,"id":3792},"onDrag":{"__isSmartRef__":true,"id":3799},"onDragEnd":{"__isSmartRef__":true,"id":3806}},"3792":{"varMapping":{"__isSmartRef__":true,"id":3793},"source":"function onDragStart(evt) {\n this.dragStartPoint = evt.mousePoint;\n this.originalTargetExtent = this.owner.getExtent();\n }","funcProperties":{"__isSmartRef__":true,"id":3798},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3793":{"this":{"__isSmartRef__":true,"id":3788},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3794}},"3794":{"$super":{"__isSmartRef__":true,"id":3795}},"3795":{"varMapping":{"__isSmartRef__":true,"id":3796},"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":3797},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3796":{"obj":{"__isSmartRef__":true,"id":3788},"name":"onDragStart"},"3797":{},"3798":{},"3799":{"varMapping":{"__isSmartRef__":true,"id":3800},"source":"function onDrag(evt) {\n var moveDelta = pt(0,evt.mousePoint.subPt(this.dragStartPoint).y);\n var newExtent = this.originalTargetExtent.addPt(moveDelta);\n if (newExtent.y < this.owner.minHeight) newExtent.y = this.owner.minHeight;\n this.owner.setExtent(newExtent);\n\n this.align(this.bounds().bottomLeft(), pt(0,this.owner.getExtent().y));\n }","funcProperties":{"__isSmartRef__":true,"id":3805},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3800":{"this":{"__isSmartRef__":true,"id":3788},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3801}},"3801":{"$super":{"__isSmartRef__":true,"id":3802}},"3802":{"varMapping":{"__isSmartRef__":true,"id":3803},"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":3804},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3803":{"obj":{"__isSmartRef__":true,"id":3788},"name":"onDrag"},"3804":{},"3805":{},"3806":{"varMapping":{"__isSmartRef__":true,"id":3807},"source":"function onDragEnd(evt) {\n this.dragStartPoint = null;\n this.originalTargetExtent = null;\n this.owner.alignReframeHandle();\n this.owner.alignRightReframeHandle();\n }","funcProperties":{"__isSmartRef__":true,"id":3812},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3807":{"this":{"__isSmartRef__":true,"id":3788},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3808}},"3808":{"$super":{"__isSmartRef__":true,"id":3809}},"3809":{"varMapping":{"__isSmartRef__":true,"id":3810},"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":3811},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3810":{"obj":{"__isSmartRef__":true,"id":3788},"name":"onDragEnd"},"3811":{},"3812":{},"3813":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3814},"eventHandler":{"__isSmartRef__":true,"id":3815},"_ClipMode":"visible","derivationIds":[],"id":"D2DABDD4-F15C-4464-B84B-97D4541C6B6D","droppingEnabled":true,"halosEnabled":true,"_StyleClassNames":["reframe-handle corner"],"owner":{"__isSmartRef__":true,"id":3706},"dragStartPoint":null,"originalTargetExtent":null,"__serializedExpressions__":["_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3816},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(994.0,379.0)"},"3814":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(14.0,14.0)","_Padding":"lively.rect(0,0,0,0)"},"3815":{"morph":{"__isSmartRef__":true,"id":3813},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3816":{"onDragStart":{"__isSmartRef__":true,"id":3817},"onDrag":{"__isSmartRef__":true,"id":3824},"onDragEnd":{"__isSmartRef__":true,"id":3831}},"3817":{"varMapping":{"__isSmartRef__":true,"id":3818},"source":"function onDragStart(evt) {\n this.dragStartPoint = evt.mousePoint;\n this.originalTargetExtent = this.owner.getExtent();\n }","funcProperties":{"__isSmartRef__":true,"id":3823},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3818":{"this":{"__isSmartRef__":true,"id":3813},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3819}},"3819":{"$super":{"__isSmartRef__":true,"id":3820}},"3820":{"varMapping":{"__isSmartRef__":true,"id":3821},"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":3822},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3821":{"obj":{"__isSmartRef__":true,"id":3813},"name":"onDragStart"},"3822":{},"3823":{},"3824":{"varMapping":{"__isSmartRef__":true,"id":3825},"source":"function onDrag(evt) {\n var moveDelta = evt.mousePoint.subPt(this.dragStartPoint)\n var newExtent = this.originalTargetExtent.addPt(moveDelta);\n if (newExtent.x < this.owner.minWidth) newExtent.x = this.owner.minWidth;\n if (newExtent.y < this.owner.minHeight) newExtent.y = this.owner.minHeight;\n this.owner.setExtent(newExtent);\n //console.log(\"WindowExtent: \"+this.owner.getExtent().x+\" , \"+this.owner.getExtent().y);\n this.align(this.bounds().bottomRight(), this.owner.getExtent());\n }","funcProperties":{"__isSmartRef__":true,"id":3830},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3825":{"this":{"__isSmartRef__":true,"id":3813},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3826}},"3826":{"$super":{"__isSmartRef__":true,"id":3827}},"3827":{"varMapping":{"__isSmartRef__":true,"id":3828},"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":3829},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3828":{"obj":{"__isSmartRef__":true,"id":3813},"name":"onDrag"},"3829":{},"3830":{},"3831":{"varMapping":{"__isSmartRef__":true,"id":3832},"source":"function onDragEnd(evt) {\n this.dragStartPoint = null;\n this.originalTargetExtent = null;\n this.owner.alignBottomReframeHandle();\n this.owner.alignRightReframeHandle();\n }","funcProperties":{"__isSmartRef__":true,"id":3837},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3832":{"this":{"__isSmartRef__":true,"id":3813},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3833}},"3833":{"$super":{"__isSmartRef__":true,"id":3834}},"3834":{"varMapping":{"__isSmartRef__":true,"id":3835},"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":3836},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3835":{"obj":{"__isSmartRef__":true,"id":3813},"name":"onDragEnd"},"3836":{},"3837":{},"3838":{"_BorderWidth":0,"_Fill":null,"_StrokeOpacity":0,"_BorderRadius":0,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__serializedExpressions__":["_Padding","_Extent"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Padding":"lively.rect(0,0,0,0)","_Extent":"lively.pt(1008.0,393.0)"},"3839":{"morph":{"__isSmartRef__":true,"id":3706},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3840":{"adjustForNewBounds":true},"3841":{"submorphs":[{"__isSmartRef__":true,"id":3842},{"__isSmartRef__":true,"id":5874},{"__isSmartRef__":true,"id":5922}],"scripts":[],"shape":{"__isSmartRef__":true,"id":5950},"derivationIds":[null,"CD7BCB08-EB4A-48CD-952B-53A1EAEB23D0","581E5168-D9B0-4133-8DDD-C2A067EE91FD","5BDC76F6-9933-4A8D-A8D7-7A53D1313D5A","DC8E6D9C-D7A4-4C3D-8100-3E1546871B63","955E7F07-39AE-450D-8EE8-29E429842845","1C9D44BC-517C-4A89-B751-45C9076B8A48","231B606C-D216-476D-BD06-1E97C2F166E9","56440E75-AABF-40EE-BADE-EF6DE957BED1","83527CBE-511C-4D2C-BADC-53AA4E951B4C","CF9928AD-677A-417F-9067-73633E132979","AD34B2C8-22BE-4C8A-8E34-7B3A0AAFCA5A","4809EAF2-ACD4-4607-8911-3BAA5711C74F","69E5575E-8364-41D8-8809-31BFA13B658F","467E9CE0-4C43-465A-AE66-70F8E94FF818","43427F0A-798B-4B43-A2A5-6783E3A4FBEC","C32B806A-02C8-4A60-B1EF-A7DD42C68BB7","440B2525-75D8-4DA2-A2B0-F365EAE45A99","8172411B-9EE0-4CC3-8467-6E9B83645928","AB2C8B18-4386-407F-B100-C4011CCB060A","E7E5E0FB-4D6C-4232-AE3E-F29216473B50","3F84D56A-C67B-46DE-8FAA-5F8B0FA0E0CD","33729558-E9D3-46B1-AEC0-7B1814FFFECD","F139243C-8B20-4832-9041-78BB3BD36BB6","E2AD5203-521C-4A07-A471-843E7E073F5B","744CB741-A236-4AEB-8030-B0BDF723E4F5","57C9662A-FCEA-4242-B2F4-59A86310C5EF","9DAEA7B4-F388-424A-81D8-40B6BE949ABB","798285BC-057B-438E-A7BA-C7DF54B312F1","DBBBA1DD-26C2-4E7F-99DD-ED5A528F02BD","3FB96E49-AF89-4738-BC76-B5421F55B22A","44A8D779-153C-4835-A346-21E7AD1F7870","3F24446E-AF91-46FD-BF52-35F1EA31778B","C48055AD-097D-4069-9000-48728383303B"],"id":"33F0FF35-E139-470E-9F21-C4CDE5D2D260","eventHandler":{"__isSmartRef__":true,"id":5951},"_ClipMode":"visible","droppingEnabled":false,"halosEnabled":true,"draggingEnabled":true,"layout":{"__isSmartRef__":true,"id":5952},"LK2":true,"targetMorph":{"__isSmartRef__":true,"id":3842},"reframeHandle":{"__isSmartRef__":true,"id":5922},"titleBar":{"__isSmartRef__":true,"id":5874},"collapsedTransform":null,"collapsedExtent":null,"expandedTransform":null,"expandedExtent":null,"ignoreEventsOnExpand":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":5953},"name":"ObjectInspector1","highlighted":false,"isBeingDragged":false,"#startLetters":"get","moved":true,"attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"showsHalos":false,"prevScroll":[0,0],"_Rotation":0,"_Scale":1.02,"__serializedExpressions__":["_Position","contentOffset","prevDragPos"],"owner":{"__isSmartRef__":true,"id":0},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":6027},"__LivelyClassName__":"lively.morphic.Window","__SourceModuleName__":"Global.lively.morphic.Widgets","withoutLayers":["Global.lively.morphic.GrabbingLayer"],"_Position":"lively.pt(628.1,140.3)","contentOffset":"lively.pt(0.0,21.0)","prevDragPos":"lively.pt(1056.0,4532.0)"},"3842":{"submorphs":[{"__isSmartRef__":true,"id":3843},{"__isSmartRef__":true,"id":3856},{"__isSmartRef__":true,"id":5721},{"__isSmartRef__":true,"id":5742}],"scripts":[{"__isSmartRef__":true,"id":5801}],"id":"9E34A6DE-53AF-41F6-B1CD-3EE012044D8C","shape":{"__isSmartRef__":true,"id":5802},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"ObjectInspector","partsBinMetaInfo":{"__isSmartRef__":true,"id":5803},"eventHandler":{"__isSmartRef__":true,"id":5818},"attributeConnections":[],"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","5276E050-462B-4ED7-8645-FC4C5F60FE2C","88F0CB6D-932E-4927-AC3F-E132C18AB5E3","A386B89D-9A23-4177-B9BA-8B962FF236C4","D352E8A5-29FA-41D9-9B35-73FF3564157E","4BDE366B-9002-45D8-B200-9892CE8E1C96","9FA6F23B-5584-4720-A460-81C48DCF514B","AD23A5BA-025F-4197-962F-6D64F6AEA3AD","4E00CA05-F3C7-4A1F-8769-5831DDD64874","CB599F3F-9886-43EC-AA8B-1EE9A162031B","91015D82-71FF-471E-A78C-9A2498BAA4FE","B19B84BB-582D-4F5D-B0BA-7097BD7E553C","D9F3227D-E20B-457B-BF85-47DD91F74598","9F00820B-ABA8-4E70-B63F-293A8159A36A","A9654D03-2824-4671-BD26-10F342EC4C9B","080739E4-92B2-4E4D-A17C-A45D08A1A473","9D21C3F5-01B1-4FE6-864B-F3C51A7860B5","027EA526-9F60-4B4D-9B7B-73EA324D1463","CE1A5A57-A548-4F2D-90A0-DE5B1FD7F0E6","EE86A04F-F125-4D31-9E3D-48761A0486CB","20C274CF-FBD0-45AD-BD1E-9EC348102EB4","C83BF7B2-FF72-463F-8189-642A8969D9CF","B3755676-4902-47C7-A23C-2539F9BCC9FA","07346937-19F7-4644-8389-BF59DE2F203A","49808445-DC14-4391-BF1E-701710D8D9B8","AD2918D7-97E8-42C9-A681-18EAA129EB55","3CC1874B-4ADB-4A90-A12A-55B7ADF9392D","9AFC4676-5280-4B72-82E2-55B51441AF1E","482F476C-5C4E-4F4D-B56A-1989175C1352","DBC2AA37-BA52-4681-AC86-11642F0FFEC6","7BA71570-579E-4CD9-AA02-804CDA1CA3A1","5DAF7A95-CDD6-4EFD-A0A5-95011D71FDF9","B6C70E4D-F168-4C91-BFF1-FA1133688DC2","A8034AB5-1A8B-485D-BB5D-FF25BA32E92D"],"partTests":{"__isSmartRef__":true,"id":5819},"_ClipMode":"visible","moved":true,"owner":{"__isSmartRef__":true,"id":3841},"layout":{"__isSmartRef__":true,"id":5824},"isInLayoutCycle":false,"isBeingDragged":false,"isCopyMorphRef":true,"morphRefId":2,"tree":{"__isSmartRef__":true,"id":3857},"prevScroll":[0,0],"updateFilter":"standard","showInherited":false,"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5825},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,21.0)"},"3843":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3844},"derivationIds":[null,"4E5E2B48-0B47-4B2D-BC78-14E1BDBE0B57","EA4FE185-C289-4D95-B8AF-461C2E8219E6","7F3E4F8B-3F32-4809-91A5-5DEA3A3FD09E","7571A08C-937B-467A-9D49-68F3AAAD1140","85283104-ADA2-4C53-A73D-C5487B62C829","5E0941AD-4504-4F9D-B650-B018490C56B0","EAD81395-1252-4B07-8FB3-2F4253CB798F","7696C2D4-B858-4212-80CB-84803CAAD87E","4C0819CC-FCCD-4A8B-A1FF-1603EFE5EE49","FB7EF974-A95D-4A3A-95F4-498936A61AB1","060FCB63-2D3A-4FE6-AB19-B40854B0BB78","5ABD6D73-9D28-45A3-AE27-3035D892467D","19CC5587-3BCE-4293-B785-F659497CDD76","440643CA-166F-44AE-A8FF-D3B1E457D081","BA20821C-578F-4256-8870-B86E3AFEE3FC","7C1E3822-1018-45B9-AE6C-6E2BD39DF2F8","312B6786-7F93-4E97-AF06-CC08B9BEF91B","B6142DF2-38A9-41DD-B7C0-60D315537301","7DE27692-A1E7-4B48-8126-2939656AE639","1CA5EB71-650C-48BB-B5F0-4B1FDA2B0FCE","E1B8DC34-B6A5-4CB2-857B-597844C49DF0","0BB210B2-5CAC-4548-A650-A8FB85814B89","3493E4F4-5A4F-41F9-8FB4-6DD2781CE33F","3E9289C4-8439-4FF4-8533-20CCC231E86C","1007D257-74BA-41E4-9426-43503840A328","AB02F6ED-6541-4C2B-BE33-9E30E2D4E8CB","86414643-3214-48C0-A848-A1AD0622F4F3","64D914CC-285D-46F9-9DDD-F6898F714D0C","08B1186F-89EF-4676-9F58-FC0F720D76B7","BF198FB5-667C-4EE5-B3F0-E9CE73124C6E","86626633-CE46-4CAD-A256-3D3CE0D0EE2C","B89A22AA-626A-4C4F-A719-55F8BA6C3266","3D85070C-B1AF-417F-A853-6EB16673F2C4","405A93BF-BE83-4943-A731-8E5F6FF7AFE8"],"id":"441531B1-70A2-4FD1-8A01-0A496DDB9C9E","_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":3845},{"__isSmartRef__":true,"id":3847},{"__isSmartRef__":true,"id":3849},{"__isSmartRef__":true,"id":3851}],"eventHandler":{"__isSmartRef__":true,"id":3853},"_ClipMode":"auto","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":true,"_InputAllowed":true,"allowInput":true,"_FontFamily":"Monaco,monospace","_FontSize":10,"evalEnabled":false,"_MaxTextWidth":296.8712591602084,"_MinTextWidth":296.8712591602084,"_MaxTextHeight":null,"_MinTextHeight":null,"layout":{"__isSmartRef__":true,"id":3854},"syntaxHighlightingWhileTyping":true,"attributeConnections":[{"__isSmartRef__":true,"id":3855}],"doNotSerialize":["$$textString"],"doNotCopyProperties":["$$textString"],"lastSyntaxHighlightTime":1,"accessibleInInactiveWindow":true,"charsReplaced":"this.selectAll()\nthis.unEmphasizeSelection()","lastFindLoc":44,"isBeingDragged":false,"showsHalos":false,"#startLetters":"getDo","name":"ObjectInspectorText","owner":{"__isSmartRef__":true,"id":3842},"doItContext":null,"doitContext":{"__isSmartRef__":true,"id":3707},"_syntaxHighlightTimeout":null,"previousSelection":[0,16],"_Rotation":0,"_Scale":1,"_lastSyntaxHighlightTime":11,"_WordBreak":"break-all","__serializedExpressions__":["_Position"],"textString":"this.selectAll()\nthis.unEmphasizeSelection()","priorSelectionRange":[0,16],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(8.1,324.4)"},"3844":{"_BorderWidth":1,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__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(306.9,99.8)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(95,94,95)","_Fill":"Color.rgb(243,243,243)"},"3845":{"style":{"__isSmartRef__":true,"id":3846},"chunkOwner":{"__isSmartRef__":true,"id":3843},"_id":"_6938","storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3846":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"3847":{"_id":"_8937","style":{"__isSmartRef__":true,"id":3848},"chunkOwner":{"__isSmartRef__":true,"id":3843},"storedString":".selectAll()\n","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3848":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"3849":{"_id":"_8938","style":{"__isSmartRef__":true,"id":3850},"chunkOwner":{"__isSmartRef__":true,"id":3843},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3850":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"3851":{"_id":"_7740","style":{"__isSmartRef__":true,"id":3852},"chunkOwner":{"__isSmartRef__":true,"id":3843},"storedString":".unEmphasizeSelection()","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3852":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"3853":{"morph":{"__isSmartRef__":true,"id":3843},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3854":{"resizeWidth":true,"resizeHeight":false,"moveVertical":true},"3855":{"sourceObj":{"__isSmartRef__":true,"id":3843},"sourceAttrName":"textString","targetObj":{"__isSmartRef__":true,"id":3843},"targetMethodName":"highlightJavaScriptSyntax","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3856":{"submorphs":[{"__isSmartRef__":true,"id":3857}],"scripts":[],"id":"51525A23-465B-43C0-A0B0-17B70D2823E6","shape":{"__isSmartRef__":true,"id":5700},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"Rectangle","partsBinMetaInfo":{"__isSmartRef__":true,"id":5701},"eventHandler":{"__isSmartRef__":true,"id":5714},"attributeConnections":[],"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","C284F4DE-14F1-43C2-A4D0-1BAE909D98DA","9EEF20FD-27E3-4A31-8DBC-36073E64666F","283BD2F7-EFEE-4D83-876B-A8F2BD099B93","50245F69-C51D-40B5-BFD8-EE4870A65AF5","410821C9-3A7A-4ACB-8AEF-6B82AAB72D55","EFEAD1DE-A920-4272-BB24-C0361CBF2906","A5D165E3-E5BD-43E3-B6B0-9C23B5CC1964","6CC2F1A6-9C53-4980-80E4-0167A10F9942","95406291-4689-49C6-ADE6-C2C642AC0B5C","33084DB2-FE6B-44DA-AF4A-5C017450FC97","46D25FF6-F6EA-49A2-B643-59628686B2DC","9648CC00-8E9E-4911-A41B-46CED518B0D3","E1275348-0270-4F01-BE65-8C80AC5A5588","734AED0F-F7BE-44E8-92CE-86F1AE7F6D55","42AD8A44-C2B7-462F-89AE-4AE94C29A9D5","9548995B-025B-42CC-9DC4-44999A80E52F","0AA45256-249A-420C-A183-0A3BE69F95C6","3FF6DBA9-F3C1-4D0D-999B-981406660635","5BDFFDB8-16A6-4122-8CF6-2EC7C7CFA0DE","F73CBC23-DED8-4667-B4C4-4842BBD64AF5","F4E6EC9B-F4BE-4249-AB50-3EE510BF3ACD","5E0F549D-154A-4598-972D-7FB5D7EB2597","4EFF8DE7-D20D-4C65-B931-9AE67A17ABAD","81382340-4F55-428F-8FA9-23679D643920","12AEE6D1-BD69-4690-84DC-EBFC54F436CF","C434C7E8-49F2-4EDF-AA66-363EDB6AA0F8","EE756834-F5B4-47EB-993C-83C2B8B448FB","3DAC0D13-C416-4EF8-9BA1-62A438291A79","34E85AE0-DDA3-4AA1-B38C-895F46CE103C","4166C41F-80E0-4ABF-B227-790BA8E282AB","D6333D2B-EC4C-477A-8510-2F6A8697533E","6844D2AF-106E-4F2C-AE50-A7E19C08F587","736BBE17-08F6-471F-A1EC-85B517B8ADA2"],"partTests":{"__isSmartRef__":true,"id":5715},"_ClipMode":"auto","moved":true,"owner":{"__isSmartRef__":true,"id":3842},"layout":{"__isSmartRef__":true,"id":5720},"isBeingDragged":false,"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(8.1,41.2)"},"3857":{"item":{"__isSmartRef__":true,"id":3858},"parent":null,"depth":0,"submorphs":[{"__isSmartRef__":true,"id":3862},{"__isSmartRef__":true,"id":3911},{"__isSmartRef__":true,"id":3960},{"__isSmartRef__":true,"id":4015},{"__isSmartRef__":true,"id":4070},{"__isSmartRef__":true,"id":4119},{"__isSmartRef__":true,"id":4168},{"__isSmartRef__":true,"id":4215},{"__isSmartRef__":true,"id":4270},{"__isSmartRef__":true,"id":4325},{"__isSmartRef__":true,"id":4380},{"__isSmartRef__":true,"id":4429},{"__isSmartRef__":true,"id":4478},{"__isSmartRef__":true,"id":4533},{"__isSmartRef__":true,"id":4582},{"__isSmartRef__":true,"id":4631},{"__isSmartRef__":true,"id":4680},{"__isSmartRef__":true,"id":4735},{"__isSmartRef__":true,"id":4784},{"__isSmartRef__":true,"id":4833},{"__isSmartRef__":true,"id":4882},{"__isSmartRef__":true,"id":4931},{"__isSmartRef__":true,"id":4986},{"__isSmartRef__":true,"id":5041},{"__isSmartRef__":true,"id":5090},{"__isSmartRef__":true,"id":5139},{"__isSmartRef__":true,"id":5243},{"__isSmartRef__":true,"id":5298},{"__isSmartRef__":true,"id":5353},{"__isSmartRef__":true,"id":5402},{"__isSmartRef__":true,"id":5457},{"__isSmartRef__":true,"id":5506},{"__isSmartRef__":true,"id":5561},{"__isSmartRef__":true,"id":5610},{"__isSmartRef__":true,"id":5194}],"scripts":[],"shape":{"__isSmartRef__":true,"id":5675},"derivationIds":[null,"01A6356E-C15D-4F8D-BBB6-8680B231177D","8C1A96D3-6843-4386-9FC2-67909491ADEA","B85242E4-52C0-4A2B-9704-D5973B5BE1FE","8674A527-60C2-400B-82C8-B9209A0E288F","A851FE58-8397-4F98-BAE6-339C4926C930","2F1F744A-AA0E-4AB5-9D27-2EF1599780DD","98C0C210-DC70-452B-B05C-3B97B6CC4501","2D252C30-0809-4CDD-85A6-224D3B4186DC","5D83B1E4-35D8-403E-BABC-68E6E581B41C","48C1E58B-63D5-4C4B-A618-49EC747D4D2A","18F7D7DD-933D-4F14-AD42-27D4E5007E90","C7B88DEE-33BC-4C19-A8CA-C875519F03FB","B9610924-8476-414F-AF8C-4B18464386B1","3CBB6CB7-B377-4C0F-8906-7D0EBB8C1EB9","4EB0E124-3A4F-4BAB-ADCC-90E994E6F063","2248AE83-905F-4289-9C28-C08A0CE81D44","6722763D-AF2A-4186-AC25-1BCFCDD5D86F","3CC06143-943E-49E6-BBEF-094170056209","81130FBB-61ED-4567-BF03-7DA1DF84A8B8","445967DD-B3DE-4549-925F-75F5850757D7","FB1B17A2-78E6-46AD-B956-557B044AFE3F","BC5F0D9A-7059-4A21-B6D5-FD24FD58EB94","B57AF529-0187-4F02-8B37-5C01BCE44F88","D8021CB8-17EB-4641-A33A-60581D80E90A","48211CBE-B665-47DE-8B09-EA18C5A80082","0963EBD4-CBC3-47DD-AAFD-1329BF14A381","A5F36FD3-A2CC-4060-9A35-17A942EE2967","CB01C699-0407-4F5A-8D3C-2CDE89925CAB","04B7E806-6576-41C5-AEB1-1815818472C1","A5350C62-3BC3-4C49-B830-E903AC65A5FA","53F7D5D3-C850-46ED-B54F-3C64A6AE9D53","5CE8A645-6B3E-4F01-ACA1-0DDCCD0BBDB2","1035DB0D-166B-4586-BFE7-C3E0DA40840D"],"id":"9213EA44-A155-48ED-BD3C-5A44630AFA82","eventHandler":{"__isSmartRef__":true,"id":5676},"_ClipMode":"visible","droppingEnabled":true,"halosEnabled":true,"layout":{"__isSmartRef__":true,"id":5677},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":[{"__isSmartRef__":true,"id":3862},{"__isSmartRef__":true,"id":3911},{"__isSmartRef__":true,"id":3960},{"__isSmartRef__":true,"id":4015},{"__isSmartRef__":true,"id":4070},{"__isSmartRef__":true,"id":4119},{"__isSmartRef__":true,"id":4168},{"__isSmartRef__":true,"id":4215},{"__isSmartRef__":true,"id":4270},{"__isSmartRef__":true,"id":4325},{"__isSmartRef__":true,"id":4380},{"__isSmartRef__":true,"id":4429},{"__isSmartRef__":true,"id":4478},{"__isSmartRef__":true,"id":4533},{"__isSmartRef__":true,"id":4582},{"__isSmartRef__":true,"id":4631},{"__isSmartRef__":true,"id":4680},{"__isSmartRef__":true,"id":4735},{"__isSmartRef__":true,"id":4784},{"__isSmartRef__":true,"id":4833},{"__isSmartRef__":true,"id":4882},{"__isSmartRef__":true,"id":4931},{"__isSmartRef__":true,"id":4986},{"__isSmartRef__":true,"id":5041},{"__isSmartRef__":true,"id":5090},{"__isSmartRef__":true,"id":5139},{"__isSmartRef__":true,"id":5194},{"__isSmartRef__":true,"id":5243},{"__isSmartRef__":true,"id":5298},{"__isSmartRef__":true,"id":5353},{"__isSmartRef__":true,"id":5402},{"__isSmartRef__":true,"id":5457},{"__isSmartRef__":true,"id":5506},{"__isSmartRef__":true,"id":5561},{"__isSmartRef__":true,"id":5610}],"icon":{"__isSmartRef__":true,"id":5680},"label":{"__isSmartRef__":true,"id":5686},"owner":{"__isSmartRef__":true,"id":3856},"isBeingDragged":false,"attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"showsHalos":false,"name":"ObjectInspectorTree","node":null,"showMoreNode":null,"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5695},"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(-2.0,0.0)"},"3858":{"data":{"__isSmartRef__":true,"id":3707},"inspector":{"__isSmartRef__":true,"id":3842},"parent":{"__isSmartRef__":true,"id":3859},"description":"Text","children":[{"__isSmartRef__":true,"id":3860},{"__isSmartRef__":true,"id":3909},{"__isSmartRef__":true,"id":3958},{"__isSmartRef__":true,"id":4013},{"__isSmartRef__":true,"id":4068},{"__isSmartRef__":true,"id":4117},{"__isSmartRef__":true,"id":4166},{"__isSmartRef__":true,"id":4213},{"__isSmartRef__":true,"id":4268},{"__isSmartRef__":true,"id":4323},{"__isSmartRef__":true,"id":4378},{"__isSmartRef__":true,"id":4427},{"__isSmartRef__":true,"id":4476},{"__isSmartRef__":true,"id":4531},{"__isSmartRef__":true,"id":4580},{"__isSmartRef__":true,"id":4629},{"__isSmartRef__":true,"id":4678},{"__isSmartRef__":true,"id":4733},{"__isSmartRef__":true,"id":4782},{"__isSmartRef__":true,"id":4831},{"__isSmartRef__":true,"id":4880},{"__isSmartRef__":true,"id":4929},{"__isSmartRef__":true,"id":4984},{"__isSmartRef__":true,"id":5039},{"__isSmartRef__":true,"id":5088},{"__isSmartRef__":true,"id":5137},{"__isSmartRef__":true,"id":5192},{"__isSmartRef__":true,"id":5241},{"__isSmartRef__":true,"id":5296},{"__isSmartRef__":true,"id":5351},{"__isSmartRef__":true,"id":5400},{"__isSmartRef__":true,"id":5455},{"__isSmartRef__":true,"id":5504},{"__isSmartRef__":true,"id":5559},{"__isSmartRef__":true,"id":5608}],"attributeConnections":[{"__isSmartRef__":true,"id":5660}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5662}},"3859":{"":{"__isSmartRef__":true,"id":3707}},"3860":{"data":true,"inspector":{"__isSmartRef__":true,"id":3842},"parent":{"__isSmartRef__":true,"id":3707},"name":"accessibleInInactiveWindow","description":"true","attributeConnections":[{"__isSmartRef__":true,"id":3861}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3902}},"3861":{"sourceObj":{"__isSmartRef__":true,"id":3860},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":3862},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":3901},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3862":{"item":{"__isSmartRef__":true,"id":3860},"parent":{"__isSmartRef__":true,"id":3857},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":3863}],"scripts":[],"shape":{"__isSmartRef__":true,"id":3896},"eventHandler":{"__isSmartRef__":true,"id":3897},"_ClipMode":"visible","derivationIds":[],"id":"75C669C0-6AAE-4731-B293-005CAFD76C1E","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"layout":{"__isSmartRef__":true,"id":3898},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":3864},"label":{"__isSmartRef__":true,"id":3877},"node":{"__isSmartRef__":true,"id":3863},"owner":{"__isSmartRef__":true,"id":3857},"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,0.0)"},"3863":{"submorphs":[{"__isSmartRef__":true,"id":3864},{"__isSmartRef__":true,"id":3877}],"scripts":[],"shape":{"__isSmartRef__":true,"id":3892},"eventHandler":{"__isSmartRef__":true,"id":3893},"_ClipMode":"visible","derivationIds":[],"id":"17662366-5F8B-41ED-8D8C-E1D1FE0D02FB","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":3894},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":3862},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"3864":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3865},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":3866}],"eventHandler":{"__isSmartRef__":true,"id":3868},"_ClipMode":"visible","derivationIds":[],"id":"ADE10D0E-4914-48E1-9FFA-7D82187E6B94","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":3863},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3869},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"3865":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"3866":{"style":{"__isSmartRef__":true,"id":3867},"chunkOwner":{"__isSmartRef__":true,"id":3864},"_id":"_6943","storedString":"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3867":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3868":{"morph":{"__isSmartRef__":true,"id":3864},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3869":{"onMouseDown":{"__isSmartRef__":true,"id":3870}},"3870":{"varMapping":{"__isSmartRef__":true,"id":3871},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3876},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3871":{"this":{"__isSmartRef__":true,"id":3864},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3872}},"3872":{"$super":{"__isSmartRef__":true,"id":3873}},"3873":{"varMapping":{"__isSmartRef__":true,"id":3874},"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":3875},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3874":{"obj":{"__isSmartRef__":true,"id":3864},"name":"onMouseDown"},"3875":{},"3876":{},"3877":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3878},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":3879},{"__isSmartRef__":true,"id":3881}],"eventHandler":{"__isSmartRef__":true,"id":3883},"_ClipMode":"visible","derivationIds":[],"id":"3B5FEA4D-4A78-4DCA-87BA-F5E09FBE4C41","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":3863},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3884},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"3878":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(192.0,17.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"3879":{"style":{"__isSmartRef__":true,"id":3880},"chunkOwner":{"__isSmartRef__":true,"id":3877},"_id":"_22230","storedString":"accessibleInInactiveWindow","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3880":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3881":{"style":{"__isSmartRef__":true,"id":3882},"chunkOwner":{"__isSmartRef__":true,"id":3877},"_id":"_22231","storedString":" true","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3882":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"3883":{"morph":{"__isSmartRef__":true,"id":3877},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3884":{"onMouseDown":{"__isSmartRef__":true,"id":3885}},"3885":{"varMapping":{"__isSmartRef__":true,"id":3886},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3891},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3886":{"this":{"__isSmartRef__":true,"id":3877},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3887}},"3887":{"$super":{"__isSmartRef__":true,"id":3888}},"3888":{"varMapping":{"__isSmartRef__":true,"id":3889},"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":3890},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3889":{"obj":{"__isSmartRef__":true,"id":3877},"name":"onMouseDown"},"3890":{},"3891":{},"3892":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"3893":{"morph":{"__isSmartRef__":true,"id":3863},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3894":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":3895}},"3895":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":3863},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"3896":{"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"_BorderWidth":0,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"3897":{"morph":{"__isSmartRef__":true,"id":3862},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3898":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":3899}},"3899":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":3900},"spacing":0,"container":{"__isSmartRef__":true,"id":3862},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"3900":{"top":0,"right":0,"bottom":0,"left":0},"3901":{"source":{"__isSmartRef__":true,"id":3860},"target":{"__isSmartRef__":true,"id":3862}},"3902":{"onSelect":{"__isSmartRef__":true,"id":3903},"onUpdate":{"__isSmartRef__":true,"id":3906}},"3903":{"varMapping":{"__isSmartRef__":true,"id":3904},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":3905},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3904":{"this":{"__isSmartRef__":true,"id":3860}},"3905":{},"3906":{"varMapping":{"__isSmartRef__":true,"id":3907},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":3908},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3907":{"this":{"__isSmartRef__":true,"id":3860}},"3908":{},"3909":{"data":true,"inspector":{"__isSmartRef__":true,"id":3842},"parent":{"__isSmartRef__":true,"id":3707},"name":"allowInput","description":"true","attributeConnections":[{"__isSmartRef__":true,"id":3910}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3951}},"3910":{"sourceObj":{"__isSmartRef__":true,"id":3909},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":3911},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":3950},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3911":{"item":{"__isSmartRef__":true,"id":3909},"parent":{"__isSmartRef__":true,"id":3857},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":3912}],"scripts":[],"shape":{"__isSmartRef__":true,"id":3945},"eventHandler":{"__isSmartRef__":true,"id":3946},"_ClipMode":"visible","derivationIds":[],"id":"39A26E0B-DCD9-4EF2-B427-CE48017A7C30","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"layout":{"__isSmartRef__":true,"id":3947},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":3913},"label":{"__isSmartRef__":true,"id":3926},"node":{"__isSmartRef__":true,"id":3912},"owner":{"__isSmartRef__":true,"id":3857},"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,20.0)"},"3912":{"submorphs":[{"__isSmartRef__":true,"id":3913},{"__isSmartRef__":true,"id":3926}],"scripts":[],"shape":{"__isSmartRef__":true,"id":3941},"eventHandler":{"__isSmartRef__":true,"id":3942},"_ClipMode":"visible","derivationIds":[],"id":"52FD67CF-D3DF-4B1E-B6BC-36BB57F3AC7C","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":3943},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":3911},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"3913":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3914},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":3915}],"eventHandler":{"__isSmartRef__":true,"id":3917},"_ClipMode":"visible","derivationIds":[],"id":"1A09B26F-FA64-4A57-878E-C2D3B9402822","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":3912},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3918},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"3914":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"3915":{"style":{"__isSmartRef__":true,"id":3916},"chunkOwner":{"__isSmartRef__":true,"id":3913},"_id":"_6948","storedString":"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3916":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3917":{"morph":{"__isSmartRef__":true,"id":3913},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3918":{"onMouseDown":{"__isSmartRef__":true,"id":3919}},"3919":{"varMapping":{"__isSmartRef__":true,"id":3920},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3925},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3920":{"this":{"__isSmartRef__":true,"id":3913},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3921}},"3921":{"$super":{"__isSmartRef__":true,"id":3922}},"3922":{"varMapping":{"__isSmartRef__":true,"id":3923},"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":3924},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3923":{"obj":{"__isSmartRef__":true,"id":3913},"name":"onMouseDown"},"3924":{},"3925":{},"3926":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3927},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":3928},{"__isSmartRef__":true,"id":3930}],"eventHandler":{"__isSmartRef__":true,"id":3932},"_ClipMode":"visible","derivationIds":[],"id":"16EE943E-6006-487D-BC07-81372D764DB4","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":3912},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3933},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"3927":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(85.0,17.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"3928":{"style":{"__isSmartRef__":true,"id":3929},"chunkOwner":{"__isSmartRef__":true,"id":3926},"_id":"_22232","storedString":"allowInput","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3929":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3930":{"style":{"__isSmartRef__":true,"id":3931},"chunkOwner":{"__isSmartRef__":true,"id":3926},"_id":"_22233","storedString":" true","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3931":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"3932":{"morph":{"__isSmartRef__":true,"id":3926},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3933":{"onMouseDown":{"__isSmartRef__":true,"id":3934}},"3934":{"varMapping":{"__isSmartRef__":true,"id":3935},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3940},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3935":{"this":{"__isSmartRef__":true,"id":3926},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3936}},"3936":{"$super":{"__isSmartRef__":true,"id":3937}},"3937":{"varMapping":{"__isSmartRef__":true,"id":3938},"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":3939},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3938":{"obj":{"__isSmartRef__":true,"id":3926},"name":"onMouseDown"},"3939":{},"3940":{},"3941":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"3942":{"morph":{"__isSmartRef__":true,"id":3912},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3943":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":3944}},"3944":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":3912},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"3945":{"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"_BorderWidth":0,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"3946":{"morph":{"__isSmartRef__":true,"id":3911},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3947":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":3948}},"3948":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":3949},"spacing":0,"container":{"__isSmartRef__":true,"id":3911},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"3949":{"top":0,"right":0,"bottom":0,"left":0},"3950":{"source":{"__isSmartRef__":true,"id":3909},"target":{"__isSmartRef__":true,"id":3911}},"3951":{"onSelect":{"__isSmartRef__":true,"id":3952},"onUpdate":{"__isSmartRef__":true,"id":3955}},"3952":{"varMapping":{"__isSmartRef__":true,"id":3953},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":3954},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3953":{"this":{"__isSmartRef__":true,"id":3909}},"3954":{},"3955":{"varMapping":{"__isSmartRef__":true,"id":3956},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":3957},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3956":{"this":{"__isSmartRef__":true,"id":3909}},"3957":{},"3958":{"data":[{"__isSmartRef__":true,"id":3713}],"inspector":{"__isSmartRef__":true,"id":3842},"parent":{"__isSmartRef__":true,"id":3707},"name":"attributeConnections","description":"[...]","children":[],"attributeConnections":[{"__isSmartRef__":true,"id":3959}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4000}},"3959":{"sourceObj":{"__isSmartRef__":true,"id":3958},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":3960},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":3999},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3960":{"item":{"__isSmartRef__":true,"id":3958},"parent":{"__isSmartRef__":true,"id":3857},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":3961}],"scripts":[],"shape":{"__isSmartRef__":true,"id":3994},"eventHandler":{"__isSmartRef__":true,"id":3995},"_ClipMode":"visible","derivationIds":[],"id":"BA7A1207-19BE-43D0-B432-EF4FED93E81F","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"layout":{"__isSmartRef__":true,"id":3996},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":3962},"label":{"__isSmartRef__":true,"id":3975},"node":{"__isSmartRef__":true,"id":3961},"owner":{"__isSmartRef__":true,"id":3857},"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,40.0)"},"3961":{"submorphs":[{"__isSmartRef__":true,"id":3962},{"__isSmartRef__":true,"id":3975}],"scripts":[],"shape":{"__isSmartRef__":true,"id":3990},"eventHandler":{"__isSmartRef__":true,"id":3991},"_ClipMode":"visible","derivationIds":[],"id":"93030CF0-C67B-4D2A-ACD1-F4D5075E7C50","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":3992},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":3960},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"3962":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3963},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":3964}],"eventHandler":{"__isSmartRef__":true,"id":3966},"_ClipMode":"visible","derivationIds":[],"id":"DA49BA2E-2E48-4249-B686-00F844E02438","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":3961},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3967},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"3963":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"3964":{"style":{"__isSmartRef__":true,"id":3965},"chunkOwner":{"__isSmartRef__":true,"id":3962},"_id":"_6953","storedString":"►","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3965":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3966":{"morph":{"__isSmartRef__":true,"id":3962},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3967":{"onMouseDown":{"__isSmartRef__":true,"id":3968}},"3968":{"varMapping":{"__isSmartRef__":true,"id":3969},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3974},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3969":{"this":{"__isSmartRef__":true,"id":3962},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3970}},"3970":{"$super":{"__isSmartRef__":true,"id":3971}},"3971":{"varMapping":{"__isSmartRef__":true,"id":3972},"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":3973},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3972":{"obj":{"__isSmartRef__":true,"id":3962},"name":"onMouseDown"},"3973":{},"3974":{},"3975":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3976},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":3977},{"__isSmartRef__":true,"id":3979}],"eventHandler":{"__isSmartRef__":true,"id":3981},"_ClipMode":"visible","derivationIds":[],"id":"6F284047-EE15-44E6-AA54-857E22CF8DCD","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":3961},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3982},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"3976":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(144.0,17.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"3977":{"style":{"__isSmartRef__":true,"id":3978},"chunkOwner":{"__isSmartRef__":true,"id":3975},"_id":"_22234","storedString":"attributeConnections","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3978":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3979":{"style":{"__isSmartRef__":true,"id":3980},"chunkOwner":{"__isSmartRef__":true,"id":3975},"_id":"_22235","storedString":" [...]","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3980":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"3981":{"morph":{"__isSmartRef__":true,"id":3975},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3982":{"onMouseDown":{"__isSmartRef__":true,"id":3983}},"3983":{"varMapping":{"__isSmartRef__":true,"id":3984},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3989},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3984":{"this":{"__isSmartRef__":true,"id":3975},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3985}},"3985":{"$super":{"__isSmartRef__":true,"id":3986}},"3986":{"varMapping":{"__isSmartRef__":true,"id":3987},"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":3988},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3987":{"obj":{"__isSmartRef__":true,"id":3975},"name":"onMouseDown"},"3988":{},"3989":{},"3990":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"3991":{"morph":{"__isSmartRef__":true,"id":3961},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3992":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":3993}},"3993":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":3961},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"3994":{"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"_BorderWidth":0,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"3995":{"morph":{"__isSmartRef__":true,"id":3960},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3996":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":3997}},"3997":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":3998},"spacing":0,"container":{"__isSmartRef__":true,"id":3960},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"3998":{"top":0,"right":0,"bottom":0,"left":0},"3999":{"source":{"__isSmartRef__":true,"id":3958},"target":{"__isSmartRef__":true,"id":3960}},"4000":{"onSelect":{"__isSmartRef__":true,"id":4001},"onExpand":{"__isSmartRef__":true,"id":4004},"onUpdateChildren":{"__isSmartRef__":true,"id":4007},"onUpdate":{"__isSmartRef__":true,"id":4010}},"4001":{"varMapping":{"__isSmartRef__":true,"id":4002},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":4003},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4002":{"this":{"__isSmartRef__":true,"id":3958}},"4003":{},"4004":{"varMapping":{"__isSmartRef__":true,"id":4005},"source":"function onExpand() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":4006},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4005":{"this":{"__isSmartRef__":true,"id":3958}},"4006":{},"4007":{"varMapping":{"__isSmartRef__":true,"id":4008},"source":"function onUpdateChildren() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":4009},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4008":{"this":{"__isSmartRef__":true,"id":3958}},"4009":{},"4010":{"varMapping":{"__isSmartRef__":true,"id":4011},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":4012},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4011":{"this":{"__isSmartRef__":true,"id":3958}},"4012":{},"4013":{"__serializedExpressions__":["data"],"inspector":{"__isSmartRef__":true,"id":3842},"parent":{"__isSmartRef__":true,"id":3707},"name":"cachedBounds","description":"Rectangle","children":[],"attributeConnections":[{"__isSmartRef__":true,"id":4014}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4055},"data":"lively.rect(4,22,1000,367)"},"4014":{"sourceObj":{"__isSmartRef__":true,"id":4013},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":4015},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":4054},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4015":{"item":{"__isSmartRef__":true,"id":4013},"parent":{"__isSmartRef__":true,"id":3857},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":4016}],"scripts":[],"shape":{"__isSmartRef__":true,"id":4049},"eventHandler":{"__isSmartRef__":true,"id":4050},"_ClipMode":"visible","derivationIds":[],"id":"5616510C-01D2-4910-9EE6-5C3CAB995269","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"layout":{"__isSmartRef__":true,"id":4051},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":4017},"label":{"__isSmartRef__":true,"id":4030},"node":{"__isSmartRef__":true,"id":4016},"owner":{"__isSmartRef__":true,"id":3857},"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,60.0)"},"4016":{"submorphs":[{"__isSmartRef__":true,"id":4017},{"__isSmartRef__":true,"id":4030}],"scripts":[],"shape":{"__isSmartRef__":true,"id":4045},"eventHandler":{"__isSmartRef__":true,"id":4046},"_ClipMode":"visible","derivationIds":[],"id":"D93E53EF-6850-4D5D-A518-B846A1D103B5","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":4047},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":4015},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"4017":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":4018},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":4019}],"eventHandler":{"__isSmartRef__":true,"id":4021},"_ClipMode":"visible","derivationIds":[],"id":"78276159-F6AC-4378-83F8-2F10B4CFF289","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":4016},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4022},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"4018":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"4019":{"style":{"__isSmartRef__":true,"id":4020},"chunkOwner":{"__isSmartRef__":true,"id":4017},"_id":"_6958","storedString":"►","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4020":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4021":{"morph":{"__isSmartRef__":true,"id":4017},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4022":{"onMouseDown":{"__isSmartRef__":true,"id":4023}},"4023":{"varMapping":{"__isSmartRef__":true,"id":4024},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":4029},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4024":{"this":{"__isSmartRef__":true,"id":4017},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4025}},"4025":{"$super":{"__isSmartRef__":true,"id":4026}},"4026":{"varMapping":{"__isSmartRef__":true,"id":4027},"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":4028},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4027":{"obj":{"__isSmartRef__":true,"id":4017},"name":"onMouseDown"},"4028":{},"4029":{},"4030":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":4031},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":4032},{"__isSmartRef__":true,"id":4034}],"eventHandler":{"__isSmartRef__":true,"id":4036},"_ClipMode":"visible","derivationIds":[],"id":"5BDB259E-A7AC-4D56-A31A-2FD497AFA24B","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":4016},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4037},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"4031":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(149.0,17.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"4032":{"style":{"__isSmartRef__":true,"id":4033},"chunkOwner":{"__isSmartRef__":true,"id":4030},"_id":"_22236","storedString":"cachedBounds","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4033":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4034":{"style":{"__isSmartRef__":true,"id":4035},"chunkOwner":{"__isSmartRef__":true,"id":4030},"_id":"_22237","storedString":" Rectangle","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4035":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"4036":{"morph":{"__isSmartRef__":true,"id":4030},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4037":{"onMouseDown":{"__isSmartRef__":true,"id":4038}},"4038":{"varMapping":{"__isSmartRef__":true,"id":4039},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":4044},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4039":{"this":{"__isSmartRef__":true,"id":4030},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4040}},"4040":{"$super":{"__isSmartRef__":true,"id":4041}},"4041":{"varMapping":{"__isSmartRef__":true,"id":4042},"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":4043},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4042":{"obj":{"__isSmartRef__":true,"id":4030},"name":"onMouseDown"},"4043":{},"4044":{},"4045":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"4046":{"morph":{"__isSmartRef__":true,"id":4016},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4047":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":4048}},"4048":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":4016},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"4049":{"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"_BorderWidth":0,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"4050":{"morph":{"__isSmartRef__":true,"id":4015},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4051":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":4052}},"4052":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":4053},"spacing":0,"container":{"__isSmartRef__":true,"id":4015},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"4053":{"top":0,"right":0,"bottom":0,"left":0},"4054":{"source":{"__isSmartRef__":true,"id":4013},"target":{"__isSmartRef__":true,"id":4015}},"4055":{"onSelect":{"__isSmartRef__":true,"id":4056},"onExpand":{"__isSmartRef__":true,"id":4059},"onUpdateChildren":{"__isSmartRef__":true,"id":4062},"onUpdate":{"__isSmartRef__":true,"id":4065}},"4056":{"varMapping":{"__isSmartRef__":true,"id":4057},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":4058},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4057":{"this":{"__isSmartRef__":true,"id":4013}},"4058":{},"4059":{"varMapping":{"__isSmartRef__":true,"id":4060},"source":"function onExpand() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":4061},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4060":{"this":{"__isSmartRef__":true,"id":4013}},"4061":{},"4062":{"varMapping":{"__isSmartRef__":true,"id":4063},"source":"function onUpdateChildren() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":4064},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4063":{"this":{"__isSmartRef__":true,"id":4013}},"4064":{},"4065":{"varMapping":{"__isSmartRef__":true,"id":4066},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":4067},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4066":{"this":{"__isSmartRef__":true,"id":4013}},"4067":{},"4068":{"data":"/* * Copyright (c) 2006-2009 Sun Microsystems, Inc. * Copyright (c) 2008-2011 Hasso Plattner Institute * * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the \"Software\"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */// set to the context enclosing the SVG context.// rk: replaced \"this.window.top || this.window\" with \"this.window\"// rk: when is it necessary to use the parent context?var Global = this.window || GLOBAL /*for Node.js*/;function dbgOn(cond, optMessage) { if (optMessage) console.log(optMessage); if (cond) debugger; // note that rhino has issues with this keyword // also call as: throw dbgOn(new Error(....)) return cond;}function assert(value, message) { if (value) { return; } // capture the stack var stack; try { throw new Error() } catch(e) { stack = e.stack || '' }; alert('Assertion failed' + (message ? ': ' + message : '!') + '\\n' + stack);};// namespace logic adapted from// http://higher-order.blogspot.com/2008/02/designing-clientserver-web-applications.htmlvar using = (function() { function Util(args) { // args is an escaping arguments array this.objects = Array.prototype.concat.apply([], args); //var ownArgs = this.objects = new Array(args.length); //for (var i = 0; i < args.length; i++) ownArgs[i] = args[i]; }; Util.prototype = { log: function(msg) { console.log(msg); }, run: function(inner) { var args = this.objects; if (this.moduleName) { // little convenience, if (args.length > 0) this.log('using().module(): ignoring args ' + args); return module(this.moduleName).requires().toRun(inner); } else return inner.apply(args[0], args); }, model: function(model) { // KP: interestingly, declaring the above as \"model: function model(model)\" // seems to bind model to to the function, not the formal parameter, at least in rhino! this.model = model; return this; }, module: function(moduleName) { this.moduleName = moduleName; return this; }, link: function link(literal, variableMap) { variableMap = variableMap || {}; return new lively.data.Resolver().link(literal, [], undefined, variableMap, this.objects, this.model); }, extend: function extend(base, extLiteral) { return this.link(Object.extend(Object.clone(base), extLiteral)); }, test: function(inner) { try { return this.run(inner); } catch (er) { alert('test failed: ' + er); return undefined; } } } return function using() { return new Util(arguments); }})();function namespace(spec, context) { var codeDB; if (spec[0] == '$') { codeDB = spec.substring(1, spec.indexOf('.')); spec = spec.substring(spec.indexOf('.') + 1); } var ret = __oldNamespace(spec, context); if (codeDB) { ret.fromDB = codeDB; } return ret;};function __oldNamespace(spec, context) { var i,N; context = context || Global; spec = spec.valueOf(); if (typeof spec === 'object') { if (typeof spec.length === 'number') {//assume an array-like object for (i = 0,N = spec.length; i < N; i++) { return namespace(spec[i], context); } } else {//spec is a specification object e.g, {com: {trifork: ['model,view']}} for (i in spec) if (spec.hasOwnProperty(i)) { context[i] = context[i] || new lively.lang.Namespace(context, i); return namespace(spec[i], context[i]);//recursively descend tree } } } else if (typeof spec === 'string') { (function handleStringCase() { var parts; parts = spec.split('.'); for (i = 0, N = parts.length; i= 0) { ea.pendingRequirements = []; ea.load(); testModuleLoad.delay(6); }\t}); console.log('Module load check done. ' + modules.length + ' modules loaded.');}).delay(10);function module(moduleName) { moduleName = LivelyMigrationSupport.fixModuleName(moduleName); function isNamespaceAwareModule(moduleName) { return moduleName && !moduleName.endsWith('.js'); } function convertUrlToNSIdentifier(url) { var result = url; result = result.replace(/\\//g, '.'); // get rid of '.js' if (result.endsWith('.js')) result = result.substring(0, result.lastIndexOf('.')); return result; } function createNamespaceModule(moduleName) { return namespace(isNamespaceAwareModule(moduleName) ? moduleName : convertUrlToNSIdentifier(moduleName)); } function basicRequire(/*module, requiredModuleNameOrAnArray, anotherRequiredModuleName, ...*/) { // support modulenames as array and parameterlist var args = $A(arguments), module = args.shift(), preReqModuleNames = Object.isArray(args[0]) ? args[0] : args, requiredModules = []; for (var i = 0; i < preReqModuleNames.length; i++) { var name = LivelyMigrationSupport.fixModuleName(preReqModuleNames[i]), reqModule = createNamespaceModule(name); module.addRequiredModule(reqModule); requiredModules.push(reqModule); } return { toRun: function(code) { var debugCode = code; code = code.curry(module); // pass in own module name for nested requirements var codeWrapper = function() { // run code with namespace modules as additional parameters try { module.activate(); code.apply(this, requiredModules); module._isLoaded = true; } catch(e) { module.logError(module + '>>basicRequire: ' + e, debugCode) } finally { module.deactivate(); } } module.addOnloadCallback(codeWrapper); module.load(); } }; }; dbgOn(!Object.isString(moduleName)); var module = createNamespaceModule(moduleName); module.wasDefined = true; module.requires = basicRequire.curry(module); return module;};function require(/*requiredModuleNameOrAnArray, anotherRequiredModuleName, ...*/) { var getUniqueName = function() { return 'anonymous_module_' + require.counter }, args = $A(arguments); require.counter !== undefined ? require.counter++ : require.counter = 0; var m = module(getUniqueName()).beAnonymous(); if (lively.Config.showModuleDefStack) try { throw new Error() } catch(e) { m.defStack = e.stack } return m.requires(Object.isArray(args[0]) ? args[0] : args);};// ===========================================================================// Our JS library extensions (JS 1.5, no particular browser or graphics engine)// ===========================================================================/** * LK class system. */Object.extend(Function.prototype, { defaultCategoryName: 'default category', subclass: function(/*... */) { // Main method of the LK class system. // {className} is the name of the new class constructor which this method synthesizes // and binds to {className} in the Global namespace. // Remaining arguments are (inline) properties and methods to be copied into the prototype // of the newly created constructor. // modified from prototype.js var args = $A(arguments), className = args.shift(), targetScope = Global, shortName = null; if (className) { targetScope = Class.namespaceFor(className); shortName = Class.unqualifiedNameFor(className); } else { shortName = \"anonymous_\" + (Class.anonymousCounter++); className = shortName; } var klass; if (className && targetScope[shortName] && (targetScope[shortName].superclass === this)) { // preserve the class to allow using the subclass construct in interactive development klass = targetScope[shortName]; } else { klass = Class.newInitializer(shortName); klass.superclass = this; var protoclass = function() { }; // that's the constructor of the new prototype object protoclass.prototype = this.prototype; klass.prototype = new protoclass(); klass.prototype.constructor = klass; klass.prototype.constructor.type = className; // KP: .name would be better but js ignores .name on anonymous functions klass.prototype.constructor.displayName = className; // for debugging, because name can not be assigned if (className) targetScope[shortName] = klass; // otherwise it's anonymous // remember the module that contains the class def if (Global.lively && lively.lang && lively.lang.Namespace) klass.sourceModule = lively.lang.Namespace.current(); }; // the remaining args should be category strings or source objects this.addMethods.apply(klass, args); if (!klass.prototype.initialize) klass.prototype.initialize = Functions.Empty; return klass; }, addMethods: function(/*...*/) { var args = arguments, category = this.defaultCategoryName, traits = []; for (var i = 0; i < args.length; i++) { if (Object.isString(args[i])) { category = args[i]; } else if (Global.RealTrait && args[i] instanceof RealTrait) { // FIXME Traits are optional and defined in lively.Traits // This should go somewhere into lively.Traits... // we apply traits afterwards because they can override behavior traits.push(args[i]); } else { this.addCategorizedMethods(category, args[i] instanceof Function ? (args[i])() : args[i]); } } for (i = 0; i < traits.length; i++) { traits[i].applyTo(this); } }, addCategorizedMethods: function(categoryName, source) { // first parameter is a category name // copy all the methods and properties from {source} into the // prototype property of the receiver, which is intended to be // a class constructor. Method arguments named '$super' are treated // specially, see Prototype.js documentation for \"Class.create()\" for details. // derived from Class.Methods.addMethods() in prototype.js // prepare the categories if (!this.categories) this.categories = {}; if (!this.categories[categoryName]) this.categories[categoryName] = []; var currentCategoryNames = this.categories[categoryName]; if (!source) throw dbgOn(new Error('no source in addCategorizedMethods!')); var ancestor = this.superclass && this.superclass.prototype; var className = this.type || \"Anonymous\"; for (var property in source) { if (property == 'constructor') continue; var getter = source.__lookupGetter__(property); if (getter) this.prototype.__defineGetter__(property, getter); var setter = source.__lookupSetter__(property); if (setter) this.prototype.__defineSetter__(property, setter); if (getter || setter) continue; currentCategoryNames.push(property); var value = source[property]; // weirdly, RegExps are functions in Safari, so testing for // Object.isFunction on regexp field values will return true. // But they're not full-blown functions and don't // inherit argumentNames from Function.prototype var hasSuperCall = ancestor && Object.isFunction(value) && value.argumentNames && value.argumentNames().first() == \"$super\"; if (hasSuperCall) { // wrapped in a function to save the value of 'method' for advice (function() { var method = value, advice = (function(m) { var cs = function callSuper() { var method = ancestor[m]; if (!method) { throw new Error(Strings.format('Trying to call super of' + '%s>>%s but super method non existing in %s', className, m, ancestor.constructor.type)); } return method.apply(this, arguments); }; cs.varMapping = {ancestor: ancestor, m: m}; cs.isSuperCall = true; return cs; })(property); advice.methodName = \"$super:\" + (this.superclass ? this.superclass.type + \">>\" : \"\") + property; value = Object.extend(advice.wrap(method), { valueOf: function() { return method }, toString: function() { return method.toString() }, originalFunction: method, methodName: advice.methodName, isSuperWrapper: true }); // for lively.Closures method.varMapping = {$super: advice}; })(); } this.prototype[property] = value; if (property === \"formals\") { // rk FIXME remove this cruft // special property (used to be pins, but now called formals to disambiguate old and new style Class.addPins(this, value); } else if (Object.isFunction(value)) { // remember name for profiling in WebKit value.displayName = className + \"$\" + property; // remember where it was defined if (Global.lively && lively.lang && lively.lang.Namespace) value.sourceModule = lively.lang.Namespace.current(); for (; value; value = value.originalFunction) { if (value.methodName) { //console.log(\"class \" + this.prototype.constructor.type // + \" borrowed \" + value.qualifiedMethodName()); } value.declaredClass = this.prototype.constructor.type; value.methodName = property; } } } // end of for (var property in source) return this; }, addProperties: function(spec, recordType) { Class.addMixin(this, recordType.prototype.create(spec).prototype); }, isSubclassOf: function(aClass) { return this.superclasses().include(aClass); }, allSubclasses: function() { var klass = this; return Global.classes(true).select(function(ea) { return ea.isSubclassOf(klass) }); }, withAllSubclasses: function() { return [this].concat(this.allSubclasses()) }, directSubclasses: function() { var klass = this; return Global.classes(true).select(function(ea) { return ea.superclass === klass }); }, withAllSortedSubclassesDo: function(func) { // this method iterates func on all subclasses of klass (including klass) // it is ensured that the klasses are sorted by a) subclass relationship and b) name (not type!) // func gets as parameters: 1) the class 2) index in list 3) level of inheritance // compared to klass (1 for direct subclasses and so on) function createSortedSubclassList(klass, level) { var list = klass.directSubclasses() .sortBy(function(ea) { return ea.name.charCodeAt(0) }) .collect(function(subclass) { return createSortedSubclassList(subclass, level + 1) }) .flatten(); return [{klass: klass, level: level}].concat(list) } return createSortedSubclassList(this, 0).collect(function(spec, idx) { return func(spec.klass, idx, spec.level) }) }, superclasses: function() { if (!this.superclass) return []; if (this.superclass === Object) return [Object]; return this.superclass.superclasses().concat([this.superclass]); }, categoryNameFor: function(propName) { for (var categoryName in this.categories) { if (this.categories[categoryName].include(propName)) { return categoryName; } } return null; }, remove: function() { var ownerNamespace = Class.namespaceFor(this.type), ownName = Class.unqualifiedNameFor(this.type); delete ownerNamespace[ownName]; },});var Class = { anonymousCounter: 0, initializerTemplate: (function CLASS(){ Class.initializer.apply(this, arguments) }).toString(), newInitializer: function(name) { // this hack ensures that class instances have a name return eval(Class.initializerTemplate.replace(/CLASS/g, name) + \";\" + name); }, initializer: function initializer() { var firstArg = arguments[0]; // maybe special initialization required if (firstArg && firstArg.isImporter) { this.deserialize.apply(this, arguments); } else if (firstArg && firstArg.isCopier) { this.copyFrom.apply(this, arguments); } else if (firstArg && firstArg.isInstanceRestorer) { // just do nothing // for WebCards and other JSON-based dersialization logic } else { // if this.initialize is undefined then prolly the constructor was called without 'new' this.initialize.apply(this, arguments); } }, def: function Class$def(constr, superConstr, optProtos, optStatics) { // currently not used // Main method of the LK class system. // {className} is the name of the new class constructor which this method synthesizes // and binds to {className} in the Global namespace. // Remaining arguments are (inline) properties and methods to be copied into the prototype // of the newly created constructor. // modified from prototype.js var klass = Class.newInitializer(\"klass\"); klass.superclass = superConstr; var protoclass = function() { }; // that's the constructor of the new prototype object protoclass.prototype = superConstr.prototype; klass.prototype = new protoclass(); // Object.extend(klass.prototype, constr.prototype); klass.prototype.constructor = klass; var className = constr.name; // getName() klass.addMethods({initialize: constr}); // KP: .name would be better but js ignores .name on anonymous functions klass.type = className; if (optProtos) klass.addMethods(optProtos); if (optStatics) Object.extend(klass, optStatics); Global[className] = klass; return klass; }, isValidIdentifier: function(str) { return /^(?:[a-zA-Z_][\\w\\-]*[.])*[a-zA-Z_][\\w\\-]*$/.test(str); }, isClass: function Class$isClass(object) { if (object === Object || object === Array || object === Function || object === String || object === Number) { return true; } return (object instanceof Function) && (object.superclass !== undefined); }, className: function Class$className(cl) { if (cl === Object) return \"Object\" if (cl === Array) return \"Array\" if (cl === Function) return \"Function\" if (cl === String) return \"String\" if (cl === Number) return \"Number\" return cl.type; }, forName: function forName(name) { // lookup the class object given the qualified name var ns = Class.namespaceFor(name), shortName = Class.unqualifiedNameFor(name); return ns[shortName]; }, deleteObjectNamed: function Class$deleteObjectNamed(name) { var ns = Class.namespaceFor(name), shortName = Class.unqualifiedNameFor(name); delete ns[shortName]; }, unqualifiedNameFor: function Class$unqualifiedNameFor(name) { var lastDot = name.lastIndexOf('.'), // lastDot may be -1 unqualifiedName = name.substring(lastDot + 1); if (!Class.isValidIdentifier(unqualifiedName)) throw new Error('not a name ' + unqualifiedName); return unqualifiedName; }, namespaceFor: function Class$namespaceFor(className) { // get the namespace object given the qualified name var lastDot = className ? className.lastIndexOf('.') : -1; if (lastDot < 0) return Global; else return namespace(className.substring(0, lastDot)); }, withAllClassNames: function Class$withAllClassNames(scope, callback) { for (var name in scope) { try { if (Class.isClass(scope[name])) callback(name); } catch (er) { // FF exceptions } } callback(\"Object\"); callback(\"Global\"); }, makeEnum: function Class$makeEnum(strings) { // simple mechanism for making objecs with property values set to // property names, to be used as enums. var e = {}; for (var i = 0; i < strings.length; i++) { e[strings[i]] = strings[i]; } return e; }, getConstructor: function Class$getConstructor(object) { var c = object.constructor; return (c && c.getOriginal) ? c.getOriginal() : c; }, getPrototype: function Class$getPrototype(object) { return this.getConstructor(object).prototype; }, applyPrototypeMethod: function Class$applyPrototypeMethod(methodName, target, args) { var method = this.getPrototype(target); if (!method) throw new Error(\"method \" + methodName + \" not found\"); return method.apply(this, args); }, getSuperConstructor: function Class$getSuperConstructor(object) { return this.getConstructor(object).superclass; }, getSuperPrototype: function Class$getSuperPrototype(object) { var sup = this.getSuperConstructor(object); return sup && sup.prototype; }, addPins: function Class$addPins(cls, spec) { if (Global.Relay) { Class.addMixin(cls, Relay.newDelegationMixin(spec).prototype); return; } // this is for refactoring away from Relay and friends if (!Object.isArray(spec)) throw new Error('Cannot deal with non-Array spec in addPins'); function unstripName(name) { return name.replace(/[\\+|\\-]?(.*)/, '$1') }; function needsSetter(name) { return !name.startsWith('-') }; function needsGetter(name) { return !name.startsWith('+') }; var mixinSpec = {}; spec.forEach(function(specString) { var name = unstripName(specString); if (needsSetter(specString)) mixinSpec['set' + name] = function(value) { return this['_' + name] = value } if (needsGetter(specString)) mixinSpec['get' + name] = function() { return this['_' + name] } }) Class.addMixin(cls, mixinSpec); }, addMixin: function Class$addMixin(cls, source) { var spec = {}; for (var prop in source) { var value = source[prop]; switch (prop) { case \"constructor\": case \"initialize\": case \"deserialize\": case \"copyFrom\": case \"toString\": case \"definition\": case \"description\": break; default: if (cls.prototype[prop] === undefined) // do not override existing values! spec[prop] = value; } } cls.addMethods(spec); },};Object.subclass('Namespace','initializing', { initialize: function(context, nsName) { this.namespaceIdentifier = context.namespaceIdentifier + '.' + nsName; this.createTime = new Date(); },},'accessing', { gather: function(selector, condition, recursive) { var result = Object.values(this).select(function(ea) { return condition.call(this, ea) }, this); if (!recursive) return result; return this.subNamespaces().inject(result, function(result, ns) { return result.concat(ns[selector](true)) }); }, subNamespaces: function(recursive) { return this.gather( 'subNamespaces', function(ea) { return (ea instanceof lively.lang.Namespace || ea === Global) && ea !== this }, recursive); }, classes: function(recursive) { var normalClasses = this.gather( 'classes', function(ea) { return ea && ea !== this.constructor && Class.isClass(ea) }, recursive); if (this === Global) return [Array, Number, String, Function].concat(normalClasses); return normalClasses; }, functions: function(recursive) { return this.gather( 'functions', function(ea) { return ea && !Class.isClass(ea) && Object.isFunction(ea) && !ea.declaredClass && this.requires !== ea && ea.getOriginal() === ea }, recursive); },});// let Glabal act like a namespace itselfObject.extend(Global, Namespace.prototype);Object.extend(Global, { namespaceIdentifier: 'Global', isLoaded: Functions.True,});Namespace.addMethods('properties', { isLivelyModule: true,},'initializing', { beAnonymous: function() { this._isAnonymous = true; this.sourceModuleName = lively.lang.Namespace.current().namespaceIdentifier; return this; },},'accessing', { // module specific, should be a subclass? name: function() { var identifier = this.namespaceIdentifier, globalIdStart = 'Global.'; if (identifier.startsWith(globalIdStart)) { identifier = identifier.substring(globalIdStart.length); } return identifier; }, findUri: function(optFileType) { var fileType = optFileType || 'js', fileExtension = '.' + fileType, namespacePrefix; if (this.namespaceIdentifier.startsWith('Global.')) { namespacePrefix = 'Global.'; } else { throw dbgOn(new Error('unknown namespaceIdentifier')); } var relativePath = this.namespaceIdentifier .substr(namespacePrefix.length) .replace(/\\./g, '/'); if (!relativePath.match(/\\.js$/)) { relativePath += fileExtension; } var uri = ''; lively.Config.modulePaths.forEach(function(ea) { if (relativePath.substring(0, ea.length) == ea) { uri = lively.Config.rootPath + relativePath; } }); if (uri == '') { uri = lively.Config.codeBase + relativePath; } return uri; }, uri: function(optType) { // FIXME cleanup necessary if (this.__cachedUri && !optType) { return this.__cachedUri; } var url; if (this.fromDB) { var id = this.namespaceIdentifier; // something like lively.Core var namespacePrefix; if (id.startsWith('Global.')) { namespacePrefix = 'Global.'; id = id.substring(7); } else throw dbgOn(new Error('unknown namespaceIdentifier')); // FIXME: extract to lively.Config.codeBaseDB url = lively.Config.couchDBURL + '/' + this.fromDB + '/_design/raw_data/_list/javascript/for-module?module=' + id; this.__cachedUri = url; return url; } else { var id = this.namespaceIdentifier; // something like lively.Core var namespacePrefix; if (!this.isAnonymous()) { url = this.findUri(optType); } else { if (id.startsWith('Global.')) namespacePrefix = 'Global.'; else throw dbgOn(new Error('unknown namespaceIdentifier')); url = lively.Config.codeBase + this.namespaceIdentifier.substr(namespacePrefix.length).replace(/\\./g, '/'); } this.__cachedUri = url; return url; } }, relativePath: function(optType) { return new URL(this.uri(optType)).relativePathFrom(URL.codeBase); }, lastPart: function() { return this.name().match(/[^.]+$/)[0]; }},'module dependencies', { addDependendModule: function(depModule) { if (!this.dependendModules) this.dependendModules = []; this.dependendModules.push(depModule); // keep a copy of the dependencies for debugging if (!this.debugDependendModules) this.debugDependendModules = []; this.debugDependendModules.push(depModule); }, informDependendModules: function() { if (!this.dependendModules) return; var deps = this.dependendModules.uniq(); this.dependendModules = []; deps.forEach(function(ea) { ea.removeRequiredModule(this) }, this); }, traceDependendModules: function(visited) { visited = visited || []; var deps = this.debugDependendModules || []; deps = deps.withoutAll(visited) visited.push(this); return [this.namespaceIdentifier, deps.collect(function(ea) { return ea.traceDependendModules(visited) })] }, addRequiredModule: function(requiredModule) { // privateRequirements is just for keeping track later on if (!this.privateRequirements) this.privateRequirements = []; this.privateRequirements.push(requiredModule); if (requiredModule.isLoaded()) return; if (!this.pendingRequirements) this.pendingRequirements = []; this.pendingRequirements.push(requiredModule); requiredModule.addDependendModule(this); }, removeRequiredModule: function(requiredModule) { if (this.pendingRequirements && !this.pendingRequirements.include(requiredModule)) throw dbgOn(new Error('requiredModule not there')); this.pendingRequirements = this.pendingRequirements.without(requiredModule); if (!this.hasPendingRequirements()) { this.load(); } }, pendingRequirementNames: function() { if (!this.pendingRequirements) return []; return this.pendingRequirements.collect(function(ea) { return ea.uri() }); }, hasPendingRequirements: function() { return this.pendingRequirements && this.pendingRequirements.length > 0; }, loadRequirementsFirst: function() { this.pendingRequirements && this.pendingRequirements.invoke('load'); }, wasRequiredBy: function() { return Global.subNamespaces(true).select(function(m) { return m.privateRequirements && m.privateRequirements.include(this); }, this); },},'load callbacks', { addOnloadCallback: function(cb) { if (!this.callbacks) this.callbacks = []; this.callbacks.push(cb); }, runOnloadCallbacks: function() { if (!this.callbacks) return; var cb; while (cb = this.callbacks.shift()) { try {cb()} catch(e) { this.logError('runOnloadCallbacks: ' + cb.name + ': ' + e); throw e } }; }, isAnonymous: function() { return this._isAnonymous },},'testing', { isLoaded: function() { return this._isLoaded; }, isLoading: function() { if (this.isLoaded()) return false; if (this.uri().include('anonymous')) return true; return JSLoader.scriptInDOM(this.uri()); }, isAnonymous: function() { return this._isAnonymous },},'loading', { load: function(loadSync) { if (loadSync) { var prevWasSync = this.constructor.loadSync; this.constructor.loadSync = true; } if (this.isLoaded()) { this.runOnloadCallbacks(); return; } if (this.isLoading() && this.wasDefined && !this.hasPendingRequirements()) { this.runOnloadCallbacks(); // time is not only the time needed for the request and code evaluation // but the complete time span from the creation of the module (when the module is first encountered) // to evaluation the evaluation of its code, including load time of all requirements var time = this.createTime ? new Date() - this.createTime : 'na'; console.log(this.uri() + ' loaded in ' + time + ' ms'); this.informDependendModules(); return; } if (this.isLoading()) { this.loadRequirementsFirst(); return; } JSLoader.loadJs(this.uri(), null, this.constructor.loadSync); if (loadSync) this.constructor.loadSync = prevWasSync; }, activate: function() { this.constructor.namespaceStack.push(this); }, deactivate: function() { var m = this.constructor.namespaceStack.pop(); if (m !== this) throw new Error('Wrong module: ' + this.namespaceIdentifier + ' instead of expected ' + m.namespaceIdentifier ) },},'removing', { remove: function() { var ownerNamespace = Class.namespaceFor(this.namespaceIdentifier), ownName = Class.unqualifiedNameFor(this.namespaceIdentifier) JSLoader.removeAllScriptsThatLinkTo(this.uri()); delete ownerNamespace[ownName]; }, removeScriptNode: function() { var node = document.getElementById(this.uri()); if (!node) return node.parentNode.removeChild(node); },},'debugging', { toString: function() { return 'module(' + this.namespaceIdentifier + ')' }, inspect: function() { this.toString() + ' defined at ' + this.defStack }, logError: function(e, optCode) { var list = this.traceDependendModules(); var msg = 'Error while loading ' + this.moduleName + ': ' + e; msg += '\\ndependencies: ' + Strings.printNested(list) if (Global.lively && lively.morphic && lively.morphic.World && lively.morphic.World.current() && lively.morphic.World.current().logError) lively.morphic.World.current().logError(e) if (e.stack) msg = msg + e.stack; if (optCode) msg += \"code:\\n\" + optCode; console.error(msg); dbgOn(true); },});Object.extend(Namespace, { namespaceStack: [Global], current: function() { return this.namespaceStack.last() }, topologicalSortLoadedModules: function() { if (lively.Config.standAlone) { var scripIds = []; $('body script').each(function() { scripIds.push($(this).attr('id')) }); return scripIds.collect(function(id) { var name = id.replace(/^..\\//, ''); return module(name); }); } // get currently loaded modules that really are js files var modules = Global.subNamespaces(true) .reject(function(ea) { return ea.isAnonymous(); }) .select(function(ea) { return ea.isLoaded() && new WebResource(ea.uri()).exists() }); // topological sort modules according to their requirements var sortedModules = [], i = 0; while (i < 1000 && modules.length > 0) { i++; var canBeLoaded = modules.select(function(module) { if (!module.privateRequirements) return true; return module.privateRequirements.all(function(requirement) { return sortedModules.include(requirement) }) }) sortedModules = sortedModules.concat(canBeLoaded); modules = modules.withoutAll(canBeLoaded); } if (modules.length > 0) throw new Error('Cannot find dependencies for all modules!'); return sortedModules; }, bootstrapModules: function() { // return a string to include in bootstrap.js var urls = this.topologicalSortLoadedModules() .collect(function(ea) { return new URL(ea.uri()).relativePathFrom(URL.codeBase) }) // omit modules outside of core .reject(function(path) { return path.startsWith('..') }); var manual = [LivelyLoader.libsFile, 'lively/Migration.js', 'lively/JSON.js', 'lively/lang/Object.js', 'lively/lang/Function.js', 'lively/lang/String.js', 'lively/lang/Array.js', 'lively/lang/Number.js', 'lively/lang/Date.js', 'lively/defaultconfig.js', 'lively/localconfig.js', 'lively/Base.js', 'lively/lang/Closure.js', // FIXME: require module instead 'lively/lang/UUID.js', // FIXME: require module instead 'lively/LocalStorage.js']; urls = manual.concat(urls); return urls; }, bootstrapModulesString: function() { var urls = this.bootstrapModules(); return '[\\'' + urls.join('\\', \\'') + '\\']'; }});(function createLivelyNamespace(Global) { // namespace('lively.lang'); var preExistingLively = Global.lively; delete Global.lively; var lively = new Global.Namespace(Global, 'lively'); // FIXME this is just a hack to get properties of a potentially // predefined \"lively\" object over to the namespace lively object // namespaces should deal with this in general if (preExistingLively) { for (var name in preExistingLively) { lively[name] = preExistingLively[name]; } } Global.lively = lively;})(Global);(function moveNamespaceClassToLivelyLang(Global) { var lively = Global.lively, Namespace = Global.Namespace; lively.lang = new Namespace(lively, 'lang'); lively.lang.Namespace = Namespace; // alias lively.Module = lively.lang.Namespace; delete Global.Namespace;})(Global);(function addUsefulStuffToLivelyNS(Global, lively) { lively.assert = Global.assert;})(Global, lively);Object.extend(lively.Module, { findAllInThenDo: function(url, callback) { var dir = new URL(url).getDirectory(); if (url.isLeaf()) { throw new Error(url + ' is not a directory!'); } var webR = dir.asWebResource(); lively.bindings.connect(webR, 'subDocuments', {onLoad: function(files) { var moduleNames = files.invoke('getURL') .invoke('asModuleName'), modules = moduleNames.collect(function(name) { return module(name); }) callback(modules); }}, 'onLoad'); webR.getSubElements(); }});(function setupLivelyLang(lively) { lively.lang.Execution = { showStack: Functions.Null, resetDebuggingStack: Functions.Null, installStackTracers: Functions.Null }; lively.lang.let = function(/** **/) { // lively.lang.let(y, function(x) { body }) is equivalent to { let y = x; body; } return arguments[arguments.length - 1].apply(this, arguments); }})(lively);/* * Stack Viewer when Dan's StackTracer is not available * FIXME rk: move this to Helper.js? */function getStack() { var result = []; for(var caller = arguments.callee.caller; caller; caller = caller.caller) { if (result.indexOf(caller) != -1) { result.push({name: \"recursive call can't be traced\"}); break; } result.push(caller); }; return result;};function printStack() { function guessFunctionName(func) { var qName = func.qualifiedMethodName && func.qualifiedMethodName(), regExpRes = func.toString().match(/function (.+)\\(/); return qName || (regExpRes && regExpRes[1]) || func; }; var string = \"== Stack ==\\n\", stack = getStack(); stack.shift(); // for getStack stack.shift(); // for printStack (me) var indent = \"\"; for (var i=0; i < stack.length; i++) { string += indent + i + \": \" +guessFunctionName(stack[i]) + \"\\n\"; indent += \" \"; }; return string;};function logStack() { this.console.log(printStack());};(function setupjQuery(Global) { var lively = Global.lively, jQuery = Global.jQuery; // we still are adding jQuery to Global but this is DEPRECATED // We need to be able to run with libraries requiring different jQuery versions // so we will restrict \"our\" to lively.$ in the future Global.$ = lively.$ = jQuery.noConflict(/*true -- really removes $*/);})(Global);","inspector":{"__isSmartRef__":true,"id":3842},"parent":{"__isSmartRef__":true,"id":3707},"name":"cachedTextString","description":"/* * Copyright (c) 2006-2009 Sun Mic...","attributeConnections":[{"__isSmartRef__":true,"id":4069}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4110}},"4069":{"sourceObj":{"__isSmartRef__":true,"id":4068},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":4070},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":4109},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4070":{"item":{"__isSmartRef__":true,"id":4068},"parent":{"__isSmartRef__":true,"id":3857},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":4071}],"scripts":[],"shape":{"__isSmartRef__":true,"id":4104},"eventHandler":{"__isSmartRef__":true,"id":4105},"_ClipMode":"visible","derivationIds":[],"id":"8357FC1F-78FF-4337-9553-20819C34DAC4","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"layout":{"__isSmartRef__":true,"id":4106},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":4072},"label":{"__isSmartRef__":true,"id":4085},"node":{"__isSmartRef__":true,"id":4071},"owner":{"__isSmartRef__":true,"id":3857},"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,80.0)"},"4071":{"submorphs":[{"__isSmartRef__":true,"id":4072},{"__isSmartRef__":true,"id":4085}],"scripts":[],"shape":{"__isSmartRef__":true,"id":4100},"eventHandler":{"__isSmartRef__":true,"id":4101},"_ClipMode":"visible","derivationIds":[],"id":"FB430887-20B9-4E48-A4E0-397BB34A2C6A","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":4102},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":4070},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"4072":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":4073},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":4074}],"eventHandler":{"__isSmartRef__":true,"id":4076},"_ClipMode":"visible","derivationIds":[],"id":"68FDC9C2-404B-41C1-9642-A09E15972D19","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":4071},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4077},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"4073":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"4074":{"style":{"__isSmartRef__":true,"id":4075},"chunkOwner":{"__isSmartRef__":true,"id":4072},"_id":"_6963","storedString":"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4075":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4076":{"morph":{"__isSmartRef__":true,"id":4072},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4077":{"onMouseDown":{"__isSmartRef__":true,"id":4078}},"4078":{"varMapping":{"__isSmartRef__":true,"id":4079},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":4084},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4079":{"this":{"__isSmartRef__":true,"id":4072},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4080}},"4080":{"$super":{"__isSmartRef__":true,"id":4081}},"4081":{"varMapping":{"__isSmartRef__":true,"id":4082},"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":4083},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4082":{"obj":{"__isSmartRef__":true,"id":4072},"name":"onMouseDown"},"4083":{},"4084":{},"4085":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":4086},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":4087},{"__isSmartRef__":true,"id":4089}],"eventHandler":{"__isSmartRef__":true,"id":4091},"_ClipMode":"visible","derivationIds":[],"id":"E1622533-AA96-4982-ABD0-74263F719F0D","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":4071},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4092},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"4086":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(331.0,17.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"4087":{"style":{"__isSmartRef__":true,"id":4088},"chunkOwner":{"__isSmartRef__":true,"id":4085},"_id":"_22238","storedString":"cachedTextString","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4088":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4089":{"style":{"__isSmartRef__":true,"id":4090},"chunkOwner":{"__isSmartRef__":true,"id":4085},"_id":"_22239","storedString":" /* * Copyright (c) 2006-2009 Sun Mic...","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4090":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"4091":{"morph":{"__isSmartRef__":true,"id":4085},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4092":{"onMouseDown":{"__isSmartRef__":true,"id":4093}},"4093":{"varMapping":{"__isSmartRef__":true,"id":4094},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":4099},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4094":{"this":{"__isSmartRef__":true,"id":4085},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4095}},"4095":{"$super":{"__isSmartRef__":true,"id":4096}},"4096":{"varMapping":{"__isSmartRef__":true,"id":4097},"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":4098},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4097":{"obj":{"__isSmartRef__":true,"id":4085},"name":"onMouseDown"},"4098":{},"4099":{},"4100":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"4101":{"morph":{"__isSmartRef__":true,"id":4071},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4102":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":4103}},"4103":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":4071},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"4104":{"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"_BorderWidth":0,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"4105":{"morph":{"__isSmartRef__":true,"id":4070},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4106":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":4107}},"4107":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":4108},"spacing":0,"container":{"__isSmartRef__":true,"id":4070},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"4108":{"top":0,"right":0,"bottom":0,"left":0},"4109":{"source":{"__isSmartRef__":true,"id":4068},"target":{"__isSmartRef__":true,"id":4070}},"4110":{"onSelect":{"__isSmartRef__":true,"id":4111},"onUpdate":{"__isSmartRef__":true,"id":4114}},"4111":{"varMapping":{"__isSmartRef__":true,"id":4112},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":4113},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4112":{"this":{"__isSmartRef__":true,"id":4068}},"4113":{},"4114":{"varMapping":{"__isSmartRef__":true,"id":4115},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":4116},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4115":{"this":{"__isSmartRef__":true,"id":4068}},"4116":{},"4117":{"data":"/* * Copyright (c) 2006-2009 Sun Microsystems, Inc. * Copyright (c) 2008-2011 Hasso Plattner Institute * * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the \"Software\"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */// set to the context enclosing the SVG context.// rk: replaced \"this.window.top || this.window\" with \"this.window\"// rk: when is it necessary to use the parent context?var Global = this.window || GLOBAL /*for Node.js*/;function dbgOn(cond, optMessage) { if (optMessage) console.log(optMessage); if (cond) debugger; // note that rhino has issues with this keyword // also call as: throw dbgOn(new Error(....)) return cond;}function assert(value, message) { if (value) { return; } // capture the stack var stack; try { throw new Error() } catch(e) { stack = e.stack || '' }; alert('Assertion failed' + (message ? ': ' + message : '!') + '\\n' + stack);};// namespace logic adapted from// http://higher-order.blogspot.com/2008/02/designing-clientserver-web-applications.htmlvar using = (function() { function Util(args) { // args is an escaping arguments array this.objects = Array.prototype.concat.apply([], args); //var ownArgs = this.objects = new Array(args.length); //for (var i = 0; i < args.length; i++) ownArgs[i] = args[i]; }; Util.prototype = { log: function(msg) { console.log(msg); }, run: function(inner) { var args = this.objects; if (this.moduleName) { // little convenience, if (args.length > 0) this.log('using().module(): ignoring args ' + args); return module(this.moduleName).requires().toRun(inner); } else return inner.apply(args[0], args); }, model: function(model) { // KP: interestingly, declaring the above as \"model: function model(model)\" // seems to bind model to to the function, not the formal parameter, at least in rhino! this.model = model; return this; }, module: function(moduleName) { this.moduleName = moduleName; return this; }, link: function link(literal, variableMap) { variableMap = variableMap || {}; return new lively.data.Resolver().link(literal, [], undefined, variableMap, this.objects, this.model); }, extend: function extend(base, extLiteral) { return this.link(Object.extend(Object.clone(base), extLiteral)); }, test: function(inner) { try { return this.run(inner); } catch (er) { alert('test failed: ' + er); return undefined; } } } return function using() { return new Util(arguments); }})();function namespace(spec, context) { var codeDB; if (spec[0] == '$') { codeDB = spec.substring(1, spec.indexOf('.')); spec = spec.substring(spec.indexOf('.') + 1); } var ret = __oldNamespace(spec, context); if (codeDB) { ret.fromDB = codeDB; } return ret;};function __oldNamespace(spec, context) { var i,N; context = context || Global; spec = spec.valueOf(); if (typeof spec === 'object') { if (typeof spec.length === 'number') {//assume an array-like object for (i = 0,N = spec.length; i < N; i++) { return namespace(spec[i], context); } } else {//spec is a specification object e.g, {com: {trifork: ['model,view']}} for (i in spec) if (spec.hasOwnProperty(i)) { context[i] = context[i] || new lively.lang.Namespace(context, i); return namespace(spec[i], context[i]);//recursively descend tree } } } else if (typeof spec === 'string') { (function handleStringCase() { var parts; parts = spec.split('.'); for (i = 0, N = parts.length; i= 0) { ea.pendingRequirements = []; ea.load(); testModuleLoad.delay(6); }\t}); console.log('Module load check done. ' + modules.length + ' modules loaded.');}).delay(10);function module(moduleName) { moduleName = LivelyMigrationSupport.fixModuleName(moduleName); function isNamespaceAwareModule(moduleName) { return moduleName && !moduleName.endsWith('.js'); } function convertUrlToNSIdentifier(url) { var result = url; result = result.replace(/\\//g, '.'); // get rid of '.js' if (result.endsWith('.js')) result = result.substring(0, result.lastIndexOf('.')); return result; } function createNamespaceModule(moduleName) { return namespace(isNamespaceAwareModule(moduleName) ? moduleName : convertUrlToNSIdentifier(moduleName)); } function basicRequire(/*module, requiredModuleNameOrAnArray, anotherRequiredModuleName, ...*/) { // support modulenames as array and parameterlist var args = $A(arguments), module = args.shift(), preReqModuleNames = Object.isArray(args[0]) ? args[0] : args, requiredModules = []; for (var i = 0; i < preReqModuleNames.length; i++) { var name = LivelyMigrationSupport.fixModuleName(preReqModuleNames[i]), reqModule = createNamespaceModule(name); module.addRequiredModule(reqModule); requiredModules.push(reqModule); } return { toRun: function(code) { var debugCode = code; code = code.curry(module); // pass in own module name for nested requirements var codeWrapper = function() { // run code with namespace modules as additional parameters try { module.activate(); code.apply(this, requiredModules); module._isLoaded = true; } catch(e) { module.logError(module + '>>basicRequire: ' + e, debugCode) } finally { module.deactivate(); } } module.addOnloadCallback(codeWrapper); module.load(); } }; }; dbgOn(!Object.isString(moduleName)); var module = createNamespaceModule(moduleName); module.wasDefined = true; module.requires = basicRequire.curry(module); return module;};function require(/*requiredModuleNameOrAnArray, anotherRequiredModuleName, ...*/) { var getUniqueName = function() { return 'anonymous_module_' + require.counter }, args = $A(arguments); require.counter !== undefined ? require.counter++ : require.counter = 0; var m = module(getUniqueName()).beAnonymous(); if (lively.Config.showModuleDefStack) try { throw new Error() } catch(e) { m.defStack = e.stack } return m.requires(Object.isArray(args[0]) ? args[0] : args);};// ===========================================================================// Our JS library extensions (JS 1.5, no particular browser or graphics engine)// ===========================================================================/** * LK class system. */Object.extend(Function.prototype, { defaultCategoryName: 'default category', subclass: function(/*... */) { // Main method of the LK class system. // {className} is the name of the new class constructor which this method synthesizes // and binds to {className} in the Global namespace. // Remaining arguments are (inline) properties and methods to be copied into the prototype // of the newly created constructor. // modified from prototype.js var args = $A(arguments), className = args.shift(), targetScope = Global, shortName = null; if (className) { targetScope = Class.namespaceFor(className); shortName = Class.unqualifiedNameFor(className); } else { shortName = \"anonymous_\" + (Class.anonymousCounter++); className = shortName; } var klass; if (className && targetScope[shortName] && (targetScope[shortName].superclass === this)) { // preserve the class to allow using the subclass construct in interactive development klass = targetScope[shortName]; } else { klass = Class.newInitializer(shortName); klass.superclass = this; var protoclass = function() { }; // that's the constructor of the new prototype object protoclass.prototype = this.prototype; klass.prototype = new protoclass(); klass.prototype.constructor = klass; klass.prototype.constructor.type = className; // KP: .name would be better but js ignores .name on anonymous functions klass.prototype.constructor.displayName = className; // for debugging, because name can not be assigned if (className) targetScope[shortName] = klass; // otherwise it's anonymous // remember the module that contains the class def if (Global.lively && lively.lang && lively.lang.Namespace) klass.sourceModule = lively.lang.Namespace.current(); }; // the remaining args should be category strings or source objects this.addMethods.apply(klass, args); if (!klass.prototype.initialize) klass.prototype.initialize = Functions.Empty; return klass; }, addMethods: function(/*...*/) { var args = arguments, category = this.defaultCategoryName, traits = []; for (var i = 0; i < args.length; i++) { if (Object.isString(args[i])) { category = args[i]; } else if (Global.RealTrait && args[i] instanceof RealTrait) { // FIXME Traits are optional and defined in lively.Traits // This should go somewhere into lively.Traits... // we apply traits afterwards because they can override behavior traits.push(args[i]); } else { this.addCategorizedMethods(category, args[i] instanceof Function ? (args[i])() : args[i]); } } for (i = 0; i < traits.length; i++) { traits[i].applyTo(this); } }, addCategorizedMethods: function(categoryName, source) { // first parameter is a category name // copy all the methods and properties from {source} into the // prototype property of the receiver, which is intended to be // a class constructor. Method arguments named '$super' are treated // specially, see Prototype.js documentation for \"Class.create()\" for details. // derived from Class.Methods.addMethods() in prototype.js // prepare the categories if (!this.categories) this.categories = {}; if (!this.categories[categoryName]) this.categories[categoryName] = []; var currentCategoryNames = this.categories[categoryName]; if (!source) throw dbgOn(new Error('no source in addCategorizedMethods!')); var ancestor = this.superclass && this.superclass.prototype; var className = this.type || \"Anonymous\"; for (var property in source) { if (property == 'constructor') continue; var getter = source.__lookupGetter__(property); if (getter) this.prototype.__defineGetter__(property, getter); var setter = source.__lookupSetter__(property); if (setter) this.prototype.__defineSetter__(property, setter); if (getter || setter) continue; currentCategoryNames.push(property); var value = source[property]; // weirdly, RegExps are functions in Safari, so testing for // Object.isFunction on regexp field values will return true. // But they're not full-blown functions and don't // inherit argumentNames from Function.prototype var hasSuperCall = ancestor && Object.isFunction(value) && value.argumentNames && value.argumentNames().first() == \"$super\"; if (hasSuperCall) { // wrapped in a function to save the value of 'method' for advice (function() { var method = value, advice = (function(m) { var cs = function callSuper() { var method = ancestor[m]; if (!method) { throw new Error(Strings.format('Trying to call super of' + '%s>>%s but super method non existing in %s', className, m, ancestor.constructor.type)); } return method.apply(this, arguments); }; cs.varMapping = {ancestor: ancestor, m: m}; cs.isSuperCall = true; return cs; })(property); advice.methodName = \"$super:\" + (this.superclass ? this.superclass.type + \">>\" : \"\") + property; value = Object.extend(advice.wrap(method), { valueOf: function() { return method }, toString: function() { return method.toString() }, originalFunction: method, methodName: advice.methodName, isSuperWrapper: true }); // for lively.Closures method.varMapping = {$super: advice}; })(); } this.prototype[property] = value; if (property === \"formals\") { // rk FIXME remove this cruft // special property (used to be pins, but now called formals to disambiguate old and new style Class.addPins(this, value); } else if (Object.isFunction(value)) { // remember name for profiling in WebKit value.displayName = className + \"$\" + property; // remember where it was defined if (Global.lively && lively.lang && lively.lang.Namespace) value.sourceModule = lively.lang.Namespace.current(); for (; value; value = value.originalFunction) { if (value.methodName) { //console.log(\"class \" + this.prototype.constructor.type // + \" borrowed \" + value.qualifiedMethodName()); } value.declaredClass = this.prototype.constructor.type; value.methodName = property; } } } // end of for (var property in source) return this; }, addProperties: function(spec, recordType) { Class.addMixin(this, recordType.prototype.create(spec).prototype); }, isSubclassOf: function(aClass) { return this.superclasses().include(aClass); }, allSubclasses: function() { var klass = this; return Global.classes(true).select(function(ea) { return ea.isSubclassOf(klass) }); }, withAllSubclasses: function() { return [this].concat(this.allSubclasses()) }, directSubclasses: function() { var klass = this; return Global.classes(true).select(function(ea) { return ea.superclass === klass }); }, withAllSortedSubclassesDo: function(func) { // this method iterates func on all subclasses of klass (including klass) // it is ensured that the klasses are sorted by a) subclass relationship and b) name (not type!) // func gets as parameters: 1) the class 2) index in list 3) level of inheritance // compared to klass (1 for direct subclasses and so on) function createSortedSubclassList(klass, level) { var list = klass.directSubclasses() .sortBy(function(ea) { return ea.name.charCodeAt(0) }) .collect(function(subclass) { return createSortedSubclassList(subclass, level + 1) }) .flatten(); return [{klass: klass, level: level}].concat(list) } return createSortedSubclassList(this, 0).collect(function(spec, idx) { return func(spec.klass, idx, spec.level) }) }, superclasses: function() { if (!this.superclass) return []; if (this.superclass === Object) return [Object]; return this.superclass.superclasses().concat([this.superclass]); }, categoryNameFor: function(propName) { for (var categoryName in this.categories) { if (this.categories[categoryName].include(propName)) { return categoryName; } } return null; }, remove: function() { var ownerNamespace = Class.namespaceFor(this.type), ownName = Class.unqualifiedNameFor(this.type); delete ownerNamespace[ownName]; },});var Class = { anonymousCounter: 0, initializerTemplate: (function CLASS(){ Class.initializer.apply(this, arguments) }).toString(), newInitializer: function(name) { // this hack ensures that class instances have a name return eval(Class.initializerTemplate.replace(/CLASS/g, name) + \";\" + name); }, initializer: function initializer() { var firstArg = arguments[0]; // maybe special initialization required if (firstArg && firstArg.isImporter) { this.deserialize.apply(this, arguments); } else if (firstArg && firstArg.isCopier) { this.copyFrom.apply(this, arguments); } else if (firstArg && firstArg.isInstanceRestorer) { // just do nothing // for WebCards and other JSON-based dersialization logic } else { // if this.initialize is undefined then prolly the constructor was called without 'new' this.initialize.apply(this, arguments); } }, def: function Class$def(constr, superConstr, optProtos, optStatics) { // currently not used // Main method of the LK class system. // {className} is the name of the new class constructor which this method synthesizes // and binds to {className} in the Global namespace. // Remaining arguments are (inline) properties and methods to be copied into the prototype // of the newly created constructor. // modified from prototype.js var klass = Class.newInitializer(\"klass\"); klass.superclass = superConstr; var protoclass = function() { }; // that's the constructor of the new prototype object protoclass.prototype = superConstr.prototype; klass.prototype = new protoclass(); // Object.extend(klass.prototype, constr.prototype); klass.prototype.constructor = klass; var className = constr.name; // getName() klass.addMethods({initialize: constr}); // KP: .name would be better but js ignores .name on anonymous functions klass.type = className; if (optProtos) klass.addMethods(optProtos); if (optStatics) Object.extend(klass, optStatics); Global[className] = klass; return klass; }, isValidIdentifier: function(str) { return /^(?:[a-zA-Z_][\\w\\-]*[.])*[a-zA-Z_][\\w\\-]*$/.test(str); }, isClass: function Class$isClass(object) { if (object === Object || object === Array || object === Function || object === String || object === Number) { return true; } return (object instanceof Function) && (object.superclass !== undefined); }, className: function Class$className(cl) { if (cl === Object) return \"Object\" if (cl === Array) return \"Array\" if (cl === Function) return \"Function\" if (cl === String) return \"String\" if (cl === Number) return \"Number\" return cl.type; }, forName: function forName(name) { // lookup the class object given the qualified name var ns = Class.namespaceFor(name), shortName = Class.unqualifiedNameFor(name); return ns[shortName]; }, deleteObjectNamed: function Class$deleteObjectNamed(name) { var ns = Class.namespaceFor(name), shortName = Class.unqualifiedNameFor(name); delete ns[shortName]; }, unqualifiedNameFor: function Class$unqualifiedNameFor(name) { var lastDot = name.lastIndexOf('.'), // lastDot may be -1 unqualifiedName = name.substring(lastDot + 1); if (!Class.isValidIdentifier(unqualifiedName)) throw new Error('not a name ' + unqualifiedName); return unqualifiedName; }, namespaceFor: function Class$namespaceFor(className) { // get the namespace object given the qualified name var lastDot = className ? className.lastIndexOf('.') : -1; if (lastDot < 0) return Global; else return namespace(className.substring(0, lastDot)); }, withAllClassNames: function Class$withAllClassNames(scope, callback) { for (var name in scope) { try { if (Class.isClass(scope[name])) callback(name); } catch (er) { // FF exceptions } } callback(\"Object\"); callback(\"Global\"); }, makeEnum: function Class$makeEnum(strings) { // simple mechanism for making objecs with property values set to // property names, to be used as enums. var e = {}; for (var i = 0; i < strings.length; i++) { e[strings[i]] = strings[i]; } return e; }, getConstructor: function Class$getConstructor(object) { var c = object.constructor; return (c && c.getOriginal) ? c.getOriginal() : c; }, getPrototype: function Class$getPrototype(object) { return this.getConstructor(object).prototype; }, applyPrototypeMethod: function Class$applyPrototypeMethod(methodName, target, args) { var method = this.getPrototype(target); if (!method) throw new Error(\"method \" + methodName + \" not found\"); return method.apply(this, args); }, getSuperConstructor: function Class$getSuperConstructor(object) { return this.getConstructor(object).superclass; }, getSuperPrototype: function Class$getSuperPrototype(object) { var sup = this.getSuperConstructor(object); return sup && sup.prototype; }, addPins: function Class$addPins(cls, spec) { if (Global.Relay) { Class.addMixin(cls, Relay.newDelegationMixin(spec).prototype); return; } // this is for refactoring away from Relay and friends if (!Object.isArray(spec)) throw new Error('Cannot deal with non-Array spec in addPins'); function unstripName(name) { return name.replace(/[\\+|\\-]?(.*)/, '$1') }; function needsSetter(name) { return !name.startsWith('-') }; function needsGetter(name) { return !name.startsWith('+') }; var mixinSpec = {}; spec.forEach(function(specString) { var name = unstripName(specString); if (needsSetter(specString)) mixinSpec['set' + name] = function(value) { return this['_' + name] = value } if (needsGetter(specString)) mixinSpec['get' + name] = function() { return this['_' + name] } }) Class.addMixin(cls, mixinSpec); }, addMixin: function Class$addMixin(cls, source) { var spec = {}; for (var prop in source) { var value = source[prop]; switch (prop) { case \"constructor\": case \"initialize\": case \"deserialize\": case \"copyFrom\": case \"toString\": case \"definition\": case \"description\": break; default: if (cls.prototype[prop] === undefined) // do not override existing values! spec[prop] = value; } } cls.addMethods(spec); },};Object.subclass('Namespace','initializing', { initialize: function(context, nsName) { this.namespaceIdentifier = context.namespaceIdentifier + '.' + nsName; this.createTime = new Date(); },},'accessing', { gather: function(selector, condition, recursive) { var result = Object.values(this).select(function(ea) { return condition.call(this, ea) }, this); if (!recursive) return result; return this.subNamespaces().inject(result, function(result, ns) { return result.concat(ns[selector](true)) }); }, subNamespaces: function(recursive) { return this.gather( 'subNamespaces', function(ea) { return (ea instanceof lively.lang.Namespace || ea === Global) && ea !== this }, recursive); }, classes: function(recursive) { var normalClasses = this.gather( 'classes', function(ea) { return ea && ea !== this.constructor && Class.isClass(ea) }, recursive); if (this === Global) return [Array, Number, String, Function].concat(normalClasses); return normalClasses; }, functions: function(recursive) { return this.gather( 'functions', function(ea) { return ea && !Class.isClass(ea) && Object.isFunction(ea) && !ea.declaredClass && this.requires !== ea && ea.getOriginal() === ea }, recursive); },});// let Glabal act like a namespace itselfObject.extend(Global, Namespace.prototype);Object.extend(Global, { namespaceIdentifier: 'Global', isLoaded: Functions.True,});Namespace.addMethods('properties', { isLivelyModule: true,},'initializing', { beAnonymous: function() { this._isAnonymous = true; this.sourceModuleName = lively.lang.Namespace.current().namespaceIdentifier; return this; },},'accessing', { // module specific, should be a subclass? name: function() { var identifier = this.namespaceIdentifier, globalIdStart = 'Global.'; if (identifier.startsWith(globalIdStart)) { identifier = identifier.substring(globalIdStart.length); } return identifier; }, findUri: function(optFileType) { var fileType = optFileType || 'js', fileExtension = '.' + fileType, namespacePrefix; if (this.namespaceIdentifier.startsWith('Global.')) { namespacePrefix = 'Global.'; } else { throw dbgOn(new Error('unknown namespaceIdentifier')); } var relativePath = this.namespaceIdentifier .substr(namespacePrefix.length) .replace(/\\./g, '/'); if (!relativePath.match(/\\.js$/)) { relativePath += fileExtension; } var uri = ''; lively.Config.modulePaths.forEach(function(ea) { if (relativePath.substring(0, ea.length) == ea) { uri = lively.Config.rootPath + relativePath; } }); if (uri == '') { uri = lively.Config.codeBase + relativePath; } return uri; }, uri: function(optType) { // FIXME cleanup necessary if (this.__cachedUri && !optType) { return this.__cachedUri; } var url; if (this.fromDB) { var id = this.namespaceIdentifier; // something like lively.Core var namespacePrefix; if (id.startsWith('Global.')) { namespacePrefix = 'Global.'; id = id.substring(7); } else throw dbgOn(new Error('unknown namespaceIdentifier')); // FIXME: extract to lively.Config.codeBaseDB url = lively.Config.couchDBURL + '/' + this.fromDB + '/_design/raw_data/_list/javascript/for-module?module=' + id; this.__cachedUri = url; return url; } else { var id = this.namespaceIdentifier; // something like lively.Core var namespacePrefix; if (!this.isAnonymous()) { url = this.findUri(optType); } else { if (id.startsWith('Global.')) namespacePrefix = 'Global.'; else throw dbgOn(new Error('unknown namespaceIdentifier')); url = lively.Config.codeBase + this.namespaceIdentifier.substr(namespacePrefix.length).replace(/\\./g, '/'); } this.__cachedUri = url; return url; } }, relativePath: function(optType) { return new URL(this.uri(optType)).relativePathFrom(URL.codeBase); }, lastPart: function() { return this.name().match(/[^.]+$/)[0]; }},'module dependencies', { addDependendModule: function(depModule) { if (!this.dependendModules) this.dependendModules = []; this.dependendModules.push(depModule); // keep a copy of the dependencies for debugging if (!this.debugDependendModules) this.debugDependendModules = []; this.debugDependendModules.push(depModule); }, informDependendModules: function() { if (!this.dependendModules) return; var deps = this.dependendModules.uniq(); this.dependendModules = []; deps.forEach(function(ea) { ea.removeRequiredModule(this) }, this); }, traceDependendModules: function(visited) { visited = visited || []; var deps = this.debugDependendModules || []; deps = deps.withoutAll(visited) visited.push(this); return [this.namespaceIdentifier, deps.collect(function(ea) { return ea.traceDependendModules(visited) })] }, addRequiredModule: function(requiredModule) { // privateRequirements is just for keeping track later on if (!this.privateRequirements) this.privateRequirements = []; this.privateRequirements.push(requiredModule); if (requiredModule.isLoaded()) return; if (!this.pendingRequirements) this.pendingRequirements = []; this.pendingRequirements.push(requiredModule); requiredModule.addDependendModule(this); }, removeRequiredModule: function(requiredModule) { if (this.pendingRequirements && !this.pendingRequirements.include(requiredModule)) throw dbgOn(new Error('requiredModule not there')); this.pendingRequirements = this.pendingRequirements.without(requiredModule); if (!this.hasPendingRequirements()) { this.load(); } }, pendingRequirementNames: function() { if (!this.pendingRequirements) return []; return this.pendingRequirements.collect(function(ea) { return ea.uri() }); }, hasPendingRequirements: function() { return this.pendingRequirements && this.pendingRequirements.length > 0; }, loadRequirementsFirst: function() { this.pendingRequirements && this.pendingRequirements.invoke('load'); }, wasRequiredBy: function() { return Global.subNamespaces(true).select(function(m) { return m.privateRequirements && m.privateRequirements.include(this); }, this); },},'load callbacks', { addOnloadCallback: function(cb) { if (!this.callbacks) this.callbacks = []; this.callbacks.push(cb); }, runOnloadCallbacks: function() { if (!this.callbacks) return; var cb; while (cb = this.callbacks.shift()) { try {cb()} catch(e) { this.logError('runOnloadCallbacks: ' + cb.name + ': ' + e); throw e } }; }, isAnonymous: function() { return this._isAnonymous },},'testing', { isLoaded: function() { return this._isLoaded; }, isLoading: function() { if (this.isLoaded()) return false; if (this.uri().include('anonymous')) return true; return JSLoader.scriptInDOM(this.uri()); }, isAnonymous: function() { return this._isAnonymous },},'loading', { load: function(loadSync) { if (loadSync) { var prevWasSync = this.constructor.loadSync; this.constructor.loadSync = true; } if (this.isLoaded()) { this.runOnloadCallbacks(); return; } if (this.isLoading() && this.wasDefined && !this.hasPendingRequirements()) { this.runOnloadCallbacks(); // time is not only the time needed for the request and code evaluation // but the complete time span from the creation of the module (when the module is first encountered) // to evaluation the evaluation of its code, including load time of all requirements var time = this.createTime ? new Date() - this.createTime : 'na'; console.log(this.uri() + ' loaded in ' + time + ' ms'); this.informDependendModules(); return; } if (this.isLoading()) { this.loadRequirementsFirst(); return; } JSLoader.loadJs(this.uri(), null, this.constructor.loadSync); if (loadSync) this.constructor.loadSync = prevWasSync; }, activate: function() { this.constructor.namespaceStack.push(this); }, deactivate: function() { var m = this.constructor.namespaceStack.pop(); if (m !== this) throw new Error('Wrong module: ' + this.namespaceIdentifier + ' instead of expected ' + m.namespaceIdentifier ) },},'removing', { remove: function() { var ownerNamespace = Class.namespaceFor(this.namespaceIdentifier), ownName = Class.unqualifiedNameFor(this.namespaceIdentifier) JSLoader.removeAllScriptsThatLinkTo(this.uri()); delete ownerNamespace[ownName]; }, removeScriptNode: function() { var node = document.getElementById(this.uri()); if (!node) return node.parentNode.removeChild(node); },},'debugging', { toString: function() { return 'module(' + this.namespaceIdentifier + ')' }, inspect: function() { this.toString() + ' defined at ' + this.defStack }, logError: function(e, optCode) { var list = this.traceDependendModules(); var msg = 'Error while loading ' + this.moduleName + ': ' + e; msg += '\\ndependencies: ' + Strings.printNested(list) if (Global.lively && lively.morphic && lively.morphic.World && lively.morphic.World.current() && lively.morphic.World.current().logError) lively.morphic.World.current().logError(e) if (e.stack) msg = msg + e.stack; if (optCode) msg += \"code:\\n\" + optCode; console.error(msg); dbgOn(true); },});Object.extend(Namespace, { namespaceStack: [Global], current: function() { return this.namespaceStack.last() }, topologicalSortLoadedModules: function() { if (lively.Config.standAlone) { var scripIds = []; $('body script').each(function() { scripIds.push($(this).attr('id')) }); return scripIds.collect(function(id) { var name = id.replace(/^..\\//, ''); return module(name); }); } // get currently loaded modules that really are js files var modules = Global.subNamespaces(true) .reject(function(ea) { return ea.isAnonymous(); }) .select(function(ea) { return ea.isLoaded() && new WebResource(ea.uri()).exists() }); // topological sort modules according to their requirements var sortedModules = [], i = 0; while (i < 1000 && modules.length > 0) { i++; var canBeLoaded = modules.select(function(module) { if (!module.privateRequirements) return true; return module.privateRequirements.all(function(requirement) { return sortedModules.include(requirement) }) }) sortedModules = sortedModules.concat(canBeLoaded); modules = modules.withoutAll(canBeLoaded); } if (modules.length > 0) throw new Error('Cannot find dependencies for all modules!'); return sortedModules; }, bootstrapModules: function() { // return a string to include in bootstrap.js var urls = this.topologicalSortLoadedModules() .collect(function(ea) { return new URL(ea.uri()).relativePathFrom(URL.codeBase) }) // omit modules outside of core .reject(function(path) { return path.startsWith('..') }); var manual = [LivelyLoader.libsFile, 'lively/Migration.js', 'lively/JSON.js', 'lively/lang/Object.js', 'lively/lang/Function.js', 'lively/lang/String.js', 'lively/lang/Array.js', 'lively/lang/Number.js', 'lively/lang/Date.js', 'lively/defaultconfig.js', 'lively/localconfig.js', 'lively/Base.js', 'lively/lang/Closure.js', // FIXME: require module instead 'lively/lang/UUID.js', // FIXME: require module instead 'lively/LocalStorage.js']; urls = manual.concat(urls); return urls; }, bootstrapModulesString: function() { var urls = this.bootstrapModules(); return '[\\'' + urls.join('\\', \\'') + '\\']'; }});(function createLivelyNamespace(Global) { // namespace('lively.lang'); var preExistingLively = Global.lively; delete Global.lively; var lively = new Global.Namespace(Global, 'lively'); // FIXME this is just a hack to get properties of a potentially // predefined \"lively\" object over to the namespace lively object // namespaces should deal with this in general if (preExistingLively) { for (var name in preExistingLively) { lively[name] = preExistingLively[name]; } } Global.lively = lively;})(Global);(function moveNamespaceClassToLivelyLang(Global) { var lively = Global.lively, Namespace = Global.Namespace; lively.lang = new Namespace(lively, 'lang'); lively.lang.Namespace = Namespace; // alias lively.Module = lively.lang.Namespace; delete Global.Namespace;})(Global);(function addUsefulStuffToLivelyNS(Global, lively) { lively.assert = Global.assert;})(Global, lively);Object.extend(lively.Module, { findAllInThenDo: function(url, callback) { var dir = new URL(url).getDirectory(); if (url.isLeaf()) { throw new Error(url + ' is not a directory!'); } var webR = dir.asWebResource(); lively.bindings.connect(webR, 'subDocuments', {onLoad: function(files) { var moduleNames = files.invoke('getURL') .invoke('asModuleName'), modules = moduleNames.collect(function(name) { return module(name); }) callback(modules); }}, 'onLoad'); webR.getSubElements(); }});(function setupLivelyLang(lively) { lively.lang.Execution = { showStack: Functions.Null, resetDebuggingStack: Functions.Null, installStackTracers: Functions.Null }; lively.lang.let = function(/** **/) { // lively.lang.let(y, function(x) { body }) is equivalent to { let y = x; body; } return arguments[arguments.length - 1].apply(this, arguments); }})(lively);/* * Stack Viewer when Dan's StackTracer is not available * FIXME rk: move this to Helper.js? */function getStack() { var result = []; for(var caller = arguments.callee.caller; caller; caller = caller.caller) { if (result.indexOf(caller) != -1) { result.push({name: \"recursive call can't be traced\"}); break; } result.push(caller); }; return result;};function printStack() { function guessFunctionName(func) { var qName = func.qualifiedMethodName && func.qualifiedMethodName(), regExpRes = func.toString().match(/function (.+)\\(/); return qName || (regExpRes && regExpRes[1]) || func; }; var string = \"== Stack ==\\n\", stack = getStack(); stack.shift(); // for getStack stack.shift(); // for printStack (me) var indent = \"\"; for (var i=0; i < stack.length; i++) { string += indent + i + \": \" +guessFunctionName(stack[i]) + \"\\n\"; indent += \" \"; }; return string;};function logStack() { this.console.log(printStack());};(function setupjQuery(Global) { var lively = Global.lively, jQuery = Global.jQuery; // we still are adding jQuery to Global but this is DEPRECATED // We need to be able to run with libraries requiring different jQuery versions // so we will restrict \"our\" to lively.$ in the future Global.$ = lively.$ = jQuery.noConflict(/*true -- really removes $*/);})(Global);","inspector":{"__isSmartRef__":true,"id":3842},"parent":{"__isSmartRef__":true,"id":3707},"name":"charsReplaced","description":"/* * Copyright (c) 2006-2009 Sun Mic...","attributeConnections":[{"__isSmartRef__":true,"id":4118}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4159}},"4118":{"sourceObj":{"__isSmartRef__":true,"id":4117},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":4119},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":4158},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4119":{"item":{"__isSmartRef__":true,"id":4117},"parent":{"__isSmartRef__":true,"id":3857},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":4120}],"scripts":[],"shape":{"__isSmartRef__":true,"id":4153},"eventHandler":{"__isSmartRef__":true,"id":4154},"_ClipMode":"visible","derivationIds":[],"id":"3157D4A1-04C7-4574-AC0F-6045EBB2A45F","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"layout":{"__isSmartRef__":true,"id":4155},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":4121},"label":{"__isSmartRef__":true,"id":4134},"node":{"__isSmartRef__":true,"id":4120},"owner":{"__isSmartRef__":true,"id":3857},"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,100.0)"},"4120":{"submorphs":[{"__isSmartRef__":true,"id":4121},{"__isSmartRef__":true,"id":4134}],"scripts":[],"shape":{"__isSmartRef__":true,"id":4149},"eventHandler":{"__isSmartRef__":true,"id":4150},"_ClipMode":"visible","derivationIds":[],"id":"1B9F7999-A92E-4C9A-88FE-943150A45720","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":4151},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":4119},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"4121":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":4122},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":4123}],"eventHandler":{"__isSmartRef__":true,"id":4125},"_ClipMode":"visible","derivationIds":[],"id":"A16E86A6-F0D8-40E8-8FA3-FCADF316BD19","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":4120},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4126},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"4122":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"4123":{"style":{"__isSmartRef__":true,"id":4124},"chunkOwner":{"__isSmartRef__":true,"id":4121},"_id":"_6968","storedString":"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4124":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4125":{"morph":{"__isSmartRef__":true,"id":4121},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4126":{"onMouseDown":{"__isSmartRef__":true,"id":4127}},"4127":{"varMapping":{"__isSmartRef__":true,"id":4128},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":4133},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4128":{"this":{"__isSmartRef__":true,"id":4121},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4129}},"4129":{"$super":{"__isSmartRef__":true,"id":4130}},"4130":{"varMapping":{"__isSmartRef__":true,"id":4131},"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":4132},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4131":{"obj":{"__isSmartRef__":true,"id":4121},"name":"onMouseDown"},"4132":{},"4133":{},"4134":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":4135},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":4136},{"__isSmartRef__":true,"id":4138}],"eventHandler":{"__isSmartRef__":true,"id":4140},"_ClipMode":"visible","derivationIds":[],"id":"0E54CF7F-92E2-419C-A34E-5582BB5F0472","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":4120},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4141},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"4135":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(316.0,17.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"4136":{"style":{"__isSmartRef__":true,"id":4137},"chunkOwner":{"__isSmartRef__":true,"id":4134},"_id":"_22240","storedString":"charsReplaced","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4137":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4138":{"style":{"__isSmartRef__":true,"id":4139},"chunkOwner":{"__isSmartRef__":true,"id":4134},"_id":"_22241","storedString":" /* * Copyright (c) 2006-2009 Sun Mic...","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4139":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"4140":{"morph":{"__isSmartRef__":true,"id":4134},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4141":{"onMouseDown":{"__isSmartRef__":true,"id":4142}},"4142":{"varMapping":{"__isSmartRef__":true,"id":4143},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":4148},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4143":{"this":{"__isSmartRef__":true,"id":4134},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4144}},"4144":{"$super":{"__isSmartRef__":true,"id":4145}},"4145":{"varMapping":{"__isSmartRef__":true,"id":4146},"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":4147},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4146":{"obj":{"__isSmartRef__":true,"id":4134},"name":"onMouseDown"},"4147":{},"4148":{},"4149":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"4150":{"morph":{"__isSmartRef__":true,"id":4120},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4151":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":4152}},"4152":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":4120},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"4153":{"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"_BorderWidth":0,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"4154":{"morph":{"__isSmartRef__":true,"id":4119},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4155":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":4156}},"4156":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":4157},"spacing":0,"container":{"__isSmartRef__":true,"id":4119},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"4157":{"top":0,"right":0,"bottom":0,"left":0},"4158":{"source":{"__isSmartRef__":true,"id":4117},"target":{"__isSmartRef__":true,"id":4119}},"4159":{"onSelect":{"__isSmartRef__":true,"id":4160},"onUpdate":{"__isSmartRef__":true,"id":4163}},"4160":{"varMapping":{"__isSmartRef__":true,"id":4161},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":4162},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4161":{"this":{"__isSmartRef__":true,"id":4117}},"4162":{},"4163":{"varMapping":{"__isSmartRef__":true,"id":4164},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":4165},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4164":{"this":{"__isSmartRef__":true,"id":4117}},"4165":{},"4166":{"data":"","inspector":{"__isSmartRef__":true,"id":3842},"parent":{"__isSmartRef__":true,"id":3707},"name":"charsTyped","description":"","attributeConnections":[{"__isSmartRef__":true,"id":4167}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4206}},"4167":{"sourceObj":{"__isSmartRef__":true,"id":4166},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":4168},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":4205},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4168":{"item":{"__isSmartRef__":true,"id":4166},"parent":{"__isSmartRef__":true,"id":3857},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":4169}],"scripts":[],"shape":{"__isSmartRef__":true,"id":4200},"eventHandler":{"__isSmartRef__":true,"id":4201},"_ClipMode":"visible","derivationIds":[],"id":"0BB0AE69-8A03-40A2-9B7A-B8082908FCB9","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"layout":{"__isSmartRef__":true,"id":4202},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":4170},"label":{"__isSmartRef__":true,"id":4183},"node":{"__isSmartRef__":true,"id":4169},"owner":{"__isSmartRef__":true,"id":3857},"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,120.0)"},"4169":{"submorphs":[{"__isSmartRef__":true,"id":4170},{"__isSmartRef__":true,"id":4183}],"scripts":[],"shape":{"__isSmartRef__":true,"id":4196},"eventHandler":{"__isSmartRef__":true,"id":4197},"_ClipMode":"visible","derivationIds":[],"id":"77107C9A-2756-4BFA-A431-9C71620E420B","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":4198},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":4168},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"4170":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":4171},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":4172}],"eventHandler":{"__isSmartRef__":true,"id":4174},"_ClipMode":"visible","derivationIds":[],"id":"75D286FC-0C4E-4412-84B3-29934C515903","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":4169},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4175},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"4171":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"4172":{"style":{"__isSmartRef__":true,"id":4173},"chunkOwner":{"__isSmartRef__":true,"id":4170},"_id":"_6973","storedString":"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4173":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4174":{"morph":{"__isSmartRef__":true,"id":4170},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4175":{"onMouseDown":{"__isSmartRef__":true,"id":4176}},"4176":{"varMapping":{"__isSmartRef__":true,"id":4177},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":4182},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4177":{"this":{"__isSmartRef__":true,"id":4170},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4178}},"4178":{"$super":{"__isSmartRef__":true,"id":4179}},"4179":{"varMapping":{"__isSmartRef__":true,"id":4180},"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":4181},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4180":{"obj":{"__isSmartRef__":true,"id":4170},"name":"onMouseDown"},"4181":{},"4182":{},"4183":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":4184},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":4185}],"eventHandler":{"__isSmartRef__":true,"id":4187},"_ClipMode":"visible","derivationIds":[],"id":"6682A0A3-64A5-4FAD-BC7C-69B0B401A396","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":4169},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4188},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"4184":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(68.0,17.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"4185":{"style":{"__isSmartRef__":true,"id":4186},"chunkOwner":{"__isSmartRef__":true,"id":4183},"_id":"_11524","storedString":"charsTyped","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4186":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4187":{"morph":{"__isSmartRef__":true,"id":4183},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4188":{"onMouseDown":{"__isSmartRef__":true,"id":4189}},"4189":{"varMapping":{"__isSmartRef__":true,"id":4190},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":4195},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4190":{"this":{"__isSmartRef__":true,"id":4183},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4191}},"4191":{"$super":{"__isSmartRef__":true,"id":4192}},"4192":{"varMapping":{"__isSmartRef__":true,"id":4193},"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":4194},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4193":{"obj":{"__isSmartRef__":true,"id":4183},"name":"onMouseDown"},"4194":{},"4195":{},"4196":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"4197":{"morph":{"__isSmartRef__":true,"id":4169},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4198":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":4199}},"4199":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":4169},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"4200":{"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"_BorderWidth":0,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"4201":{"morph":{"__isSmartRef__":true,"id":4168},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4202":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":4203}},"4203":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":4204},"spacing":0,"container":{"__isSmartRef__":true,"id":4168},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"4204":{"top":0,"right":0,"bottom":0,"left":0},"4205":{"source":{"__isSmartRef__":true,"id":4166},"target":{"__isSmartRef__":true,"id":4168}},"4206":{"onSelect":{"__isSmartRef__":true,"id":4207},"onUpdate":{"__isSmartRef__":true,"id":4210}},"4207":{"varMapping":{"__isSmartRef__":true,"id":4208},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":4209},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4208":{"this":{"__isSmartRef__":true,"id":4166}},"4209":{},"4210":{"varMapping":{"__isSmartRef__":true,"id":4211},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":4212},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4211":{"this":{"__isSmartRef__":true,"id":4166}},"4212":{},"4213":{"data":[],"inspector":{"__isSmartRef__":true,"id":3842},"parent":{"__isSmartRef__":true,"id":3707},"name":"derivationIds","description":"[]","children":[],"attributeConnections":[{"__isSmartRef__":true,"id":4214}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4255}},"4214":{"sourceObj":{"__isSmartRef__":true,"id":4213},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":4215},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":4254},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4215":{"item":{"__isSmartRef__":true,"id":4213},"parent":{"__isSmartRef__":true,"id":3857},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":4216}],"scripts":[],"shape":{"__isSmartRef__":true,"id":4249},"eventHandler":{"__isSmartRef__":true,"id":4250},"_ClipMode":"visible","derivationIds":[],"id":"6BB6A6B0-819D-48B9-B5C1-E71FA262B5AB","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"layout":{"__isSmartRef__":true,"id":4251},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":4217},"label":{"__isSmartRef__":true,"id":4230},"node":{"__isSmartRef__":true,"id":4216},"owner":{"__isSmartRef__":true,"id":3857},"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,140.0)"},"4216":{"submorphs":[{"__isSmartRef__":true,"id":4217},{"__isSmartRef__":true,"id":4230}],"scripts":[],"shape":{"__isSmartRef__":true,"id":4245},"eventHandler":{"__isSmartRef__":true,"id":4246},"_ClipMode":"visible","derivationIds":[],"id":"5F46FE0C-8B68-4044-97B2-1FDD0BE8ADA4","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":4247},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":4215},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"4217":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":4218},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":4219}],"eventHandler":{"__isSmartRef__":true,"id":4221},"_ClipMode":"visible","derivationIds":[],"id":"39424600-8A19-4F8C-9F5B-A303E9E752C4","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":4216},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4222},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"4218":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"4219":{"style":{"__isSmartRef__":true,"id":4220},"chunkOwner":{"__isSmartRef__":true,"id":4217},"_id":"_6978","storedString":"►","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4220":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4221":{"morph":{"__isSmartRef__":true,"id":4217},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4222":{"onMouseDown":{"__isSmartRef__":true,"id":4223}},"4223":{"varMapping":{"__isSmartRef__":true,"id":4224},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":4229},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4224":{"this":{"__isSmartRef__":true,"id":4217},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4225}},"4225":{"$super":{"__isSmartRef__":true,"id":4226}},"4226":{"varMapping":{"__isSmartRef__":true,"id":4227},"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":4228},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4227":{"obj":{"__isSmartRef__":true,"id":4217},"name":"onMouseDown"},"4228":{},"4229":{},"4230":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":4231},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":4232},{"__isSmartRef__":true,"id":4234}],"eventHandler":{"__isSmartRef__":true,"id":4236},"_ClipMode":"visible","derivationIds":[],"id":"F92D664F-2600-45F4-8BE8-AF1DD45D25BC","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":4216},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4237},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"4231":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(86.0,17.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"4232":{"style":{"__isSmartRef__":true,"id":4233},"chunkOwner":{"__isSmartRef__":true,"id":4230},"_id":"_22242","storedString":"derivationIds","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4233":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4234":{"style":{"__isSmartRef__":true,"id":4235},"chunkOwner":{"__isSmartRef__":true,"id":4230},"_id":"_22243","storedString":" []","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4235":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"4236":{"morph":{"__isSmartRef__":true,"id":4230},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4237":{"onMouseDown":{"__isSmartRef__":true,"id":4238}},"4238":{"varMapping":{"__isSmartRef__":true,"id":4239},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":4244},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4239":{"this":{"__isSmartRef__":true,"id":4230},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4240}},"4240":{"$super":{"__isSmartRef__":true,"id":4241}},"4241":{"varMapping":{"__isSmartRef__":true,"id":4242},"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":4243},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4242":{"obj":{"__isSmartRef__":true,"id":4230},"name":"onMouseDown"},"4243":{},"4244":{},"4245":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"4246":{"morph":{"__isSmartRef__":true,"id":4216},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4247":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":4248}},"4248":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":4216},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"4249":{"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"_BorderWidth":0,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"4250":{"morph":{"__isSmartRef__":true,"id":4215},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4251":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":4252}},"4252":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":4253},"spacing":0,"container":{"__isSmartRef__":true,"id":4215},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"4253":{"top":0,"right":0,"bottom":0,"left":0},"4254":{"source":{"__isSmartRef__":true,"id":4213},"target":{"__isSmartRef__":true,"id":4215}},"4255":{"onSelect":{"__isSmartRef__":true,"id":4256},"onExpand":{"__isSmartRef__":true,"id":4259},"onUpdateChildren":{"__isSmartRef__":true,"id":4262},"onUpdate":{"__isSmartRef__":true,"id":4265}},"4256":{"varMapping":{"__isSmartRef__":true,"id":4257},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":4258},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4257":{"this":{"__isSmartRef__":true,"id":4213}},"4258":{},"4259":{"varMapping":{"__isSmartRef__":true,"id":4260},"source":"function onExpand() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":4261},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4260":{"this":{"__isSmartRef__":true,"id":4213}},"4261":{},"4262":{"varMapping":{"__isSmartRef__":true,"id":4263},"source":"function onUpdateChildren() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":4264},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4263":{"this":{"__isSmartRef__":true,"id":4213}},"4264":{},"4265":{"varMapping":{"__isSmartRef__":true,"id":4266},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":4267},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4266":{"this":{"__isSmartRef__":true,"id":4213}},"4267":{},"4268":{"data":["$$textString"],"inspector":{"__isSmartRef__":true,"id":3842},"parent":{"__isSmartRef__":true,"id":3707},"name":"doNotCopyProperties","description":"[...]","children":[],"attributeConnections":[{"__isSmartRef__":true,"id":4269}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4310}},"4269":{"sourceObj":{"__isSmartRef__":true,"id":4268},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":4270},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":4309},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4270":{"item":{"__isSmartRef__":true,"id":4268},"parent":{"__isSmartRef__":true,"id":3857},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":4271}],"scripts":[],"shape":{"__isSmartRef__":true,"id":4304},"eventHandler":{"__isSmartRef__":true,"id":4305},"_ClipMode":"visible","derivationIds":[],"id":"AE73E1EF-2899-4DB0-A221-FFC319DA7F3A","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"layout":{"__isSmartRef__":true,"id":4306},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":4272},"label":{"__isSmartRef__":true,"id":4285},"node":{"__isSmartRef__":true,"id":4271},"owner":{"__isSmartRef__":true,"id":3857},"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,160.0)"},"4271":{"submorphs":[{"__isSmartRef__":true,"id":4272},{"__isSmartRef__":true,"id":4285}],"scripts":[],"shape":{"__isSmartRef__":true,"id":4300},"eventHandler":{"__isSmartRef__":true,"id":4301},"_ClipMode":"visible","derivationIds":[],"id":"9FAEEC78-5AD6-4228-9E9E-2FF5C5AD5020","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":4302},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":4270},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"4272":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":4273},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":4274}],"eventHandler":{"__isSmartRef__":true,"id":4276},"_ClipMode":"visible","derivationIds":[],"id":"02EA61F8-15D2-4794-B97E-DC7CF6D27DCA","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":4271},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4277},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"4273":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"4274":{"style":{"__isSmartRef__":true,"id":4275},"chunkOwner":{"__isSmartRef__":true,"id":4272},"_id":"_6983","storedString":"►","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4275":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4276":{"morph":{"__isSmartRef__":true,"id":4272},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4277":{"onMouseDown":{"__isSmartRef__":true,"id":4278}},"4278":{"varMapping":{"__isSmartRef__":true,"id":4279},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":4284},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4279":{"this":{"__isSmartRef__":true,"id":4272},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4280}},"4280":{"$super":{"__isSmartRef__":true,"id":4281}},"4281":{"varMapping":{"__isSmartRef__":true,"id":4282},"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":4283},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4282":{"obj":{"__isSmartRef__":true,"id":4272},"name":"onMouseDown"},"4283":{},"4284":{},"4285":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":4286},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":4287},{"__isSmartRef__":true,"id":4289}],"eventHandler":{"__isSmartRef__":true,"id":4291},"_ClipMode":"visible","derivationIds":[],"id":"E4C8EEB2-EA77-42AA-B67D-E9BFADF14F58","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":4271},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4292},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"4286":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(149.0,17.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"4287":{"style":{"__isSmartRef__":true,"id":4288},"chunkOwner":{"__isSmartRef__":true,"id":4285},"_id":"_22244","storedString":"doNotCopyProperties","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4288":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4289":{"style":{"__isSmartRef__":true,"id":4290},"chunkOwner":{"__isSmartRef__":true,"id":4285},"_id":"_22245","storedString":" [...]","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4290":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"4291":{"morph":{"__isSmartRef__":true,"id":4285},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4292":{"onMouseDown":{"__isSmartRef__":true,"id":4293}},"4293":{"varMapping":{"__isSmartRef__":true,"id":4294},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":4299},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4294":{"this":{"__isSmartRef__":true,"id":4285},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4295}},"4295":{"$super":{"__isSmartRef__":true,"id":4296}},"4296":{"varMapping":{"__isSmartRef__":true,"id":4297},"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":4298},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4297":{"obj":{"__isSmartRef__":true,"id":4285},"name":"onMouseDown"},"4298":{},"4299":{},"4300":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"4301":{"morph":{"__isSmartRef__":true,"id":4271},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4302":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":4303}},"4303":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":4271},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"4304":{"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"_BorderWidth":0,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"4305":{"morph":{"__isSmartRef__":true,"id":4270},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4306":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":4307}},"4307":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":4308},"spacing":0,"container":{"__isSmartRef__":true,"id":4270},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"4308":{"top":0,"right":0,"bottom":0,"left":0},"4309":{"source":{"__isSmartRef__":true,"id":4268},"target":{"__isSmartRef__":true,"id":4270}},"4310":{"onSelect":{"__isSmartRef__":true,"id":4311},"onExpand":{"__isSmartRef__":true,"id":4314},"onUpdateChildren":{"__isSmartRef__":true,"id":4317},"onUpdate":{"__isSmartRef__":true,"id":4320}},"4311":{"varMapping":{"__isSmartRef__":true,"id":4312},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":4313},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4312":{"this":{"__isSmartRef__":true,"id":4268}},"4313":{},"4314":{"varMapping":{"__isSmartRef__":true,"id":4315},"source":"function onExpand() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":4316},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4315":{"this":{"__isSmartRef__":true,"id":4268}},"4316":{},"4317":{"varMapping":{"__isSmartRef__":true,"id":4318},"source":"function onUpdateChildren() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":4319},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4318":{"this":{"__isSmartRef__":true,"id":4268}},"4319":{},"4320":{"varMapping":{"__isSmartRef__":true,"id":4321},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":4322},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4321":{"this":{"__isSmartRef__":true,"id":4268}},"4322":{},"4323":{"data":["$$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"],"inspector":{"__isSmartRef__":true,"id":3842},"parent":{"__isSmartRef__":true,"id":3707},"name":"doNotSerialize","description":"[...]","children":[],"attributeConnections":[{"__isSmartRef__":true,"id":4324}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4365}},"4324":{"sourceObj":{"__isSmartRef__":true,"id":4323},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":4325},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":4364},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4325":{"item":{"__isSmartRef__":true,"id":4323},"parent":{"__isSmartRef__":true,"id":3857},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":4326}],"scripts":[],"shape":{"__isSmartRef__":true,"id":4359},"eventHandler":{"__isSmartRef__":true,"id":4360},"_ClipMode":"visible","derivationIds":[],"id":"F3954F68-865C-48AE-96C7-0E065911C964","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"layout":{"__isSmartRef__":true,"id":4361},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":4327},"label":{"__isSmartRef__":true,"id":4340},"node":{"__isSmartRef__":true,"id":4326},"owner":{"__isSmartRef__":true,"id":3857},"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,180.0)"},"4326":{"submorphs":[{"__isSmartRef__":true,"id":4327},{"__isSmartRef__":true,"id":4340}],"scripts":[],"shape":{"__isSmartRef__":true,"id":4355},"eventHandler":{"__isSmartRef__":true,"id":4356},"_ClipMode":"visible","derivationIds":[],"id":"0240041F-6AAF-4EF7-8DB6-0346A5B56395","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":4357},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":4325},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"4327":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":4328},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":4329}],"eventHandler":{"__isSmartRef__":true,"id":4331},"_ClipMode":"visible","derivationIds":[],"id":"6D321D38-79F4-4A93-B98D-B761EB8C19B5","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":4326},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4332},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"4328":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"4329":{"style":{"__isSmartRef__":true,"id":4330},"chunkOwner":{"__isSmartRef__":true,"id":4327},"_id":"_6988","storedString":"►","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4330":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4331":{"morph":{"__isSmartRef__":true,"id":4327},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4332":{"onMouseDown":{"__isSmartRef__":true,"id":4333}},"4333":{"varMapping":{"__isSmartRef__":true,"id":4334},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":4339},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4334":{"this":{"__isSmartRef__":true,"id":4327},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4335}},"4335":{"$super":{"__isSmartRef__":true,"id":4336}},"4336":{"varMapping":{"__isSmartRef__":true,"id":4337},"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":4338},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4337":{"obj":{"__isSmartRef__":true,"id":4327},"name":"onMouseDown"},"4338":{},"4339":{},"4340":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":4341},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":4342},{"__isSmartRef__":true,"id":4344}],"eventHandler":{"__isSmartRef__":true,"id":4346},"_ClipMode":"visible","derivationIds":[],"id":"5A2A2C1B-9E24-4E8D-8FF6-BED03739FA34","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":4326},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4347},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"4341":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(109.0,17.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"4342":{"style":{"__isSmartRef__":true,"id":4343},"chunkOwner":{"__isSmartRef__":true,"id":4340},"_id":"_22246","storedString":"doNotSerialize","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4343":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4344":{"style":{"__isSmartRef__":true,"id":4345},"chunkOwner":{"__isSmartRef__":true,"id":4340},"_id":"_22247","storedString":" [...]","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4345":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"4346":{"morph":{"__isSmartRef__":true,"id":4340},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4347":{"onMouseDown":{"__isSmartRef__":true,"id":4348}},"4348":{"varMapping":{"__isSmartRef__":true,"id":4349},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":4354},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4349":{"this":{"__isSmartRef__":true,"id":4340},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4350}},"4350":{"$super":{"__isSmartRef__":true,"id":4351}},"4351":{"varMapping":{"__isSmartRef__":true,"id":4352},"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":4353},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4352":{"obj":{"__isSmartRef__":true,"id":4340},"name":"onMouseDown"},"4353":{},"4354":{},"4355":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"4356":{"morph":{"__isSmartRef__":true,"id":4326},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4357":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":4358}},"4358":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":4326},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"4359":{"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"_BorderWidth":0,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"4360":{"morph":{"__isSmartRef__":true,"id":4325},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4361":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":4362}},"4362":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":4363},"spacing":0,"container":{"__isSmartRef__":true,"id":4325},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"4363":{"top":0,"right":0,"bottom":0,"left":0},"4364":{"source":{"__isSmartRef__":true,"id":4323},"target":{"__isSmartRef__":true,"id":4325}},"4365":{"onSelect":{"__isSmartRef__":true,"id":4366},"onExpand":{"__isSmartRef__":true,"id":4369},"onUpdateChildren":{"__isSmartRef__":true,"id":4372},"onUpdate":{"__isSmartRef__":true,"id":4375}},"4366":{"varMapping":{"__isSmartRef__":true,"id":4367},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":4368},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4367":{"this":{"__isSmartRef__":true,"id":4323}},"4368":{},"4369":{"varMapping":{"__isSmartRef__":true,"id":4370},"source":"function onExpand() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":4371},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4370":{"this":{"__isSmartRef__":true,"id":4323}},"4371":{},"4372":{"varMapping":{"__isSmartRef__":true,"id":4373},"source":"function onUpdateChildren() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":4374},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4373":{"this":{"__isSmartRef__":true,"id":4323}},"4374":{},"4375":{"varMapping":{"__isSmartRef__":true,"id":4376},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":4377},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4376":{"this":{"__isSmartRef__":true,"id":4323}},"4377":{},"4378":{"data":false,"inspector":{"__isSmartRef__":true,"id":3842},"parent":{"__isSmartRef__":true,"id":3707},"name":"droppingEnabled","description":"false","attributeConnections":[{"__isSmartRef__":true,"id":4379}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4420}},"4379":{"sourceObj":{"__isSmartRef__":true,"id":4378},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":4380},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":4419},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4380":{"item":{"__isSmartRef__":true,"id":4378},"parent":{"__isSmartRef__":true,"id":3857},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":4381}],"scripts":[],"shape":{"__isSmartRef__":true,"id":4414},"eventHandler":{"__isSmartRef__":true,"id":4415},"_ClipMode":"visible","derivationIds":[],"id":"9E671E53-F442-40E2-AC2B-2AD8D501DA61","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"layout":{"__isSmartRef__":true,"id":4416},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":4382},"label":{"__isSmartRef__":true,"id":4395},"node":{"__isSmartRef__":true,"id":4381},"owner":{"__isSmartRef__":true,"id":3857},"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,200.0)"},"4381":{"submorphs":[{"__isSmartRef__":true,"id":4382},{"__isSmartRef__":true,"id":4395}],"scripts":[],"shape":{"__isSmartRef__":true,"id":4410},"eventHandler":{"__isSmartRef__":true,"id":4411},"_ClipMode":"visible","derivationIds":[],"id":"B1729B3E-99AC-46BB-B1AE-A3D701BAD91B","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":4412},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":4380},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"4382":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":4383},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":4384}],"eventHandler":{"__isSmartRef__":true,"id":4386},"_ClipMode":"visible","derivationIds":[],"id":"AB002E4B-D681-42EF-AA99-95A8671702C6","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":4381},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4387},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"4383":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"4384":{"style":{"__isSmartRef__":true,"id":4385},"chunkOwner":{"__isSmartRef__":true,"id":4382},"_id":"_6993","storedString":"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4385":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4386":{"morph":{"__isSmartRef__":true,"id":4382},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4387":{"onMouseDown":{"__isSmartRef__":true,"id":4388}},"4388":{"varMapping":{"__isSmartRef__":true,"id":4389},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":4394},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4389":{"this":{"__isSmartRef__":true,"id":4382},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4390}},"4390":{"$super":{"__isSmartRef__":true,"id":4391}},"4391":{"varMapping":{"__isSmartRef__":true,"id":4392},"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":4393},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4392":{"obj":{"__isSmartRef__":true,"id":4382},"name":"onMouseDown"},"4393":{},"4394":{},"4395":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":4396},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":4397},{"__isSmartRef__":true,"id":4399}],"eventHandler":{"__isSmartRef__":true,"id":4401},"_ClipMode":"visible","derivationIds":[],"id":"2FBF9BEB-8B9B-4447-83DD-0AF1D8BA2946","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":4381},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4402},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"4396":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(128.0,17.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"4397":{"style":{"__isSmartRef__":true,"id":4398},"chunkOwner":{"__isSmartRef__":true,"id":4395},"_id":"_22248","storedString":"droppingEnabled","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4398":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4399":{"style":{"__isSmartRef__":true,"id":4400},"chunkOwner":{"__isSmartRef__":true,"id":4395},"_id":"_22249","storedString":" false","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4400":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"4401":{"morph":{"__isSmartRef__":true,"id":4395},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4402":{"onMouseDown":{"__isSmartRef__":true,"id":4403}},"4403":{"varMapping":{"__isSmartRef__":true,"id":4404},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":4409},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4404":{"this":{"__isSmartRef__":true,"id":4395},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4405}},"4405":{"$super":{"__isSmartRef__":true,"id":4406}},"4406":{"varMapping":{"__isSmartRef__":true,"id":4407},"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":4408},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4407":{"obj":{"__isSmartRef__":true,"id":4395},"name":"onMouseDown"},"4408":{},"4409":{},"4410":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"4411":{"morph":{"__isSmartRef__":true,"id":4381},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4412":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":4413}},"4413":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":4381},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"4414":{"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"_BorderWidth":0,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"4415":{"morph":{"__isSmartRef__":true,"id":4380},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4416":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":4417}},"4417":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":4418},"spacing":0,"container":{"__isSmartRef__":true,"id":4380},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"4418":{"top":0,"right":0,"bottom":0,"left":0},"4419":{"source":{"__isSmartRef__":true,"id":4378},"target":{"__isSmartRef__":true,"id":4380}},"4420":{"onSelect":{"__isSmartRef__":true,"id":4421},"onUpdate":{"__isSmartRef__":true,"id":4424}},"4421":{"varMapping":{"__isSmartRef__":true,"id":4422},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":4423},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4422":{"this":{"__isSmartRef__":true,"id":4378}},"4423":{},"4424":{"varMapping":{"__isSmartRef__":true,"id":4425},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":4426},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4425":{"this":{"__isSmartRef__":true,"id":4378}},"4426":{},"4427":{"data":false,"inspector":{"__isSmartRef__":true,"id":3842},"parent":{"__isSmartRef__":true,"id":3707},"name":"evalEnabled","description":"false","attributeConnections":[{"__isSmartRef__":true,"id":4428}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4469}},"4428":{"sourceObj":{"__isSmartRef__":true,"id":4427},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":4429},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":4468},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4429":{"item":{"__isSmartRef__":true,"id":4427},"parent":{"__isSmartRef__":true,"id":3857},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":4430}],"scripts":[],"shape":{"__isSmartRef__":true,"id":4463},"eventHandler":{"__isSmartRef__":true,"id":4464},"_ClipMode":"visible","derivationIds":[],"id":"DC70B110-0241-47DF-89B2-3F508A176456","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"layout":{"__isSmartRef__":true,"id":4465},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":4431},"label":{"__isSmartRef__":true,"id":4444},"node":{"__isSmartRef__":true,"id":4430},"owner":{"__isSmartRef__":true,"id":3857},"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,220.0)"},"4430":{"submorphs":[{"__isSmartRef__":true,"id":4431},{"__isSmartRef__":true,"id":4444}],"scripts":[],"shape":{"__isSmartRef__":true,"id":4459},"eventHandler":{"__isSmartRef__":true,"id":4460},"_ClipMode":"visible","derivationIds":[],"id":"94868CA9-B680-495B-B50D-97A5D8F1D584","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":4461},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":4429},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"4431":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":4432},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":4433}],"eventHandler":{"__isSmartRef__":true,"id":4435},"_ClipMode":"visible","derivationIds":[],"id":"AEFA64AA-C649-4414-962F-A47FD780CA2B","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":4430},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4436},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"4432":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"4433":{"style":{"__isSmartRef__":true,"id":4434},"chunkOwner":{"__isSmartRef__":true,"id":4431},"_id":"_6998","storedString":"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4434":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4435":{"morph":{"__isSmartRef__":true,"id":4431},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4436":{"onMouseDown":{"__isSmartRef__":true,"id":4437}},"4437":{"varMapping":{"__isSmartRef__":true,"id":4438},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":4443},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4438":{"this":{"__isSmartRef__":true,"id":4431},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4439}},"4439":{"$super":{"__isSmartRef__":true,"id":4440}},"4440":{"varMapping":{"__isSmartRef__":true,"id":4441},"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":4442},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4441":{"obj":{"__isSmartRef__":true,"id":4431},"name":"onMouseDown"},"4442":{},"4443":{},"4444":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":4445},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":4446},{"__isSmartRef__":true,"id":4448}],"eventHandler":{"__isSmartRef__":true,"id":4450},"_ClipMode":"visible","derivationIds":[],"id":"FBA8006D-C074-4C93-B82C-7AC67CE9373D","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":4430},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4451},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"4445":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(103.0,17.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"4446":{"style":{"__isSmartRef__":true,"id":4447},"chunkOwner":{"__isSmartRef__":true,"id":4444},"_id":"_22250","storedString":"evalEnabled","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4447":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4448":{"style":{"__isSmartRef__":true,"id":4449},"chunkOwner":{"__isSmartRef__":true,"id":4444},"_id":"_22251","storedString":" false","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4449":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"4450":{"morph":{"__isSmartRef__":true,"id":4444},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4451":{"onMouseDown":{"__isSmartRef__":true,"id":4452}},"4452":{"varMapping":{"__isSmartRef__":true,"id":4453},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":4458},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4453":{"this":{"__isSmartRef__":true,"id":4444},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4454}},"4454":{"$super":{"__isSmartRef__":true,"id":4455}},"4455":{"varMapping":{"__isSmartRef__":true,"id":4456},"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":4457},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4456":{"obj":{"__isSmartRef__":true,"id":4444},"name":"onMouseDown"},"4457":{},"4458":{},"4459":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"4460":{"morph":{"__isSmartRef__":true,"id":4430},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4461":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":4462}},"4462":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":4430},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"4463":{"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"_BorderWidth":0,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"4464":{"morph":{"__isSmartRef__":true,"id":4429},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4465":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":4466}},"4466":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":4467},"spacing":0,"container":{"__isSmartRef__":true,"id":4429},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"4467":{"top":0,"right":0,"bottom":0,"left":0},"4468":{"source":{"__isSmartRef__":true,"id":4427},"target":{"__isSmartRef__":true,"id":4429}},"4469":{"onSelect":{"__isSmartRef__":true,"id":4470},"onUpdate":{"__isSmartRef__":true,"id":4473}},"4470":{"varMapping":{"__isSmartRef__":true,"id":4471},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":4472},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4471":{"this":{"__isSmartRef__":true,"id":4427}},"4472":{},"4473":{"varMapping":{"__isSmartRef__":true,"id":4474},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":4475},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4474":{"this":{"__isSmartRef__":true,"id":4427}},"4475":{},"4476":{"data":{"__isSmartRef__":true,"id":3711},"inspector":{"__isSmartRef__":true,"id":3842},"parent":{"__isSmartRef__":true,"id":3707},"name":"eventHandler","description":"EventHandler","children":[],"attributeConnections":[{"__isSmartRef__":true,"id":4477}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4518}},"4477":{"sourceObj":{"__isSmartRef__":true,"id":4476},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":4478},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":4517},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4478":{"item":{"__isSmartRef__":true,"id":4476},"parent":{"__isSmartRef__":true,"id":3857},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":4479}],"scripts":[],"shape":{"__isSmartRef__":true,"id":4512},"eventHandler":{"__isSmartRef__":true,"id":4513},"_ClipMode":"visible","derivationIds":[],"id":"735C34FC-B86A-4A37-850C-904F278A3179","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"layout":{"__isSmartRef__":true,"id":4514},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":4480},"label":{"__isSmartRef__":true,"id":4493},"node":{"__isSmartRef__":true,"id":4479},"owner":{"__isSmartRef__":true,"id":3857},"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,240.0)"},"4479":{"submorphs":[{"__isSmartRef__":true,"id":4480},{"__isSmartRef__":true,"id":4493}],"scripts":[],"shape":{"__isSmartRef__":true,"id":4508},"eventHandler":{"__isSmartRef__":true,"id":4509},"_ClipMode":"visible","derivationIds":[],"id":"BC7A96B4-FEBA-4398-AF71-E98A8C822757","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":4510},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":4478},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"4480":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":4481},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":4482}],"eventHandler":{"__isSmartRef__":true,"id":4484},"_ClipMode":"visible","derivationIds":[],"id":"AA0A335B-B5E6-4746-992A-C58F4CA20DA4","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":4479},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4485},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"4481":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"4482":{"style":{"__isSmartRef__":true,"id":4483},"chunkOwner":{"__isSmartRef__":true,"id":4480},"_id":"_7003","storedString":"►","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4483":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4484":{"morph":{"__isSmartRef__":true,"id":4480},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4485":{"onMouseDown":{"__isSmartRef__":true,"id":4486}},"4486":{"varMapping":{"__isSmartRef__":true,"id":4487},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":4492},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4487":{"this":{"__isSmartRef__":true,"id":4480},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4488}},"4488":{"$super":{"__isSmartRef__":true,"id":4489}},"4489":{"varMapping":{"__isSmartRef__":true,"id":4490},"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":4491},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4490":{"obj":{"__isSmartRef__":true,"id":4480},"name":"onMouseDown"},"4491":{},"4492":{},"4493":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":4494},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":4495},{"__isSmartRef__":true,"id":4497}],"eventHandler":{"__isSmartRef__":true,"id":4499},"_ClipMode":"visible","derivationIds":[],"id":"F94656D3-7CE8-4F04-AF6F-ED0C7E247C59","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":4479},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4500},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"4494":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(160.0,17.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"4495":{"style":{"__isSmartRef__":true,"id":4496},"chunkOwner":{"__isSmartRef__":true,"id":4493},"_id":"_22252","storedString":"eventHandler","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4496":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4497":{"style":{"__isSmartRef__":true,"id":4498},"chunkOwner":{"__isSmartRef__":true,"id":4493},"_id":"_22253","storedString":" EventHandler","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4498":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"4499":{"morph":{"__isSmartRef__":true,"id":4493},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4500":{"onMouseDown":{"__isSmartRef__":true,"id":4501}},"4501":{"varMapping":{"__isSmartRef__":true,"id":4502},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":4507},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4502":{"this":{"__isSmartRef__":true,"id":4493},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4503}},"4503":{"$super":{"__isSmartRef__":true,"id":4504}},"4504":{"varMapping":{"__isSmartRef__":true,"id":4505},"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":4506},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4505":{"obj":{"__isSmartRef__":true,"id":4493},"name":"onMouseDown"},"4506":{},"4507":{},"4508":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"4509":{"morph":{"__isSmartRef__":true,"id":4479},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4510":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":4511}},"4511":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":4479},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"4512":{"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"_BorderWidth":0,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"4513":{"morph":{"__isSmartRef__":true,"id":4478},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4514":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":4515}},"4515":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":4516},"spacing":0,"container":{"__isSmartRef__":true,"id":4478},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"4516":{"top":0,"right":0,"bottom":0,"left":0},"4517":{"source":{"__isSmartRef__":true,"id":4476},"target":{"__isSmartRef__":true,"id":4478}},"4518":{"onSelect":{"__isSmartRef__":true,"id":4519},"onExpand":{"__isSmartRef__":true,"id":4522},"onUpdateChildren":{"__isSmartRef__":true,"id":4525},"onUpdate":{"__isSmartRef__":true,"id":4528}},"4519":{"varMapping":{"__isSmartRef__":true,"id":4520},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":4521},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4520":{"this":{"__isSmartRef__":true,"id":4476}},"4521":{},"4522":{"varMapping":{"__isSmartRef__":true,"id":4523},"source":"function onExpand() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":4524},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4523":{"this":{"__isSmartRef__":true,"id":4476}},"4524":{},"4525":{"varMapping":{"__isSmartRef__":true,"id":4526},"source":"function onUpdateChildren() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":4527},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4526":{"this":{"__isSmartRef__":true,"id":4476}},"4527":{},"4528":{"varMapping":{"__isSmartRef__":true,"id":4529},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":4530},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4529":{"this":{"__isSmartRef__":true,"id":4476}},"4530":{},"4531":{"data":true,"inspector":{"__isSmartRef__":true,"id":3842},"parent":{"__isSmartRef__":true,"id":3707},"name":"fixedHeight","description":"true","attributeConnections":[{"__isSmartRef__":true,"id":4532}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4573}},"4532":{"sourceObj":{"__isSmartRef__":true,"id":4531},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":4533},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":4572},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4533":{"item":{"__isSmartRef__":true,"id":4531},"parent":{"__isSmartRef__":true,"id":3857},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":4534}],"scripts":[],"shape":{"__isSmartRef__":true,"id":4567},"eventHandler":{"__isSmartRef__":true,"id":4568},"_ClipMode":"visible","derivationIds":[],"id":"96FE0059-59B9-45C1-B7D9-059D0C2CD9BE","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"layout":{"__isSmartRef__":true,"id":4569},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":4535},"label":{"__isSmartRef__":true,"id":4548},"node":{"__isSmartRef__":true,"id":4534},"owner":{"__isSmartRef__":true,"id":3857},"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,260.0)"},"4534":{"submorphs":[{"__isSmartRef__":true,"id":4535},{"__isSmartRef__":true,"id":4548}],"scripts":[],"shape":{"__isSmartRef__":true,"id":4563},"eventHandler":{"__isSmartRef__":true,"id":4564},"_ClipMode":"visible","derivationIds":[],"id":"A6AB5E6D-8857-4CC5-9395-100583F07E1D","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":4565},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":4533},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"4535":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":4536},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":4537}],"eventHandler":{"__isSmartRef__":true,"id":4539},"_ClipMode":"visible","derivationIds":[],"id":"D12CD3CE-8912-47F7-AACA-C48394505AE6","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":4534},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4540},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"4536":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"4537":{"style":{"__isSmartRef__":true,"id":4538},"chunkOwner":{"__isSmartRef__":true,"id":4535},"_id":"_7008","storedString":"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4538":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4539":{"morph":{"__isSmartRef__":true,"id":4535},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4540":{"onMouseDown":{"__isSmartRef__":true,"id":4541}},"4541":{"varMapping":{"__isSmartRef__":true,"id":4542},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":4547},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4542":{"this":{"__isSmartRef__":true,"id":4535},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4543}},"4543":{"$super":{"__isSmartRef__":true,"id":4544}},"4544":{"varMapping":{"__isSmartRef__":true,"id":4545},"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":4546},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4545":{"obj":{"__isSmartRef__":true,"id":4535},"name":"onMouseDown"},"4546":{},"4547":{},"4548":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":4549},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":4550},{"__isSmartRef__":true,"id":4552}],"eventHandler":{"__isSmartRef__":true,"id":4554},"_ClipMode":"visible","derivationIds":[],"id":"AC155E09-E74D-4D7D-AEA7-5650BE17663B","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":4534},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4555},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"4549":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(92.0,17.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"4550":{"style":{"__isSmartRef__":true,"id":4551},"chunkOwner":{"__isSmartRef__":true,"id":4548},"_id":"_22254","storedString":"fixedHeight","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4551":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4552":{"style":{"__isSmartRef__":true,"id":4553},"chunkOwner":{"__isSmartRef__":true,"id":4548},"_id":"_22255","storedString":" true","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4553":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"4554":{"morph":{"__isSmartRef__":true,"id":4548},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4555":{"onMouseDown":{"__isSmartRef__":true,"id":4556}},"4556":{"varMapping":{"__isSmartRef__":true,"id":4557},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":4562},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4557":{"this":{"__isSmartRef__":true,"id":4548},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4558}},"4558":{"$super":{"__isSmartRef__":true,"id":4559}},"4559":{"varMapping":{"__isSmartRef__":true,"id":4560},"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":4561},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4560":{"obj":{"__isSmartRef__":true,"id":4548},"name":"onMouseDown"},"4561":{},"4562":{},"4563":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"4564":{"morph":{"__isSmartRef__":true,"id":4534},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4565":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":4566}},"4566":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":4534},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"4567":{"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"_BorderWidth":0,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"4568":{"morph":{"__isSmartRef__":true,"id":4533},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4569":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":4570}},"4570":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":4571},"spacing":0,"container":{"__isSmartRef__":true,"id":4533},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"4571":{"top":0,"right":0,"bottom":0,"left":0},"4572":{"source":{"__isSmartRef__":true,"id":4531},"target":{"__isSmartRef__":true,"id":4533}},"4573":{"onSelect":{"__isSmartRef__":true,"id":4574},"onUpdate":{"__isSmartRef__":true,"id":4577}},"4574":{"varMapping":{"__isSmartRef__":true,"id":4575},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":4576},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4575":{"this":{"__isSmartRef__":true,"id":4531}},"4576":{},"4577":{"varMapping":{"__isSmartRef__":true,"id":4578},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":4579},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4578":{"this":{"__isSmartRef__":true,"id":4531}},"4579":{},"4580":{"data":true,"inspector":{"__isSmartRef__":true,"id":3842},"parent":{"__isSmartRef__":true,"id":3707},"name":"fixedWidth","description":"true","attributeConnections":[{"__isSmartRef__":true,"id":4581}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4622}},"4581":{"sourceObj":{"__isSmartRef__":true,"id":4580},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":4582},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":4621},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4582":{"item":{"__isSmartRef__":true,"id":4580},"parent":{"__isSmartRef__":true,"id":3857},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":4583}],"scripts":[],"shape":{"__isSmartRef__":true,"id":4616},"eventHandler":{"__isSmartRef__":true,"id":4617},"_ClipMode":"visible","derivationIds":[],"id":"D79BE535-8BC6-4ED2-AA55-C86F43A0FFE9","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"layout":{"__isSmartRef__":true,"id":4618},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":4584},"label":{"__isSmartRef__":true,"id":4597},"node":{"__isSmartRef__":true,"id":4583},"owner":{"__isSmartRef__":true,"id":3857},"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,280.0)"},"4583":{"submorphs":[{"__isSmartRef__":true,"id":4584},{"__isSmartRef__":true,"id":4597}],"scripts":[],"shape":{"__isSmartRef__":true,"id":4612},"eventHandler":{"__isSmartRef__":true,"id":4613},"_ClipMode":"visible","derivationIds":[],"id":"CE01C8FB-30CC-4DE1-AAE6-928C0E78D6D5","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":4614},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":4582},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"4584":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":4585},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":4586}],"eventHandler":{"__isSmartRef__":true,"id":4588},"_ClipMode":"visible","derivationIds":[],"id":"1C714C84-C0EC-4E01-B03B-1CE51D02ACF6","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":4583},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4589},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"4585":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"4586":{"style":{"__isSmartRef__":true,"id":4587},"chunkOwner":{"__isSmartRef__":true,"id":4584},"_id":"_7013","storedString":"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4587":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4588":{"morph":{"__isSmartRef__":true,"id":4584},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4589":{"onMouseDown":{"__isSmartRef__":true,"id":4590}},"4590":{"varMapping":{"__isSmartRef__":true,"id":4591},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":4596},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4591":{"this":{"__isSmartRef__":true,"id":4584},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4592}},"4592":{"$super":{"__isSmartRef__":true,"id":4593}},"4593":{"varMapping":{"__isSmartRef__":true,"id":4594},"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":4595},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4594":{"obj":{"__isSmartRef__":true,"id":4584},"name":"onMouseDown"},"4595":{},"4596":{},"4597":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":4598},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":4599},{"__isSmartRef__":true,"id":4601}],"eventHandler":{"__isSmartRef__":true,"id":4603},"_ClipMode":"visible","derivationIds":[],"id":"5A698B86-7AF1-43A2-8483-8AFF2E4747C2","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":4583},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4604},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"4598":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(88.0,17.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"4599":{"style":{"__isSmartRef__":true,"id":4600},"chunkOwner":{"__isSmartRef__":true,"id":4597},"_id":"_22256","storedString":"fixedWidth","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4600":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4601":{"style":{"__isSmartRef__":true,"id":4602},"chunkOwner":{"__isSmartRef__":true,"id":4597},"_id":"_22257","storedString":" true","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4602":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"4603":{"morph":{"__isSmartRef__":true,"id":4597},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4604":{"onMouseDown":{"__isSmartRef__":true,"id":4605}},"4605":{"varMapping":{"__isSmartRef__":true,"id":4606},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":4611},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4606":{"this":{"__isSmartRef__":true,"id":4597},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4607}},"4607":{"$super":{"__isSmartRef__":true,"id":4608}},"4608":{"varMapping":{"__isSmartRef__":true,"id":4609},"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":4610},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4609":{"obj":{"__isSmartRef__":true,"id":4597},"name":"onMouseDown"},"4610":{},"4611":{},"4612":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"4613":{"morph":{"__isSmartRef__":true,"id":4583},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4614":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":4615}},"4615":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":4583},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"4616":{"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"_BorderWidth":0,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"4617":{"morph":{"__isSmartRef__":true,"id":4582},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4618":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":4619}},"4619":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":4620},"spacing":0,"container":{"__isSmartRef__":true,"id":4582},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"4620":{"top":0,"right":0,"bottom":0,"left":0},"4621":{"source":{"__isSmartRef__":true,"id":4580},"target":{"__isSmartRef__":true,"id":4582}},"4622":{"onSelect":{"__isSmartRef__":true,"id":4623},"onUpdate":{"__isSmartRef__":true,"id":4626}},"4623":{"varMapping":{"__isSmartRef__":true,"id":4624},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":4625},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4624":{"this":{"__isSmartRef__":true,"id":4580}},"4625":{},"4626":{"varMapping":{"__isSmartRef__":true,"id":4627},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":4628},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4627":{"this":{"__isSmartRef__":true,"id":4580}},"4628":{},"4629":{"data":false,"inspector":{"__isSmartRef__":true,"id":3842},"parent":{"__isSmartRef__":true,"id":3707},"name":"grabbingEnabled","description":"false","attributeConnections":[{"__isSmartRef__":true,"id":4630}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4671}},"4630":{"sourceObj":{"__isSmartRef__":true,"id":4629},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":4631},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":4670},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4631":{"item":{"__isSmartRef__":true,"id":4629},"parent":{"__isSmartRef__":true,"id":3857},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":4632}],"scripts":[],"shape":{"__isSmartRef__":true,"id":4665},"eventHandler":{"__isSmartRef__":true,"id":4666},"_ClipMode":"visible","derivationIds":[],"id":"18BB5959-9BAC-487D-B454-D95464D91CAC","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"layout":{"__isSmartRef__":true,"id":4667},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":4633},"label":{"__isSmartRef__":true,"id":4646},"node":{"__isSmartRef__":true,"id":4632},"owner":{"__isSmartRef__":true,"id":3857},"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,300.0)"},"4632":{"submorphs":[{"__isSmartRef__":true,"id":4633},{"__isSmartRef__":true,"id":4646}],"scripts":[],"shape":{"__isSmartRef__":true,"id":4661},"eventHandler":{"__isSmartRef__":true,"id":4662},"_ClipMode":"visible","derivationIds":[],"id":"30442F62-7360-4CC8-9C9D-263A2C1AF185","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":4663},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":4631},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"4633":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":4634},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":4635}],"eventHandler":{"__isSmartRef__":true,"id":4637},"_ClipMode":"visible","derivationIds":[],"id":"5D93694B-C87F-4DBC-B9A2-D887C917AE42","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":4632},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4638},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"4634":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"4635":{"style":{"__isSmartRef__":true,"id":4636},"chunkOwner":{"__isSmartRef__":true,"id":4633},"_id":"_7018","storedString":"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4636":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4637":{"morph":{"__isSmartRef__":true,"id":4633},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4638":{"onMouseDown":{"__isSmartRef__":true,"id":4639}},"4639":{"varMapping":{"__isSmartRef__":true,"id":4640},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":4645},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4640":{"this":{"__isSmartRef__":true,"id":4633},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4641}},"4641":{"$super":{"__isSmartRef__":true,"id":4642}},"4642":{"varMapping":{"__isSmartRef__":true,"id":4643},"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":4644},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4643":{"obj":{"__isSmartRef__":true,"id":4633},"name":"onMouseDown"},"4644":{},"4645":{},"4646":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":4647},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":4648},{"__isSmartRef__":true,"id":4650}],"eventHandler":{"__isSmartRef__":true,"id":4652},"_ClipMode":"visible","derivationIds":[],"id":"68E38CC6-F55F-4F2A-BDCE-DB1DB0A82649","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":4632},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4653},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"4647":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(128.0,17.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"4648":{"style":{"__isSmartRef__":true,"id":4649},"chunkOwner":{"__isSmartRef__":true,"id":4646},"_id":"_22258","storedString":"grabbingEnabled","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4649":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4650":{"style":{"__isSmartRef__":true,"id":4651},"chunkOwner":{"__isSmartRef__":true,"id":4646},"_id":"_22259","storedString":" false","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4651":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"4652":{"morph":{"__isSmartRef__":true,"id":4646},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4653":{"onMouseDown":{"__isSmartRef__":true,"id":4654}},"4654":{"varMapping":{"__isSmartRef__":true,"id":4655},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":4660},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4655":{"this":{"__isSmartRef__":true,"id":4646},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4656}},"4656":{"$super":{"__isSmartRef__":true,"id":4657}},"4657":{"varMapping":{"__isSmartRef__":true,"id":4658},"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":4659},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4658":{"obj":{"__isSmartRef__":true,"id":4646},"name":"onMouseDown"},"4659":{},"4660":{},"4661":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"4662":{"morph":{"__isSmartRef__":true,"id":4632},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4663":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":4664}},"4664":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":4632},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"4665":{"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"_BorderWidth":0,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"4666":{"morph":{"__isSmartRef__":true,"id":4631},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4667":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":4668}},"4668":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":4669},"spacing":0,"container":{"__isSmartRef__":true,"id":4631},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"4669":{"top":0,"right":0,"bottom":0,"left":0},"4670":{"source":{"__isSmartRef__":true,"id":4629},"target":{"__isSmartRef__":true,"id":4631}},"4671":{"onSelect":{"__isSmartRef__":true,"id":4672},"onUpdate":{"__isSmartRef__":true,"id":4675}},"4672":{"varMapping":{"__isSmartRef__":true,"id":4673},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":4674},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4673":{"this":{"__isSmartRef__":true,"id":4629}},"4674":{},"4675":{"varMapping":{"__isSmartRef__":true,"id":4676},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":4677},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4676":{"this":{"__isSmartRef__":true,"id":4629}},"4677":{},"4678":{"data":[],"inspector":{"__isSmartRef__":true,"id":3842},"parent":{"__isSmartRef__":true,"id":3707},"name":"halos","description":"[]","children":[],"attributeConnections":[{"__isSmartRef__":true,"id":4679}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4720}},"4679":{"sourceObj":{"__isSmartRef__":true,"id":4678},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":4680},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":4719},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4680":{"item":{"__isSmartRef__":true,"id":4678},"parent":{"__isSmartRef__":true,"id":3857},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":4681}],"scripts":[],"shape":{"__isSmartRef__":true,"id":4714},"eventHandler":{"__isSmartRef__":true,"id":4715},"_ClipMode":"visible","derivationIds":[],"id":"6607A9BC-95BA-4699-BC53-AF5F5FD63DB1","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"layout":{"__isSmartRef__":true,"id":4716},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":4682},"label":{"__isSmartRef__":true,"id":4695},"node":{"__isSmartRef__":true,"id":4681},"owner":{"__isSmartRef__":true,"id":3857},"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,320.0)"},"4681":{"submorphs":[{"__isSmartRef__":true,"id":4682},{"__isSmartRef__":true,"id":4695}],"scripts":[],"shape":{"__isSmartRef__":true,"id":4710},"eventHandler":{"__isSmartRef__":true,"id":4711},"_ClipMode":"visible","derivationIds":[],"id":"D0546342-27AE-4EA9-8DC2-513CCCB0B1F8","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":4712},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":4680},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"4682":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":4683},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":4684}],"eventHandler":{"__isSmartRef__":true,"id":4686},"_ClipMode":"visible","derivationIds":[],"id":"3D5FA76D-0A5B-4C9C-A5B6-0D51E5AFEC45","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":4681},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4687},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"4683":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"4684":{"style":{"__isSmartRef__":true,"id":4685},"chunkOwner":{"__isSmartRef__":true,"id":4682},"_id":"_7023","storedString":"►","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4685":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4686":{"morph":{"__isSmartRef__":true,"id":4682},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4687":{"onMouseDown":{"__isSmartRef__":true,"id":4688}},"4688":{"varMapping":{"__isSmartRef__":true,"id":4689},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":4694},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4689":{"this":{"__isSmartRef__":true,"id":4682},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4690}},"4690":{"$super":{"__isSmartRef__":true,"id":4691}},"4691":{"varMapping":{"__isSmartRef__":true,"id":4692},"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":4693},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4692":{"obj":{"__isSmartRef__":true,"id":4682},"name":"onMouseDown"},"4693":{},"4694":{},"4695":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":4696},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":4697},{"__isSmartRef__":true,"id":4699}],"eventHandler":{"__isSmartRef__":true,"id":4701},"_ClipMode":"visible","derivationIds":[],"id":"A7D828DF-A30E-49CB-AEF8-C721ED5D92BC","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":4681},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4702},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"4696":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(43.0,17.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"4697":{"style":{"__isSmartRef__":true,"id":4698},"chunkOwner":{"__isSmartRef__":true,"id":4695},"_id":"_22260","storedString":"halos","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4698":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4699":{"style":{"__isSmartRef__":true,"id":4700},"chunkOwner":{"__isSmartRef__":true,"id":4695},"_id":"_22261","storedString":" []","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4700":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"4701":{"morph":{"__isSmartRef__":true,"id":4695},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4702":{"onMouseDown":{"__isSmartRef__":true,"id":4703}},"4703":{"varMapping":{"__isSmartRef__":true,"id":4704},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":4709},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4704":{"this":{"__isSmartRef__":true,"id":4695},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4705}},"4705":{"$super":{"__isSmartRef__":true,"id":4706}},"4706":{"varMapping":{"__isSmartRef__":true,"id":4707},"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":4708},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4707":{"obj":{"__isSmartRef__":true,"id":4695},"name":"onMouseDown"},"4708":{},"4709":{},"4710":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"4711":{"morph":{"__isSmartRef__":true,"id":4681},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4712":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":4713}},"4713":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":4681},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"4714":{"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"_BorderWidth":0,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"4715":{"morph":{"__isSmartRef__":true,"id":4680},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4716":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":4717}},"4717":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":4718},"spacing":0,"container":{"__isSmartRef__":true,"id":4680},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"4718":{"top":0,"right":0,"bottom":0,"left":0},"4719":{"source":{"__isSmartRef__":true,"id":4678},"target":{"__isSmartRef__":true,"id":4680}},"4720":{"onSelect":{"__isSmartRef__":true,"id":4721},"onExpand":{"__isSmartRef__":true,"id":4724},"onUpdateChildren":{"__isSmartRef__":true,"id":4727},"onUpdate":{"__isSmartRef__":true,"id":4730}},"4721":{"varMapping":{"__isSmartRef__":true,"id":4722},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":4723},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4722":{"this":{"__isSmartRef__":true,"id":4678}},"4723":{},"4724":{"varMapping":{"__isSmartRef__":true,"id":4725},"source":"function onExpand() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":4726},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4725":{"this":{"__isSmartRef__":true,"id":4678}},"4726":{},"4727":{"varMapping":{"__isSmartRef__":true,"id":4728},"source":"function onUpdateChildren() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":4729},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4728":{"this":{"__isSmartRef__":true,"id":4678}},"4729":{},"4730":{"varMapping":{"__isSmartRef__":true,"id":4731},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":4732},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4731":{"this":{"__isSmartRef__":true,"id":4678}},"4732":{},"4733":{"data":true,"inspector":{"__isSmartRef__":true,"id":3842},"parent":{"__isSmartRef__":true,"id":3707},"name":"halosEnabled","description":"true","attributeConnections":[{"__isSmartRef__":true,"id":4734}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4775}},"4734":{"sourceObj":{"__isSmartRef__":true,"id":4733},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":4735},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":4774},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4735":{"item":{"__isSmartRef__":true,"id":4733},"parent":{"__isSmartRef__":true,"id":3857},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":4736}],"scripts":[],"shape":{"__isSmartRef__":true,"id":4769},"eventHandler":{"__isSmartRef__":true,"id":4770},"_ClipMode":"visible","derivationIds":[],"id":"340CBA29-CBF4-41B8-8A3E-A9F164151B9E","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"layout":{"__isSmartRef__":true,"id":4771},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":4737},"label":{"__isSmartRef__":true,"id":4750},"node":{"__isSmartRef__":true,"id":4736},"owner":{"__isSmartRef__":true,"id":3857},"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,340.0)"},"4736":{"submorphs":[{"__isSmartRef__":true,"id":4737},{"__isSmartRef__":true,"id":4750}],"scripts":[],"shape":{"__isSmartRef__":true,"id":4765},"eventHandler":{"__isSmartRef__":true,"id":4766},"_ClipMode":"visible","derivationIds":[],"id":"DCFE4CE7-55D7-4D59-94F0-DBE7C84419B4","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":4767},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":4735},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"4737":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":4738},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":4739}],"eventHandler":{"__isSmartRef__":true,"id":4741},"_ClipMode":"visible","derivationIds":[],"id":"C68AEE36-1C79-4E60-B7C4-1E01B319CF7F","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":4736},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4742},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"4738":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"4739":{"style":{"__isSmartRef__":true,"id":4740},"chunkOwner":{"__isSmartRef__":true,"id":4737},"_id":"_7028","storedString":"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4740":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4741":{"morph":{"__isSmartRef__":true,"id":4737},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4742":{"onMouseDown":{"__isSmartRef__":true,"id":4743}},"4743":{"varMapping":{"__isSmartRef__":true,"id":4744},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":4749},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4744":{"this":{"__isSmartRef__":true,"id":4737},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4745}},"4745":{"$super":{"__isSmartRef__":true,"id":4746}},"4746":{"varMapping":{"__isSmartRef__":true,"id":4747},"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":4748},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4747":{"obj":{"__isSmartRef__":true,"id":4737},"name":"onMouseDown"},"4748":{},"4749":{},"4750":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":4751},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":4752},{"__isSmartRef__":true,"id":4754}],"eventHandler":{"__isSmartRef__":true,"id":4756},"_ClipMode":"visible","derivationIds":[],"id":"062137E2-2C70-4368-A935-63FE087A31FD","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":4736},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4757},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"4751":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(104.0,17.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"4752":{"style":{"__isSmartRef__":true,"id":4753},"chunkOwner":{"__isSmartRef__":true,"id":4750},"_id":"_22262","storedString":"halosEnabled","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4753":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4754":{"style":{"__isSmartRef__":true,"id":4755},"chunkOwner":{"__isSmartRef__":true,"id":4750},"_id":"_22263","storedString":" true","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4755":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"4756":{"morph":{"__isSmartRef__":true,"id":4750},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4757":{"onMouseDown":{"__isSmartRef__":true,"id":4758}},"4758":{"varMapping":{"__isSmartRef__":true,"id":4759},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":4764},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4759":{"this":{"__isSmartRef__":true,"id":4750},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4760}},"4760":{"$super":{"__isSmartRef__":true,"id":4761}},"4761":{"varMapping":{"__isSmartRef__":true,"id":4762},"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":4763},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4762":{"obj":{"__isSmartRef__":true,"id":4750},"name":"onMouseDown"},"4763":{},"4764":{},"4765":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"4766":{"morph":{"__isSmartRef__":true,"id":4736},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4767":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":4768}},"4768":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":4736},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"4769":{"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"_BorderWidth":0,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"4770":{"morph":{"__isSmartRef__":true,"id":4735},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4771":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":4772}},"4772":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":4773},"spacing":0,"container":{"__isSmartRef__":true,"id":4735},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"4773":{"top":0,"right":0,"bottom":0,"left":0},"4774":{"source":{"__isSmartRef__":true,"id":4733},"target":{"__isSmartRef__":true,"id":4735}},"4775":{"onSelect":{"__isSmartRef__":true,"id":4776},"onUpdate":{"__isSmartRef__":true,"id":4779}},"4776":{"varMapping":{"__isSmartRef__":true,"id":4777},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":4778},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4777":{"this":{"__isSmartRef__":true,"id":4733}},"4778":{},"4779":{"varMapping":{"__isSmartRef__":true,"id":4780},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":4781},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4780":{"this":{"__isSmartRef__":true,"id":4733}},"4781":{},"4782":{"data":"6E04FCEF-AF8F-48BB-AFBE-61BF71EB23ED","inspector":{"__isSmartRef__":true,"id":3842},"parent":{"__isSmartRef__":true,"id":3707},"name":"id","description":"6E04FCEF-AF8F-48BB-AFBE-61BF71EB23ED...","attributeConnections":[{"__isSmartRef__":true,"id":4783}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4824}},"4783":{"sourceObj":{"__isSmartRef__":true,"id":4782},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":4784},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":4823},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4784":{"item":{"__isSmartRef__":true,"id":4782},"parent":{"__isSmartRef__":true,"id":3857},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":4785}],"scripts":[],"shape":{"__isSmartRef__":true,"id":4818},"eventHandler":{"__isSmartRef__":true,"id":4819},"_ClipMode":"visible","derivationIds":[],"id":"6E7F8166-830D-42FA-B24F-ED7D78E48AE6","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"layout":{"__isSmartRef__":true,"id":4820},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":4786},"label":{"__isSmartRef__":true,"id":4799},"node":{"__isSmartRef__":true,"id":4785},"owner":{"__isSmartRef__":true,"id":3857},"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,360.0)"},"4785":{"submorphs":[{"__isSmartRef__":true,"id":4786},{"__isSmartRef__":true,"id":4799}],"scripts":[],"shape":{"__isSmartRef__":true,"id":4814},"eventHandler":{"__isSmartRef__":true,"id":4815},"_ClipMode":"visible","derivationIds":[],"id":"2C2C024F-91BE-4EA1-A29D-22AC525F96D1","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":4816},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":4784},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"4786":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":4787},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":4788}],"eventHandler":{"__isSmartRef__":true,"id":4790},"_ClipMode":"visible","derivationIds":[],"id":"4BD6D6D4-19D0-4348-9B5F-842A5F9952D6","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":4785},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4791},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"4787":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"4788":{"style":{"__isSmartRef__":true,"id":4789},"chunkOwner":{"__isSmartRef__":true,"id":4786},"_id":"_7033","storedString":"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4789":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4790":{"morph":{"__isSmartRef__":true,"id":4786},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4791":{"onMouseDown":{"__isSmartRef__":true,"id":4792}},"4792":{"varMapping":{"__isSmartRef__":true,"id":4793},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":4798},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4793":{"this":{"__isSmartRef__":true,"id":4786},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4794}},"4794":{"$super":{"__isSmartRef__":true,"id":4795}},"4795":{"varMapping":{"__isSmartRef__":true,"id":4796},"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":4797},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4796":{"obj":{"__isSmartRef__":true,"id":4786},"name":"onMouseDown"},"4797":{},"4798":{},"4799":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":4800},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":4801},{"__isSmartRef__":true,"id":4803}],"eventHandler":{"__isSmartRef__":true,"id":4805},"_ClipMode":"visible","derivationIds":[],"id":"103CF6A0-A3A5-46B9-A50F-C53BD555987B","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":4785},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4806},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"4800":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(302.0,17.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"4801":{"style":{"__isSmartRef__":true,"id":4802},"chunkOwner":{"__isSmartRef__":true,"id":4799},"_id":"_22264","storedString":"id","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4802":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4803":{"style":{"__isSmartRef__":true,"id":4804},"chunkOwner":{"__isSmartRef__":true,"id":4799},"_id":"_22265","storedString":" 6E04FCEF-AF8F-48BB-AFBE-61BF71EB23ED...","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4804":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"4805":{"morph":{"__isSmartRef__":true,"id":4799},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4806":{"onMouseDown":{"__isSmartRef__":true,"id":4807}},"4807":{"varMapping":{"__isSmartRef__":true,"id":4808},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":4813},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4808":{"this":{"__isSmartRef__":true,"id":4799},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4809}},"4809":{"$super":{"__isSmartRef__":true,"id":4810}},"4810":{"varMapping":{"__isSmartRef__":true,"id":4811},"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":4812},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4811":{"obj":{"__isSmartRef__":true,"id":4799},"name":"onMouseDown"},"4812":{},"4813":{},"4814":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"4815":{"morph":{"__isSmartRef__":true,"id":4785},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4816":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":4817}},"4817":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":4785},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"4818":{"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"_BorderWidth":0,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"4819":{"morph":{"__isSmartRef__":true,"id":4784},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4820":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":4821}},"4821":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":4822},"spacing":0,"container":{"__isSmartRef__":true,"id":4784},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"4822":{"top":0,"right":0,"bottom":0,"left":0},"4823":{"source":{"__isSmartRef__":true,"id":4782},"target":{"__isSmartRef__":true,"id":4784}},"4824":{"onSelect":{"__isSmartRef__":true,"id":4825},"onUpdate":{"__isSmartRef__":true,"id":4828}},"4825":{"varMapping":{"__isSmartRef__":true,"id":4826},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":4827},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4826":{"this":{"__isSmartRef__":true,"id":4782}},"4827":{},"4828":{"varMapping":{"__isSmartRef__":true,"id":4829},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":4830},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4829":{"this":{"__isSmartRef__":true,"id":4782}},"4830":{},"4831":{"data":false,"inspector":{"__isSmartRef__":true,"id":3842},"parent":{"__isSmartRef__":true,"id":3707},"name":"isBeingDragged","description":"false","attributeConnections":[{"__isSmartRef__":true,"id":4832}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4873}},"4832":{"sourceObj":{"__isSmartRef__":true,"id":4831},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":4833},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":4872},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4833":{"item":{"__isSmartRef__":true,"id":4831},"parent":{"__isSmartRef__":true,"id":3857},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":4834}],"scripts":[],"shape":{"__isSmartRef__":true,"id":4867},"eventHandler":{"__isSmartRef__":true,"id":4868},"_ClipMode":"visible","derivationIds":[],"id":"08003895-6DDE-414F-8124-7F5DA0952E24","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"layout":{"__isSmartRef__":true,"id":4869},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":4835},"label":{"__isSmartRef__":true,"id":4848},"node":{"__isSmartRef__":true,"id":4834},"owner":{"__isSmartRef__":true,"id":3857},"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,380.0)"},"4834":{"submorphs":[{"__isSmartRef__":true,"id":4835},{"__isSmartRef__":true,"id":4848}],"scripts":[],"shape":{"__isSmartRef__":true,"id":4863},"eventHandler":{"__isSmartRef__":true,"id":4864},"_ClipMode":"visible","derivationIds":[],"id":"C5F920E7-7BDF-43FA-B335-DE2FE1073638","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":4865},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":4833},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"4835":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":4836},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":4837}],"eventHandler":{"__isSmartRef__":true,"id":4839},"_ClipMode":"visible","derivationIds":[],"id":"ADC17DC5-2FE5-4CB2-B547-43332A7781B2","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":4834},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4840},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"4836":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"4837":{"style":{"__isSmartRef__":true,"id":4838},"chunkOwner":{"__isSmartRef__":true,"id":4835},"_id":"_7038","storedString":"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4838":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4839":{"morph":{"__isSmartRef__":true,"id":4835},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4840":{"onMouseDown":{"__isSmartRef__":true,"id":4841}},"4841":{"varMapping":{"__isSmartRef__":true,"id":4842},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":4847},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4842":{"this":{"__isSmartRef__":true,"id":4835},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4843}},"4843":{"$super":{"__isSmartRef__":true,"id":4844}},"4844":{"varMapping":{"__isSmartRef__":true,"id":4845},"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":4846},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4845":{"obj":{"__isSmartRef__":true,"id":4835},"name":"onMouseDown"},"4846":{},"4847":{},"4848":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":4849},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":4850},{"__isSmartRef__":true,"id":4852}],"eventHandler":{"__isSmartRef__":true,"id":4854},"_ClipMode":"visible","derivationIds":[],"id":"42940262-DF96-4501-AAD2-3BE89C7D9B9F","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":4834},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4855},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"4849":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(124.0,17.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"4850":{"style":{"__isSmartRef__":true,"id":4851},"chunkOwner":{"__isSmartRef__":true,"id":4848},"_id":"_22266","storedString":"isBeingDragged","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4851":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4852":{"style":{"__isSmartRef__":true,"id":4853},"chunkOwner":{"__isSmartRef__":true,"id":4848},"_id":"_22267","storedString":" false","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4853":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"4854":{"morph":{"__isSmartRef__":true,"id":4848},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4855":{"onMouseDown":{"__isSmartRef__":true,"id":4856}},"4856":{"varMapping":{"__isSmartRef__":true,"id":4857},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":4862},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4857":{"this":{"__isSmartRef__":true,"id":4848},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4858}},"4858":{"$super":{"__isSmartRef__":true,"id":4859}},"4859":{"varMapping":{"__isSmartRef__":true,"id":4860},"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":4861},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4860":{"obj":{"__isSmartRef__":true,"id":4848},"name":"onMouseDown"},"4861":{},"4862":{},"4863":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"4864":{"morph":{"__isSmartRef__":true,"id":4834},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4865":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":4866}},"4866":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":4834},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"4867":{"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"_BorderWidth":0,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"4868":{"morph":{"__isSmartRef__":true,"id":4833},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4869":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":4870}},"4870":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":4871},"spacing":0,"container":{"__isSmartRef__":true,"id":4833},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"4871":{"top":0,"right":0,"bottom":0,"left":0},"4872":{"source":{"__isSmartRef__":true,"id":4831},"target":{"__isSmartRef__":true,"id":4833}},"4873":{"onSelect":{"__isSmartRef__":true,"id":4874},"onUpdate":{"__isSmartRef__":true,"id":4877}},"4874":{"varMapping":{"__isSmartRef__":true,"id":4875},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":4876},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4875":{"this":{"__isSmartRef__":true,"id":4831}},"4876":{},"4877":{"varMapping":{"__isSmartRef__":true,"id":4878},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":4879},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4878":{"this":{"__isSmartRef__":true,"id":4831}},"4879":{},"4880":{"data":42520,"inspector":{"__isSmartRef__":true,"id":3842},"parent":{"__isSmartRef__":true,"id":3707},"name":"lastFindLoc","description":"42520","attributeConnections":[{"__isSmartRef__":true,"id":4881}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4922}},"4881":{"sourceObj":{"__isSmartRef__":true,"id":4880},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":4882},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":4921},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4882":{"item":{"__isSmartRef__":true,"id":4880},"parent":{"__isSmartRef__":true,"id":3857},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":4883}],"scripts":[],"shape":{"__isSmartRef__":true,"id":4916},"eventHandler":{"__isSmartRef__":true,"id":4917},"_ClipMode":"visible","derivationIds":[],"id":"D079E2C2-CD5B-48C4-B709-4210EAB4CA3F","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"layout":{"__isSmartRef__":true,"id":4918},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":4884},"label":{"__isSmartRef__":true,"id":4897},"node":{"__isSmartRef__":true,"id":4883},"owner":{"__isSmartRef__":true,"id":3857},"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,400.0)"},"4883":{"submorphs":[{"__isSmartRef__":true,"id":4884},{"__isSmartRef__":true,"id":4897}],"scripts":[],"shape":{"__isSmartRef__":true,"id":4912},"eventHandler":{"__isSmartRef__":true,"id":4913},"_ClipMode":"visible","derivationIds":[],"id":"60CF9B80-95E0-4075-BC9D-838FFD67EFFB","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":4914},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":4882},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"4884":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":4885},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":4886}],"eventHandler":{"__isSmartRef__":true,"id":4888},"_ClipMode":"visible","derivationIds":[],"id":"F206BAA5-8EA0-4E45-ADF6-CC0C02F19D94","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":4883},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4889},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"4885":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"4886":{"style":{"__isSmartRef__":true,"id":4887},"chunkOwner":{"__isSmartRef__":true,"id":4884},"_id":"_7043","storedString":"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4887":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4888":{"morph":{"__isSmartRef__":true,"id":4884},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4889":{"onMouseDown":{"__isSmartRef__":true,"id":4890}},"4890":{"varMapping":{"__isSmartRef__":true,"id":4891},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":4896},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4891":{"this":{"__isSmartRef__":true,"id":4884},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4892}},"4892":{"$super":{"__isSmartRef__":true,"id":4893}},"4893":{"varMapping":{"__isSmartRef__":true,"id":4894},"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":4895},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4894":{"obj":{"__isSmartRef__":true,"id":4884},"name":"onMouseDown"},"4895":{},"4896":{},"4897":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":4898},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":4899},{"__isSmartRef__":true,"id":4901}],"eventHandler":{"__isSmartRef__":true,"id":4903},"_ClipMode":"visible","derivationIds":[],"id":"7DB6CE4B-32D5-4181-BA7F-1CC5B92D0409","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":4883},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4904},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"4898":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(106.0,17.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"4899":{"style":{"__isSmartRef__":true,"id":4900},"chunkOwner":{"__isSmartRef__":true,"id":4897},"_id":"_22268","storedString":"lastFindLoc","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4900":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4901":{"style":{"__isSmartRef__":true,"id":4902},"chunkOwner":{"__isSmartRef__":true,"id":4897},"_id":"_22269","storedString":" 42520","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4902":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"4903":{"morph":{"__isSmartRef__":true,"id":4897},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4904":{"onMouseDown":{"__isSmartRef__":true,"id":4905}},"4905":{"varMapping":{"__isSmartRef__":true,"id":4906},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":4911},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4906":{"this":{"__isSmartRef__":true,"id":4897},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4907}},"4907":{"$super":{"__isSmartRef__":true,"id":4908}},"4908":{"varMapping":{"__isSmartRef__":true,"id":4909},"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":4910},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4909":{"obj":{"__isSmartRef__":true,"id":4897},"name":"onMouseDown"},"4910":{},"4911":{},"4912":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"4913":{"morph":{"__isSmartRef__":true,"id":4883},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4914":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":4915}},"4915":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":4883},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"4916":{"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"_BorderWidth":0,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"4917":{"morph":{"__isSmartRef__":true,"id":4882},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4918":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":4919}},"4919":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":4920},"spacing":0,"container":{"__isSmartRef__":true,"id":4882},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"4920":{"top":0,"right":0,"bottom":0,"left":0},"4921":{"source":{"__isSmartRef__":true,"id":4880},"target":{"__isSmartRef__":true,"id":4882}},"4922":{"onSelect":{"__isSmartRef__":true,"id":4923},"onUpdate":{"__isSmartRef__":true,"id":4926}},"4923":{"varMapping":{"__isSmartRef__":true,"id":4924},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":4925},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4924":{"this":{"__isSmartRef__":true,"id":4880}},"4925":{},"4926":{"varMapping":{"__isSmartRef__":true,"id":4927},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":4928},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4927":{"this":{"__isSmartRef__":true,"id":4880}},"4928":{},"4929":{"data":{"__isSmartRef__":true,"id":3712},"inspector":{"__isSmartRef__":true,"id":3842},"parent":{"__isSmartRef__":true,"id":3707},"name":"layout","description":"{...}","children":[],"attributeConnections":[{"__isSmartRef__":true,"id":4930}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4971}},"4930":{"sourceObj":{"__isSmartRef__":true,"id":4929},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":4931},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":4970},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4931":{"item":{"__isSmartRef__":true,"id":4929},"parent":{"__isSmartRef__":true,"id":3857},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":4932}],"scripts":[],"shape":{"__isSmartRef__":true,"id":4965},"eventHandler":{"__isSmartRef__":true,"id":4966},"_ClipMode":"visible","derivationIds":[],"id":"DF63A60E-B907-4C42-BD8C-34D212670201","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"layout":{"__isSmartRef__":true,"id":4967},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":4933},"label":{"__isSmartRef__":true,"id":4946},"node":{"__isSmartRef__":true,"id":4932},"owner":{"__isSmartRef__":true,"id":3857},"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,420.0)"},"4932":{"submorphs":[{"__isSmartRef__":true,"id":4933},{"__isSmartRef__":true,"id":4946}],"scripts":[],"shape":{"__isSmartRef__":true,"id":4961},"eventHandler":{"__isSmartRef__":true,"id":4962},"_ClipMode":"visible","derivationIds":[],"id":"5788322E-BDE7-4CA1-9722-B60D46A7888B","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":4963},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":4931},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"4933":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":4934},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":4935}],"eventHandler":{"__isSmartRef__":true,"id":4937},"_ClipMode":"visible","derivationIds":[],"id":"AB19E857-77A7-43CB-83EA-D334CD8F7176","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":4932},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4938},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"4934":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"4935":{"style":{"__isSmartRef__":true,"id":4936},"chunkOwner":{"__isSmartRef__":true,"id":4933},"_id":"_7048","storedString":"►","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4936":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4937":{"morph":{"__isSmartRef__":true,"id":4933},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4938":{"onMouseDown":{"__isSmartRef__":true,"id":4939}},"4939":{"varMapping":{"__isSmartRef__":true,"id":4940},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":4945},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4940":{"this":{"__isSmartRef__":true,"id":4933},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4941}},"4941":{"$super":{"__isSmartRef__":true,"id":4942}},"4942":{"varMapping":{"__isSmartRef__":true,"id":4943},"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":4944},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4943":{"obj":{"__isSmartRef__":true,"id":4933},"name":"onMouseDown"},"4944":{},"4945":{},"4946":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":4947},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":4948},{"__isSmartRef__":true,"id":4950}],"eventHandler":{"__isSmartRef__":true,"id":4952},"_ClipMode":"visible","derivationIds":[],"id":"B5F6EE76-81C5-4CD6-A46E-913E2373203B","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":4932},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4953},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"4947":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(59.0,17.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"4948":{"style":{"__isSmartRef__":true,"id":4949},"chunkOwner":{"__isSmartRef__":true,"id":4946},"_id":"_22270","storedString":"layout","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4949":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4950":{"style":{"__isSmartRef__":true,"id":4951},"chunkOwner":{"__isSmartRef__":true,"id":4946},"_id":"_22271","storedString":" {...}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4951":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"4952":{"morph":{"__isSmartRef__":true,"id":4946},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4953":{"onMouseDown":{"__isSmartRef__":true,"id":4954}},"4954":{"varMapping":{"__isSmartRef__":true,"id":4955},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":4960},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4955":{"this":{"__isSmartRef__":true,"id":4946},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4956}},"4956":{"$super":{"__isSmartRef__":true,"id":4957}},"4957":{"varMapping":{"__isSmartRef__":true,"id":4958},"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":4959},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4958":{"obj":{"__isSmartRef__":true,"id":4946},"name":"onMouseDown"},"4959":{},"4960":{},"4961":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"4962":{"morph":{"__isSmartRef__":true,"id":4932},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4963":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":4964}},"4964":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":4932},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"4965":{"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"_BorderWidth":0,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"4966":{"morph":{"__isSmartRef__":true,"id":4931},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4967":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":4968}},"4968":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":4969},"spacing":0,"container":{"__isSmartRef__":true,"id":4931},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"4969":{"top":0,"right":0,"bottom":0,"left":0},"4970":{"source":{"__isSmartRef__":true,"id":4929},"target":{"__isSmartRef__":true,"id":4931}},"4971":{"onSelect":{"__isSmartRef__":true,"id":4972},"onExpand":{"__isSmartRef__":true,"id":4975},"onUpdateChildren":{"__isSmartRef__":true,"id":4978},"onUpdate":{"__isSmartRef__":true,"id":4981}},"4972":{"varMapping":{"__isSmartRef__":true,"id":4973},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":4974},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4973":{"this":{"__isSmartRef__":true,"id":4929}},"4974":{},"4975":{"varMapping":{"__isSmartRef__":true,"id":4976},"source":"function onExpand() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":4977},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4976":{"this":{"__isSmartRef__":true,"id":4929}},"4977":{},"4978":{"varMapping":{"__isSmartRef__":true,"id":4979},"source":"function onUpdateChildren() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":4980},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4979":{"this":{"__isSmartRef__":true,"id":4929}},"4980":{},"4981":{"varMapping":{"__isSmartRef__":true,"id":4982},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":4983},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4982":{"this":{"__isSmartRef__":true,"id":4929}},"4983":{},"4984":{"data":{"__isSmartRef__":true,"id":3706},"inspector":{"__isSmartRef__":true,"id":3842},"parent":{"__isSmartRef__":true,"id":3707},"name":"owner","description":"Window","children":[],"attributeConnections":[{"__isSmartRef__":true,"id":4985}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5026}},"4985":{"sourceObj":{"__isSmartRef__":true,"id":4984},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":4986},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":5025},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4986":{"item":{"__isSmartRef__":true,"id":4984},"parent":{"__isSmartRef__":true,"id":3857},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":4987}],"scripts":[],"shape":{"__isSmartRef__":true,"id":5020},"eventHandler":{"__isSmartRef__":true,"id":5021},"_ClipMode":"visible","derivationIds":[],"id":"4845DFE3-7007-475C-B5AF-9AE15513549A","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"layout":{"__isSmartRef__":true,"id":5022},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":4988},"label":{"__isSmartRef__":true,"id":5001},"node":{"__isSmartRef__":true,"id":4987},"owner":{"__isSmartRef__":true,"id":3857},"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,440.0)"},"4987":{"submorphs":[{"__isSmartRef__":true,"id":4988},{"__isSmartRef__":true,"id":5001}],"scripts":[],"shape":{"__isSmartRef__":true,"id":5016},"eventHandler":{"__isSmartRef__":true,"id":5017},"_ClipMode":"visible","derivationIds":[],"id":"55887A0A-A6C4-4625-BBB2-BC022996AE58","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":5018},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":4986},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"4988":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":4989},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":4990}],"eventHandler":{"__isSmartRef__":true,"id":4992},"_ClipMode":"visible","derivationIds":[],"id":"6900799E-F00E-449D-B248-D0A14748CAB4","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":4987},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4993},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"4989":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"4990":{"style":{"__isSmartRef__":true,"id":4991},"chunkOwner":{"__isSmartRef__":true,"id":4988},"_id":"_7053","storedString":"►","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4991":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4992":{"morph":{"__isSmartRef__":true,"id":4988},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4993":{"onMouseDown":{"__isSmartRef__":true,"id":4994}},"4994":{"varMapping":{"__isSmartRef__":true,"id":4995},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":5000},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4995":{"this":{"__isSmartRef__":true,"id":4988},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4996}},"4996":{"$super":{"__isSmartRef__":true,"id":4997}},"4997":{"varMapping":{"__isSmartRef__":true,"id":4998},"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":4999},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4998":{"obj":{"__isSmartRef__":true,"id":4988},"name":"onMouseDown"},"4999":{},"5000":{},"5001":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":5002},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":5003},{"__isSmartRef__":true,"id":5005}],"eventHandler":{"__isSmartRef__":true,"id":5007},"_ClipMode":"visible","derivationIds":[],"id":"EDF56791-5D8A-427F-8448-C7441224F601","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":4987},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5008},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"5002":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(86.0,17.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"5003":{"style":{"__isSmartRef__":true,"id":5004},"chunkOwner":{"__isSmartRef__":true,"id":5001},"_id":"_22272","storedString":"owner","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5004":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5005":{"style":{"__isSmartRef__":true,"id":5006},"chunkOwner":{"__isSmartRef__":true,"id":5001},"_id":"_22273","storedString":" Window","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5006":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"5007":{"morph":{"__isSmartRef__":true,"id":5001},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5008":{"onMouseDown":{"__isSmartRef__":true,"id":5009}},"5009":{"varMapping":{"__isSmartRef__":true,"id":5010},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":5015},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5010":{"this":{"__isSmartRef__":true,"id":5001},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5011}},"5011":{"$super":{"__isSmartRef__":true,"id":5012}},"5012":{"varMapping":{"__isSmartRef__":true,"id":5013},"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":5014},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5013":{"obj":{"__isSmartRef__":true,"id":5001},"name":"onMouseDown"},"5014":{},"5015":{},"5016":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"5017":{"morph":{"__isSmartRef__":true,"id":4987},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5018":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":5019}},"5019":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":4987},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"5020":{"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"_BorderWidth":0,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"5021":{"morph":{"__isSmartRef__":true,"id":4986},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5022":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":5023}},"5023":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":5024},"spacing":0,"container":{"__isSmartRef__":true,"id":4986},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"5024":{"top":0,"right":0,"bottom":0,"left":0},"5025":{"source":{"__isSmartRef__":true,"id":4984},"target":{"__isSmartRef__":true,"id":4986}},"5026":{"onSelect":{"__isSmartRef__":true,"id":5027},"onExpand":{"__isSmartRef__":true,"id":5030},"onUpdateChildren":{"__isSmartRef__":true,"id":5033},"onUpdate":{"__isSmartRef__":true,"id":5036}},"5027":{"varMapping":{"__isSmartRef__":true,"id":5028},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":5029},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5028":{"this":{"__isSmartRef__":true,"id":4984}},"5029":{},"5030":{"varMapping":{"__isSmartRef__":true,"id":5031},"source":"function onExpand() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":5032},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5031":{"this":{"__isSmartRef__":true,"id":4984}},"5032":{},"5033":{"varMapping":{"__isSmartRef__":true,"id":5034},"source":"function onUpdateChildren() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":5035},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5034":{"this":{"__isSmartRef__":true,"id":4984}},"5035":{},"5036":{"varMapping":{"__isSmartRef__":true,"id":5037},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":5038},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5037":{"this":{"__isSmartRef__":true,"id":4984}},"5038":{},"5039":{"data":null,"inspector":{"__isSmartRef__":true,"id":3842},"parent":{"__isSmartRef__":true,"id":3707},"name":"parseErrors","description":"null","attributeConnections":[{"__isSmartRef__":true,"id":5040}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5081}},"5040":{"sourceObj":{"__isSmartRef__":true,"id":5039},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":5041},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":5080},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5041":{"item":{"__isSmartRef__":true,"id":5039},"parent":{"__isSmartRef__":true,"id":3857},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":5042}],"scripts":[],"shape":{"__isSmartRef__":true,"id":5075},"eventHandler":{"__isSmartRef__":true,"id":5076},"_ClipMode":"visible","derivationIds":[],"id":"688939A3-0C52-4B6A-8378-187FE7132E4E","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"layout":{"__isSmartRef__":true,"id":5077},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":5043},"label":{"__isSmartRef__":true,"id":5056},"node":{"__isSmartRef__":true,"id":5042},"owner":{"__isSmartRef__":true,"id":3857},"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,460.0)"},"5042":{"submorphs":[{"__isSmartRef__":true,"id":5043},{"__isSmartRef__":true,"id":5056}],"scripts":[],"shape":{"__isSmartRef__":true,"id":5071},"eventHandler":{"__isSmartRef__":true,"id":5072},"_ClipMode":"visible","derivationIds":[],"id":"4321ED06-FEB5-41D8-A882-13894DBCCF7D","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":5073},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":5041},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"5043":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":5044},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":5045}],"eventHandler":{"__isSmartRef__":true,"id":5047},"_ClipMode":"visible","derivationIds":[],"id":"B5DE2589-6D42-43D0-950D-CC5C03AA3637","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":5042},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5048},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"5044":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"5045":{"style":{"__isSmartRef__":true,"id":5046},"chunkOwner":{"__isSmartRef__":true,"id":5043},"_id":"_7058","storedString":"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5046":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5047":{"morph":{"__isSmartRef__":true,"id":5043},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5048":{"onMouseDown":{"__isSmartRef__":true,"id":5049}},"5049":{"varMapping":{"__isSmartRef__":true,"id":5050},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":5055},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5050":{"this":{"__isSmartRef__":true,"id":5043},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5051}},"5051":{"$super":{"__isSmartRef__":true,"id":5052}},"5052":{"varMapping":{"__isSmartRef__":true,"id":5053},"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":5054},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5053":{"obj":{"__isSmartRef__":true,"id":5043},"name":"onMouseDown"},"5054":{},"5055":{},"5056":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":5057},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":5058},{"__isSmartRef__":true,"id":5060}],"eventHandler":{"__isSmartRef__":true,"id":5062},"_ClipMode":"visible","derivationIds":[],"id":"375B2FA4-BA9A-4974-8EED-8F8BFDD24648","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":5042},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5063},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"5057":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(91.0,17.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"5058":{"style":{"__isSmartRef__":true,"id":5059},"chunkOwner":{"__isSmartRef__":true,"id":5056},"_id":"_22274","storedString":"parseErrors","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5059":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5060":{"style":{"__isSmartRef__":true,"id":5061},"chunkOwner":{"__isSmartRef__":true,"id":5056},"_id":"_22275","storedString":" null","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5061":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"5062":{"morph":{"__isSmartRef__":true,"id":5056},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5063":{"onMouseDown":{"__isSmartRef__":true,"id":5064}},"5064":{"varMapping":{"__isSmartRef__":true,"id":5065},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":5070},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5065":{"this":{"__isSmartRef__":true,"id":5056},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5066}},"5066":{"$super":{"__isSmartRef__":true,"id":5067}},"5067":{"varMapping":{"__isSmartRef__":true,"id":5068},"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":5069},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5068":{"obj":{"__isSmartRef__":true,"id":5056},"name":"onMouseDown"},"5069":{},"5070":{},"5071":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"5072":{"morph":{"__isSmartRef__":true,"id":5042},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5073":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":5074}},"5074":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":5042},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"5075":{"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"_BorderWidth":0,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"5076":{"morph":{"__isSmartRef__":true,"id":5041},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5077":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":5078}},"5078":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":5079},"spacing":0,"container":{"__isSmartRef__":true,"id":5041},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"5079":{"top":0,"right":0,"bottom":0,"left":0},"5080":{"source":{"__isSmartRef__":true,"id":5039},"target":{"__isSmartRef__":true,"id":5041}},"5081":{"onSelect":{"__isSmartRef__":true,"id":5082},"onUpdate":{"__isSmartRef__":true,"id":5085}},"5082":{"varMapping":{"__isSmartRef__":true,"id":5083},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":5084},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5083":{"this":{"__isSmartRef__":true,"id":5039}},"5084":{},"5085":{"varMapping":{"__isSmartRef__":true,"id":5086},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":5087},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5086":{"this":{"__isSmartRef__":true,"id":5039}},"5087":{},"5088":{"data":null,"inspector":{"__isSmartRef__":true,"id":3842},"parent":{"__isSmartRef__":true,"id":3707},"name":"previousSelection","description":"null","attributeConnections":[{"__isSmartRef__":true,"id":5089}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5130}},"5089":{"sourceObj":{"__isSmartRef__":true,"id":5088},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":5090},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":5129},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5090":{"item":{"__isSmartRef__":true,"id":5088},"parent":{"__isSmartRef__":true,"id":3857},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":5091}],"scripts":[],"shape":{"__isSmartRef__":true,"id":5124},"eventHandler":{"__isSmartRef__":true,"id":5125},"_ClipMode":"visible","derivationIds":[],"id":"C9C56502-5010-4EA6-84C6-A8EF72BF0FAC","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"layout":{"__isSmartRef__":true,"id":5126},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":5092},"label":{"__isSmartRef__":true,"id":5105},"node":{"__isSmartRef__":true,"id":5091},"owner":{"__isSmartRef__":true,"id":3857},"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,480.0)"},"5091":{"submorphs":[{"__isSmartRef__":true,"id":5092},{"__isSmartRef__":true,"id":5105}],"scripts":[],"shape":{"__isSmartRef__":true,"id":5120},"eventHandler":{"__isSmartRef__":true,"id":5121},"_ClipMode":"visible","derivationIds":[],"id":"95196B4C-622F-4C32-8086-5378BEEA9B8F","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":5122},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":5090},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"5092":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":5093},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":5094}],"eventHandler":{"__isSmartRef__":true,"id":5096},"_ClipMode":"visible","derivationIds":[],"id":"BA1A3217-0198-44FB-9158-ABA028E93741","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":5091},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5097},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"5093":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"5094":{"style":{"__isSmartRef__":true,"id":5095},"chunkOwner":{"__isSmartRef__":true,"id":5092},"_id":"_7063","storedString":"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5095":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5096":{"morph":{"__isSmartRef__":true,"id":5092},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5097":{"onMouseDown":{"__isSmartRef__":true,"id":5098}},"5098":{"varMapping":{"__isSmartRef__":true,"id":5099},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":5104},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5099":{"this":{"__isSmartRef__":true,"id":5092},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5100}},"5100":{"$super":{"__isSmartRef__":true,"id":5101}},"5101":{"varMapping":{"__isSmartRef__":true,"id":5102},"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":5103},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5102":{"obj":{"__isSmartRef__":true,"id":5092},"name":"onMouseDown"},"5103":{},"5104":{},"5105":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":5106},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":5107},{"__isSmartRef__":true,"id":5109}],"eventHandler":{"__isSmartRef__":true,"id":5111},"_ClipMode":"visible","derivationIds":[],"id":"C7F92504-42F2-4F4B-8F7A-FC5207CCFEFD","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":5091},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5112},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"5106":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(127.0,17.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"5107":{"style":{"__isSmartRef__":true,"id":5108},"chunkOwner":{"__isSmartRef__":true,"id":5105},"_id":"_22276","storedString":"previousSelection","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5108":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5109":{"style":{"__isSmartRef__":true,"id":5110},"chunkOwner":{"__isSmartRef__":true,"id":5105},"_id":"_22277","storedString":" null","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5110":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"5111":{"morph":{"__isSmartRef__":true,"id":5105},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5112":{"onMouseDown":{"__isSmartRef__":true,"id":5113}},"5113":{"varMapping":{"__isSmartRef__":true,"id":5114},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":5119},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5114":{"this":{"__isSmartRef__":true,"id":5105},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5115}},"5115":{"$super":{"__isSmartRef__":true,"id":5116}},"5116":{"varMapping":{"__isSmartRef__":true,"id":5117},"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":5118},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5117":{"obj":{"__isSmartRef__":true,"id":5105},"name":"onMouseDown"},"5118":{},"5119":{},"5120":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"5121":{"morph":{"__isSmartRef__":true,"id":5091},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5122":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":5123}},"5123":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":5091},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"5124":{"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"_BorderWidth":0,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"5125":{"morph":{"__isSmartRef__":true,"id":5090},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5126":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":5127}},"5127":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":5128},"spacing":0,"container":{"__isSmartRef__":true,"id":5090},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"5128":{"top":0,"right":0,"bottom":0,"left":0},"5129":{"source":{"__isSmartRef__":true,"id":5088},"target":{"__isSmartRef__":true,"id":5090}},"5130":{"onSelect":{"__isSmartRef__":true,"id":5131},"onUpdate":{"__isSmartRef__":true,"id":5134}},"5131":{"varMapping":{"__isSmartRef__":true,"id":5132},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":5133},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5132":{"this":{"__isSmartRef__":true,"id":5088}},"5133":{},"5134":{"varMapping":{"__isSmartRef__":true,"id":5135},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":5136},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5135":{"this":{"__isSmartRef__":true,"id":5088}},"5136":{},"5137":{"__serializedExpressions__":["data"],"inspector":{"__isSmartRef__":true,"id":3842},"parent":{"__isSmartRef__":true,"id":3707},"name":"priorExtent","description":"Point","children":[],"attributeConnections":[{"__isSmartRef__":true,"id":5138}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5179},"data":"lively.pt(1000.0,367.0)"},"5138":{"sourceObj":{"__isSmartRef__":true,"id":5137},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":5139},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":5178},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5139":{"item":{"__isSmartRef__":true,"id":5137},"parent":{"__isSmartRef__":true,"id":3857},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":5140}],"scripts":[],"shape":{"__isSmartRef__":true,"id":5173},"eventHandler":{"__isSmartRef__":true,"id":5174},"_ClipMode":"visible","derivationIds":[],"id":"A8DA3D28-3498-4CD8-8300-9B922F630ACE","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"layout":{"__isSmartRef__":true,"id":5175},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":5141},"label":{"__isSmartRef__":true,"id":5154},"node":{"__isSmartRef__":true,"id":5140},"owner":{"__isSmartRef__":true,"id":3857},"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,500.0)"},"5140":{"submorphs":[{"__isSmartRef__":true,"id":5141},{"__isSmartRef__":true,"id":5154}],"scripts":[],"shape":{"__isSmartRef__":true,"id":5169},"eventHandler":{"__isSmartRef__":true,"id":5170},"_ClipMode":"visible","derivationIds":[],"id":"E3779825-A014-44D0-8AE1-926923AB2FA5","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":5171},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":5139},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"5141":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":5142},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":5143}],"eventHandler":{"__isSmartRef__":true,"id":5145},"_ClipMode":"visible","derivationIds":[],"id":"054581BB-A384-4201-AAB1-128CD4E977D3","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":5140},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5146},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"5142":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"5143":{"style":{"__isSmartRef__":true,"id":5144},"chunkOwner":{"__isSmartRef__":true,"id":5141},"_id":"_7068","storedString":"►","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5144":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5145":{"morph":{"__isSmartRef__":true,"id":5141},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5146":{"onMouseDown":{"__isSmartRef__":true,"id":5147}},"5147":{"varMapping":{"__isSmartRef__":true,"id":5148},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":5153},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5148":{"this":{"__isSmartRef__":true,"id":5141},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5149}},"5149":{"$super":{"__isSmartRef__":true,"id":5150}},"5150":{"varMapping":{"__isSmartRef__":true,"id":5151},"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":5152},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5151":{"obj":{"__isSmartRef__":true,"id":5141},"name":"onMouseDown"},"5152":{},"5153":{},"5154":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":5155},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":5156},{"__isSmartRef__":true,"id":5158}],"eventHandler":{"__isSmartRef__":true,"id":5160},"_ClipMode":"visible","derivationIds":[],"id":"873FB3E9-245C-4BE8-A8D2-31A737ADBD4C","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":5140},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5161},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"5155":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(97.0,17.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"5156":{"style":{"__isSmartRef__":true,"id":5157},"chunkOwner":{"__isSmartRef__":true,"id":5154},"_id":"_22278","storedString":"priorExtent","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5157":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5158":{"style":{"__isSmartRef__":true,"id":5159},"chunkOwner":{"__isSmartRef__":true,"id":5154},"_id":"_22279","storedString":" Point","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5159":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"5160":{"morph":{"__isSmartRef__":true,"id":5154},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5161":{"onMouseDown":{"__isSmartRef__":true,"id":5162}},"5162":{"varMapping":{"__isSmartRef__":true,"id":5163},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":5168},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5163":{"this":{"__isSmartRef__":true,"id":5154},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5164}},"5164":{"$super":{"__isSmartRef__":true,"id":5165}},"5165":{"varMapping":{"__isSmartRef__":true,"id":5166},"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":5167},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5166":{"obj":{"__isSmartRef__":true,"id":5154},"name":"onMouseDown"},"5167":{},"5168":{},"5169":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"5170":{"morph":{"__isSmartRef__":true,"id":5140},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5171":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":5172}},"5172":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":5140},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"5173":{"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"_BorderWidth":0,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"5174":{"morph":{"__isSmartRef__":true,"id":5139},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5175":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":5176}},"5176":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":5177},"spacing":0,"container":{"__isSmartRef__":true,"id":5139},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"5177":{"top":0,"right":0,"bottom":0,"left":0},"5178":{"source":{"__isSmartRef__":true,"id":5137},"target":{"__isSmartRef__":true,"id":5139}},"5179":{"onSelect":{"__isSmartRef__":true,"id":5180},"onExpand":{"__isSmartRef__":true,"id":5183},"onUpdateChildren":{"__isSmartRef__":true,"id":5186},"onUpdate":{"__isSmartRef__":true,"id":5189}},"5180":{"varMapping":{"__isSmartRef__":true,"id":5181},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":5182},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5181":{"this":{"__isSmartRef__":true,"id":5137}},"5182":{},"5183":{"varMapping":{"__isSmartRef__":true,"id":5184},"source":"function onExpand() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":5185},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5184":{"this":{"__isSmartRef__":true,"id":5137}},"5185":{},"5186":{"varMapping":{"__isSmartRef__":true,"id":5187},"source":"function onUpdateChildren() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":5188},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5187":{"this":{"__isSmartRef__":true,"id":5137}},"5188":{},"5189":{"varMapping":{"__isSmartRef__":true,"id":5190},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":5191},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5190":{"this":{"__isSmartRef__":true,"id":5137}},"5191":{},"5192":{"data":[1249,1249],"inspector":{"__isSmartRef__":true,"id":3842},"parent":{"__isSmartRef__":true,"id":3707},"name":"priorSelectionRange","description":"[...]","attributeConnections":[{"__isSmartRef__":true,"id":5193}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5234}},"5193":{"sourceObj":{"__isSmartRef__":true,"id":5192},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":5194},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":5233},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5194":{"item":{"__isSmartRef__":true,"id":5192},"parent":{"__isSmartRef__":true,"id":3857},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":5195}],"scripts":[],"shape":{"__isSmartRef__":true,"id":5228},"eventHandler":{"__isSmartRef__":true,"id":5229},"_ClipMode":"visible","derivationIds":[],"id":"B05476E7-8C0B-415A-8605-40C01E2D5AE2","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"layout":{"__isSmartRef__":true,"id":5230},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":5196},"label":{"__isSmartRef__":true,"id":5209},"node":{"__isSmartRef__":true,"id":5195},"owner":{"__isSmartRef__":true,"id":3857},"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,520.0)"},"5195":{"submorphs":[{"__isSmartRef__":true,"id":5196},{"__isSmartRef__":true,"id":5209}],"scripts":[],"shape":{"__isSmartRef__":true,"id":5224},"eventHandler":{"__isSmartRef__":true,"id":5225},"_ClipMode":"visible","derivationIds":[],"id":"88C70195-1DC5-4E15-A11E-D1CC9F1EBBA7","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":5226},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":5194},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"5196":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":5197},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":5198}],"eventHandler":{"__isSmartRef__":true,"id":5200},"_ClipMode":"visible","derivationIds":[],"id":"15D82DA1-2E58-4899-8891-6778231EA153","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":5195},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5201},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"5197":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"5198":{"style":{"__isSmartRef__":true,"id":5199},"chunkOwner":{"__isSmartRef__":true,"id":5196},"_id":"_11422","storedString":"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5199":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5200":{"morph":{"__isSmartRef__":true,"id":5196},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5201":{"onMouseDown":{"__isSmartRef__":true,"id":5202}},"5202":{"varMapping":{"__isSmartRef__":true,"id":5203},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":5208},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5203":{"this":{"__isSmartRef__":true,"id":5196},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5204}},"5204":{"$super":{"__isSmartRef__":true,"id":5205}},"5205":{"varMapping":{"__isSmartRef__":true,"id":5206},"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":5207},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5206":{"obj":{"__isSmartRef__":true,"id":5196},"name":"onMouseDown"},"5207":{},"5208":{},"5209":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":5210},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":5211},{"__isSmartRef__":true,"id":5213}],"eventHandler":{"__isSmartRef__":true,"id":5215},"_ClipMode":"visible","derivationIds":[],"id":"33A67E3C-90AA-499D-BB75-14ED2E41D6DD","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":5195},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5216},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"5210":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(141.0,17.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"5211":{"style":{"__isSmartRef__":true,"id":5212},"chunkOwner":{"__isSmartRef__":true,"id":5209},"_id":"_22280","storedString":"priorSelectionRange","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5212":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5213":{"style":{"__isSmartRef__":true,"id":5214},"chunkOwner":{"__isSmartRef__":true,"id":5209},"_id":"_22281","storedString":" [...]","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5214":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"5215":{"morph":{"__isSmartRef__":true,"id":5209},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5216":{"onMouseDown":{"__isSmartRef__":true,"id":5217}},"5217":{"varMapping":{"__isSmartRef__":true,"id":5218},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":5223},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5218":{"this":{"__isSmartRef__":true,"id":5209},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5219}},"5219":{"$super":{"__isSmartRef__":true,"id":5220}},"5220":{"varMapping":{"__isSmartRef__":true,"id":5221},"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":5222},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5221":{"obj":{"__isSmartRef__":true,"id":5209},"name":"onMouseDown"},"5222":{},"5223":{},"5224":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"5225":{"morph":{"__isSmartRef__":true,"id":5195},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5226":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":5227}},"5227":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":5195},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"5228":{"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"_BorderWidth":0,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"5229":{"morph":{"__isSmartRef__":true,"id":5194},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5230":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":5231}},"5231":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":5232},"spacing":0,"container":{"__isSmartRef__":true,"id":5194},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"5232":{"top":0,"right":0,"bottom":0,"left":0},"5233":{"source":{"__isSmartRef__":true,"id":5192},"target":{"__isSmartRef__":true,"id":5194}},"5234":{"onSelect":{"__isSmartRef__":true,"id":5235},"onUpdate":{"__isSmartRef__":true,"id":5238}},"5235":{"varMapping":{"__isSmartRef__":true,"id":5236},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":5237},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5236":{"this":{"__isSmartRef__":true,"id":5192}},"5237":{},"5238":{"varMapping":{"__isSmartRef__":true,"id":5239},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":5240},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5239":{"this":{"__isSmartRef__":true,"id":5192}},"5240":{},"5241":{"data":[],"inspector":{"__isSmartRef__":true,"id":3842},"parent":{"__isSmartRef__":true,"id":3707},"name":"scripts","description":"[]","children":[],"attributeConnections":[{"__isSmartRef__":true,"id":5242}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5283}},"5242":{"sourceObj":{"__isSmartRef__":true,"id":5241},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":5243},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":5282},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5243":{"item":{"__isSmartRef__":true,"id":5241},"parent":{"__isSmartRef__":true,"id":3857},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":5244}],"scripts":[],"shape":{"__isSmartRef__":true,"id":5277},"eventHandler":{"__isSmartRef__":true,"id":5278},"_ClipMode":"visible","derivationIds":[],"id":"78A48439-A1D3-40D9-B446-0C751600955C","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"layout":{"__isSmartRef__":true,"id":5279},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":5245},"label":{"__isSmartRef__":true,"id":5258},"node":{"__isSmartRef__":true,"id":5244},"owner":{"__isSmartRef__":true,"id":3857},"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,540.0)"},"5244":{"submorphs":[{"__isSmartRef__":true,"id":5245},{"__isSmartRef__":true,"id":5258}],"scripts":[],"shape":{"__isSmartRef__":true,"id":5273},"eventHandler":{"__isSmartRef__":true,"id":5274},"_ClipMode":"visible","derivationIds":[],"id":"B6C3499C-4657-46CA-B827-E5DDE8478E70","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":5275},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":5243},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"5245":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":5246},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":5247}],"eventHandler":{"__isSmartRef__":true,"id":5249},"_ClipMode":"visible","derivationIds":[],"id":"1AB77D20-8EE3-4213-824E-8ED249D63C05","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":5244},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5250},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"5246":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"5247":{"style":{"__isSmartRef__":true,"id":5248},"chunkOwner":{"__isSmartRef__":true,"id":5245},"_id":"_7073","storedString":"►","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5248":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5249":{"morph":{"__isSmartRef__":true,"id":5245},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5250":{"onMouseDown":{"__isSmartRef__":true,"id":5251}},"5251":{"varMapping":{"__isSmartRef__":true,"id":5252},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":5257},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5252":{"this":{"__isSmartRef__":true,"id":5245},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5253}},"5253":{"$super":{"__isSmartRef__":true,"id":5254}},"5254":{"varMapping":{"__isSmartRef__":true,"id":5255},"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":5256},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5255":{"obj":{"__isSmartRef__":true,"id":5245},"name":"onMouseDown"},"5256":{},"5257":{},"5258":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":5259},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":5260},{"__isSmartRef__":true,"id":5262}],"eventHandler":{"__isSmartRef__":true,"id":5264},"_ClipMode":"visible","derivationIds":[],"id":"6920398B-CFEB-4849-84EF-FEB625E0F60B","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":5244},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5265},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"5259":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(51.0,17.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"5260":{"style":{"__isSmartRef__":true,"id":5261},"chunkOwner":{"__isSmartRef__":true,"id":5258},"_id":"_22282","storedString":"scripts","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5261":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5262":{"style":{"__isSmartRef__":true,"id":5263},"chunkOwner":{"__isSmartRef__":true,"id":5258},"_id":"_22283","storedString":" []","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5263":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"5264":{"morph":{"__isSmartRef__":true,"id":5258},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5265":{"onMouseDown":{"__isSmartRef__":true,"id":5266}},"5266":{"varMapping":{"__isSmartRef__":true,"id":5267},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":5272},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5267":{"this":{"__isSmartRef__":true,"id":5258},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5268}},"5268":{"$super":{"__isSmartRef__":true,"id":5269}},"5269":{"varMapping":{"__isSmartRef__":true,"id":5270},"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":5271},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5270":{"obj":{"__isSmartRef__":true,"id":5258},"name":"onMouseDown"},"5271":{},"5272":{},"5273":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"5274":{"morph":{"__isSmartRef__":true,"id":5244},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5275":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":5276}},"5276":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":5244},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"5277":{"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"_BorderWidth":0,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"5278":{"morph":{"__isSmartRef__":true,"id":5243},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5279":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":5280}},"5280":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":5281},"spacing":0,"container":{"__isSmartRef__":true,"id":5243},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"5281":{"top":0,"right":0,"bottom":0,"left":0},"5282":{"source":{"__isSmartRef__":true,"id":5241},"target":{"__isSmartRef__":true,"id":5243}},"5283":{"onSelect":{"__isSmartRef__":true,"id":5284},"onExpand":{"__isSmartRef__":true,"id":5287},"onUpdateChildren":{"__isSmartRef__":true,"id":5290},"onUpdate":{"__isSmartRef__":true,"id":5293}},"5284":{"varMapping":{"__isSmartRef__":true,"id":5285},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":5286},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5285":{"this":{"__isSmartRef__":true,"id":5241}},"5286":{},"5287":{"varMapping":{"__isSmartRef__":true,"id":5288},"source":"function onExpand() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":5289},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5288":{"this":{"__isSmartRef__":true,"id":5241}},"5289":{},"5290":{"varMapping":{"__isSmartRef__":true,"id":5291},"source":"function onUpdateChildren() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":5292},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5291":{"this":{"__isSmartRef__":true,"id":5241}},"5292":{},"5293":{"varMapping":{"__isSmartRef__":true,"id":5294},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":5295},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5294":{"this":{"__isSmartRef__":true,"id":5241}},"5295":{},"5296":{"data":{"__isSmartRef__":true,"id":3708},"inspector":{"__isSmartRef__":true,"id":3842},"parent":{"__isSmartRef__":true,"id":3707},"name":"shape","description":"Rectangle","children":[],"attributeConnections":[{"__isSmartRef__":true,"id":5297}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5338}},"5297":{"sourceObj":{"__isSmartRef__":true,"id":5296},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":5298},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":5337},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5298":{"item":{"__isSmartRef__":true,"id":5296},"parent":{"__isSmartRef__":true,"id":3857},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":5299}],"scripts":[],"shape":{"__isSmartRef__":true,"id":5332},"eventHandler":{"__isSmartRef__":true,"id":5333},"_ClipMode":"visible","derivationIds":[],"id":"1C82BBF0-66D2-4F1D-9027-03243ACDE567","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"layout":{"__isSmartRef__":true,"id":5334},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":5300},"label":{"__isSmartRef__":true,"id":5313},"node":{"__isSmartRef__":true,"id":5299},"owner":{"__isSmartRef__":true,"id":3857},"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,560.0)"},"5299":{"submorphs":[{"__isSmartRef__":true,"id":5300},{"__isSmartRef__":true,"id":5313}],"scripts":[],"shape":{"__isSmartRef__":true,"id":5328},"eventHandler":{"__isSmartRef__":true,"id":5329},"_ClipMode":"visible","derivationIds":[],"id":"CCE8C43C-BA95-4A97-94DE-DC215733731D","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":5330},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":5298},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"5300":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":5301},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":5302}],"eventHandler":{"__isSmartRef__":true,"id":5304},"_ClipMode":"visible","derivationIds":[],"id":"6DACEBCA-761B-4B21-89EC-57B140765600","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":5299},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5305},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"5301":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"5302":{"style":{"__isSmartRef__":true,"id":5303},"chunkOwner":{"__isSmartRef__":true,"id":5300},"_id":"_7078","storedString":"►","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5303":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5304":{"morph":{"__isSmartRef__":true,"id":5300},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5305":{"onMouseDown":{"__isSmartRef__":true,"id":5306}},"5306":{"varMapping":{"__isSmartRef__":true,"id":5307},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":5312},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5307":{"this":{"__isSmartRef__":true,"id":5300},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5308}},"5308":{"$super":{"__isSmartRef__":true,"id":5309}},"5309":{"varMapping":{"__isSmartRef__":true,"id":5310},"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":5311},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5310":{"obj":{"__isSmartRef__":true,"id":5300},"name":"onMouseDown"},"5311":{},"5312":{},"5313":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":5314},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":5315},{"__isSmartRef__":true,"id":5317}],"eventHandler":{"__isSmartRef__":true,"id":5319},"_ClipMode":"visible","derivationIds":[],"id":"8B0CEECE-5585-4619-805E-A3937E47A0F8","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":5299},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5320},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"5314":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(98.0,17.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"5315":{"style":{"__isSmartRef__":true,"id":5316},"chunkOwner":{"__isSmartRef__":true,"id":5313},"_id":"_22284","storedString":"shape","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5316":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5317":{"style":{"__isSmartRef__":true,"id":5318},"chunkOwner":{"__isSmartRef__":true,"id":5313},"_id":"_22285","storedString":" Rectangle","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5318":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"5319":{"morph":{"__isSmartRef__":true,"id":5313},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5320":{"onMouseDown":{"__isSmartRef__":true,"id":5321}},"5321":{"varMapping":{"__isSmartRef__":true,"id":5322},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":5327},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5322":{"this":{"__isSmartRef__":true,"id":5313},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5323}},"5323":{"$super":{"__isSmartRef__":true,"id":5324}},"5324":{"varMapping":{"__isSmartRef__":true,"id":5325},"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":5326},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5325":{"obj":{"__isSmartRef__":true,"id":5313},"name":"onMouseDown"},"5326":{},"5327":{},"5328":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"5329":{"morph":{"__isSmartRef__":true,"id":5299},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5330":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":5331}},"5331":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":5299},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"5332":{"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"_BorderWidth":0,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"5333":{"morph":{"__isSmartRef__":true,"id":5298},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5334":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":5335}},"5335":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":5336},"spacing":0,"container":{"__isSmartRef__":true,"id":5298},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"5336":{"top":0,"right":0,"bottom":0,"left":0},"5337":{"source":{"__isSmartRef__":true,"id":5296},"target":{"__isSmartRef__":true,"id":5298}},"5338":{"onSelect":{"__isSmartRef__":true,"id":5339},"onExpand":{"__isSmartRef__":true,"id":5342},"onUpdateChildren":{"__isSmartRef__":true,"id":5345},"onUpdate":{"__isSmartRef__":true,"id":5348}},"5339":{"varMapping":{"__isSmartRef__":true,"id":5340},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":5341},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5340":{"this":{"__isSmartRef__":true,"id":5296}},"5341":{},"5342":{"varMapping":{"__isSmartRef__":true,"id":5343},"source":"function onExpand() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":5344},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5343":{"this":{"__isSmartRef__":true,"id":5296}},"5344":{},"5345":{"varMapping":{"__isSmartRef__":true,"id":5346},"source":"function onUpdateChildren() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":5347},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5346":{"this":{"__isSmartRef__":true,"id":5296}},"5347":{},"5348":{"varMapping":{"__isSmartRef__":true,"id":5349},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":5350},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5349":{"this":{"__isSmartRef__":true,"id":5296}},"5350":{},"5351":{"data":false,"inspector":{"__isSmartRef__":true,"id":3842},"parent":{"__isSmartRef__":true,"id":3707},"name":"showsHalos","description":"false","attributeConnections":[{"__isSmartRef__":true,"id":5352}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5393}},"5352":{"sourceObj":{"__isSmartRef__":true,"id":5351},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":5353},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":5392},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5353":{"item":{"__isSmartRef__":true,"id":5351},"parent":{"__isSmartRef__":true,"id":3857},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":5354}],"scripts":[],"shape":{"__isSmartRef__":true,"id":5387},"eventHandler":{"__isSmartRef__":true,"id":5388},"_ClipMode":"visible","derivationIds":[],"id":"FB7A67E7-6D41-4BC8-A781-17CD679E20F6","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"layout":{"__isSmartRef__":true,"id":5389},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":5355},"label":{"__isSmartRef__":true,"id":5368},"node":{"__isSmartRef__":true,"id":5354},"owner":{"__isSmartRef__":true,"id":3857},"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,580.0)"},"5354":{"submorphs":[{"__isSmartRef__":true,"id":5355},{"__isSmartRef__":true,"id":5368}],"scripts":[],"shape":{"__isSmartRef__":true,"id":5383},"eventHandler":{"__isSmartRef__":true,"id":5384},"_ClipMode":"visible","derivationIds":[],"id":"E2E627F8-014C-4751-9088-C46945F0B9A6","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":5385},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":5353},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"5355":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":5356},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":5357}],"eventHandler":{"__isSmartRef__":true,"id":5359},"_ClipMode":"visible","derivationIds":[],"id":"09874472-8DD4-4525-9C5D-4867463DE0BE","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":5354},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5360},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"5356":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"5357":{"style":{"__isSmartRef__":true,"id":5358},"chunkOwner":{"__isSmartRef__":true,"id":5355},"_id":"_7083","storedString":"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5358":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5359":{"morph":{"__isSmartRef__":true,"id":5355},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5360":{"onMouseDown":{"__isSmartRef__":true,"id":5361}},"5361":{"varMapping":{"__isSmartRef__":true,"id":5362},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":5367},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5362":{"this":{"__isSmartRef__":true,"id":5355},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5363}},"5363":{"$super":{"__isSmartRef__":true,"id":5364}},"5364":{"varMapping":{"__isSmartRef__":true,"id":5365},"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":5366},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5365":{"obj":{"__isSmartRef__":true,"id":5355},"name":"onMouseDown"},"5366":{},"5367":{},"5368":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":5369},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":5370},{"__isSmartRef__":true,"id":5372}],"eventHandler":{"__isSmartRef__":true,"id":5374},"_ClipMode":"visible","derivationIds":[],"id":"4668B5A1-10AB-44FB-8FC1-1058C2A2052A","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":5354},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5375},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"5369":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(104.0,17.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"5370":{"style":{"__isSmartRef__":true,"id":5371},"chunkOwner":{"__isSmartRef__":true,"id":5368},"_id":"_22286","storedString":"showsHalos","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5371":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5372":{"style":{"__isSmartRef__":true,"id":5373},"chunkOwner":{"__isSmartRef__":true,"id":5368},"_id":"_22287","storedString":" false","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5373":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"5374":{"morph":{"__isSmartRef__":true,"id":5368},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5375":{"onMouseDown":{"__isSmartRef__":true,"id":5376}},"5376":{"varMapping":{"__isSmartRef__":true,"id":5377},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":5382},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5377":{"this":{"__isSmartRef__":true,"id":5368},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5378}},"5378":{"$super":{"__isSmartRef__":true,"id":5379}},"5379":{"varMapping":{"__isSmartRef__":true,"id":5380},"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":5381},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5380":{"obj":{"__isSmartRef__":true,"id":5368},"name":"onMouseDown"},"5381":{},"5382":{},"5383":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"5384":{"morph":{"__isSmartRef__":true,"id":5354},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5385":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":5386}},"5386":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":5354},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"5387":{"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"_BorderWidth":0,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"5388":{"morph":{"__isSmartRef__":true,"id":5353},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5389":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":5390}},"5390":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":5391},"spacing":0,"container":{"__isSmartRef__":true,"id":5353},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"5391":{"top":0,"right":0,"bottom":0,"left":0},"5392":{"source":{"__isSmartRef__":true,"id":5351},"target":{"__isSmartRef__":true,"id":5353}},"5393":{"onSelect":{"__isSmartRef__":true,"id":5394},"onUpdate":{"__isSmartRef__":true,"id":5397}},"5394":{"varMapping":{"__isSmartRef__":true,"id":5395},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":5396},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5395":{"this":{"__isSmartRef__":true,"id":5351}},"5396":{},"5397":{"varMapping":{"__isSmartRef__":true,"id":5398},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":5399},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5398":{"this":{"__isSmartRef__":true,"id":5351}},"5399":{},"5400":{"data":[],"inspector":{"__isSmartRef__":true,"id":3842},"parent":{"__isSmartRef__":true,"id":3707},"name":"submorphs","description":"[]","children":[],"attributeConnections":[{"__isSmartRef__":true,"id":5401}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5442}},"5401":{"sourceObj":{"__isSmartRef__":true,"id":5400},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":5402},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":5441},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5402":{"item":{"__isSmartRef__":true,"id":5400},"parent":{"__isSmartRef__":true,"id":3857},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":5403}],"scripts":[],"shape":{"__isSmartRef__":true,"id":5436},"eventHandler":{"__isSmartRef__":true,"id":5437},"_ClipMode":"visible","derivationIds":[],"id":"47DC3556-1719-4B9E-BE50-41CF2C3CEA38","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"layout":{"__isSmartRef__":true,"id":5438},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":5404},"label":{"__isSmartRef__":true,"id":5417},"node":{"__isSmartRef__":true,"id":5403},"owner":{"__isSmartRef__":true,"id":3857},"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,600.0)"},"5403":{"submorphs":[{"__isSmartRef__":true,"id":5404},{"__isSmartRef__":true,"id":5417}],"scripts":[],"shape":{"__isSmartRef__":true,"id":5432},"eventHandler":{"__isSmartRef__":true,"id":5433},"_ClipMode":"visible","derivationIds":[],"id":"212002DD-1F46-4E47-BBB4-4A6A0D154271","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":5434},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":5402},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"5404":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":5405},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":5406}],"eventHandler":{"__isSmartRef__":true,"id":5408},"_ClipMode":"visible","derivationIds":[],"id":"D320F238-5E97-476A-8D6D-901C0201DDA5","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":5403},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5409},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"5405":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"5406":{"style":{"__isSmartRef__":true,"id":5407},"chunkOwner":{"__isSmartRef__":true,"id":5404},"_id":"_7088","storedString":"►","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5407":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5408":{"morph":{"__isSmartRef__":true,"id":5404},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5409":{"onMouseDown":{"__isSmartRef__":true,"id":5410}},"5410":{"varMapping":{"__isSmartRef__":true,"id":5411},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":5416},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5411":{"this":{"__isSmartRef__":true,"id":5404},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5412}},"5412":{"$super":{"__isSmartRef__":true,"id":5413}},"5413":{"varMapping":{"__isSmartRef__":true,"id":5414},"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":5415},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5414":{"obj":{"__isSmartRef__":true,"id":5404},"name":"onMouseDown"},"5415":{},"5416":{},"5417":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":5418},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":5419},{"__isSmartRef__":true,"id":5421}],"eventHandler":{"__isSmartRef__":true,"id":5423},"_ClipMode":"visible","derivationIds":[],"id":"1507C3D1-7E66-47AE-9281-B7301A144F70","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":5403},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5424},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"5418":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(76.0,17.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"5419":{"style":{"__isSmartRef__":true,"id":5420},"chunkOwner":{"__isSmartRef__":true,"id":5417},"_id":"_22288","storedString":"submorphs","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5420":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5421":{"style":{"__isSmartRef__":true,"id":5422},"chunkOwner":{"__isSmartRef__":true,"id":5417},"_id":"_22289","storedString":" []","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5422":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"5423":{"morph":{"__isSmartRef__":true,"id":5417},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5424":{"onMouseDown":{"__isSmartRef__":true,"id":5425}},"5425":{"varMapping":{"__isSmartRef__":true,"id":5426},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":5431},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5426":{"this":{"__isSmartRef__":true,"id":5417},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5427}},"5427":{"$super":{"__isSmartRef__":true,"id":5428}},"5428":{"varMapping":{"__isSmartRef__":true,"id":5429},"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":5430},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5429":{"obj":{"__isSmartRef__":true,"id":5417},"name":"onMouseDown"},"5430":{},"5431":{},"5432":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"5433":{"morph":{"__isSmartRef__":true,"id":5403},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5434":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":5435}},"5435":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":5403},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"5436":{"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"_BorderWidth":0,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"5437":{"morph":{"__isSmartRef__":true,"id":5402},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5438":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":5439}},"5439":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":5440},"spacing":0,"container":{"__isSmartRef__":true,"id":5402},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"5440":{"top":0,"right":0,"bottom":0,"left":0},"5441":{"source":{"__isSmartRef__":true,"id":5400},"target":{"__isSmartRef__":true,"id":5402}},"5442":{"onSelect":{"__isSmartRef__":true,"id":5443},"onExpand":{"__isSmartRef__":true,"id":5446},"onUpdateChildren":{"__isSmartRef__":true,"id":5449},"onUpdate":{"__isSmartRef__":true,"id":5452}},"5443":{"varMapping":{"__isSmartRef__":true,"id":5444},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":5445},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5444":{"this":{"__isSmartRef__":true,"id":5400}},"5445":{},"5446":{"varMapping":{"__isSmartRef__":true,"id":5447},"source":"function onExpand() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":5448},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5447":{"this":{"__isSmartRef__":true,"id":5400}},"5448":{},"5449":{"varMapping":{"__isSmartRef__":true,"id":5450},"source":"function onUpdateChildren() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":5451},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5450":{"this":{"__isSmartRef__":true,"id":5400}},"5451":{},"5452":{"varMapping":{"__isSmartRef__":true,"id":5453},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":5454},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5453":{"this":{"__isSmartRef__":true,"id":5400}},"5454":{},"5455":{"data":true,"inspector":{"__isSmartRef__":true,"id":3842},"parent":{"__isSmartRef__":true,"id":3707},"name":"syntaxHighlightingWhileTyping","description":"true","attributeConnections":[{"__isSmartRef__":true,"id":5456}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5497}},"5456":{"sourceObj":{"__isSmartRef__":true,"id":5455},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":5457},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":5496},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5457":{"item":{"__isSmartRef__":true,"id":5455},"parent":{"__isSmartRef__":true,"id":3857},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":5458}],"scripts":[],"shape":{"__isSmartRef__":true,"id":5491},"eventHandler":{"__isSmartRef__":true,"id":5492},"_ClipMode":"visible","derivationIds":[],"id":"639EAD84-4CBC-450C-86E5-E8F7773E3856","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"layout":{"__isSmartRef__":true,"id":5493},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":5459},"label":{"__isSmartRef__":true,"id":5472},"node":{"__isSmartRef__":true,"id":5458},"owner":{"__isSmartRef__":true,"id":3857},"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,620.0)"},"5458":{"submorphs":[{"__isSmartRef__":true,"id":5459},{"__isSmartRef__":true,"id":5472}],"scripts":[],"shape":{"__isSmartRef__":true,"id":5487},"eventHandler":{"__isSmartRef__":true,"id":5488},"_ClipMode":"visible","derivationIds":[],"id":"B0E6F6D1-2744-43E3-8410-A5372D5FB9DA","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":5489},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":5457},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"5459":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":5460},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":5461}],"eventHandler":{"__isSmartRef__":true,"id":5463},"_ClipMode":"visible","derivationIds":[],"id":"8B6B0C01-0CD4-43D1-8D9F-5640066898CF","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":5458},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5464},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"5460":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"5461":{"style":{"__isSmartRef__":true,"id":5462},"chunkOwner":{"__isSmartRef__":true,"id":5459},"_id":"_7093","storedString":"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5462":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5463":{"morph":{"__isSmartRef__":true,"id":5459},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5464":{"onMouseDown":{"__isSmartRef__":true,"id":5465}},"5465":{"varMapping":{"__isSmartRef__":true,"id":5466},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":5471},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5466":{"this":{"__isSmartRef__":true,"id":5459},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5467}},"5467":{"$super":{"__isSmartRef__":true,"id":5468}},"5468":{"varMapping":{"__isSmartRef__":true,"id":5469},"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":5470},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5469":{"obj":{"__isSmartRef__":true,"id":5459},"name":"onMouseDown"},"5470":{},"5471":{},"5472":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":5473},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":5474},{"__isSmartRef__":true,"id":5476}],"eventHandler":{"__isSmartRef__":true,"id":5478},"_ClipMode":"visible","derivationIds":[],"id":"977F47D6-127C-4B66-B915-962C8F6CB65F","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":5458},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5479},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"5473":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(205.0,17.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"5474":{"style":{"__isSmartRef__":true,"id":5475},"chunkOwner":{"__isSmartRef__":true,"id":5472},"_id":"_22290","storedString":"syntaxHighlightingWhileTyping","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5475":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5476":{"style":{"__isSmartRef__":true,"id":5477},"chunkOwner":{"__isSmartRef__":true,"id":5472},"_id":"_22291","storedString":" true","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5477":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"5478":{"morph":{"__isSmartRef__":true,"id":5472},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5479":{"onMouseDown":{"__isSmartRef__":true,"id":5480}},"5480":{"varMapping":{"__isSmartRef__":true,"id":5481},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":5486},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5481":{"this":{"__isSmartRef__":true,"id":5472},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5482}},"5482":{"$super":{"__isSmartRef__":true,"id":5483}},"5483":{"varMapping":{"__isSmartRef__":true,"id":5484},"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":5485},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5484":{"obj":{"__isSmartRef__":true,"id":5472},"name":"onMouseDown"},"5485":{},"5486":{},"5487":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"5488":{"morph":{"__isSmartRef__":true,"id":5458},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5489":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":5490}},"5490":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":5458},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"5491":{"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"_BorderWidth":0,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"5492":{"morph":{"__isSmartRef__":true,"id":5457},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5493":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":5494}},"5494":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":5495},"spacing":0,"container":{"__isSmartRef__":true,"id":5457},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"5495":{"top":0,"right":0,"bottom":0,"left":0},"5496":{"source":{"__isSmartRef__":true,"id":5455},"target":{"__isSmartRef__":true,"id":5457}},"5497":{"onSelect":{"__isSmartRef__":true,"id":5498},"onUpdate":{"__isSmartRef__":true,"id":5501}},"5498":{"varMapping":{"__isSmartRef__":true,"id":5499},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":5500},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5499":{"this":{"__isSmartRef__":true,"id":5455}},"5500":{},"5501":{"varMapping":{"__isSmartRef__":true,"id":5502},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":5503},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5502":{"this":{"__isSmartRef__":true,"id":5455}},"5503":{},"5504":{"data":[{"__isSmartRef__":true,"id":3709}],"inspector":{"__isSmartRef__":true,"id":3842},"parent":{"__isSmartRef__":true,"id":3707},"name":"textChunks","description":"[...]","children":[],"attributeConnections":[{"__isSmartRef__":true,"id":5505}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5546}},"5505":{"sourceObj":{"__isSmartRef__":true,"id":5504},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":5506},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":5545},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5506":{"item":{"__isSmartRef__":true,"id":5504},"parent":{"__isSmartRef__":true,"id":3857},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":5507}],"scripts":[],"shape":{"__isSmartRef__":true,"id":5540},"eventHandler":{"__isSmartRef__":true,"id":5541},"_ClipMode":"visible","derivationIds":[],"id":"00809C35-46D5-4051-98BC-5A0482CFA809","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"layout":{"__isSmartRef__":true,"id":5542},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":5508},"label":{"__isSmartRef__":true,"id":5521},"node":{"__isSmartRef__":true,"id":5507},"owner":{"__isSmartRef__":true,"id":3857},"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,640.0)"},"5507":{"submorphs":[{"__isSmartRef__":true,"id":5508},{"__isSmartRef__":true,"id":5521}],"scripts":[],"shape":{"__isSmartRef__":true,"id":5536},"eventHandler":{"__isSmartRef__":true,"id":5537},"_ClipMode":"visible","derivationIds":[],"id":"92C02524-2973-41B6-BA3E-A889F297623D","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":5538},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":5506},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"5508":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":5509},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":5510}],"eventHandler":{"__isSmartRef__":true,"id":5512},"_ClipMode":"visible","derivationIds":[],"id":"7CD09672-2733-4A5D-92DA-F65B624BD9CE","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":5507},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5513},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"5509":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"5510":{"style":{"__isSmartRef__":true,"id":5511},"chunkOwner":{"__isSmartRef__":true,"id":5508},"_id":"_7098","storedString":"►","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5511":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5512":{"morph":{"__isSmartRef__":true,"id":5508},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5513":{"onMouseDown":{"__isSmartRef__":true,"id":5514}},"5514":{"varMapping":{"__isSmartRef__":true,"id":5515},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":5520},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5515":{"this":{"__isSmartRef__":true,"id":5508},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5516}},"5516":{"$super":{"__isSmartRef__":true,"id":5517}},"5517":{"varMapping":{"__isSmartRef__":true,"id":5518},"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":5519},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5518":{"obj":{"__isSmartRef__":true,"id":5508},"name":"onMouseDown"},"5519":{},"5520":{},"5521":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":5522},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":5523},{"__isSmartRef__":true,"id":5525}],"eventHandler":{"__isSmartRef__":true,"id":5527},"_ClipMode":"visible","derivationIds":[],"id":"E3235865-17FE-447F-9189-F8B2D4B56151","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":5507},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5528},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"5522":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(91.0,17.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"5523":{"style":{"__isSmartRef__":true,"id":5524},"chunkOwner":{"__isSmartRef__":true,"id":5521},"_id":"_22292","storedString":"textChunks","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5524":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5525":{"style":{"__isSmartRef__":true,"id":5526},"chunkOwner":{"__isSmartRef__":true,"id":5521},"_id":"_22293","storedString":" [...]","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5526":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"5527":{"morph":{"__isSmartRef__":true,"id":5521},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5528":{"onMouseDown":{"__isSmartRef__":true,"id":5529}},"5529":{"varMapping":{"__isSmartRef__":true,"id":5530},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":5535},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5530":{"this":{"__isSmartRef__":true,"id":5521},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5531}},"5531":{"$super":{"__isSmartRef__":true,"id":5532}},"5532":{"varMapping":{"__isSmartRef__":true,"id":5533},"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":5534},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5533":{"obj":{"__isSmartRef__":true,"id":5521},"name":"onMouseDown"},"5534":{},"5535":{},"5536":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"5537":{"morph":{"__isSmartRef__":true,"id":5507},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5538":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":5539}},"5539":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":5507},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"5540":{"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"_BorderWidth":0,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"5541":{"morph":{"__isSmartRef__":true,"id":5506},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5542":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":5543}},"5543":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":5544},"spacing":0,"container":{"__isSmartRef__":true,"id":5506},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"5544":{"top":0,"right":0,"bottom":0,"left":0},"5545":{"source":{"__isSmartRef__":true,"id":5504},"target":{"__isSmartRef__":true,"id":5506}},"5546":{"onSelect":{"__isSmartRef__":true,"id":5547},"onExpand":{"__isSmartRef__":true,"id":5550},"onUpdateChildren":{"__isSmartRef__":true,"id":5553},"onUpdate":{"__isSmartRef__":true,"id":5556}},"5547":{"varMapping":{"__isSmartRef__":true,"id":5548},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":5549},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5548":{"this":{"__isSmartRef__":true,"id":5504}},"5549":{},"5550":{"varMapping":{"__isSmartRef__":true,"id":5551},"source":"function onExpand() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":5552},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5551":{"this":{"__isSmartRef__":true,"id":5504}},"5552":{},"5553":{"varMapping":{"__isSmartRef__":true,"id":5554},"source":"function onUpdateChildren() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":5555},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5554":{"this":{"__isSmartRef__":true,"id":5504}},"5555":{},"5556":{"varMapping":{"__isSmartRef__":true,"id":5557},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":5558},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5557":{"this":{"__isSmartRef__":true,"id":5504}},"5558":{},"5559":{"data":"/* * Copyright (c) 2006-2009 Sun Microsystems, Inc. * Copyright (c) 2008-2011 Hasso Plattner Institute * * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the \"Software\"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */// set to the context enclosing the SVG context.// rk: replaced \"this.window.top || this.window\" with \"this.window\"// rk: when is it necessary to use the parent context?var Global = this.window || GLOBAL /*for Node.js*/;function dbgOn(cond, optMessage) { if (optMessage) console.log(optMessage); if (cond) debugger; // note that rhino has issues with this keyword // also call as: throw dbgOn(new Error(....)) return cond;}function assert(value, message) { if (value) { return; } // capture the stack var stack; try { throw new Error() } catch(e) { stack = e.stack || '' }; alert('Assertion failed' + (message ? ': ' + message : '!') + '\\n' + stack);};// namespace logic adapted from// http://higher-order.blogspot.com/2008/02/designing-clientserver-web-applications.htmlvar using = (function() { function Util(args) { // args is an escaping arguments array this.objects = Array.prototype.concat.apply([], args); //var ownArgs = this.objects = new Array(args.length); //for (var i = 0; i < args.length; i++) ownArgs[i] = args[i]; }; Util.prototype = { log: function(msg) { console.log(msg); }, run: function(inner) { var args = this.objects; if (this.moduleName) { // little convenience, if (args.length > 0) this.log('using().module(): ignoring args ' + args); return module(this.moduleName).requires().toRun(inner); } else return inner.apply(args[0], args); }, model: function(model) { // KP: interestingly, declaring the above as \"model: function model(model)\" // seems to bind model to to the function, not the formal parameter, at least in rhino! this.model = model; return this; }, module: function(moduleName) { this.moduleName = moduleName; return this; }, link: function link(literal, variableMap) { variableMap = variableMap || {}; return new lively.data.Resolver().link(literal, [], undefined, variableMap, this.objects, this.model); }, extend: function extend(base, extLiteral) { return this.link(Object.extend(Object.clone(base), extLiteral)); }, test: function(inner) { try { return this.run(inner); } catch (er) { alert('test failed: ' + er); return undefined; } } } return function using() { return new Util(arguments); }})();function namespace(spec, context) { var codeDB; if (spec[0] == '$') { codeDB = spec.substring(1, spec.indexOf('.')); spec = spec.substring(spec.indexOf('.') + 1); } var ret = __oldNamespace(spec, context); if (codeDB) { ret.fromDB = codeDB; } return ret;};function __oldNamespace(spec, context) { var i,N; context = context || Global; spec = spec.valueOf(); if (typeof spec === 'object') { if (typeof spec.length === 'number') {//assume an array-like object for (i = 0,N = spec.length; i < N; i++) { return namespace(spec[i], context); } } else {//spec is a specification object e.g, {com: {trifork: ['model,view']}} for (i in spec) if (spec.hasOwnProperty(i)) { context[i] = context[i] || new lively.lang.Namespace(context, i); return namespace(spec[i], context[i]);//recursively descend tree } } } else if (typeof spec === 'string') { (function handleStringCase() { var parts; parts = spec.split('.'); for (i = 0, N = parts.length; i= 0) { ea.pendingRequirements = []; ea.load(); testModuleLoad.delay(6); }\t}); console.log('Module load check done. ' + modules.length + ' modules loaded.');}).delay(10);function module(moduleName) { moduleName = LivelyMigrationSupport.fixModuleName(moduleName); function isNamespaceAwareModule(moduleName) { return moduleName && !moduleName.endsWith('.js'); } function convertUrlToNSIdentifier(url) { var result = url; result = result.replace(/\\//g, '.'); // get rid of '.js' if (result.endsWith('.js')) result = result.substring(0, result.lastIndexOf('.')); return result; } function createNamespaceModule(moduleName) { return namespace(isNamespaceAwareModule(moduleName) ? moduleName : convertUrlToNSIdentifier(moduleName)); } function basicRequire(/*module, requiredModuleNameOrAnArray, anotherRequiredModuleName, ...*/) { // support modulenames as array and parameterlist var args = $A(arguments), module = args.shift(), preReqModuleNames = Object.isArray(args[0]) ? args[0] : args, requiredModules = []; for (var i = 0; i < preReqModuleNames.length; i++) { var name = LivelyMigrationSupport.fixModuleName(preReqModuleNames[i]), reqModule = createNamespaceModule(name); module.addRequiredModule(reqModule); requiredModules.push(reqModule); } return { toRun: function(code) { var debugCode = code; code = code.curry(module); // pass in own module name for nested requirements var codeWrapper = function() { // run code with namespace modules as additional parameters try { module.activate(); code.apply(this, requiredModules); module._isLoaded = true; } catch(e) { module.logError(module + '>>basicRequire: ' + e, debugCode) } finally { module.deactivate(); } } module.addOnloadCallback(codeWrapper); module.load(); } }; }; dbgOn(!Object.isString(moduleName)); var module = createNamespaceModule(moduleName); module.wasDefined = true; module.requires = basicRequire.curry(module); return module;};function require(/*requiredModuleNameOrAnArray, anotherRequiredModuleName, ...*/) { var getUniqueName = function() { return 'anonymous_module_' + require.counter }, args = $A(arguments); require.counter !== undefined ? require.counter++ : require.counter = 0; var m = module(getUniqueName()).beAnonymous(); if (lively.Config.showModuleDefStack) try { throw new Error() } catch(e) { m.defStack = e.stack } return m.requires(Object.isArray(args[0]) ? args[0] : args);};// ===========================================================================// Our JS library extensions (JS 1.5, no particular browser or graphics engine)// ===========================================================================/** * LK class system. */Object.extend(Function.prototype, { defaultCategoryName: 'default category', subclass: function(/*... */) { // Main method of the LK class system. // {className} is the name of the new class constructor which this method synthesizes // and binds to {className} in the Global namespace. // Remaining arguments are (inline) properties and methods to be copied into the prototype // of the newly created constructor. // modified from prototype.js var args = $A(arguments), className = args.shift(), targetScope = Global, shortName = null; if (className) { targetScope = Class.namespaceFor(className); shortName = Class.unqualifiedNameFor(className); } else { shortName = \"anonymous_\" + (Class.anonymousCounter++); className = shortName; } var klass; if (className && targetScope[shortName] && (targetScope[shortName].superclass === this)) { // preserve the class to allow using the subclass construct in interactive development klass = targetScope[shortName]; } else { klass = Class.newInitializer(shortName); klass.superclass = this; var protoclass = function() { }; // that's the constructor of the new prototype object protoclass.prototype = this.prototype; klass.prototype = new protoclass(); klass.prototype.constructor = klass; klass.prototype.constructor.type = className; // KP: .name would be better but js ignores .name on anonymous functions klass.prototype.constructor.displayName = className; // for debugging, because name can not be assigned if (className) targetScope[shortName] = klass; // otherwise it's anonymous // remember the module that contains the class def if (Global.lively && lively.lang && lively.lang.Namespace) klass.sourceModule = lively.lang.Namespace.current(); }; // the remaining args should be category strings or source objects this.addMethods.apply(klass, args); if (!klass.prototype.initialize) klass.prototype.initialize = Functions.Empty; return klass; }, addMethods: function(/*...*/) { var args = arguments, category = this.defaultCategoryName, traits = []; for (var i = 0; i < args.length; i++) { if (Object.isString(args[i])) { category = args[i]; } else if (Global.RealTrait && args[i] instanceof RealTrait) { // FIXME Traits are optional and defined in lively.Traits // This should go somewhere into lively.Traits... // we apply traits afterwards because they can override behavior traits.push(args[i]); } else { this.addCategorizedMethods(category, args[i] instanceof Function ? (args[i])() : args[i]); } } for (i = 0; i < traits.length; i++) { traits[i].applyTo(this); } }, addCategorizedMethods: function(categoryName, source) { // first parameter is a category name // copy all the methods and properties from {source} into the // prototype property of the receiver, which is intended to be // a class constructor. Method arguments named '$super' are treated // specially, see Prototype.js documentation for \"Class.create()\" for details. // derived from Class.Methods.addMethods() in prototype.js // prepare the categories if (!this.categories) this.categories = {}; if (!this.categories[categoryName]) this.categories[categoryName] = []; var currentCategoryNames = this.categories[categoryName]; if (!source) throw dbgOn(new Error('no source in addCategorizedMethods!')); var ancestor = this.superclass && this.superclass.prototype; var className = this.type || \"Anonymous\"; for (var property in source) { if (property == 'constructor') continue; var getter = source.__lookupGetter__(property); if (getter) this.prototype.__defineGetter__(property, getter); var setter = source.__lookupSetter__(property); if (setter) this.prototype.__defineSetter__(property, setter); if (getter || setter) continue; currentCategoryNames.push(property); var value = source[property]; // weirdly, RegExps are functions in Safari, so testing for // Object.isFunction on regexp field values will return true. // But they're not full-blown functions and don't // inherit argumentNames from Function.prototype var hasSuperCall = ancestor && Object.isFunction(value) && value.argumentNames && value.argumentNames().first() == \"$super\"; if (hasSuperCall) { // wrapped in a function to save the value of 'method' for advice (function() { var method = value, advice = (function(m) { var cs = function callSuper() { var method = ancestor[m]; if (!method) { throw new Error(Strings.format('Trying to call super of' + '%s>>%s but super method non existing in %s', className, m, ancestor.constructor.type)); } return method.apply(this, arguments); }; cs.varMapping = {ancestor: ancestor, m: m}; cs.isSuperCall = true; return cs; })(property); advice.methodName = \"$super:\" + (this.superclass ? this.superclass.type + \">>\" : \"\") + property; value = Object.extend(advice.wrap(method), { valueOf: function() { return method }, toString: function() { return method.toString() }, originalFunction: method, methodName: advice.methodName, isSuperWrapper: true }); // for lively.Closures method.varMapping = {$super: advice}; })(); } this.prototype[property] = value; if (property === \"formals\") { // rk FIXME remove this cruft // special property (used to be pins, but now called formals to disambiguate old and new style Class.addPins(this, value); } else if (Object.isFunction(value)) { // remember name for profiling in WebKit value.displayName = className + \"$\" + property; // remember where it was defined if (Global.lively && lively.lang && lively.lang.Namespace) value.sourceModule = lively.lang.Namespace.current(); for (; value; value = value.originalFunction) { if (value.methodName) { //console.log(\"class \" + this.prototype.constructor.type // + \" borrowed \" + value.qualifiedMethodName()); } value.declaredClass = this.prototype.constructor.type; value.methodName = property; } } } // end of for (var property in source) return this; }, addProperties: function(spec, recordType) { Class.addMixin(this, recordType.prototype.create(spec).prototype); }, isSubclassOf: function(aClass) { return this.superclasses().include(aClass); }, allSubclasses: function() { var klass = this; return Global.classes(true).select(function(ea) { return ea.isSubclassOf(klass) }); }, withAllSubclasses: function() { return [this].concat(this.allSubclasses()) }, directSubclasses: function() { var klass = this; return Global.classes(true).select(function(ea) { return ea.superclass === klass }); }, withAllSortedSubclassesDo: function(func) { // this method iterates func on all subclasses of klass (including klass) // it is ensured that the klasses are sorted by a) subclass relationship and b) name (not type!) // func gets as parameters: 1) the class 2) index in list 3) level of inheritance // compared to klass (1 for direct subclasses and so on) function createSortedSubclassList(klass, level) { var list = klass.directSubclasses() .sortBy(function(ea) { return ea.name.charCodeAt(0) }) .collect(function(subclass) { return createSortedSubclassList(subclass, level + 1) }) .flatten(); return [{klass: klass, level: level}].concat(list) } return createSortedSubclassList(this, 0).collect(function(spec, idx) { return func(spec.klass, idx, spec.level) }) }, superclasses: function() { if (!this.superclass) return []; if (this.superclass === Object) return [Object]; return this.superclass.superclasses().concat([this.superclass]); }, categoryNameFor: function(propName) { for (var categoryName in this.categories) { if (this.categories[categoryName].include(propName)) { return categoryName; } } return null; }, remove: function() { var ownerNamespace = Class.namespaceFor(this.type), ownName = Class.unqualifiedNameFor(this.type); delete ownerNamespace[ownName]; },});var Class = { anonymousCounter: 0, initializerTemplate: (function CLASS(){ Class.initializer.apply(this, arguments) }).toString(), newInitializer: function(name) { // this hack ensures that class instances have a name return eval(Class.initializerTemplate.replace(/CLASS/g, name) + \";\" + name); }, initializer: function initializer() { var firstArg = arguments[0]; // maybe special initialization required if (firstArg && firstArg.isImporter) { this.deserialize.apply(this, arguments); } else if (firstArg && firstArg.isCopier) { this.copyFrom.apply(this, arguments); } else if (firstArg && firstArg.isInstanceRestorer) { // just do nothing // for WebCards and other JSON-based dersialization logic } else { // if this.initialize is undefined then prolly the constructor was called without 'new' this.initialize.apply(this, arguments); } }, def: function Class$def(constr, superConstr, optProtos, optStatics) { // currently not used // Main method of the LK class system. // {className} is the name of the new class constructor which this method synthesizes // and binds to {className} in the Global namespace. // Remaining arguments are (inline) properties and methods to be copied into the prototype // of the newly created constructor. // modified from prototype.js var klass = Class.newInitializer(\"klass\"); klass.superclass = superConstr; var protoclass = function() { }; // that's the constructor of the new prototype object protoclass.prototype = superConstr.prototype; klass.prototype = new protoclass(); // Object.extend(klass.prototype, constr.prototype); klass.prototype.constructor = klass; var className = constr.name; // getName() klass.addMethods({initialize: constr}); // KP: .name would be better but js ignores .name on anonymous functions klass.type = className; if (optProtos) klass.addMethods(optProtos); if (optStatics) Object.extend(klass, optStatics); Global[className] = klass; return klass; }, isValidIdentifier: function(str) { return /^(?:[a-zA-Z_][\\w\\-]*[.])*[a-zA-Z_][\\w\\-]*$/.test(str); }, isClass: function Class$isClass(object) { if (object === Object || object === Array || object === Function || object === String || object === Number) { return true; } return (object instanceof Function) && (object.superclass !== undefined); }, className: function Class$className(cl) { if (cl === Object) return \"Object\" if (cl === Array) return \"Array\" if (cl === Function) return \"Function\" if (cl === String) return \"String\" if (cl === Number) return \"Number\" return cl.type; }, forName: function forName(name) { // lookup the class object given the qualified name var ns = Class.namespaceFor(name), shortName = Class.unqualifiedNameFor(name); return ns[shortName]; }, deleteObjectNamed: function Class$deleteObjectNamed(name) { var ns = Class.namespaceFor(name), shortName = Class.unqualifiedNameFor(name); delete ns[shortName]; }, unqualifiedNameFor: function Class$unqualifiedNameFor(name) { var lastDot = name.lastIndexOf('.'), // lastDot may be -1 unqualifiedName = name.substring(lastDot + 1); if (!Class.isValidIdentifier(unqualifiedName)) throw new Error('not a name ' + unqualifiedName); return unqualifiedName; }, namespaceFor: function Class$namespaceFor(className) { // get the namespace object given the qualified name var lastDot = className ? className.lastIndexOf('.') : -1; if (lastDot < 0) return Global; else return namespace(className.substring(0, lastDot)); }, withAllClassNames: function Class$withAllClassNames(scope, callback) { for (var name in scope) { try { if (Class.isClass(scope[name])) callback(name); } catch (er) { // FF exceptions } } callback(\"Object\"); callback(\"Global\"); }, makeEnum: function Class$makeEnum(strings) { // simple mechanism for making objecs with property values set to // property names, to be used as enums. var e = {}; for (var i = 0; i < strings.length; i++) { e[strings[i]] = strings[i]; } return e; }, getConstructor: function Class$getConstructor(object) { var c = object.constructor; return (c && c.getOriginal) ? c.getOriginal() : c; }, getPrototype: function Class$getPrototype(object) { return this.getConstructor(object).prototype; }, applyPrototypeMethod: function Class$applyPrototypeMethod(methodName, target, args) { var method = this.getPrototype(target); if (!method) throw new Error(\"method \" + methodName + \" not found\"); return method.apply(this, args); }, getSuperConstructor: function Class$getSuperConstructor(object) { return this.getConstructor(object).superclass; }, getSuperPrototype: function Class$getSuperPrototype(object) { var sup = this.getSuperConstructor(object); return sup && sup.prototype; }, addPins: function Class$addPins(cls, spec) { if (Global.Relay) { Class.addMixin(cls, Relay.newDelegationMixin(spec).prototype); return; } // this is for refactoring away from Relay and friends if (!Object.isArray(spec)) throw new Error('Cannot deal with non-Array spec in addPins'); function unstripName(name) { return name.replace(/[\\+|\\-]?(.*)/, '$1') }; function needsSetter(name) { return !name.startsWith('-') }; function needsGetter(name) { return !name.startsWith('+') }; var mixinSpec = {}; spec.forEach(function(specString) { var name = unstripName(specString); if (needsSetter(specString)) mixinSpec['set' + name] = function(value) { return this['_' + name] = value } if (needsGetter(specString)) mixinSpec['get' + name] = function() { return this['_' + name] } }) Class.addMixin(cls, mixinSpec); }, addMixin: function Class$addMixin(cls, source) { var spec = {}; for (var prop in source) { var value = source[prop]; switch (prop) { case \"constructor\": case \"initialize\": case \"deserialize\": case \"copyFrom\": case \"toString\": case \"definition\": case \"description\": break; default: if (cls.prototype[prop] === undefined) // do not override existing values! spec[prop] = value; } } cls.addMethods(spec); },};Object.subclass('Namespace','initializing', { initialize: function(context, nsName) { this.namespaceIdentifier = context.namespaceIdentifier + '.' + nsName; this.createTime = new Date(); },},'accessing', { gather: function(selector, condition, recursive) { var result = Object.values(this).select(function(ea) { return condition.call(this, ea) }, this); if (!recursive) return result; return this.subNamespaces().inject(result, function(result, ns) { return result.concat(ns[selector](true)) }); }, subNamespaces: function(recursive) { return this.gather( 'subNamespaces', function(ea) { return (ea instanceof lively.lang.Namespace || ea === Global) && ea !== this }, recursive); }, classes: function(recursive) { var normalClasses = this.gather( 'classes', function(ea) { return ea && ea !== this.constructor && Class.isClass(ea) }, recursive); if (this === Global) return [Array, Number, String, Function].concat(normalClasses); return normalClasses; }, functions: function(recursive) { return this.gather( 'functions', function(ea) { return ea && !Class.isClass(ea) && Object.isFunction(ea) && !ea.declaredClass && this.requires !== ea && ea.getOriginal() === ea }, recursive); },});// let Glabal act like a namespace itselfObject.extend(Global, Namespace.prototype);Object.extend(Global, { namespaceIdentifier: 'Global', isLoaded: Functions.True,});Namespace.addMethods('properties', { isLivelyModule: true,},'initializing', { beAnonymous: function() { this._isAnonymous = true; this.sourceModuleName = lively.lang.Namespace.current().namespaceIdentifier; return this; },},'accessing', { // module specific, should be a subclass? name: function() { var identifier = this.namespaceIdentifier, globalIdStart = 'Global.'; if (identifier.startsWith(globalIdStart)) { identifier = identifier.substring(globalIdStart.length); } return identifier; }, findUri: function(optFileType) { var fileType = optFileType || 'js', fileExtension = '.' + fileType, namespacePrefix; if (this.namespaceIdentifier.startsWith('Global.')) { namespacePrefix = 'Global.'; } else { throw dbgOn(new Error('unknown namespaceIdentifier')); } var relativePath = this.namespaceIdentifier .substr(namespacePrefix.length) .replace(/\\./g, '/'); if (!relativePath.match(/\\.js$/)) { relativePath += fileExtension; } var uri = ''; lively.Config.modulePaths.forEach(function(ea) { if (relativePath.substring(0, ea.length) == ea) { uri = lively.Config.rootPath + relativePath; } }); if (uri == '') { uri = lively.Config.codeBase + relativePath; } return uri; }, uri: function(optType) { // FIXME cleanup necessary if (this.__cachedUri && !optType) { return this.__cachedUri; } var url; if (this.fromDB) { var id = this.namespaceIdentifier; // something like lively.Core var namespacePrefix; if (id.startsWith('Global.')) { namespacePrefix = 'Global.'; id = id.substring(7); } else throw dbgOn(new Error('unknown namespaceIdentifier')); // FIXME: extract to lively.Config.codeBaseDB url = lively.Config.couchDBURL + '/' + this.fromDB + '/_design/raw_data/_list/javascript/for-module?module=' + id; this.__cachedUri = url; return url; } else { var id = this.namespaceIdentifier; // something like lively.Core var namespacePrefix; if (!this.isAnonymous()) { url = this.findUri(optType); } else { if (id.startsWith('Global.')) namespacePrefix = 'Global.'; else throw dbgOn(new Error('unknown namespaceIdentifier')); url = lively.Config.codeBase + this.namespaceIdentifier.substr(namespacePrefix.length).replace(/\\./g, '/'); } this.__cachedUri = url; return url; } }, relativePath: function(optType) { return new URL(this.uri(optType)).relativePathFrom(URL.codeBase); }, lastPart: function() { return this.name().match(/[^.]+$/)[0]; }},'module dependencies', { addDependendModule: function(depModule) { if (!this.dependendModules) this.dependendModules = []; this.dependendModules.push(depModule); // keep a copy of the dependencies for debugging if (!this.debugDependendModules) this.debugDependendModules = []; this.debugDependendModules.push(depModule); }, informDependendModules: function() { if (!this.dependendModules) return; var deps = this.dependendModules.uniq(); this.dependendModules = []; deps.forEach(function(ea) { ea.removeRequiredModule(this) }, this); }, traceDependendModules: function(visited) { visited = visited || []; var deps = this.debugDependendModules || []; deps = deps.withoutAll(visited) visited.push(this); return [this.namespaceIdentifier, deps.collect(function(ea) { return ea.traceDependendModules(visited) })] }, addRequiredModule: function(requiredModule) { // privateRequirements is just for keeping track later on if (!this.privateRequirements) this.privateRequirements = []; this.privateRequirements.push(requiredModule); if (requiredModule.isLoaded()) return; if (!this.pendingRequirements) this.pendingRequirements = []; this.pendingRequirements.push(requiredModule); requiredModule.addDependendModule(this); }, removeRequiredModule: function(requiredModule) { if (this.pendingRequirements && !this.pendingRequirements.include(requiredModule)) throw dbgOn(new Error('requiredModule not there')); this.pendingRequirements = this.pendingRequirements.without(requiredModule); if (!this.hasPendingRequirements()) { this.load(); } }, pendingRequirementNames: function() { if (!this.pendingRequirements) return []; return this.pendingRequirements.collect(function(ea) { return ea.uri() }); }, hasPendingRequirements: function() { return this.pendingRequirements && this.pendingRequirements.length > 0; }, loadRequirementsFirst: function() { this.pendingRequirements && this.pendingRequirements.invoke('load'); }, wasRequiredBy: function() { return Global.subNamespaces(true).select(function(m) { return m.privateRequirements && m.privateRequirements.include(this); }, this); },},'load callbacks', { addOnloadCallback: function(cb) { if (!this.callbacks) this.callbacks = []; this.callbacks.push(cb); }, runOnloadCallbacks: function() { if (!this.callbacks) return; var cb; while (cb = this.callbacks.shift()) { try {cb()} catch(e) { this.logError('runOnloadCallbacks: ' + cb.name + ': ' + e); throw e } }; }, isAnonymous: function() { return this._isAnonymous },},'testing', { isLoaded: function() { return this._isLoaded; }, isLoading: function() { if (this.isLoaded()) return false; if (this.uri().include('anonymous')) return true; return JSLoader.scriptInDOM(this.uri()); }, isAnonymous: function() { return this._isAnonymous },},'loading', { load: function(loadSync) { if (loadSync) { var prevWasSync = this.constructor.loadSync; this.constructor.loadSync = true; } if (this.isLoaded()) { this.runOnloadCallbacks(); return; } if (this.isLoading() && this.wasDefined && !this.hasPendingRequirements()) { this.runOnloadCallbacks(); // time is not only the time needed for the request and code evaluation // but the complete time span from the creation of the module (when the module is first encountered) // to evaluation the evaluation of its code, including load time of all requirements var time = this.createTime ? new Date() - this.createTime : 'na'; console.log(this.uri() + ' loaded in ' + time + ' ms'); this.informDependendModules(); return; } if (this.isLoading()) { this.loadRequirementsFirst(); return; } JSLoader.loadJs(this.uri(), null, this.constructor.loadSync); if (loadSync) this.constructor.loadSync = prevWasSync; }, activate: function() { this.constructor.namespaceStack.push(this); }, deactivate: function() { var m = this.constructor.namespaceStack.pop(); if (m !== this) throw new Error('Wrong module: ' + this.namespaceIdentifier + ' instead of expected ' + m.namespaceIdentifier ) },},'removing', { remove: function() { var ownerNamespace = Class.namespaceFor(this.namespaceIdentifier), ownName = Class.unqualifiedNameFor(this.namespaceIdentifier) JSLoader.removeAllScriptsThatLinkTo(this.uri()); delete ownerNamespace[ownName]; }, removeScriptNode: function() { var node = document.getElementById(this.uri()); if (!node) return node.parentNode.removeChild(node); },},'debugging', { toString: function() { return 'module(' + this.namespaceIdentifier + ')' }, inspect: function() { this.toString() + ' defined at ' + this.defStack }, logError: function(e, optCode) { var list = this.traceDependendModules(); var msg = 'Error while loading ' + this.moduleName + ': ' + e; msg += '\\ndependencies: ' + Strings.printNested(list) if (Global.lively && lively.morphic && lively.morphic.World && lively.morphic.World.current() && lively.morphic.World.current().logError) lively.morphic.World.current().logError(e) if (e.stack) msg = msg + e.stack; if (optCode) msg += \"code:\\n\" + optCode; console.error(msg); dbgOn(true); },});Object.extend(Namespace, { namespaceStack: [Global], current: function() { return this.namespaceStack.last() }, topologicalSortLoadedModules: function() { if (lively.Config.standAlone) { var scripIds = []; $('body script').each(function() { scripIds.push($(this).attr('id')) }); return scripIds.collect(function(id) { var name = id.replace(/^..\\//, ''); return module(name); }); } // get currently loaded modules that really are js files var modules = Global.subNamespaces(true) .reject(function(ea) { return ea.isAnonymous(); }) .select(function(ea) { return ea.isLoaded() && new WebResource(ea.uri()).exists() }); // topological sort modules according to their requirements var sortedModules = [], i = 0; while (i < 1000 && modules.length > 0) { i++; var canBeLoaded = modules.select(function(module) { if (!module.privateRequirements) return true; return module.privateRequirements.all(function(requirement) { return sortedModules.include(requirement) }) }) sortedModules = sortedModules.concat(canBeLoaded); modules = modules.withoutAll(canBeLoaded); } if (modules.length > 0) throw new Error('Cannot find dependencies for all modules!'); return sortedModules; }, bootstrapModules: function() { // return a string to include in bootstrap.js var urls = this.topologicalSortLoadedModules() .collect(function(ea) { return new URL(ea.uri()).relativePathFrom(URL.codeBase) }) // omit modules outside of core .reject(function(path) { return path.startsWith('..') }); var manual = [LivelyLoader.libsFile, 'lively/Migration.js', 'lively/JSON.js', 'lively/lang/Object.js', 'lively/lang/Function.js', 'lively/lang/String.js', 'lively/lang/Array.js', 'lively/lang/Number.js', 'lively/lang/Date.js', 'lively/defaultconfig.js', 'lively/localconfig.js', 'lively/Base.js', 'lively/lang/Closure.js', // FIXME: require module instead 'lively/lang/UUID.js', // FIXME: require module instead 'lively/LocalStorage.js']; urls = manual.concat(urls); return urls; }, bootstrapModulesString: function() { var urls = this.bootstrapModules(); return '[\\'' + urls.join('\\', \\'') + '\\']'; }});(function createLivelyNamespace(Global) { // namespace('lively.lang'); var preExistingLively = Global.lively; delete Global.lively; var lively = new Global.Namespace(Global, 'lively'); // FIXME this is just a hack to get properties of a potentially // predefined \"lively\" object over to the namespace lively object // namespaces should deal with this in general if (preExistingLively) { for (var name in preExistingLively) { lively[name] = preExistingLively[name]; } } Global.lively = lively;})(Global);(function moveNamespaceClassToLivelyLang(Global) { var lively = Global.lively, Namespace = Global.Namespace; lively.lang = new Namespace(lively, 'lang'); lively.lang.Namespace = Namespace; // alias lively.Module = lively.lang.Namespace; delete Global.Namespace;})(Global);(function addUsefulStuffToLivelyNS(Global, lively) { lively.assert = Global.assert;})(Global, lively);Object.extend(lively.Module, { findAllInThenDo: function(url, callback) { var dir = new URL(url).getDirectory(); if (url.isLeaf()) { throw new Error(url + ' is not a directory!'); } var webR = dir.asWebResource(); lively.bindings.connect(webR, 'subDocuments', {onLoad: function(files) { var moduleNames = files.invoke('getURL') .invoke('asModuleName'), modules = moduleNames.collect(function(name) { return module(name); }) callback(modules); }}, 'onLoad'); webR.getSubElements(); }});(function setupLivelyLang(lively) { lively.lang.Execution = { showStack: Functions.Null, resetDebuggingStack: Functions.Null, installStackTracers: Functions.Null }; lively.lang.let = function(/** **/) { // lively.lang.let(y, function(x) { body }) is equivalent to { let y = x; body; } return arguments[arguments.length - 1].apply(this, arguments); }})(lively);/* * Stack Viewer when Dan's StackTracer is not available * FIXME rk: move this to Helper.js? */function getStack() { var result = []; for(var caller = arguments.callee.caller; caller; caller = caller.caller) { if (result.indexOf(caller) != -1) { result.push({name: \"recursive call can't be traced\"}); break; } result.push(caller); }; return result;};function printStack() { function guessFunctionName(func) { var qName = func.qualifiedMethodName && func.qualifiedMethodName(), regExpRes = func.toString().match(/function (.+)\\(/); return qName || (regExpRes && regExpRes[1]) || func; }; var string = \"== Stack ==\\n\", stack = getStack(); stack.shift(); // for getStack stack.shift(); // for printStack (me) var indent = \"\"; for (var i=0; i < stack.length; i++) { string += indent + i + \": \" +guessFunctionName(stack[i]) + \"\\n\"; indent += \" \"; }; return string;};function logStack() { this.console.log(printStack());};(function setupjQuery(Global) { var lively = Global.lively, jQuery = Global.jQuery; // we still are adding jQuery to Global but this is DEPRECATED // We need to be able to run with libraries requiring different jQuery versions // so we will restrict \"our\" to lively.$ in the future Global.$ = lively.$ = jQuery.noConflict(/*true -- really removes $*/);})(Global);","inspector":{"__isSmartRef__":true,"id":3842},"parent":{"__isSmartRef__":true,"id":3707},"name":"textString","description":"/* * Copyright (c) 2006-2009 Sun Mic...","attributeConnections":[{"__isSmartRef__":true,"id":5560}],"doNotSerialize":["$$changed"],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5601}},"5560":{"sourceObj":{"__isSmartRef__":true,"id":5559},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":5561},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":5600},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5561":{"item":{"__isSmartRef__":true,"id":5559},"parent":{"__isSmartRef__":true,"id":3857},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":5562}],"scripts":[],"shape":{"__isSmartRef__":true,"id":5595},"eventHandler":{"__isSmartRef__":true,"id":5596},"_ClipMode":"visible","derivationIds":[],"id":"88E4D16A-156C-482F-9E2D-9CAF015904DD","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"layout":{"__isSmartRef__":true,"id":5597},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":5563},"label":{"__isSmartRef__":true,"id":5576},"node":{"__isSmartRef__":true,"id":5562},"owner":{"__isSmartRef__":true,"id":3857},"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,660.0)"},"5562":{"submorphs":[{"__isSmartRef__":true,"id":5563},{"__isSmartRef__":true,"id":5576}],"scripts":[],"shape":{"__isSmartRef__":true,"id":5591},"eventHandler":{"__isSmartRef__":true,"id":5592},"_ClipMode":"visible","derivationIds":[],"id":"B02D75C5-31AE-4D5C-A944-76F6D84748C4","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":5593},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":5561},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"5563":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":5564},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":5565}],"eventHandler":{"__isSmartRef__":true,"id":5567},"_ClipMode":"visible","derivationIds":[],"id":"C0A76BAA-1E11-48AD-8C0B-60F5B75A4EA6","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":5562},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5568},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"5564":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"5565":{"style":{"__isSmartRef__":true,"id":5566},"chunkOwner":{"__isSmartRef__":true,"id":5563},"_id":"_7103","storedString":"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5566":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5567":{"morph":{"__isSmartRef__":true,"id":5563},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5568":{"onMouseDown":{"__isSmartRef__":true,"id":5569}},"5569":{"varMapping":{"__isSmartRef__":true,"id":5570},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":5575},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5570":{"this":{"__isSmartRef__":true,"id":5563},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5571}},"5571":{"$super":{"__isSmartRef__":true,"id":5572}},"5572":{"varMapping":{"__isSmartRef__":true,"id":5573},"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":5574},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5573":{"obj":{"__isSmartRef__":true,"id":5563},"name":"onMouseDown"},"5574":{},"5575":{},"5576":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":5577},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":5578},{"__isSmartRef__":true,"id":5580}],"eventHandler":{"__isSmartRef__":true,"id":5582},"_ClipMode":"visible","derivationIds":[],"id":"8DC85975-04BF-4B34-A128-B70AD6A56209","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":5562},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5583},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"5577":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(285.0,17.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"5578":{"style":{"__isSmartRef__":true,"id":5579},"chunkOwner":{"__isSmartRef__":true,"id":5576},"_id":"_22294","storedString":"textString","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5579":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5580":{"style":{"__isSmartRef__":true,"id":5581},"chunkOwner":{"__isSmartRef__":true,"id":5576},"_id":"_22295","storedString":" /* * Copyright (c) 2006-2009 Sun Mic...","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5581":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"5582":{"morph":{"__isSmartRef__":true,"id":5576},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5583":{"onMouseDown":{"__isSmartRef__":true,"id":5584}},"5584":{"varMapping":{"__isSmartRef__":true,"id":5585},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":5590},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5585":{"this":{"__isSmartRef__":true,"id":5576},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5586}},"5586":{"$super":{"__isSmartRef__":true,"id":5587}},"5587":{"varMapping":{"__isSmartRef__":true,"id":5588},"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":5589},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5588":{"obj":{"__isSmartRef__":true,"id":5576},"name":"onMouseDown"},"5589":{},"5590":{},"5591":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"5592":{"morph":{"__isSmartRef__":true,"id":5562},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5593":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":5594}},"5594":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":5562},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"5595":{"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"_BorderWidth":0,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"5596":{"morph":{"__isSmartRef__":true,"id":5561},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5597":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":5598}},"5598":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":5599},"spacing":0,"container":{"__isSmartRef__":true,"id":5561},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"5599":{"top":0,"right":0,"bottom":0,"left":0},"5600":{"source":{"__isSmartRef__":true,"id":5559},"target":{"__isSmartRef__":true,"id":5561}},"5601":{"onSelect":{"__isSmartRef__":true,"id":5602},"onUpdate":{"__isSmartRef__":true,"id":5605}},"5602":{"varMapping":{"__isSmartRef__":true,"id":5603},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":5604},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5603":{"this":{"__isSmartRef__":true,"id":5559}},"5604":{},"5605":{"varMapping":{"__isSmartRef__":true,"id":5606},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":5607},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5606":{"this":{"__isSmartRef__":true,"id":5559}},"5607":{},"5608":{"inspector":{"__isSmartRef__":true,"id":3842},"doNotSerialize":["data","$$changed"],"name":"","description":"inherited from lively.morphic.Text","children":[],"attributeConnections":[{"__isSmartRef__":true,"id":5609}],"doNotCopyProperties":["$$changed"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5650}},"5609":{"sourceObj":{"__isSmartRef__":true,"id":5608},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":5610},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":5649},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5610":{"item":{"__isSmartRef__":true,"id":5608},"parent":{"__isSmartRef__":true,"id":3857},"depth":1,"submorphs":[{"__isSmartRef__":true,"id":5611}],"scripts":[],"shape":{"__isSmartRef__":true,"id":5644},"eventHandler":{"__isSmartRef__":true,"id":5645},"_ClipMode":"visible","derivationIds":[],"id":"67E87C5B-6375-4A6B-AA3E-6AD69495CEA1","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"layout":{"__isSmartRef__":true,"id":5646},"isInLayoutCycle":false,"draggingEnabled":false,"dragAndDrop":true,"childNodes":null,"icon":{"__isSmartRef__":true,"id":5612},"label":{"__isSmartRef__":true,"id":5625},"node":{"__isSmartRef__":true,"id":5611},"owner":{"__isSmartRef__":true,"id":3857},"__LivelyClassName__":"lively.morphic.Tree","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,680.0)"},"5611":{"submorphs":[{"__isSmartRef__":true,"id":5612},{"__isSmartRef__":true,"id":5625}],"scripts":[],"shape":{"__isSmartRef__":true,"id":5640},"eventHandler":{"__isSmartRef__":true,"id":5641},"_ClipMode":"visible","derivationIds":[],"id":"374B506C-3E12-405A-BD9C-E641BF857CB5","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":5642},"isInLayoutCycle":false,"owner":{"__isSmartRef__":true,"id":5610},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"5612":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":5613},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":5614}],"eventHandler":{"__isSmartRef__":true,"id":5616},"_ClipMode":"visible","derivationIds":[],"id":"BE037128-054C-48DA-8188-AC4E72DA7F09","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"_Align":"right","owner":{"__isSmartRef__":true,"id":5611},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5617},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"5613":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"5614":{"style":{"__isSmartRef__":true,"id":5615},"chunkOwner":{"__isSmartRef__":true,"id":5612},"_id":"_7108","storedString":"►","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5615":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5616":{"morph":{"__isSmartRef__":true,"id":5612},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5617":{"onMouseDown":{"__isSmartRef__":true,"id":5618}},"5618":{"varMapping":{"__isSmartRef__":true,"id":5619},"source":"function onMouseDown(evt) {\n if (this.owner.owner.item.children && evt.isLeftMouseButtonDown()) {\n this.owner.owner.toggle();\n }\n }","funcProperties":{"__isSmartRef__":true,"id":5624},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5619":{"this":{"__isSmartRef__":true,"id":5612},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5620}},"5620":{"$super":{"__isSmartRef__":true,"id":5621}},"5621":{"varMapping":{"__isSmartRef__":true,"id":5622},"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":5623},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5622":{"obj":{"__isSmartRef__":true,"id":5612},"name":"onMouseDown"},"5623":{},"5624":{},"5625":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":5626},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":5627},{"__isSmartRef__":true,"id":5629}],"eventHandler":{"__isSmartRef__":true,"id":5631},"_ClipMode":"visible","derivationIds":[],"id":"3FE03385-8A78-4B7D-B96C-EED9444F79DF","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"draggingEnabled":false,"owner":{"__isSmartRef__":true,"id":5611},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5632},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(15.0,0.0)"},"5626":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(197.0,17.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"5627":{"style":{"__isSmartRef__":true,"id":5628},"chunkOwner":{"__isSmartRef__":true,"id":5625},"_id":"_22296","storedString":"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5628":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5629":{"style":{"__isSmartRef__":true,"id":5630},"chunkOwner":{"__isSmartRef__":true,"id":5625},"_id":"_22297","storedString":" inherited from lively.morphic.Text","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5630":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(169,169,169)"},"5631":{"morph":{"__isSmartRef__":true,"id":5625},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5632":{"onMouseDown":{"__isSmartRef__":true,"id":5633}},"5633":{"varMapping":{"__isSmartRef__":true,"id":5634},"source":"function onMouseDown(evt) {\n if (evt.isLeftMouseButtonDown() && this.owner.owner.item.onSelect) {\n this.owner.owner.getRootTree().select(this.owner.owner);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":5639},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5634":{"this":{"__isSmartRef__":true,"id":5625},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5635}},"5635":{"$super":{"__isSmartRef__":true,"id":5636}},"5636":{"varMapping":{"__isSmartRef__":true,"id":5637},"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":5638},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5637":{"obj":{"__isSmartRef__":true,"id":5625},"name":"onMouseDown"},"5638":{},"5639":{},"5640":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"5641":{"morph":{"__isSmartRef__":true,"id":5611},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5642":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":5643}},"5643":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":5611},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"5644":{"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"_BorderWidth":0,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"5645":{"morph":{"__isSmartRef__":true,"id":5610},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5646":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":5647}},"5647":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":5648},"spacing":0,"container":{"__isSmartRef__":true,"id":5610},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"5648":{"top":0,"right":0,"bottom":0,"left":0},"5649":{"source":{"__isSmartRef__":true,"id":5608},"target":{"__isSmartRef__":true,"id":5610}},"5650":{"onExpand":{"__isSmartRef__":true,"id":5651},"onUpdateChildren":{"__isSmartRef__":true,"id":5654},"onUpdate":{"__isSmartRef__":true,"id":5657}},"5651":{"varMapping":{"__isSmartRef__":true,"id":5652},"source":"function onExpand() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":5653},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5652":{"this":{"__isSmartRef__":true,"id":5608}},"5653":{},"5654":{"varMapping":{"__isSmartRef__":true,"id":5655},"source":"function onUpdateChildren() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":5656},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5655":{"this":{"__isSmartRef__":true,"id":5608}},"5656":{},"5657":{"varMapping":{"__isSmartRef__":true,"id":5658},"source":"function onUpdate() {\n this.description = \"inherited from \" + this.inspector.typename(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":5659},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5658":{"this":{"__isSmartRef__":true,"id":5608}},"5659":{},"5660":{"sourceObj":{"__isSmartRef__":true,"id":3858},"sourceAttrName":"changed","targetObj":{"__isSmartRef__":true,"id":3857},"targetMethodName":"update","varMapping":{"__isSmartRef__":true,"id":5661},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5661":{"source":{"__isSmartRef__":true,"id":3858},"target":{"__isSmartRef__":true,"id":3857}},"5662":{"onSelect":{"__isSmartRef__":true,"id":5663},"onExpand":{"__isSmartRef__":true,"id":5666},"onUpdateChildren":{"__isSmartRef__":true,"id":5669},"onUpdate":{"__isSmartRef__":true,"id":5672}},"5663":{"varMapping":{"__isSmartRef__":true,"id":5664},"source":"function onSelect(tree) { this.inspector.select(this, tree); }","funcProperties":{"__isSmartRef__":true,"id":5665},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5664":{"this":{"__isSmartRef__":true,"id":3858}},"5665":{},"5666":{"varMapping":{"__isSmartRef__":true,"id":5667},"source":"function onExpand() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":5668},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5667":{"this":{"__isSmartRef__":true,"id":3858}},"5668":{},"5669":{"varMapping":{"__isSmartRef__":true,"id":5670},"source":"function onUpdateChildren() { this.inspector.expand(this); }","funcProperties":{"__isSmartRef__":true,"id":5671},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5670":{"this":{"__isSmartRef__":true,"id":3858}},"5671":{},"5672":{"varMapping":{"__isSmartRef__":true,"id":5673},"source":"function onUpdate() {\n this.description = this.inspector.describe(this.data);\n }","funcProperties":{"__isSmartRef__":true,"id":5674},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5673":{"this":{"__isSmartRef__":true,"id":3858}},"5674":{},"5675":{"_NodeClass":["tree"],"_NodeId":"morph-01a6356e-c15d-4f8d-bbb6-8680b231177d","_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(356.0,700.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(0,0,0)"},"5676":{"morph":{"__isSmartRef__":true,"id":3857},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5677":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":5678}},"5678":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":{"__isSmartRef__":true,"id":5679},"spacing":0,"container":{"__isSmartRef__":true,"id":3857},"isDefered":false,"__LivelyClassName__":"lively.morphic.Layout.TreeLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"5679":{"top":0,"right":0,"bottom":0,"left":0},"5680":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":5681},"derivationIds":[null],"id":"29A6219C-55DE-4ECC-9C26-6C13549D3D32","_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":5682}],"eventHandler":{"__isSmartRef__":true,"id":5684},"_ClipMode":"visible","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":false,"fixedWidth":true,"fixedHeight":true,"_InputAllowed":false,"allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"_HandStyle":"default","_Align":"right","owner":{"__isSmartRef__":true,"id":5685},"_MaxTextWidth":2,"_MinTextWidth":2,"_MaxTextHeight":null,"_MinTextHeight":null,"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(0.0,0.0)"},"5681":{"_BorderWidth":0,"_Fill":null,"_NodeClass":["morph","text"],"_NodeId":"morph-29a6219c-55de-4ecc-9c26-6c13549d3d32","__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"5682":{"style":{"__isSmartRef__":true,"id":5683},"chunkOwner":{"__isSmartRef__":true,"id":5680},"_id":"_6941","storedString":"▼","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5683":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5684":{"morph":{"__isSmartRef__":true,"id":5680},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5685":{"submorphs":[{"__isSmartRef__":true,"id":5680},{"__isSmartRef__":true,"id":5686}],"scripts":[],"shape":{"__isSmartRef__":true,"id":5691},"derivationIds":[null],"id":"2AEC3E2F-CB91-46F1-B8C1-8D35A130458F","eventHandler":{"__isSmartRef__":true,"id":5692},"_ClipMode":"visible","droppingEnabled":true,"halosEnabled":true,"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":5693},"isInLayoutCycle":false,"owner":null,"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Morph","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"5686":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":5687},"derivationIds":[null],"id":"6978CD3E-475C-4D72-8FFC-4EE1D72E5A57","_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":5688}],"cachedTextString":"undefined","eventHandler":{"__isSmartRef__":true,"id":5690},"_ClipMode":"visible","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":false,"fixedWidth":false,"fixedHeight":true,"_InputAllowed":false,"allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"draggingEnabled":false,"_HandStyle":"default","owner":{"__isSmartRef__":true,"id":5685},"_MaxTextWidth":null,"_MinTextWidth":null,"_MaxTextHeight":null,"_MinTextHeight":null,"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(15.0,0.0)"},"5687":{"_BorderWidth":0,"_Fill":null,"_NodeClass":["morph","text"],"_NodeId":"morph-6978cd3e-475c-4d72-8ffc-4ee1d72e5a57","__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(99.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"5688":{"style":{"__isSmartRef__":true,"id":5689},"chunkOwner":{"__isSmartRef__":true,"id":5686},"_id":"_4928","storedString":"saved source","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5689":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5690":{"morph":{"__isSmartRef__":true,"id":5686},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5691":{"_NodeClass":["morph"],"_NodeId":"morph-2aec3e2f-cb91-46f1-b8c1-8d35a130458f","__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(115.0,20.0)","_Padding":"lively.rect(0,0,0,0)"},"5692":{"morph":{"__isSmartRef__":true,"id":5685},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5693":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":5694}},"5694":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":5,"container":{"__isSmartRef__":true,"id":5685},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"5695":{"reset":{"__isSmartRef__":true,"id":5696}},"5696":{"varMapping":{"__isSmartRef__":true,"id":5697},"source":"function reset() {\n this.item = null;\n this.submorphs.invoke(\"remove\");\n this.childNodes = null;\n this.setExtent(pt(1,1));\n this.applyLayout();\n}","funcProperties":{"__isSmartRef__":true,"id":5698},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5697":{"this":{"__isSmartRef__":true,"id":3857}},"5698":{"timestamp":{"__isSmartRef__":true,"id":5699},"user":"cschuster","tags":[]},"5699":{"isSerializedDate":true,"string":"Wed May 30 2012 00:35:26 GMT+0200 (CEST)"},"5700":{"_BorderWidth":0,"_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(306.9,278.2)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(255,255,255)","_Padding":"lively.rect(0,0,0,0)"},"5701":{"partsSpaceName":"PartsBin/Basic","comment":"A simple box morph. A really blue one. Its amazing what you can build out of simple boxes.... Who needs stars when you got blue rectangles!","migrationLevel":4,"partName":"Rectangle","changes":[{"__isSmartRef__":true,"id":5702},{"__isSmartRef__":true,"id":5704},{"__isSmartRef__":true,"id":5706},{"__isSmartRef__":true,"id":5708},{"__isSmartRef__":true,"id":5710},{"__isSmartRef__":true,"id":5712}],"revisionOnLoad":163371,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"5702":{"date":{"__isSmartRef__":true,"id":5703},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"5703":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"5704":{"date":{"__isSmartRef__":true,"id":5705},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"5705":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"5706":{"date":{"__isSmartRef__":true,"id":5707},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"5707":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"5708":{"date":{"__isSmartRef__":true,"id":5709},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"5709":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"5710":{"date":{"__isSmartRef__":true,"id":5711},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"5711":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"5712":{"date":{"__isSmartRef__":true,"id":5713},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"5713":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"5714":{"morph":{"__isSmartRef__":true,"id":3856},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5715":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5716}},"5716":{"test01IsMorph":{"__isSmartRef__":true,"id":5717}},"5717":{"varMapping":{"__isSmartRef__":true,"id":5718},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":5719},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5718":{"this":{"__isSmartRef__":true,"id":5715}},"5719":{},"5720":{"resizeWidth":true,"resizeHeight":true},"5721":{"submorphs":[{"__isSmartRef__":true,"id":5722},{"__isSmartRef__":true,"id":5733}],"scripts":[],"shape":{"__isSmartRef__":true,"id":5738},"derivationIds":[null,"1DDF17DF-89F1-41AF-8FED-513C5DA4861F","34E9C329-CF65-4830-925D-B24B87EE3DF6","11A0A064-4A2C-4690-9636-6789C5696F63","35948438-B473-40F3-8AFF-7CEAAEAD2F48","9C44EA9A-7CD0-40B1-B44A-BD97126020A9","ED63BB10-E75E-41F7-B171-17FB2E70028A","2A26EF6F-B65C-4040-A343-0B563A6D23FD","1BC60F94-B9FA-4039-97F3-537564196FD9","1A3FCF3A-2B05-489C-A6A2-1BA668DD41C6","C5D0589C-A5E3-4EA4-8786-F69A01B8E54F","9018B830-2426-40E1-99E3-F8DD145D2907","8916D213-ED73-48BE-8C12-90AA950ECD3A","0EEEC303-0DA5-4A8A-9B2F-12D43E2AFEC2","756D8367-C492-435D-A58C-7777D259CAC9","0C785828-7A75-40B9-BA32-41E2E7BCF232","1CB7A529-70B5-4DB1-9A21-2DA7902316FC","9B3670A6-E75D-46C9-A993-21AA2E164105","080D3171-89D5-4048-AF20-47F19CB803C3","7F75402B-27C7-4D87-B0C3-BACA111C472F","02CD346B-EC56-41B8-A885-DB34381D80C1","38AFD261-0829-404B-B79E-F20218E94C84"],"id":"B62818E6-6065-405E-8CBA-4555FC6070E6","eventHandler":{"__isSmartRef__":true,"id":5739},"_ClipMode":"visible","droppingEnabled":true,"halosEnabled":true,"attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"owner":{"__isSmartRef__":true,"id":3842},"showsHalos":false,"layout":{"__isSmartRef__":true,"id":5740},"isInLayoutCycle":false,"prevScroll":[0,0],"isCopyMorphRef":true,"morphRefId":2,"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Morph","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(8.1,8.1)"},"5722":{"submorphs":[],"scripts":[],"id":"E36FC905-D09E-4B39-AD5F-5CB44D0BF971","shape":{"__isSmartRef__":true,"id":5723},"droppingEnabled":true,"halosEnabled":true,"_ClipMode":"auto","eventHandler":{"__isSmartRef__":true,"id":5724},"itemList":[{"__isSmartRef__":true,"id":5725},{"__isSmartRef__":true,"id":5726},{"__isSmartRef__":true,"id":5727},{"__isSmartRef__":true,"id":5728}],"selectOnMove":false,"showsHalos":false,"attributeConnections":[{"__isSmartRef__":true,"id":5729}],"doNotSerialize":["$$selection"],"doNotCopyProperties":["$$selection"],"name":"ObjectInspectorFilterList","partsBinMetaInfo":{"__isSmartRef__":true,"id":5731},"prevScroll":[0,0],"selectedLineNo":0,"valueScale":1,"changeTriggered":false,"derivationIds":[11781,"5102790A-CF88-40E4-A4D5-2F4DC18EE7F4","99147EDF-9E62-4AEC-ADD3-8AE47D5B9CA5","5C61633B-2FCB-439D-BAF5-65CB4D143B97","B4426A19-F07D-430E-B4A0-A62E57595CC6","73A966DD-D592-4638-96F9-60608A6829A4","8685C59F-E3BA-4E8B-8BF3-F0B2DA4C489A","FFE81A11-EA11-4EC7-BDD2-4CD8CD233795","B99EF2EF-3A62-4E7B-BE60-1BE2827CCE65","A11E3246-8FFF-424D-88EE-BD89875802AD","AC6169D4-D438-4C2E-A28C-BD36B8083EBA","C767CCD0-8B53-4669-AE15-191BC54D43A8","16D2E351-C720-4868-AF19-37373DF22E18","E3043356-AEC3-4047-8F77-CE2FCFBD9A33","6731C1BC-FBBD-456C-9A73-725075E36BE2","BE9906CB-B16B-45B1-86E3-B9255D31570A","390F5946-D572-43AA-A8FE-690DE6A1E2D4","EF4BBFB3-414A-42A1-8521-04CAADCBCD93","4A9BE8E6-AB6E-493F-9C84-3111FB900D84","473226F1-A5A0-4CC0-B0BB-180AEA66B015","95CE6728-720A-4805-93F3-8B7F6F7F2533","B3008B04-B3D3-48CB-B7C8-646CB1BA84BC","65C92E6F-8E44-47B1-95DE-8A214AFFAE4F","D3D28D1C-0D78-4229-81FC-09FB04009785"],"owner":{"__isSmartRef__":true,"id":5721},"selection":"standard","layout":{"__isSmartRef__":true,"id":5732},"#startLetters":"","isBeingDragged":false,"_Rotation":0,"_Scale":0.998001,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__LivelyClassName__":"lively.morphic.DropDownList","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(92.0,0.0)","distanceToDragEvent":"lively.pt(89.0,-13.9)"},"5723":{"_BorderWidth":0,"_BorderRadius":0,"_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(214.9,21.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(243,243,243)","_Padding":"lively.rect(0,0,0,0)"},"5724":{"morph":{"__isSmartRef__":true,"id":5722},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5725":{"isListItem":true,"string":"show standard properties","value":"standard"},"5726":{"isListItem":true,"string":"show all properties","value":"properties"},"5727":{"isListItem":true,"string":"show functions","value":"functions"},"5728":{"isListItem":true,"string":"show morphs","value":"submorphs"},"5729":{"sourceObj":{"__isSmartRef__":true,"id":5722},"sourceAttrName":"selection","targetObj":{"__isSmartRef__":true,"id":3842},"targetMethodName":"setFilter","converterString":null,"updaterString":null,"varMapping":{"__isSmartRef__":true,"id":5730},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5730":{"source":{"__isSmartRef__":true,"id":5722},"target":{"__isSmartRef__":true,"id":3842}},"5731":{"requiredModules":[],"migrationLevel":2,"partsSpaceName":"PartsBin/Widgets/","comment":"\"Native\" drop down list","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"5732":{"resizeWidth":true},"5733":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":5734},"derivationIds":[null,"E88A53FB-D21B-44BB-BDFD-869442C56311","0F787D3F-D240-44AF-ACF9-68B168A37AF6","A057ACC6-677C-4F53-B1D5-9938B56D0FEB","9732F158-76D9-4A36-8A15-548AF9D33FDE","27B1C939-33F2-47D5-832F-A75A78CB87AB","14D838C8-A334-48E3-81C0-D163F3856BC8","8ED36FD4-3BC1-4666-9D10-9D5B011CCC09","03AB1784-1272-475D-907F-BCED9FB98003","9B479E1E-E883-48A8-A81E-C9401988816C","95B8D1CF-CA5A-467B-8E75-190C0F92968F","61D66172-31A5-4E3A-A8DA-7DB2A7E60829","2D0FA765-B758-4A5A-A27C-EC16E95D2F0A","AD1A023D-D343-4F30-8EE9-5CA1E5C6DFCA","FDBEE6AB-A3AC-4E07-B69A-202BF0E33B71","7A8530D3-BFD4-4C90-9F6E-FB5C59BB4E86","B9F96B7E-3E06-4CFB-8E58-DA25B52A5E53","ED1FEFD6-32CA-4FAD-A1D4-742130C739D9","53B9FE5E-BDCF-4A83-B227-BF0D13186017","FDF8DD2F-775D-4630-977E-68B1C8CB8E1B","01F45153-329E-4EC1-B079-A3877CFB60F1","23142B0A-86A5-42F0-A114-C125E191006E"],"id":"0A4B83BE-C43A-43C6-B2B3-0F5592E50054","_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":5735}],"eventHandler":{"__isSmartRef__":true,"id":5737},"_ClipMode":"visible","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":true,"_InputAllowed":true,"allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"owner":{"__isSmartRef__":true,"id":5721},"_MaxTextWidth":84,"_MinTextWidth":84,"_MaxTextHeight":null,"_MinTextHeight":null,"showsHalos":false,"#startLetters":"can","isBeingDragged":false,"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(0.0,0.0)"},"5734":{"_BorderWidth":0,"_Fill":null,"_NodeClass":["morph","text"],"_NodeId":"morph-e88a53fb-d21b-44bb-bdfd-869442c56311","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(92.0,0.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"5735":{"style":{"__isSmartRef__":true,"id":5736},"chunkOwner":{"__isSmartRef__":true,"id":5733},"storedString":"Filter:","_id":"_2549","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5736":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5737":{"morph":{"__isSmartRef__":true,"id":5733},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5738":{"_NodeClass":["morph"],"_NodeId":"morph-1ddf17df-89f1-41af-8fed-513c5da4861f","_BorderWidth":0,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(306.9,28.1)","_Padding":"lively.rect(0,0,0,0)"},"5739":{"morph":{"__isSmartRef__":true,"id":5721},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5740":{"resizeWidth":true,"layouter":{"__isSmartRef__":true,"id":5741},"adjustForNewBounds":true,"__serializedExpressions__":["extentWithoutPlaceholder"],"extentWithoutPlaceholder":"lively.pt(358.2,100.0)"},"5741":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":0,"spacing":0,"container":{"__isSmartRef__":true,"id":5721},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"5742":{"submorphs":[],"scripts":[],"id":"202C7875-EB2B-40F3-92AA-CA17E7F658C8","shape":{"__isSmartRef__":true,"id":5743},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"SplitterMorph2","partsBinMetaInfo":{"__isSmartRef__":true,"id":5744},"eventHandler":{"__isSmartRef__":true,"id":5765},"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","ED38E7CF-DBF8-44F7-8FCD-44556A95F525","2837627B-B301-45E3-BE2F-AE809626DE89","43E4DB05-C44F-44CB-A54B-72C9636B3396","D4A35074-DDE1-4EB5-AA93-C43A119497EB"],"partTests":{"__isSmartRef__":true,"id":5766},"_ClipMode":"visible","moved":true,"layout":{"__isSmartRef__":true,"id":5771},"isBeingDragged":false,"originalTargetExtent":null,"morphA":null,"morphB":null,"originalMorphAExtent":null,"originalMorphBExtent":null,"prevScroll":[0,0],"owner":{"__isSmartRef__":true,"id":3842},"_Rotation":0,"_Scale":0.9803921568627452,"__serializedExpressions__":["_Position","distanceToDragEvent","dragStartPoint","originalMorphBPosition"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5772},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(295.0,299.5)","distanceToDragEvent":"lively.pt(37.9,-13.4)","dragStartPoint":"lively.pt(1185.0,5071.0)","originalMorphBPosition":"lively.pt(8.1,354.4)"},"5743":{"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":0.5557,"_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(20.0,44.9)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(167,167,173)","_Padding":"lively.rect(0,0,0,0)"},"5744":{"partsSpaceName":"PartsBin/Widgets/","comment":"A splitter, that exchanges the extent from two morphs.... ok, hard to describe. It's just a splitter.\n\nInspired by the resize corner, it latebinds into the ui, by placing it ontop two adjacent morphs.","migrationLevel":4,"partName":"SplitterMorph","changes":[{"__isSmartRef__":true,"id":5745},{"__isSmartRef__":true,"id":5747},{"__isSmartRef__":true,"id":5749},{"__isSmartRef__":true,"id":5751},{"__isSmartRef__":true,"id":5753},{"__isSmartRef__":true,"id":5755},{"__isSmartRef__":true,"id":5757},{"__isSmartRef__":true,"id":5759},{"__isSmartRef__":true,"id":5761},{"__isSmartRef__":true,"id":5763}],"revisionOnLoad":184652,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"5745":{"date":{"__isSmartRef__":true,"id":5746},"author":"jenslincke","message":"no comment","id":"3FF2C8E3-9B5C-4846-B328-5B9DE699E342"},"5746":{"isSerializedDate":true,"string":"Thu Nov 22 2012 14:01:17 GMT+0100 (CET)"},"5747":{"date":{"__isSmartRef__":true,"id":5748},"author":"jenslincke","message":"no comment","id":"4D8DFE4C-2980-4B5F-A1E9-E4C650CBA0C6"},"5748":{"isSerializedDate":true,"string":"Thu Nov 22 2012 14:01:14 GMT+0100 (CET)"},"5749":{"date":{"__isSmartRef__":true,"id":5750},"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205"},"5750":{"isSerializedDate":true,"string":"Thu Nov 22 2012 10:35:51 GMT+0100 (CET)"},"5751":{"date":{"__isSmartRef__":true,"id":5752},"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8"},"5752":{"isSerializedDate":true,"string":"Mon Jun 18 2012 19:35:08 GMT+0200 (CEST)"},"5753":{"date":{"__isSmartRef__":true,"id":5754},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"5754":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"5755":{"date":{"__isSmartRef__":true,"id":5756},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"5756":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"5757":{"date":{"__isSmartRef__":true,"id":5758},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"5758":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"5759":{"date":{"__isSmartRef__":true,"id":5760},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"5760":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"5761":{"date":{"__isSmartRef__":true,"id":5762},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"5762":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"5763":{"date":{"__isSmartRef__":true,"id":5764},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"5764":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"5765":{"morph":{"__isSmartRef__":true,"id":5742},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5766":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5767}},"5767":{"test01IsMorph":{"__isSmartRef__":true,"id":5768}},"5768":{"varMapping":{"__isSmartRef__":true,"id":5769},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":5770},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5769":{"this":{"__isSmartRef__":true,"id":5766}},"5770":{},"5771":{"moveVertical":true,"moveHorizontal":true},"5772":{"onDrag":{"__isSmartRef__":true,"id":5773},"onDragEnd":{"__isSmartRef__":true,"id":5781},"onDragStart":{"__isSmartRef__":true,"id":5789},"getSiblingsAtCorner":{"__isSmartRef__":true,"id":5797}},"5773":{"varMapping":{"__isSmartRef__":true,"id":5774},"source":"function onDrag(evt) {\n var moveDelta = evt.mousePoint.subPt(this.dragStartPoint)\n\n moveDelta.x = 0;\n if (!this.morphA || !this.morphB) return;\n \n var newExtent = this.originalMorphAExtent.addPt(moveDelta);\n this.morphA.setExtent(newExtent);\n\n this.morphB.setPosition(this.originalMorphBPosition.addPt(moveDelta));\n moveDelta.y = - moveDelta.y;\n this.morphB.setExtent(this.originalMorphBExtent.addPt(moveDelta));\n\n this.setBounds(\n rect(this.morphA.bounds().bottomRight().subPt(pt(20,20)),\n this.morphB.bounds().topRight().addPt(pt(0,20))));\n\n this.setExtent(pt(this.getExtent().x, Math.max(this.getExtent().y, 20)))\n\n}","funcProperties":{"__isSmartRef__":true,"id":5779},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5774":{"this":{"__isSmartRef__":true,"id":5742},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5775}},"5775":{"$super":{"__isSmartRef__":true,"id":5776}},"5776":{"varMapping":{"__isSmartRef__":true,"id":5777},"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":5778},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5777":{"obj":{"__isSmartRef__":true,"id":5742},"name":"onDrag"},"5778":{},"5779":{"timestamp":{"__isSmartRef__":true,"id":5780},"user":"jenslincke","tags":[]},"5780":{"isSerializedDate":true,"string":"Thu Nov 22 2012 13:58:16 GMT+0100 (CET)"},"5781":{"varMapping":{"__isSmartRef__":true,"id":5782},"source":"function onDragEnd(evt) {\n this.morphA = null;\n this.morphB = null;\n this.originalMorphAExtent = null;\n this.originalMorphBExtent = null;\n}","funcProperties":{"__isSmartRef__":true,"id":5787},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5782":{"this":{"__isSmartRef__":true,"id":5742},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5783}},"5783":{"$super":{"__isSmartRef__":true,"id":5784}},"5784":{"varMapping":{"__isSmartRef__":true,"id":5785},"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":5786},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5785":{"obj":{"__isSmartRef__":true,"id":5742},"name":"onDragEnd"},"5786":{},"5787":{"timestamp":{"__isSmartRef__":true,"id":5788},"user":"jenslincke","tags":[]},"5788":{"isSerializedDate":true,"string":"Thu Nov 22 2012 12:32:59 GMT+0100 (CET)"},"5789":{"varMapping":{"__isSmartRef__":true,"id":5790},"source":"function onDragStart(evt) {\n this.dragStartPoint = evt.mousePoint;\n this.morphA = this.getSiblingsAtCorner(\"topLeft\")[0]\n this.morphB = this.getSiblingsAtCorner(\"bottomLeft\")[0]\n\n if (!this.morphA || !this.morphB) return;\n\n this.originalMorphAExtent = this.morphA.getExtent();\n this.originalMorphBExtent = this.morphB.getExtent();\n this.originalMorphBPosition = this.morphB.getPosition();\n\n}","funcProperties":{"__isSmartRef__":true,"id":5795},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5790":{"this":{"__isSmartRef__":true,"id":5742},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5791}},"5791":{"$super":{"__isSmartRef__":true,"id":5792}},"5792":{"varMapping":{"__isSmartRef__":true,"id":5793},"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":5794},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5793":{"obj":{"__isSmartRef__":true,"id":5742},"name":"onDragStart"},"5794":{},"5795":{"timestamp":{"__isSmartRef__":true,"id":5796},"user":"jenslincke","tags":[]},"5796":{"isSerializedDate":true,"string":"Thu Nov 22 2012 13:44:37 GMT+0100 (CET)"},"5797":{"varMapping":{"__isSmartRef__":true,"id":5798},"source":"function getSiblingsAtCorner(corner) {\n // this.getSiblingsAtCorner(\"topLeft\")\n var p = this.bounds()[corner]()\n var self= this;\n return this.owner.submorphs.select(function(ea) {\n return (ea !== self) && ea.bounds().containsPoint(p)\n })\n}","funcProperties":{"__isSmartRef__":true,"id":5799},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5798":{"this":{"__isSmartRef__":true,"id":5742}},"5799":{"timestamp":{"__isSmartRef__":true,"id":5800},"user":"jenslincke","tags":[]},"5800":{"isSerializedDate":true,"string":"Thu Nov 22 2012 12:28:43 GMT+0100 (CET)"},"5801":{"target":{"__isSmartRef__":true,"id":3842},"selector":"update","args":[],"stopped":false,"tickTime":500,"suspended":false,"__LivelyClassName__":"lively.morphic.TargetScript","__SourceModuleName__":"Global.lively.morphic.Core"},"5802":{"_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(323.2,432.4)","_BorderColor":"Color.rgb(95,94,95)","_Fill":"Color.rgb(235,235,235)","_Padding":"lively.rect(0,0,0,0)"},"5803":{"partsSpaceName":"PartsBin/Tools","comment":"A tool for inspecting an object. Very similar to the ObjectExplorer but a lot faster and with the ability to edit primitives.","migrationLevel":4,"partName":"ObjectInspector","changes":[{"__isSmartRef__":true,"id":5804},{"__isSmartRef__":true,"id":5806},{"__isSmartRef__":true,"id":5808},{"__isSmartRef__":true,"id":5810},{"__isSmartRef__":true,"id":5812},{"__isSmartRef__":true,"id":5814},{"__isSmartRef__":true,"id":5816}],"revisionOnLoad":163371,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"5804":{"date":{"__isSmartRef__":true,"id":5805},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"5805":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"5806":{"date":{"__isSmartRef__":true,"id":5807},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"5807":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"5808":{"date":{"__isSmartRef__":true,"id":5809},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"5809":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"5810":{"date":{"__isSmartRef__":true,"id":5811},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"5811":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"5812":{"date":{"__isSmartRef__":true,"id":5813},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"5813":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"5814":{"date":{"__isSmartRef__":true,"id":5815},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"5815":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"5816":{"date":{"__isSmartRef__":true,"id":5817},"author":"cschuster","message":"initial commit. still a lot of work to do.","id":"258D3B7C-8C70-4B34-962F-E2F39A8596D5"},"5817":{"isSerializedDate":true,"string":"Tue May 29 2012 23:52:57 GMT+0200 (CEST)"},"5818":{"morph":{"__isSmartRef__":true,"id":3842},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5819":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5820}},"5820":{"test01IsMorph":{"__isSmartRef__":true,"id":5821}},"5821":{"varMapping":{"__isSmartRef__":true,"id":5822},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":5823},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5822":{"this":{"__isSmartRef__":true,"id":5819}},"5823":{},"5824":{"resizeWidth":true,"resizeHeight":true,"adjustForNewBounds":true,"__serializedExpressions__":["extentWithoutPlaceholder"],"extentWithoutPlaceholder":"lively.pt(313.2,397.4)"},"5825":{"inspect":{"__isSmartRef__":true,"id":5826},"reset":{"__isSmartRef__":true,"id":5830},"select":{"__isSmartRef__":true,"id":5834},"createItem":{"__isSmartRef__":true,"id":5838},"describe":{"__isSmartRef__":true,"id":5842},"update":{"__isSmartRef__":true,"id":5846},"expand":{"__isSmartRef__":true,"id":5850},"setFilter":{"__isSmartRef__":true,"id":5854},"isPrimitive":{"__isSmartRef__":true,"id":5858},"createPrototypeItem":{"__isSmartRef__":true,"id":5862},"typename":{"__isSmartRef__":true,"id":5866},"getFilter":{"__isSmartRef__":true,"id":5870}},"5826":{"varMapping":{"__isSmartRef__":true,"id":5827},"source":"function inspect(obj) {\n if (this.owner.isWindow) {\n this.owner.setTitle(this.describe(obj));\n }\n this.get(\"ObjectInspectorText\").doitContext = obj;\n if (!this.filter) this.get(\"ObjectInspectorFilterList\").selectAt(0);\n this.tree = this.get(\"ObjectInspectorTree\");\n this.tree.setItem(this.createItem({\"\": obj}, \"\", true));\n this.startStepping(500, 'update');\n}","funcProperties":{"__isSmartRef__":true,"id":5828},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5827":{"this":{"__isSmartRef__":true,"id":3842}},"5828":{"timestamp":{"__isSmartRef__":true,"id":5829},"user":"cschuster","tags":[]},"5829":{"isSerializedDate":true,"string":"Fri Jun 15 2012 00:12:23 GMT+0200 (CEST)"},"5830":{"varMapping":{"__isSmartRef__":true,"id":5831},"source":"function reset() {\n if (this.owner.isWindow) {\n this.owner.setTitle(\"ObjectInspector\");\n }\n this.get(\"ObjectInspectorText\").textString = \"this\";\n this.get(\"ObjectInspectorText\").doitContext = null;\n this.stopStepping();\n this.get(\"ObjectInspectorTree\").reset();\n this.get(\"ObjectInspectorFilterList\").setList([\n {isListItem: true,\n string: \"show standard properties\",\n value: \"standard\"},\n {isListItem:true, \n string:\"show all properties\", \n value: \"properties\"},\n {isListItem:true, \n string:\"show functions\", \n value: \"functions\"},\n {isListItem:true, \n string:\"show morphs\", \n value: \"submorphs\"}]);\n this.get(\"ObjectInspectorFilterList\").selectAt(0);\n this.applyLayout();\n}","funcProperties":{"__isSmartRef__":true,"id":5832},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5831":{"this":{"__isSmartRef__":true,"id":3842}},"5832":{"timestamp":{"__isSmartRef__":true,"id":5833},"user":"cschuster","tags":[]},"5833":{"isSerializedDate":true,"string":"Fri Jun 15 2012 00:12:23 GMT+0200 (CEST)"},"5834":{"varMapping":{"__isSmartRef__":true,"id":5835},"source":"function select(item, tree) {\n if (item.data !== null && item.data !== undefined) {\n this.get(\"ObjectInspectorText\").doitContext = item.data;\n }\n if (Object.isString(item.data) ||\n Object.isNumber(item.data) ||\n Object.isBoolean(item.data)) {\n Object.addScript(item, function onEdit(str) {\n var val = str;\n if (val === \"null\") val = null;\n if (val === \"true\") val = true;\n if (val === \"false\") val = false;\n if (Object.isString(val) && val.match(/^\\d+$/)) val = parseInt(val);\n this.parent[this.name] = val;\n });\n tree.editDescription();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":5836},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5835":{"this":{"__isSmartRef__":true,"id":3842}},"5836":{"timestamp":{"__isSmartRef__":true,"id":5837},"user":"cschuster","tags":[]},"5837":{"isSerializedDate":true,"string":"Fri Jun 15 2012 00:12:23 GMT+0200 (CEST)"},"5838":{"varMapping":{"__isSmartRef__":true,"id":5839},"source":"function createItem(obj, property, isRoot) {\n var value = obj[property];\n var item = {data: value, inspector: this, parent: obj};\n if (!isRoot) item.name = property;\n item.description = this.describe(value);\n Object.addScript(item, function onSelect(tree) { this.inspector.select(this, tree); });\n if (!this.isPrimitive(value)) {\n item.children = [];\n Object.addScript(item, function onExpand() { this.inspector.expand(this); });\n Object.addScript(item, function onUpdateChildren() { this.inspector.expand(this); });\n }\n Object.addScript(item, function onUpdate() {\n this.description = this.inspector.describe(this.data);\n });\n return item;\n}","funcProperties":{"__isSmartRef__":true,"id":5840},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5839":{"this":{"__isSmartRef__":true,"id":3842}},"5840":{"timestamp":{"__isSmartRef__":true,"id":5841},"user":"cschuster","tags":[]},"5841":{"isSerializedDate":true,"string":"Fri Jun 15 2012 00:12:23 GMT+0200 (CEST)"},"5842":{"varMapping":{"__isSmartRef__":true,"id":5843},"source":"function describe(obj) {\n var str;\n if (obj && obj.name) {\n str = Object.isFunction(obj.name) ? obj.name() : obj.name;\n }\n if (!str) str = Objects.shortPrintStringOf(obj);\n if (str.length > 32) str = str.substring(0, 36) + '...';\n return str;\n}","funcProperties":{"__isSmartRef__":true,"id":5844},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5843":{"this":{"__isSmartRef__":true,"id":3842}},"5844":{"timestamp":{"__isSmartRef__":true,"id":5845},"user":"cschuster","tags":[]},"5845":{"isSerializedDate":true,"string":"Mon Jul 02 2012 23:16:12 GMT+0200 (CEST)"},"5846":{"varMapping":{"__isSmartRef__":true,"id":5847},"source":"function update() {\n if (this.tree.item) this.tree.update();\n}","funcProperties":{"__isSmartRef__":true,"id":5848},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5847":{"this":{"__isSmartRef__":true,"id":3842}},"5848":{"timestamp":{"__isSmartRef__":true,"id":5849},"user":"cschuster","tags":[]},"5849":{"isSerializedDate":true,"string":"Fri Jun 15 2012 00:12:23 GMT+0200 (CEST)"},"5850":{"varMapping":{"__isSmartRef__":true,"id":5851},"source":"function expand(item) {\n var props = Properties.allProperties(item.data, this.getFilter());\n if (!Object.isArray(item.data)) props = props.sort();\n var newChildren = [];\n var lookup = {};\n item.children.each(function(i) { lookup[i.name] = i; });\n props.each(function(prop) {\n var existing = lookup[prop];\n if (existing) {\n existing.data = item.data[prop];\n newChildren.push(existing);\n } else {\n newChildren.push(this.createItem(item.data, prop));\n }\n }.bind(this));\n var proto = !Object.isFunction(item.data) &&\n !this.isPrimitive(item.data) &&\n Object.getPrototypeOf(item.data);\n if (proto) {\n var existing = item.children.detect(function(i) { return i.data === proto; });\n if (existing) {\n newChildren.push(existing);\n } else {\n newChildren.push(this.createPrototypeItem(proto));\n }\n }\n item.children = newChildren;\n}","funcProperties":{"__isSmartRef__":true,"id":5852},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5851":{"this":{"__isSmartRef__":true,"id":3842}},"5852":{"timestamp":{"__isSmartRef__":true,"id":5853},"user":"cschuster","tags":[]},"5853":{"isSerializedDate":true,"string":"Fri Jun 15 2012 00:20:47 GMT+0200 (CEST)"},"5854":{"varMapping":{"__isSmartRef__":true,"id":5855},"source":"function setFilter(str) {\n var startsAlphaNum = /^[a-zA-Z0-9]/;\n var fn = {\n standard: function(obj, prop) {\n return obj.hasOwnProperty(prop) &&\n startsAlphaNum.test(prop) &&\n !Object.isFunction(obj[prop]);\n },\n properties: function(obj, prop) {\n return obj.hasOwnProperty(prop) &&\n !Object.isFunction(obj[prop]);\n },\n functions: function(obj, prop) {\n return obj.hasOwnProperty(prop) &&\n Object.isFunction(obj[prop]);\n },\n submorphs: function(obj, prop) {\n return obj.hasOwnProperty(prop) &&\n (prop == 'submorphs' || obj[prop] instanceof lively.morphic.Morph);\n },\n };\n this.filter = fn[str];\n var that = this;\n this.tree.layoutAfter(function() { that.update(); });\n}","funcProperties":{"__isSmartRef__":true,"id":5856},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5855":{"this":{"__isSmartRef__":true,"id":3842}},"5856":{"timestamp":{"__isSmartRef__":true,"id":5857},"user":"cschuster","tags":[]},"5857":{"isSerializedDate":true,"string":"Fri Jun 15 2012 00:12:23 GMT+0200 (CEST)"},"5858":{"varMapping":{"__isSmartRef__":true,"id":5859},"source":"function isPrimitive(value) {\n return value === null ||\n value === undefined ||\n Object.isString(value) ||\n Object.isNumber(value) ||\n Object.isBoolean(value);\n}","funcProperties":{"__isSmartRef__":true,"id":5860},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5859":{"this":{"__isSmartRef__":true,"id":3842}},"5860":{"timestamp":{"__isSmartRef__":true,"id":5861},"user":"cschuster","tags":[]},"5861":{"isSerializedDate":true,"string":"Fri Jun 15 2012 00:12:23 GMT+0200 (CEST)"},"5862":{"varMapping":{"__isSmartRef__":true,"id":5863},"source":"function createPrototypeItem(proto) {\n var that = this;\n var item = {data: proto, inspector: this, doNotSerialize: [\"data\"]};\n item.name = \"\";\n item.description = \"inherited from \" + this.typename(proto);\n item.children = [];\n Object.addScript(item, function onExpand() { this.inspector.expand(this); });\n Object.addScript(item, function onUpdateChildren() { this.inspector.expand(this); });\n Object.addScript(item, function onUpdate() {\n this.description = \"inherited from \" + this.inspector.typename(this.data);\n });\n return item;\n}","funcProperties":{"__isSmartRef__":true,"id":5864},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5863":{"this":{"__isSmartRef__":true,"id":3842}},"5864":{"timestamp":{"__isSmartRef__":true,"id":5865},"user":"cschuster","tags":[]},"5865":{"isSerializedDate":true,"string":"Wed Aug 01 2012 04:04:06 GMT+0200 (CEST)"},"5866":{"varMapping":{"__isSmartRef__":true,"id":5867},"source":"function typename(proto) {\n return proto.constructor.type || proto.constructor.name || proto.toString();\n}","funcProperties":{"__isSmartRef__":true,"id":5868},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5867":{"this":{"__isSmartRef__":true,"id":3842}},"5868":{"timestamp":{"__isSmartRef__":true,"id":5869},"user":"cschuster","tags":[]},"5869":{"isSerializedDate":true,"string":"Fri Jun 15 2012 00:12:23 GMT+0200 (CEST)"},"5870":{"varMapping":{"__isSmartRef__":true,"id":5871},"source":"function getFilter() {\n if (!this.filter) {\n this.setFilter(this.get(\"ObjectInspectorFilterList\").getSelectedItem());\n }\n return this.filter;\n}","funcProperties":{"__isSmartRef__":true,"id":5872},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5871":{"this":{"__isSmartRef__":true,"id":3842}},"5872":{"timestamp":{"__isSmartRef__":true,"id":5873},"user":"cschuster","tags":[]},"5873":{"isSerializedDate":true,"string":"Fri Jun 15 2012 00:20:17 GMT+0200 (CEST)"},"5874":{"submorphs":[{"__isSmartRef__":true,"id":5875},{"__isSmartRef__":true,"id":5881},{"__isSmartRef__":true,"id":5894},{"__isSmartRef__":true,"id":5906}],"scripts":[],"shape":{"__isSmartRef__":true,"id":5919},"eventHandler":{"__isSmartRef__":true,"id":5920},"_ClipMode":"visible","derivationIds":["3354C449-DE1C-422A-9B91-C1B724A2D784"],"id":"F9980856-2B8F-4AC0-82C7-5D32EC4EA1A8","droppingEnabled":false,"halosEnabled":true,"layout":{"__isSmartRef__":true,"id":5921},"windowMorph":{"__isSmartRef__":true,"id":3841},"label":{"__isSmartRef__":true,"id":5875},"closeButton":{"__isSmartRef__":true,"id":5881},"menuButton":{"__isSmartRef__":true,"id":5894},"collapseButton":{"__isSmartRef__":true,"id":5906},"_PreviousBorderWidth":0,"owner":{"__isSmartRef__":true,"id":3841},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.TitleBar","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,0.0)"},"5875":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":5876},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":5877}],"eventHandler":{"__isSmartRef__":true,"id":5879},"_ClipMode":"hidden","derivationIds":["683202D2-6E15-4762-BEF3-633DF82B9EE4"],"id":"44740B62-63F1-4428-B2A2-4DA88DA24441","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"isLabel":true,"layout":{"__isSmartRef__":true,"id":5880},"eventsAreIgnored":true,"owner":{"__isSmartRef__":true,"id":5874},"_StyleClassNames":["window-title"],"_TextStylingMode":true,"__serializedExpressions__":["_TextColor","_Position"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(21.0,3.0)"},"5876":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(264.4,18.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"5877":{"style":{"__isSmartRef__":true,"id":5878},"chunkOwner":{"__isSmartRef__":true,"id":5875},"_id":"_6940","storedString":"Text","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5878":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5879":{"morph":{"__isSmartRef__":true,"id":5875},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5880":{"resizeWidth":true},"5881":{"submorphs":[{"__isSmartRef__":true,"id":5882}],"scripts":[],"shape":{"__isSmartRef__":true,"id":5887},"eventHandler":{"__isSmartRef__":true,"id":5888},"_ClipMode":"visible","derivationIds":["FB7A3DD8-97CB-4398-883B-A3D2C87C2F82"],"id":"70370E5F-BB50-4207-9A3C-0FC70CCDBFA8","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"accessibleInInactiveWindow":true,"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":5882},"_PreviousBorderWidth":0,"owner":{"__isSmartRef__":true,"id":5874},"layout":{"__isSmartRef__":true,"id":5889},"_StyleClassNames":["close"],"attributeConnections":[{"__isSmartRef__":true,"id":5890},{"__isSmartRef__":true,"id":5892}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.WindowControl","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(304.4,3.0)"},"5882":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":5883},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":5884}],"eventHandler":{"__isSmartRef__":true,"id":5886},"_ClipMode":"hidden","derivationIds":["18901FFC-0D21-407F-ABC0-2BB1D80521AD"],"id":"32E8153C-866A-437A-95F7-1580807E3AD5","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":8,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":5881},"isLabel":true,"eventsAreIgnored":true,"_TextStylingMode":true,"__serializedExpressions__":["_TextColor","_Position"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,-1.0)"},"5883":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"5884":{"style":{"__isSmartRef__":true,"id":5885},"chunkOwner":{"__isSmartRef__":true,"id":5882},"_id":"_1670","storedString":"X","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5885":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5886":{"morph":{"__isSmartRef__":true,"id":5882},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5887":{"_BorderWidth":1,"_StrokeOpacity":0,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"5888":{"morph":{"__isSmartRef__":true,"id":5881},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5889":{"moveHorizontal":true},"5890":{"sourceObj":{"__isSmartRef__":true,"id":5881},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":3841},"targetMethodName":"getCloseHelp","varMapping":{"__isSmartRef__":true,"id":5891},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5891":{"source":{"__isSmartRef__":true,"id":5881},"target":{"__isSmartRef__":true,"id":3841}},"5892":{"sourceObj":{"__isSmartRef__":true,"id":5881},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":3841},"targetMethodName":"initiateShutdown","varMapping":{"__isSmartRef__":true,"id":5893},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5893":{"source":{"__isSmartRef__":true,"id":5881},"target":{"__isSmartRef__":true,"id":3841}},"5894":{"submorphs":[{"__isSmartRef__":true,"id":5895}],"scripts":[],"shape":{"__isSmartRef__":true,"id":5900},"eventHandler":{"__isSmartRef__":true,"id":5901},"_ClipMode":"visible","derivationIds":["E51FF825-9570-4914-B20B-7029DCC9ACE0"],"id":"F0F6F9EF-70A3-465B-B275-83C0296DB1F7","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"accessibleInInactiveWindow":true,"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":5895},"_PreviousBorderWidth":0,"owner":{"__isSmartRef__":true,"id":5874},"attributeConnections":[{"__isSmartRef__":true,"id":5902},{"__isSmartRef__":true,"id":5904}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"isPressed":false,"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.WindowControl","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(3.0,3.0)"},"5895":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":5896},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":5897}],"eventHandler":{"__isSmartRef__":true,"id":5899},"_ClipMode":"hidden","derivationIds":["37A2A739-1A1F-498C-8EEE-909ABECE1795"],"id":"45B8FCF7-FDCC-4AD3-94FE-3AF53B2073F9","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":8,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":5894},"isLabel":true,"eventsAreIgnored":true,"_TextStylingMode":true,"__serializedExpressions__":["_TextColor","_Position"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"5896":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(18.0,17.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"5897":{"style":{"__isSmartRef__":true,"id":5898},"chunkOwner":{"__isSmartRef__":true,"id":5895},"_id":"_1672","storedString":"M","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5898":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5899":{"morph":{"__isSmartRef__":true,"id":5895},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5900":{"_BorderWidth":1,"_StrokeOpacity":0,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"5901":{"morph":{"__isSmartRef__":true,"id":5894},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5902":{"sourceObj":{"__isSmartRef__":true,"id":5894},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":3841},"targetMethodName":"getMenuHelp","varMapping":{"__isSmartRef__":true,"id":5903},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5903":{"source":{"__isSmartRef__":true,"id":5894},"target":{"__isSmartRef__":true,"id":3841}},"5904":{"sourceObj":{"__isSmartRef__":true,"id":5894},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":3841},"targetMethodName":"showTargetMorphMenu","varMapping":{"__isSmartRef__":true,"id":5905},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5905":{"source":{"__isSmartRef__":true,"id":5894},"target":{"__isSmartRef__":true,"id":3841}},"5906":{"submorphs":[{"__isSmartRef__":true,"id":5907}],"scripts":[],"shape":{"__isSmartRef__":true,"id":5912},"eventHandler":{"__isSmartRef__":true,"id":5913},"_ClipMode":"visible","derivationIds":["158AFC6D-24CB-4DB5-A245-6D7283DDC1D6"],"id":"83C0ECF2-3D54-42B7-840E-1AA737FFFDE2","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"accessibleInInactiveWindow":true,"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":5907},"_PreviousBorderWidth":0,"owner":{"__isSmartRef__":true,"id":5874},"layout":{"__isSmartRef__":true,"id":5914},"attributeConnections":[{"__isSmartRef__":true,"id":5915},{"__isSmartRef__":true,"id":5917}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.WindowControl","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(285.4,3.0)"},"5907":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":5908},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":5909}],"eventHandler":{"__isSmartRef__":true,"id":5911},"_ClipMode":"hidden","derivationIds":["864112B1-4791-4892-9D7E-E83FFCFDEAF6"],"id":"018A7836-9244-4A9B-88BA-16D9894B7036","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":8,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":5906},"isLabel":true,"eventsAreIgnored":true,"_TextStylingMode":true,"__serializedExpressions__":["_TextColor","_Position"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,1.0)"},"5908":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"5909":{"style":{"__isSmartRef__":true,"id":5910},"chunkOwner":{"__isSmartRef__":true,"id":5907},"_id":"_1674","storedString":"–","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5910":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5911":{"morph":{"__isSmartRef__":true,"id":5907},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5912":{"_BorderWidth":1,"_StrokeOpacity":0,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"5913":{"morph":{"__isSmartRef__":true,"id":5906},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5914":{"moveHorizontal":true},"5915":{"sourceObj":{"__isSmartRef__":true,"id":5906},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":3841},"targetMethodName":"getCollapseHelp","varMapping":{"__isSmartRef__":true,"id":5916},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5916":{"source":{"__isSmartRef__":true,"id":5906},"target":{"__isSmartRef__":true,"id":3841}},"5917":{"sourceObj":{"__isSmartRef__":true,"id":5906},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":3841},"targetMethodName":"toggleCollapse","varMapping":{"__isSmartRef__":true,"id":5918},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"5918":{"source":{"__isSmartRef__":true,"id":5906},"target":{"__isSmartRef__":true,"id":3841}},"5919":{"_AppearanceStylingMode":true,"_BorderStylingMode":true,"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(324.4,22.0)","_Padding":"lively.rect(0,0,0,0)"},"5920":{"morph":{"__isSmartRef__":true,"id":5874},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5921":{"resizeWidth":true,"adjustForNewBounds":true},"5922":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":5923},"derivationIds":[null,"E34B7A68-766E-4DB7-A7E3-E4EE8A7079AC","7A7C4259-E86A-4D41-9B21-CE6D4EADF5A7","34C6ADC2-7F79-44A2-BEDF-A05F972B36BC","36694142-B04E-484B-957B-9BBF9784B20E","3CFE3EDB-8A42-4E75-A348-120654F234F2","3464720D-ABB2-4C88-BEEA-62B58DD08CD5","B5EA6ABC-057D-4A70-AB94-B3EDCA5E395E","05F4CC34-0F8A-43CA-94B6-9A543A70E55C","A2BF090C-5A85-4E54-92CA-6ABA47629E7B","DDD9B33B-824A-4C58-8107-67C5FADDFB72","09051614-6CE4-4984-B3CF-F3E78B5898B1","284F15EF-EA68-4F32-86F3-EA5DD3A23D1C","BE99321C-F9F7-45C2-9BED-3AC496C10878","344F1643-CC8E-4B9C-A57A-75074EDFDD12","E24B6723-2DA3-42B9-AE0B-1E28DA2C0CF8","035E96EC-B4F1-4D94-A31F-21750A89C148","658D2557-B37E-4C58-8618-9AF1E45EFA55","413248B4-5FDD-4647-9E20-F195F11DF903","20EF83E4-287D-4306-9EA0-65B7286C0E48","77F94626-E559-4BB8-B6EA-1EC2E50823C3","85515935-002D-4FF0-8C2B-E88837E5B98D","1B4B5619-CD65-49B8-939D-06D7DD9E0C4C","79748D72-9031-4011-9BD4-B7FE72461789","68C2CE7C-DB25-4911-B12A-8B0F69C8D46D","90DDEE95-E7B6-4FF5-A7B7-ED97BA99A75C","30A9C6A1-50FD-465E-8884-1FB4E887AA22","133E5671-4F3E-44AE-BA1C-8A23DFEFE806","8133C4D1-E8E5-4C70-BD30-B8BD467A97F0","19DEC829-053A-427D-B74C-447D4BFBBADF","F60BE0BE-9E27-495C-AD10-1BF48EF87F21","A6CCEFD6-C07E-4D58-8DBB-91E5EE97252D","483FFC15-78C6-43CA-88E9-D64C2C67C242","8A45C54F-F39A-477F-B6AB-21DD1002C37F"],"id":"B8B6F62B-55BF-47ED-9629-2E6BD3B0E53D","eventHandler":{"__isSmartRef__":true,"id":5927},"_ClipMode":"visible","droppingEnabled":true,"halosEnabled":true,"owner":{"__isSmartRef__":true,"id":3841},"attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"dragStartPoint":null,"originalTargetExtent":null,"_Rotation":0,"_Scale":1.0000000000000009,"__serializedExpressions__":["_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5928},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","_Position":"lively.pt(310.4,440.4)"},"5923":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":5924},{"__isSmartRef__":true,"id":5925},{"__isSmartRef__":true,"id":5926}],"_BorderWidth":0,"_BorderColor":null,"_NodeClass":["path"],"_NodeId":"morph-e34b7a68-766e-4db7-a7e3-e4ee8a7079ac","__serializedExpressions__":["_Position","_Extent","_Padding","_Fill"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Position":"lively.pt(-1.0,-1.0)","_Extent":"lively.pt(15.0,15.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(204,204,204)"},"5924":{"isAbsolute":true,"x":14,"y":0,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"5925":{"isAbsolute":true,"x":14,"y":14,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"5926":{"isAbsolute":true,"x":0,"y":14,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"5927":{"morph":{"__isSmartRef__":true,"id":5922},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5928":{"onDragStart":{"__isSmartRef__":true,"id":5929},"onDrag":{"__isSmartRef__":true,"id":5936},"onDragEnd":{"__isSmartRef__":true,"id":5943}},"5929":{"varMapping":{"__isSmartRef__":true,"id":5930},"source":"function onDragStart(evt) {\n this.dragStartPoint = evt.mousePoint;\n this.originalTargetExtent = this.owner.getExtent();\n }","funcProperties":{"__isSmartRef__":true,"id":5935},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5930":{"this":{"__isSmartRef__":true,"id":5922},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5931}},"5931":{"$super":{"__isSmartRef__":true,"id":5932}},"5932":{"varMapping":{"__isSmartRef__":true,"id":5933},"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":5934},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5933":{"obj":{"__isSmartRef__":true,"id":5922},"name":"onDragStart"},"5934":{},"5935":{},"5936":{"varMapping":{"__isSmartRef__":true,"id":5937},"source":"function onDrag(evt) {\n var moveDelta = evt.mousePoint.subPt(this.dragStartPoint)\n if (evt.isShiftDown()) {\n var maxDelta = Math.max(moveDelta.x, moveDelta.y);\n\t moveDelta = pt(maxDelta, maxDelta);\n };\n this.owner.setExtent(this.originalTargetExtent.addPt(moveDelta));\n this.align(this.bounds().bottomRight(), this.owner.getExtent());\n }","funcProperties":{"__isSmartRef__":true,"id":5942},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5937":{"this":{"__isSmartRef__":true,"id":5922},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5938}},"5938":{"$super":{"__isSmartRef__":true,"id":5939}},"5939":{"varMapping":{"__isSmartRef__":true,"id":5940},"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":5941},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5940":{"obj":{"__isSmartRef__":true,"id":5922},"name":"onDrag"},"5941":{},"5942":{},"5943":{"varMapping":{"__isSmartRef__":true,"id":5944},"source":"function onDragEnd(evt) {\n this.dragStartPoint = null;\n this.originalTargetExtent = null;\n }","funcProperties":{"__isSmartRef__":true,"id":5949},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5944":{"this":{"__isSmartRef__":true,"id":5922},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":5945}},"5945":{"$super":{"__isSmartRef__":true,"id":5946}},"5946":{"varMapping":{"__isSmartRef__":true,"id":5947},"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":5948},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"5947":{"obj":{"__isSmartRef__":true,"id":5922},"name":"onDragEnd"},"5948":{},"5949":{},"5950":{"_BorderWidth":0,"_Fill":null,"_StrokeOpacity":0,"_BorderRadius":0,"_NodeClass":["window"],"_NodeId":"morph-cd7bcb08-eb4a-48cd-952b-53a1eaeb23d0","__serializedExpressions__":["_Padding","_Extent"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Padding":"lively.rect(0,0,0,0)","_Extent":"lively.pt(324.4,454.4)"},"5951":{"morph":{"__isSmartRef__":true,"id":3841},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"5952":{"adjustForNewBounds":true},"5953":{"partsSpaceName":"PartsBin/Tools","comment":"A tool for inspecting an object. Very similar to the ObjectExplorer but a lot faster and with the ability to edit primitives, filter properties and display inheritance.","migrationLevel":4,"partName":"ObjectInspector","changes":[{"__isSmartRef__":true,"id":5954},{"__isSmartRef__":true,"id":5956},{"__isSmartRef__":true,"id":5958},{"__isSmartRef__":true,"id":5960},{"__isSmartRef__":true,"id":5962},{"__isSmartRef__":true,"id":5964},{"__isSmartRef__":true,"id":5966},{"__isSmartRef__":true,"id":5968},{"__isSmartRef__":true,"id":5970},{"__isSmartRef__":true,"id":5972},{"__isSmartRef__":true,"id":5974},{"__isSmartRef__":true,"id":5976},{"__isSmartRef__":true,"id":5978},{"__isSmartRef__":true,"id":5980},{"__isSmartRef__":true,"id":5982},{"__isSmartRef__":true,"id":5984},{"__isSmartRef__":true,"id":5986},{"__isSmartRef__":true,"id":5988},{"__isSmartRef__":true,"id":5990},{"__isSmartRef__":true,"id":5992},{"__isSmartRef__":true,"id":5994},{"__isSmartRef__":true,"id":5996},{"__isSmartRef__":true,"id":5998},{"__isSmartRef__":true,"id":6000},{"__isSmartRef__":true,"id":6002},{"__isSmartRef__":true,"id":6004},{"__isSmartRef__":true,"id":6006},{"__isSmartRef__":true,"id":6008},{"__isSmartRef__":true,"id":6010},{"__isSmartRef__":true,"id":6012},{"__isSmartRef__":true,"id":6014},{"__isSmartRef__":true,"id":6016},{"__isSmartRef__":true,"id":6018},{"__isSmartRef__":true,"id":6020},{"__isSmartRef__":true,"id":6022},{"__isSmartRef__":true,"id":6024}],"lastModifiedDate":{"__isSmartRef__":true,"id":6026},"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"5954":{"date":{"__isSmartRef__":true,"id":5955},"author":"cschuster","message":"reset scale to 1","id":"44F3B7C5-4880-4E0C-8E1A-B0CE032E7594"},"5955":{"isSerializedDate":true,"string":"Fri Jun 29 2012 01:21:07 GMT+0200 (CEST)"},"5956":{"date":{"__isSmartRef__":true,"id":5957},"author":"cschuster","message":"fixed a bug with addScript","id":"A00EC8E9-2F93-46E8-A1C8-22588B39BC11"},"5957":{"isSerializedDate":true,"string":"Thu Jun 14 2012 20:36:16 GMT+0200 (CEST)"},"5958":{"date":{"__isSmartRef__":true,"id":5959},"author":"cschuster","message":"copying should now work","id":"334BC443-5022-4C12-8DE0-532B479A57DC"},"5959":{"isSerializedDate":true,"string":"Thu Jun 14 2012 20:14:16 GMT+0200 (CEST)"},"5960":{"date":{"__isSmartRef__":true,"id":5961},"author":"cschuster","message":"changed submorphs to morphs.","id":"F6E05A4D-23B9-4CCA-88DE-C14C35965B13"},"5961":{"isSerializedDate":true,"string":"Wed Jun 06 2012 18:56:30 GMT+0200 (CEST)"},"5962":{"date":{"__isSmartRef__":true,"id":5963},"author":"cschuster","message":"inheritance now works as well","id":"B6153C82-028D-48C6-A949-B9C16246B7E1"},"5963":{"isSerializedDate":true,"string":"Wed Jun 06 2012 03:06:06 GMT+0200 (CEST)"},"5964":{"date":{"__isSmartRef__":true,"id":5965},"author":"cschuster","message":"started work on displaying inherited properties.","id":"E2D295AA-8DC9-41F0-8699-3B4294FFA5A2"},"5965":{"isSerializedDate":true,"string":"Wed Jun 06 2012 02:46:47 GMT+0200 (CEST)"},"5966":{"date":{"__isSmartRef__":true,"id":5967},"author":"cschuster","message":"fixed handling of null and undefined values","id":"25FAB4E6-9A70-4E32-8213-1098C6A9C363"},"5967":{"isSerializedDate":true,"string":"Wed Jun 06 2012 01:57:14 GMT+0200 (CEST)"},"5968":{"date":{"__isSmartRef__":true,"id":5969},"author":"cschuster","message":"fixed problem with boolean values","id":"ECA8BC3D-29C8-4779-B61C-27DC9E13B7E2"},"5969":{"isSerializedDate":true,"string":"Wed Jun 06 2012 01:25:44 GMT+0200 (CEST)"},"5970":{"date":{"__isSmartRef__":true,"id":5971},"author":"cschuster","message":"fixed bug with primitive values.","id":"6B05214C-6EE6-4F5C-BA36-DFC15578CB12"},"5971":{"isSerializedDate":true,"string":"Wed Jun 06 2012 01:14:48 GMT+0200 (CEST)"},"5972":{"date":{"__isSmartRef__":true,"id":5973},"author":"cschuster","message":"better updating for collapsed items","id":"A37C0C9B-1F7F-49D9-BC86-CA97E05C812D"},"5973":{"isSerializedDate":true,"string":"Wed Jun 06 2012 01:12:20 GMT+0200 (CEST)"},"5974":{"date":{"__isSmartRef__":true,"id":5975},"author":"cschuster","message":"removed filter for inherited properties","id":"CABABBD4-BABE-4D47-8EBF-CED45960532B"},"5975":{"isSerializedDate":true,"string":"Wed Jun 06 2012 00:10:42 GMT+0200 (CEST)"},"5976":{"date":{"__isSmartRef__":true,"id":5977},"author":"cschuster","message":"editing of strings, numbers and boolean values","id":"CE0C9588-EB85-4390-B51B-BC51AA154F11"},"5977":{"isSerializedDate":true,"string":"Tue Jun 05 2012 02:33:18 GMT+0200 (CEST)"},"5978":{"date":{"__isSmartRef__":true,"id":5979},"author":"cschuster","message":"improved text editing","id":"C9950198-82AF-47B8-9BDF-04C7457FE598"},"5979":{"isSerializedDate":true,"string":"Tue Jun 05 2012 01:18:18 GMT+0200 (CEST)"},"5980":{"date":{"__isSmartRef__":true,"id":5981},"author":"cschuster","message":"now supports editing of string properties","id":"4DEA5157-6A26-46F4-AE4E-59112855E522"},"5981":{"isSerializedDate":true,"string":"Tue Jun 05 2012 00:44:13 GMT+0200 (CEST)"},"5982":{"date":{"__isSmartRef__":true,"id":5983},"author":"cschuster","message":"updating should work now. still needs some testing","id":"381E10DB-4391-42E3-A790-D5EAEFF2758B"},"5983":{"isSerializedDate":true,"string":"Sat Jun 02 2012 03:12:07 GMT+0200 (CEST)"},"5984":{"date":{"__isSmartRef__":true,"id":5985},"author":"cschuster","message":"initial commit. still a lot of work to do.","id":"258D3B7C-8C70-4B34-962F-E2F39A8596D5"},"5985":{"isSerializedDate":true,"string":"Tue May 29 2012 23:52:57 GMT+0200 (CEST)"},"5986":{"date":{"__isSmartRef__":true,"id":5987},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"5987":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"5988":{"date":{"__isSmartRef__":true,"id":5989},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"5989":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"5990":{"date":{"__isSmartRef__":true,"id":5991},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"5991":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"5992":{"date":{"__isSmartRef__":true,"id":5993},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"5993":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"5994":{"date":{"__isSmartRef__":true,"id":5995},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"5995":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"5996":{"date":{"__isSmartRef__":true,"id":5997},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"5997":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"5998":{"date":{"__isSmartRef__":true,"id":5999},"author":"cschuster","message":"faster updating","id":"BDDADEB8-FC7D-4240-965D-5C2A8106884F"},"5999":{"isSerializedDate":true,"string":"Mon Jun 04 2012 20:44:27 GMT+0200 (CEST)"},"6000":{"date":{"__isSmartRef__":true,"id":6001},"author":"cschuster","message":"now uses hidden root node","id":"63608436-F5CC-4F6C-8C9E-C4039CAAE8AE"},"6001":{"isSerializedDate":true,"string":"Mon Jun 04 2012 22:34:53 GMT+0200 (CEST)"},"6002":{"date":{"__isSmartRef__":true,"id":6003},"author":"cschuster","message":"now supports filtering","id":"CF4D534E-10BF-4727-8FB1-25AB7DEC6E48"},"6003":{"isSerializedDate":true,"string":"Tue Jun 05 2012 23:45:47 GMT+0200 (CEST)"},"6004":{"date":{"__isSmartRef__":true,"id":6005},"author":"cschuster","message":"fixed the problems with the unspecified filter.","id":"745E611A-B941-4FFD-9759-E982062C03B8"},"6005":{"isSerializedDate":true,"string":"Tue Jun 05 2012 23:51:21 GMT+0200 (CEST)"},"6006":{"date":{"__isSmartRef__":true,"id":6007},"author":"cschuster","message":"fixed bug with prototype of primitives.","id":"A3F3EEC4-36E8-4EC8-B2DD-8B899A275990"},"6007":{"isSerializedDate":true,"string":"Wed Jun 06 2012 03:16:23 GMT+0200 (CEST)"},"6008":{"date":{"__isSmartRef__":true,"id":6009},"author":"jenslincke","message":"added \"show submorphs\" to filter options","id":"93060C3D-5BE0-46C0-BF46-58B7C287E037"},"6009":{"isSerializedDate":true,"string":"Wed Jun 06 2012 10:58:01 GMT+0200 (CEST)"},"6010":{"date":{"__isSmartRef__":true,"id":6011},"author":"cschuster","message":"fixed description string for namespaces and clipping mode.","id":"9CB238CB-7069-43DE-81BD-C09B61A2BDB4"},"6011":{"isSerializedDate":true,"string":"Thu Jun 07 2012 00:19:24 GMT+0200 (CEST)"},"6012":{"date":{"__isSmartRef__":true,"id":6013},"author":"cschuster","message":"hopefully fixed the addScript bug","id":"D040A117-4200-449C-A492-272C4498EDBD"},"6013":{"isSerializedDate":true,"string":"Fri Jun 15 2012 00:12:43 GMT+0200 (CEST)"},"6014":{"date":{"__isSmartRef__":true,"id":6015},"author":"cschuster","message":"fixed serialization of filter","id":"776E7AFA-1299-4714-94C4-F514AC2A255C"},"6015":{"isSerializedDate":true,"string":"Fri Jun 15 2012 00:21:17 GMT+0200 (CEST)"},"6016":{"date":{"__isSmartRef__":true,"id":6017},"author":"cschuster","message":"fixed string describe bug","id":"B38CA966-52EB-420C-84FB-ADED1B421078"},"6017":{"isSerializedDate":true,"string":"Mon Jul 02 2012 23:16:55 GMT+0200 (CEST)"},"6018":{"date":{"__isSmartRef__":true,"id":6019},"author":"cschuster","message":"do not serialize prototype data","id":"E13FF3C5-692E-45E6-81DA-497C4F1A252B"},"6019":{"isSerializedDate":true,"string":"Wed Aug 01 2012 04:04:41 GMT+0200 (CEST)"},"6020":{"date":{"__isSmartRef__":true,"id":6021},"author":"jenslincke","message":"changed layout and added splitter","id":"98C76CEA-1AFB-4802-B245-BC542286BE14"},"6021":{"isSerializedDate":true,"string":"Thu Nov 22 2012 14:43:32 GMT+0100 (CET)"},"6022":{"date":{"__isSmartRef__":true,"id":6023},"author":"jenslincke","message":"changed layout and added splitter","id":"8CE1DD54-E7A9-40CC-9761-30F2B4D4191C"},"6023":{"isSerializedDate":true,"string":"Thu Nov 22 2012 14:43:37 GMT+0100 (CET)"},"6024":{"date":{"__isSmartRef__":true,"id":6025},"author":"jenslincke","message":"new title bar","id":"24261115-4F33-48D7-9E6F-D580EF3CB481"},"6025":{"isSerializedDate":true,"string":"Thu Nov 29 2012 09:58:12 GMT+0100 (CET)"},"6026":{"isSerializedDate":true,"string":"Thu Nov 29 2012 09:55:17 GMT+0100 (CET)"},"6027":{"inspect":{"__isSmartRef__":true,"id":6028}},"6028":{"varMapping":{"__isSmartRef__":true,"id":6029},"source":"function inspect(obj) {\n this.get('ObjectInspector').inspect(obj);\n}","funcProperties":{"__isSmartRef__":true,"id":6030},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"6029":{"this":{"__isSmartRef__":true,"id":3841}},"6030":{"timestamp":{"__isSmartRef__":true,"id":6031},"user":"cschuster","tags":[]},"6031":{"isSerializedDate":true,"string":"Fri Jun 01 2012 21:32:31 GMT+0200 (CEST)"},"6032":{"submorphs":[{"__isSmartRef__":true,"id":6033},{"__isSmartRef__":true,"id":8779},{"__isSmartRef__":true,"id":8804},{"__isSmartRef__":true,"id":8829},{"__isSmartRef__":true,"id":8877},{"__isSmartRef__":true,"id":8920}],"scripts":[],"shape":{"__isSmartRef__":true,"id":8945},"eventHandler":{"__isSmartRef__":true,"id":8946},"_ClipMode":"visible","derivationIds":[],"id":"8CB25ED6-C3D2-4178-90AE-30545F64E812","droppingEnabled":false,"halosEnabled":true,"draggingEnabled":true,"layout":{"__isSmartRef__":true,"id":8947},"LK2":true,"__serializedExpressions__":["_Position","contentOffset","minExtent","prevDragPos"],"targetMorph":{"__isSmartRef__":true,"id":6033},"reframeHandle":{"__isSmartRef__":true,"id":8920},"bottomReframeHandle":{"__isSmartRef__":true,"id":8779},"rightReframeHandle":{"__isSmartRef__":true,"id":8804},"titleBar":{"__isSmartRef__":true,"id":8829},"collapsedTransform":null,"collapsedExtent":null,"expandedTransform":null,"expandedExtent":null,"ignoreEventsOnExpand":false,"_PreviousBorderWidth":0,"owner":{"__isSmartRef__":true,"id":0},"partsBinMetaInfo":{"__isSmartRef__":true,"id":8747},"name":"ToolTabPaneWindow","highlighted":false,"isBeingDragged":false,"__LivelyClassName__":"lively.morphic.Window","__SourceModuleName__":"Global.lively.morphic.Widgets","withoutLayers":["Global.lively.morphic.GrabbingLayer"],"_Position":"lively.pt(343.4,64.6)","contentOffset":"lively.pt(4.0,22.0)","minExtent":"lively.pt(700.0,370.0)","prevDragPos":"lively.pt(633.0,77.0)"},"6033":{"submorphs":[{"__isSmartRef__":true,"id":6034},{"__isSmartRef__":true,"id":7820},{"__isSmartRef__":true,"id":6055},{"__isSmartRef__":true,"id":8148},{"__isSmartRef__":true,"id":8446}],"scripts":[],"shape":{"__isSmartRef__":true,"id":8744},"derivationIds":[null,"87FAF55E-F71E-4F69-A29F-5DAF28EF42C0","33449239-EF48-41FE-9BFD-EA211884F247","956938FD-7466-4DD2-A6E4-1FB8477A3306","652178C9-70DE-4F60-9FB7-D37D23D04AEA","7733B961-E644-4906-B640-0B30E06276C7","5CC81DD5-CA62-4F35-8F26-2C1F6DD22CC3","03B60241-98AB-4310-ACEA-E7687E706CA5","3B38BAEC-7179-4451-BB8B-106F92AEA32B","5859188C-662D-4322-90F0-E2997F91C989","D8777C0F-419F-4C8C-9073-863F67431AB0","B1AEE8B2-4F0E-400A-9C44-84E55118F5A4","EB59F5AA-11EA-4160-A380-33883FCBFC12","1BEBE524-9499-4E24-84C4-E8F9F7A86663","1826D64D-5CE8-4BB8-8AA3-1785854B22C3","EB298904-0A41-4BF3-B52F-3B1ECB88F0FD","C789029E-30DD-4135-8E16-639314A545D0"],"id":"FA246E38-1657-45FD-BE22-0224976C8467","eventHandler":{"__isSmartRef__":true,"id":8745},"droppingEnabled":true,"halosEnabled":true,"tabBarStrategy":{"__isSmartRef__":true,"id":8746},"__serializedExpressions__":["tabPaneExtent","_Position","distanceToDragEvent"],"tabBar":{"__isSmartRef__":true,"id":6034},"showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":8747},"name":"ToolTabPane","attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"prevScroll":[0,0],"layout":{"__isSmartRef__":true,"id":8761},"moved":true,"_Rotation":0,"_Scale":1,"_ClipMode":"visible","#startLetters":"","owner":{"__isSmartRef__":true,"id":6032},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":8762},"__LivelyClassName__":"lively.morphic.TabContainer","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","withLayers":["Global.TabbedMethodFinderLayer"],"tabPaneExtent":"lively.pt(872.1,440.7)","_Position":"lively.pt(4.0,22.0)","distanceToDragEvent":"lively.pt(581.1,-13.2)"},"6034":{"submorphs":[{"__isSmartRef__":true,"id":6035},{"__isSmartRef__":true,"id":7800},{"__isSmartRef__":true,"id":8128},{"__isSmartRef__":true,"id":8426}],"scripts":[],"shape":{"__isSmartRef__":true,"id":8741},"derivationIds":[null,"C9AFDCE0-7E36-4F4A-A4FD-ADF539D3F3BE","45EA8685-1562-433C-9510-7D387C52D50D","68FD3A27-03F4-41EE-A019-24EECD4B9D4D","8E706A37-51F2-434A-8488-92F5487BE77E","D7EF478F-C07F-4C57-8E84-C7FA15901B78","65508D46-12CC-4A6F-9CA5-AA1E26EAA9EA","03757FEA-1979-424E-8EA1-7231E038BD91","D8EB800F-9FF7-406C-B42A-FD51AA5C9390","5892030A-109B-40A4-8484-382B6F34EFA3","5623D1FD-B4D3-47A0-AC1F-67B3388DEC19","3BF7A333-B725-4A4E-AF76-8D1DAAD1FD40","492FA464-292A-4E4B-AF05-0F34F7329A1E","C875DD96-0677-43FF-9942-16AD478F3A82","16D4C43F-D991-4289-BBAF-A1FD33535698","AF32CC15-CF1B-46FE-A464-11EE27613F61","5EE59C94-8C8A-4055-866A-C7BB048088D9"],"id":"319D7E22-1477-42FA-AEC5-E042D8F60C05","eventHandler":{"__isSmartRef__":true,"id":8742},"droppingEnabled":true,"halosEnabled":true,"tabContainer":{"__isSmartRef__":true,"id":6033},"grabbingEnabled":false,"draggingEnabled":false,"tabs":[{"__isSmartRef__":true,"id":6035},{"__isSmartRef__":true,"id":7800},{"__isSmartRef__":true,"id":8128},{"__isSmartRef__":true,"id":8426}],"owner":{"__isSmartRef__":true,"id":6033},"__serializedExpressions__":["_Position"],"attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"showsHalos":false,"prevScroll":[0,0],"layout":{"__isSmartRef__":true,"id":8743},"_Rotation":0,"_ClipMode":"visible","_Scale":1,"adjustedTabSizes":true,"__LivelyClassName__":"lively.morphic.TabBar","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","_Position":"lively.pt(0.0,0.0)"},"6035":{"submorphs":[{"__isSmartRef__":true,"id":6036},{"__isSmartRef__":true,"id":6041}],"scripts":[],"shape":{"__isSmartRef__":true,"id":6052},"eventHandler":{"__isSmartRef__":true,"id":6053},"_ClipMode":"visible","derivationIds":[],"id":"9B16DEBC-35D1-424A-A4C9-5E9C74A37B82","droppingEnabled":true,"halosEnabled":true,"tabBar":{"__isSmartRef__":true,"id":6034},"tabBarOffset":0,"layout":{"__isSmartRef__":true,"id":6054},"pane":{"__isSmartRef__":true,"id":6055},"label":{"__isSmartRef__":true,"id":6036},"name":"S:processKeyEvents","grabbingEnabled":false,"draggingEnabled":false,"closeButton":{"__isSmartRef__":true,"id":6041},"owner":{"__isSmartRef__":true,"id":6034},"__serializedExpressions__":["_Position"],"isActive":false,"__LivelyClassName__":"lively.morphic.Tab","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","_Position":"lively.pt(0.0,0.0)"},"6036":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":6037},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":6038}],"eventHandler":{"__isSmartRef__":true,"id":6040},"_ClipMode":"hidden","derivationIds":[],"id":"3F37A676-2148-4E7C-8720-5A3F97D276B4","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"isLabel":true,"eventsAreIgnored":true,"eventsAreDisabled":true,"_PointerEvents":"none","owner":{"__isSmartRef__":true,"id":6035},"_FontWeight":null,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(5.0,5.0)"},"6037":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(136.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"6038":{"style":{"__isSmartRef__":true,"id":6039},"chunkOwner":{"__isSmartRef__":true,"id":6036},"_id":"_1730","storedString":"S:processKeyEvents","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6039":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6040":{"morph":{"__isSmartRef__":true,"id":6036},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"6041":{"submorphs":[{"__isSmartRef__":true,"id":6042}],"scripts":[],"shape":{"__isSmartRef__":true,"id":6047},"eventHandler":{"__isSmartRef__":true,"id":6048},"_ClipMode":"visible","derivationIds":[],"id":"CF63EF38-BB96-44C5-B22E-C8AA8A7B4808","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":6042},"_PreviousBorderWidth":1,"owner":{"__isSmartRef__":true,"id":6035},"__serializedExpressions__":["_Position"],"layout":{"__isSmartRef__":true,"id":6049},"attributeConnections":[{"__isSmartRef__":true,"id":6050}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"isPressed":false,"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(67.0,6.0)"},"6042":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":6043},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":6044}],"eventHandler":{"__isSmartRef__":true,"id":6046},"_ClipMode":"hidden","derivationIds":[],"id":"29FD8C8C-528D-4B5C-B88E-EB89A2D69317","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor"],"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":6041},"isLabel":true,"_Align":"center","eventsAreIgnored":true,"_TextStylingMode":true,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(0,0,0)"},"6043":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(20.0,20.0)","_Padding":"lively.rect(0,3,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"6044":{"style":{"__isSmartRef__":true,"id":6045},"chunkOwner":{"__isSmartRef__":true,"id":6042},"_id":"_1729","storedString":"X","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6045":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6046":{"morph":{"__isSmartRef__":true,"id":6042},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"6047":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":1,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(20.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"6048":{"morph":{"__isSmartRef__":true,"id":6041},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"6049":{"moveHorizontal":true},"6050":{"sourceObj":{"__isSmartRef__":true,"id":6041},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":6035},"targetMethodName":"closeTab","varMapping":{"__isSmartRef__":true,"id":6051},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6051":{"source":{"__isSmartRef__":true,"id":6041},"target":{"__isSmartRef__":true,"id":6035}},"6052":{"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"_BorderWidth":1,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(90.0,30.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(204,204,204)","_BorderColor":"Color.rgb(204,204,204)"},"6053":{"morph":{"__isSmartRef__":true,"id":6035},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"6054":{"adjustForNewBounds":true},"6055":{"submorphs":[{"__isSmartRef__":true,"id":6056}],"scripts":[],"shape":{"__isSmartRef__":true,"id":7797},"eventHandler":{"__isSmartRef__":true,"id":7798},"_ClipMode":"scroll","derivationIds":[],"id":"B03A1F5A-635E-4402-92CD-5B11388CE85F","grabbingEnabled":false,"droppingEnabled":true,"halosEnabled":true,"draggingEnabled":false,"layout":{"__isSmartRef__":true,"id":7799},"tab":{"__isSmartRef__":true,"id":6035},"tabBar":{"__isSmartRef__":true,"id":6034},"name":"S:processKeyEvents - Pane","owner":{"__isSmartRef__":true,"id":6033},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.TabPane","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","_Position":"lively.pt(0.0,30.0)"},"6056":{"submorphs":[{"__isSmartRef__":true,"id":6057},{"__isSmartRef__":true,"id":6064},{"__isSmartRef__":true,"id":6084},{"__isSmartRef__":true,"id":6109},{"__isSmartRef__":true,"id":7628},{"__isSmartRef__":true,"id":7634},{"__isSmartRef__":true,"id":7654},{"__isSmartRef__":true,"id":7697}],"scripts":[],"id":"46658197-DC02-4106-8474-6889B9945656","shape":{"__isSmartRef__":true,"id":7723},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"MethodFinderPane","partsBinMetaInfo":{"__isSmartRef__":true,"id":7724},"isCopyMorphRef":true,"morphRefId":1,"layout":{"__isSmartRef__":true,"id":7746},"eventHandler":{"__isSmartRef__":true,"id":7747},"doNotSerialize":["targetFunction","targetObject"],"prevScroll":[0,0],"isBeingDragged":false,"derivationIds":[204,"90F6ED76-D56E-436C-96E7-CBFE7106283E","53162F18-6DD1-4230-B30F-EC4BA7B7A9ED","73F374A9-9CEE-4D2E-8BA6-030971E02396","0859BA09-FE36-4B7E-85B5-A141B84A252C","AB402971-988F-4D01-AE49-87C1AFEAA1C3","A80F8C19-12D2-49AF-941A-2454433D2A59","9370F962-CBB6-42C0-8F15-79D0F66045FD","2F24C0FF-1360-4C35-BE22-B5DE5FFAB3F4","81FC43AC-A19A-48A5-B854-601A302E5585","BBF2876B-A928-4012-A9BD-A39052E30483","3E2C739C-3BA6-4C2C-B7FB-A726AA7015BB","B55E78F3-F8DB-4034-91E7-0D1B364B82DA","FF257E99-B7E7-4837-8F67-965F5DAEC58F"],"moved":true,"_ClipMode":"visible","_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","distanceToDragEvent"],"owner":{"__isSmartRef__":true,"id":6055},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":7748},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)","distanceToDragEvent":"lively.pt(583.4,-13.9)"},"6057":{"submorphs":[],"scripts":[],"id":"50B9AC07-F4A5-400E-B1E1-27FE77B99B6D","shape":{"__isSmartRef__":true,"id":6058},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":true,"allowsInput":true,"_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":287,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":13,"name":"searchText","partsBinMetaInfo":{"__isSmartRef__":true,"id":6059},"owner":{"__isSmartRef__":true,"id":6056},"charsReplaced":"Events","lastFindLoc":16,"attributeConnections":[{"__isSmartRef__":true,"id":6060}],"doNotSerialize":["$$savedTextString"],"doNotCopyProperties":["$$savedTextString"],"isInputLine":true,"_WhiteSpaceHandling":"pre-wrap","allowInput":true,"textChunks":[{"__isSmartRef__":true,"id":6061}],"prevScroll":[0,0],"_ClipMode":"hidden","lastSearchString":"prev","eventHandler":{"__isSmartRef__":true,"id":6063},"_MinTextWidth":287,"_MinTextHeight":null,"isBeingDragged":false,"derivationIds":[205,"63CD6525-ECE4-4F52-A84B-27633C22F3F9","D7B775A2-513B-4768-AB24-6718580E61A9","FE8FA703-C984-4702-8139-2C4E9353FB41","2C124317-773E-498D-BB6D-9BEC99637AF3","BFDC0BE7-0289-4FA0-A2EC-14EF2BA09445","E16771FE-0062-4803-9678-9625DB0CFBFA","B9D2EC7D-E050-4D3D-8ABC-52D8ACA55936","196DC9F1-78FF-488F-80AB-8129A171A1C9","F2FB3FCC-8AE2-4DFB-AD6F-3DE2513762B0","4897081D-DCA7-4D33-B262-00412C9821FD","9DEE84F9-6727-4802-BD51-456C40E212F1","3868C69C-36F7-42FF-95C8-191FBE40BCA2","E8E15F14-A537-4CCB-8603-2B7814C74B21"],"savedTextString":"proces","_WordBreak":"break-all","_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","textColor","distanceToDragEvent"],"priorSelectionRange":[10,10],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(10.0,17.0)","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(199.7,-15.5)"},"6058":{"fill":null,"_BorderWidth":1,"_ClipMode":"hidden","_BorderRadius":4,"__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(292.0,25.0)","_BorderColor":"Color.rgb(102,102,102)","_Padding":"lively.rect(3,3,-3,-3)"},"6059":{"partsSpaceName":"PartsBin/NewWorld","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"6060":{"sourceObj":{"__isSmartRef__":true,"id":6057},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":6056},"targetMethodName":"search","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6061":{"style":{"__isSmartRef__":true,"id":6062},"chunkOwner":{"__isSmartRef__":true,"id":6057},"_id":"_1731","storedString":"proces","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6062":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6063":{"morph":{"__isSmartRef__":true,"id":6057},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"6064":{"submorphs":[{"__isSmartRef__":true,"id":6065}],"scripts":[],"id":"8FFCD64F-ADD4-408F-AEBC-27CB9A16593A","shape":{"__isSmartRef__":true,"id":6070},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":6071},"lighterFill":{"__isSmartRef__":true,"id":6076},"label":{"__isSmartRef__":true,"id":6065},"showsHalos":false,"name":"searchButton","partsBinMetaInfo":{"__isSmartRef__":true,"id":6081},"owner":{"__isSmartRef__":true,"id":6056},"attributeConnections":[{"__isSmartRef__":true,"id":6082}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"eventHandler":{"__isSmartRef__":true,"id":6083},"derivationIds":[206,"CB9026E7-BAD5-49AB-B6E0-88B46D561743","C2FEDA8A-ABCE-426D-BB39-F8B4C0CCBE5F","21DC60CF-D1A0-4B54-9B91-F82A50CF8D3A","6E0B3DCD-9AD6-4AAF-A854-252E628FC222","457022C0-0CD0-426F-89B8-DAA8E3AA15C0","AE87A8FC-A7FF-40D5-B8B3-351194957A1B","0107A29A-C954-43A8-82FD-CEE77E946A25","E82E1B35-1C20-4BE4-A5CB-0936E7D4AD20","7485F277-13B5-4FF4-9B90-10385A227006","216A87FA-4CA8-4657-886E-D2EE1398E86F","051E1CDB-3E9B-41A7-89A7-24E539E5FA37","94585AAD-3EC1-42EB-9974-C981FF5A4539","9B4E4399-5243-44AB-A0E1-0C79DC36B095"],"_ClipMode":"visible","_Rotation":0,"_Scale":1,"isPressed":false,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(310.0,20.0)","distanceToDragEvent":"lively.pt(53.7,-21.5)"},"6065":{"submorphs":[],"scripts":[],"id":"D038423B-4454-4F43-B13D-09ECC366AE04","shape":{"__isSmartRef__":true,"id":6066},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":false,"_FontFamily":"Helvetica","registeredForMouseEvents":true,"_MaxTextWidth":77,"_MaxTextHeight":null,"owner":{"__isSmartRef__":true,"id":6064},"isLabel":true,"eventsAreIgnored":true,"textStyle":null,"textChunks":[{"__isSmartRef__":true,"id":6067}],"prevScroll":[0,0],"_ClipMode":"hidden","_Align":"center","eventHandler":{"__isSmartRef__":true,"id":6069},"_HandStyle":"default","_PointerEvents":"none","_MinTextWidth":77,"_MinTextHeight":null,"derivationIds":[207,"9A623BA1-A240-454B-B0DD-53932A371FB3","9E828467-210E-44D4-8E3D-17C5F92B1AAE","75AF52F1-0E7E-419A-BC00-5CCC0D52CEDC","F3C81240-9550-45C3-8B7A-8A3C0ED15BE6","70D8CC33-5AEE-45B5-AC0B-B9A6350C7F51","C80D2176-BA4F-4DCF-88D8-540ADE03E6B9","CB9FE42C-61BF-409D-9CC7-1F1B094C61FA","BF7D1270-418D-46A3-95E5-991F82DAD8C6","CDA433D8-442B-4D3A-A58E-F9C5FCED9086","039DDED5-FFAA-423A-99F2-2236BB594511","E618043F-74DF-4D4A-991F-5AA47FD766F8","B41F9418-E248-400B-AD6D-4963C128AB45","E16D344F-E777-424E-A4D0-8EB94CF53A44"],"_WordBreak":"break-all","_Scale":1,"__serializedExpressions__":["_Position","padding","_Padding"],"__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)"},"6066":{"_BorderWidth":0,"_Fill":null,"_ClipMode":"hidden","__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(77.0,20.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,3,0,0)"},"6067":{"style":{"__isSmartRef__":true,"id":6068},"morph":{"__isSmartRef__":true,"id":6065},"chunkOwner":{"__isSmartRef__":true,"id":6065},"storedString":"search","_id":"_150","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6068":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6069":{"morph":{"__isSmartRef__":true,"id":6065},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"6070":{"_BorderWidth":1,"_Fill":{"__isSmartRef__":true,"id":6071},"_BorderRadius":5,"_ClipMode":"visible","_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(77.0,20.0)","_BorderColor":"Color.rgb(66,66,66)","_Padding":"lively.rect(0,0,0,0)"},"6071":{"stops":[{"__isSmartRef__":true,"id":6072},{"__isSmartRef__":true,"id":6073},{"__isSmartRef__":true,"id":6074},{"__isSmartRef__":true,"id":6075}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"6072":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"6073":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"6074":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"6075":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(240,240,240)"},"6076":{"stops":[{"__isSmartRef__":true,"id":6077},{"__isSmartRef__":true,"id":6078},{"__isSmartRef__":true,"id":6079},{"__isSmartRef__":true,"id":6080}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"6077":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"6078":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"6079":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"6080":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"6081":{"partsSpaceName":"PartsBin/NewWorld","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"6082":{"sourceObj":{"__isSmartRef__":true,"id":6064},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":6057},"targetMethodName":"doSave","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6083":{"morph":{"__isSmartRef__":true,"id":6064},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"6084":{"submorphs":[],"scripts":[],"id":"E68E0281-A64A-4D6E-A0CA-3146FF1E37E9","shape":{"__isSmartRef__":true,"id":6085},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"itemList":[{"__isSmartRef__":true,"id":6086},{"__isSmartRef__":true,"id":6087},{"__isSmartRef__":true,"id":6088},{"__isSmartRef__":true,"id":6089},{"__isSmartRef__":true,"id":6090},{"__isSmartRef__":true,"id":6091},{"__isSmartRef__":true,"id":6092}],"showsHalos":false,"name":"searchResultList","partsBinMetaInfo":{"__isSmartRef__":true,"id":6093},"owner":{"__isSmartRef__":true,"id":6056},"attributeConnections":[{"__isSmartRef__":true,"id":6094}],"doNotSerialize":["$$selection"],"doNotCopyProperties":["$$selection"],"prevScroll":[0,192],"resizeHeight":true,"resizeWidth":true,"layout":{"__isSmartRef__":true,"id":6095},"eventHandler":{"__isSmartRef__":true,"id":6096},"isBeingDragged":false,"derivationIds":[208,"884F3C31-F47F-4325-B01C-55796601323C","AF542C45-CFC5-475A-B28E-37B7FC51E468","C6B09735-9683-446C-A39C-E4924083B282","7860DCD2-EC25-4F34-B79B-18C47FBEE925","7ACC50AB-EE77-4AD9-8731-20150C616D1C","6A21BD7F-EC45-467D-BDA4-F218B9407920","0B0BFDF5-91C4-4369-AB7F-07CDAE8813BF","0D9A4870-E562-4C17-A057-3DB8D1C9234C","854096E7-42E2-48F4-B656-D1AE606FAEBF","659ABB8A-3E6D-4E1C-864B-CE8459AD730A","1A73ECB5-B976-457C-8138-8385DBD45070","2A6C9E8E-DFFC-4DE3-A9F0-2624BE97EB96","5CE28027-78AA-4148-84D2-7B4305C0BE89"],"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","distanceToDragEvent"],"selection":{"__isSmartRef__":true,"id":6097},"selectedLineNo":0,"changeTriggered":true,"__LivelyClassName__":"lively.morphic.List","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(10.0,50.0)","distanceToDragEvent":"lively.pt(589.7,-14.5)"},"6085":{"_BorderWidth":0,"__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(845.6,140.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(243,243,243)","_Padding":"lively.rect(0,0,0,0)"},"6086":{"isListItem":true,"string":"class name: Text: processCommandKeys","doNotSerialize":["value"],"priority":"B"},"6087":{"isListItem":true,"string":"class name: World: processCommandKeys","doNotSerialize":["value"],"priority":"B"},"6088":{"isListItem":true,"string":"class full: ClosurePlugin: deserializationDone","doNotSerialize":["value"],"priority":"C"},"6089":{"isListItem":true,"string":"class full: Sizzle: setupSelectors","doNotSerialize":["value"],"priority":"C"},"6090":{"isListItem":true,"string":"class full: Text: onKeyDown","doNotSerialize":["value"],"priority":"C"},"6091":{"isListItem":true,"string":"class full: Text: onPaste","doNotSerialize":["value"],"priority":"C"},"6092":{"isListItem":true,"string":"class full: World: onKeyDown","doNotSerialize":["value"],"priority":"C"},"6093":{"partsSpaceName":"PartsBin/NewWorld","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"6094":{"sourceObj":{"__isSmartRef__":true,"id":6084},"sourceAttrName":"selection","targetObj":{"__isSmartRef__":true,"id":6056},"targetMethodName":"browse","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"6095":{"resizeWidth":true},"6096":{"morph":{"__isSmartRef__":true,"id":6084},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"6097":{"object":{"__isSmartRef__":true,"id":6098},"method":"processCommandKeys","string":"Text: processCommandKeys","type":"class","search":"implementor"},"6098":{"isText":true,"allowInput":true,"style":{"__isSmartRef__":true,"id":6099},"autoAdjustPadding":true,"suppressDropping":true,"draggingEnabled":true,"shortcutHandlers":[],"tab":" ","htmlDispatchTable":{"__isSmartRef__":true,"id":6100},"svgDispatchTable":{"__isSmartRef__":true,"id":6101},"canvasDispatchTable":{"__isSmartRef__":true,"id":6102},"accessibleInInactiveWindow":false,"connections":{"__isSmartRef__":true,"id":6103},"doNotSerialize":["charsTyped","parseErrors","parseErrors"],"_layer_object_id":7,"syntaxHighlighter":{"__isSmartRef__":true,"id":6106},"textChunks":[{"__isSmartRef__":true,"id":6107}],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6099":{"borderWidth":1,"__serializedExpressions__":["borderColor","fill","textColor","padding"],"fixedWidth":true,"fixedHeight":true,"enableGrabbing":false,"enableDropping":false,"allowInput":true,"clipMode":"visible","fontFamily":"Helvetica","fontSize":10,"borderColor":"Color.rgb(0,0,0)","fill":"Color.rgb(243,243,243)","textColor":"Color.rgb(64,64,64)","padding":"lively.rect(4,2,0,0)"},"6100":{"updateText":"updateTextHTML","setTextExtent":"setTextExtentHTML","setMaxTextWidth":"setMaxTextWidthHTML","setMaxTextHeight":"setMaxTextHeightHTML","setMinTextWidth":"setMinTextWidthHTML","setMinTextHeight":"setMinTextHeightHTML","getTextExtent":"getTextExtentHTML","getTextString":"getTextStringHTML","ignoreTextEvents":"ignoreTextEventsHTML","unignoreTextEvents":"unignoreTextEventsHTML","enableTextEvents":"enableTextEventsHTML","setFontFamily":"setFontFamilyHTML","setFontSize":"setFontSizeHTML","setTextColor":"setTextColorHTML","setFontWeight":"setFontWeightHTML","setFontStyle":"setFontStyleHTML","setTextDecoration":"setTextDecorationHTML","setPadding":"setPaddingHTML","setAlign":"setAlignHTML","setVerticalAlign":"setVerticalAlignHTML","setDisplay":"setDisplayHTML","setWhiteSpaceHandling":"setWhiteSpaceHandlingHTML","setWordBreak":"setWordBreakHTML","focusMorph":"focusMorphHTML","setInputAllowed":"setInputAllowedHTML","setTextStylingMode":"setTextStylingModeHTML"},"6101":{"renderText":"renderTextSVG","updateText":"updateTextSVG","setTextExtent":"setTextExtentSVG","getTextExtent":"getTextExtentSVG","setMaxTextWidth":"setMaxTextWidthSVG","setMaxTextHeight":"setMaxTextHeightSVG","getTextString":"getTextStringSVG","ignoreTextEvents":"ignoreTextEventsSVG"},"6102":{"updateText":"attributeChangedCANVAS"},"6103":{"textString":{"__isSmartRef__":true,"id":6104},"savedTextString":{"__isSmartRef__":true,"id":6105}},"6104":{},"6105":{},"6106":{"__LivelyClassName__":"lively.ast.JSSyntaxHighlighter","__SourceModuleName__":"Global.lively.ast.IDESupport"},"6107":{"style":{"__isSmartRef__":true,"id":6108},"chunkOwner":{"__isSmartRef__":true,"id":6098},"_id":"_22298","storedString":"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6108":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6109":{"submorphs":[],"scripts":[],"id":"DC29A306-EE66-425F-A915-525DD6254340","shape":{"__isSmartRef__":true,"id":6110},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":true,"_FontFamily":"Monaco, Courier","registeredForMouseEvents":true,"_MaxTextWidth":845.9484727040478,"_MaxTextHeight":null,"textStyle":null,"layout":{"__isSmartRef__":true,"id":6111},"doitContext":{"__isSmartRef__":true,"id":6056},"charsReplaced":"this.unEmphasizeSelection()","lastFindLoc":818,"showsHalos":false,"name":"sourceText","savedTextString":"// changes here only affect runtime\nObject.extend(lively.morphic.Morph,{\n\tmakeLine:function (verts, lineWidth, lineColor) {\n\t\tif (verts.length < 2) return null;\n\t\tif (verts.length > 2) {\n\t\t\t// Polylines become a mere blob for now...\n\t\t\tvar morph = this.makeRectangle(Rectangle.unionPts(verts));\n\t\t\tmorph.setBorderWidth(lineWidth);\n\t\t\tmorph.setBorderColor(lineColor);\n\t\t\tmorph.setFill(null);\n\t\t\treturn morph;\n\t\t} \n\t\t// Okay, it's a simple line...\n\t\tvar p1 = verts[0]; var p2 = verts[1];\n\t\tvar v = p2.subPt(p1);\n \n\t\t// First make a horizontal line of the same length with origin at (0, 0)\n\t\tvar morph = this.makeRectangle(Rectangle.unionPts([pt(0, -lineWidth/2), Point.polar(v.r(), 0).addXY(0, lineWidth/2)]));\n\n\t\t// *** Not right, but we want to make position and center of rot = (0, 0):\n\t\t// morph._Position = pt(0, 0);\n\n\t\tmorph.setBorderWidth(0);\n\t\tmorph.setFill(lineColor);\n\n\t\t// Then move and rotate, with first vertex being the rotation center\n\t\tmorph.moveBy(p1);\n\t\tmorph.setOrigin(pt(0, lineWidth/2));\n\t\tmorph.isLine = true;\n\t\treturn morph.rotateBy(v.theta());\n\t}\n});","textChunks":[{"__isSmartRef__":true,"id":6112},{"__isSmartRef__":true,"id":6114},{"__isSmartRef__":true,"id":6116},{"__isSmartRef__":true,"id":6118},{"__isSmartRef__":true,"id":6120},{"__isSmartRef__":true,"id":6122},{"__isSmartRef__":true,"id":6124},{"__isSmartRef__":true,"id":6126},{"__isSmartRef__":true,"id":6128},{"__isSmartRef__":true,"id":6130},{"__isSmartRef__":true,"id":6132},{"__isSmartRef__":true,"id":6134},{"__isSmartRef__":true,"id":6136},{"__isSmartRef__":true,"id":6138},{"__isSmartRef__":true,"id":6140},{"__isSmartRef__":true,"id":6142},{"__isSmartRef__":true,"id":6144},{"__isSmartRef__":true,"id":6146},{"__isSmartRef__":true,"id":6148},{"__isSmartRef__":true,"id":6150},{"__isSmartRef__":true,"id":6152},{"__isSmartRef__":true,"id":6154},{"__isSmartRef__":true,"id":6156},{"__isSmartRef__":true,"id":6158},{"__isSmartRef__":true,"id":6160},{"__isSmartRef__":true,"id":6162},{"__isSmartRef__":true,"id":6164},{"__isSmartRef__":true,"id":6166},{"__isSmartRef__":true,"id":6168},{"__isSmartRef__":true,"id":6170},{"__isSmartRef__":true,"id":6172},{"__isSmartRef__":true,"id":6174},{"__isSmartRef__":true,"id":6176},{"__isSmartRef__":true,"id":6178},{"__isSmartRef__":true,"id":6180},{"__isSmartRef__":true,"id":6182},{"__isSmartRef__":true,"id":6184},{"__isSmartRef__":true,"id":6186},{"__isSmartRef__":true,"id":6188},{"__isSmartRef__":true,"id":6190},{"__isSmartRef__":true,"id":6192},{"__isSmartRef__":true,"id":6194},{"__isSmartRef__":true,"id":6196},{"__isSmartRef__":true,"id":6198},{"__isSmartRef__":true,"id":6200},{"__isSmartRef__":true,"id":6202},{"__isSmartRef__":true,"id":6204},{"__isSmartRef__":true,"id":6206},{"__isSmartRef__":true,"id":6208},{"__isSmartRef__":true,"id":6210},{"__isSmartRef__":true,"id":6212},{"__isSmartRef__":true,"id":6214},{"__isSmartRef__":true,"id":6216},{"__isSmartRef__":true,"id":6218},{"__isSmartRef__":true,"id":6220},{"__isSmartRef__":true,"id":6222},{"__isSmartRef__":true,"id":6224},{"__isSmartRef__":true,"id":6226},{"__isSmartRef__":true,"id":6228},{"__isSmartRef__":true,"id":6230},{"__isSmartRef__":true,"id":6232},{"__isSmartRef__":true,"id":6234},{"__isSmartRef__":true,"id":6236},{"__isSmartRef__":true,"id":6238},{"__isSmartRef__":true,"id":6240},{"__isSmartRef__":true,"id":6242},{"__isSmartRef__":true,"id":6244},{"__isSmartRef__":true,"id":6246},{"__isSmartRef__":true,"id":6248},{"__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},{"__isSmartRef__":true,"id":6266},{"__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":6286},{"__isSmartRef__":true,"id":6288},{"__isSmartRef__":true,"id":6290},{"__isSmartRef__":true,"id":6292},{"__isSmartRef__":true,"id":6294},{"__isSmartRef__":true,"id":6296},{"__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},{"__isSmartRef__":true,"id":6314},{"__isSmartRef__":true,"id":6316},{"__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},{"__isSmartRef__":true,"id":6334},{"__isSmartRef__":true,"id":6336},{"__isSmartRef__":true,"id":6338},{"__isSmartRef__":true,"id":6340},{"__isSmartRef__":true,"id":6342},{"__isSmartRef__":true,"id":6344},{"__isSmartRef__":true,"id":6346},{"__isSmartRef__":true,"id":6348},{"__isSmartRef__":true,"id":6350},{"__isSmartRef__":true,"id":6352},{"__isSmartRef__":true,"id":6354},{"__isSmartRef__":true,"id":6356},{"__isSmartRef__":true,"id":6358},{"__isSmartRef__":true,"id":6360},{"__isSmartRef__":true,"id":6362},{"__isSmartRef__":true,"id":6364},{"__isSmartRef__":true,"id":6366},{"__isSmartRef__":true,"id":6368},{"__isSmartRef__":true,"id":6370},{"__isSmartRef__":true,"id":6372},{"__isSmartRef__":true,"id":6374},{"__isSmartRef__":true,"id":6376},{"__isSmartRef__":true,"id":6378},{"__isSmartRef__":true,"id":6380},{"__isSmartRef__":true,"id":6382},{"__isSmartRef__":true,"id":6384},{"__isSmartRef__":true,"id":6386},{"__isSmartRef__":true,"id":6388},{"__isSmartRef__":true,"id":6390},{"__isSmartRef__":true,"id":6392},{"__isSmartRef__":true,"id":6394},{"__isSmartRef__":true,"id":6396},{"__isSmartRef__":true,"id":6398},{"__isSmartRef__":true,"id":6400},{"__isSmartRef__":true,"id":6402},{"__isSmartRef__":true,"id":6404},{"__isSmartRef__":true,"id":6406},{"__isSmartRef__":true,"id":6408},{"__isSmartRef__":true,"id":6410},{"__isSmartRef__":true,"id":6412},{"__isSmartRef__":true,"id":6414},{"__isSmartRef__":true,"id":6416},{"__isSmartRef__":true,"id":6418},{"__isSmartRef__":true,"id":6420},{"__isSmartRef__":true,"id":6422},{"__isSmartRef__":true,"id":6424},{"__isSmartRef__":true,"id":6426},{"__isSmartRef__":true,"id":6428},{"__isSmartRef__":true,"id":6430},{"__isSmartRef__":true,"id":6432},{"__isSmartRef__":true,"id":6434},{"__isSmartRef__":true,"id":6436},{"__isSmartRef__":true,"id":6438},{"__isSmartRef__":true,"id":6440},{"__isSmartRef__":true,"id":6442},{"__isSmartRef__":true,"id":6444},{"__isSmartRef__":true,"id":6446},{"__isSmartRef__":true,"id":6448},{"__isSmartRef__":true,"id":6450},{"__isSmartRef__":true,"id":6452},{"__isSmartRef__":true,"id":6454},{"__isSmartRef__":true,"id":6456},{"__isSmartRef__":true,"id":6458},{"__isSmartRef__":true,"id":6460},{"__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},{"__isSmartRef__":true,"id":6478},{"__isSmartRef__":true,"id":6480},{"__isSmartRef__":true,"id":6482},{"__isSmartRef__":true,"id":6484},{"__isSmartRef__":true,"id":6486},{"__isSmartRef__":true,"id":6488},{"__isSmartRef__":true,"id":6490},{"__isSmartRef__":true,"id":6492},{"__isSmartRef__":true,"id":6494},{"__isSmartRef__":true,"id":6496},{"__isSmartRef__":true,"id":6498},{"__isSmartRef__":true,"id":6500},{"__isSmartRef__":true,"id":6502},{"__isSmartRef__":true,"id":6504},{"__isSmartRef__":true,"id":6506},{"__isSmartRef__":true,"id":6508},{"__isSmartRef__":true,"id":6510},{"__isSmartRef__":true,"id":6512},{"__isSmartRef__":true,"id":6514},{"__isSmartRef__":true,"id":6516},{"__isSmartRef__":true,"id":6518},{"__isSmartRef__":true,"id":6520},{"__isSmartRef__":true,"id":6522},{"__isSmartRef__":true,"id":6524},{"__isSmartRef__":true,"id":6526},{"__isSmartRef__":true,"id":6528},{"__isSmartRef__":true,"id":6530},{"__isSmartRef__":true,"id":6532},{"__isSmartRef__":true,"id":6534},{"__isSmartRef__":true,"id":6536},{"__isSmartRef__":true,"id":6538},{"__isSmartRef__":true,"id":6540},{"__isSmartRef__":true,"id":6542},{"__isSmartRef__":true,"id":6544},{"__isSmartRef__":true,"id":6546},{"__isSmartRef__":true,"id":6548},{"__isSmartRef__":true,"id":6550},{"__isSmartRef__":true,"id":6552},{"__isSmartRef__":true,"id":6554},{"__isSmartRef__":true,"id":6556},{"__isSmartRef__":true,"id":6558},{"__isSmartRef__":true,"id":6560},{"__isSmartRef__":true,"id":6562},{"__isSmartRef__":true,"id":6564},{"__isSmartRef__":true,"id":6566},{"__isSmartRef__":true,"id":6568},{"__isSmartRef__":true,"id":6570},{"__isSmartRef__":true,"id":6572},{"__isSmartRef__":true,"id":6574},{"__isSmartRef__":true,"id":6576},{"__isSmartRef__":true,"id":6578},{"__isSmartRef__":true,"id":6580},{"__isSmartRef__":true,"id":6582},{"__isSmartRef__":true,"id":6584},{"__isSmartRef__":true,"id":6586},{"__isSmartRef__":true,"id":6588},{"__isSmartRef__":true,"id":6590},{"__isSmartRef__":true,"id":6592},{"__isSmartRef__":true,"id":6594},{"__isSmartRef__":true,"id":6596},{"__isSmartRef__":true,"id":6598},{"__isSmartRef__":true,"id":6600},{"__isSmartRef__":true,"id":6602},{"__isSmartRef__":true,"id":6604},{"__isSmartRef__":true,"id":6606},{"__isSmartRef__":true,"id":6608},{"__isSmartRef__":true,"id":6610},{"__isSmartRef__":true,"id":6612},{"__isSmartRef__":true,"id":6614},{"__isSmartRef__":true,"id":6616},{"__isSmartRef__":true,"id":6618},{"__isSmartRef__":true,"id":6620},{"__isSmartRef__":true,"id":6622},{"__isSmartRef__":true,"id":6624},{"__isSmartRef__":true,"id":6626},{"__isSmartRef__":true,"id":6628},{"__isSmartRef__":true,"id":6630},{"__isSmartRef__":true,"id":6632},{"__isSmartRef__":true,"id":6634},{"__isSmartRef__":true,"id":6636},{"__isSmartRef__":true,"id":6638},{"__isSmartRef__":true,"id":6640},{"__isSmartRef__":true,"id":6642},{"__isSmartRef__":true,"id":6644},{"__isSmartRef__":true,"id":6646},{"__isSmartRef__":true,"id":6648},{"__isSmartRef__":true,"id":6650},{"__isSmartRef__":true,"id":6652},{"__isSmartRef__":true,"id":6654},{"__isSmartRef__":true,"id":6656},{"__isSmartRef__":true,"id":6658},{"__isSmartRef__":true,"id":6660},{"__isSmartRef__":true,"id":6662},{"__isSmartRef__":true,"id":6664},{"__isSmartRef__":true,"id":6666},{"__isSmartRef__":true,"id":6668},{"__isSmartRef__":true,"id":6670},{"__isSmartRef__":true,"id":6672},{"__isSmartRef__":true,"id":6674},{"__isSmartRef__":true,"id":6676},{"__isSmartRef__":true,"id":6678},{"__isSmartRef__":true,"id":6680},{"__isSmartRef__":true,"id":6682},{"__isSmartRef__":true,"id":6684},{"__isSmartRef__":true,"id":6686},{"__isSmartRef__":true,"id":6688},{"__isSmartRef__":true,"id":6690},{"__isSmartRef__":true,"id":6692},{"__isSmartRef__":true,"id":6694},{"__isSmartRef__":true,"id":6696},{"__isSmartRef__":true,"id":6698},{"__isSmartRef__":true,"id":6700},{"__isSmartRef__":true,"id":6702},{"__isSmartRef__":true,"id":6704},{"__isSmartRef__":true,"id":6706},{"__isSmartRef__":true,"id":6708},{"__isSmartRef__":true,"id":6710},{"__isSmartRef__":true,"id":6712},{"__isSmartRef__":true,"id":6714},{"__isSmartRef__":true,"id":6716},{"__isSmartRef__":true,"id":6718},{"__isSmartRef__":true,"id":6720},{"__isSmartRef__":true,"id":6722},{"__isSmartRef__":true,"id":6724},{"__isSmartRef__":true,"id":6726},{"__isSmartRef__":true,"id":6728},{"__isSmartRef__":true,"id":6730},{"__isSmartRef__":true,"id":6732},{"__isSmartRef__":true,"id":6734},{"__isSmartRef__":true,"id":6736},{"__isSmartRef__":true,"id":6738},{"__isSmartRef__":true,"id":6740},{"__isSmartRef__":true,"id":6742},{"__isSmartRef__":true,"id":6744},{"__isSmartRef__":true,"id":6746},{"__isSmartRef__":true,"id":6748},{"__isSmartRef__":true,"id":6750},{"__isSmartRef__":true,"id":6752},{"__isSmartRef__":true,"id":6754},{"__isSmartRef__":true,"id":6756},{"__isSmartRef__":true,"id":6758},{"__isSmartRef__":true,"id":6760},{"__isSmartRef__":true,"id":6762},{"__isSmartRef__":true,"id":6764},{"__isSmartRef__":true,"id":6766},{"__isSmartRef__":true,"id":6768},{"__isSmartRef__":true,"id":6770},{"__isSmartRef__":true,"id":6772},{"__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},{"__isSmartRef__":true,"id":6790},{"__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":6810},{"__isSmartRef__":true,"id":6812},{"__isSmartRef__":true,"id":6814},{"__isSmartRef__":true,"id":6816},{"__isSmartRef__":true,"id":6818},{"__isSmartRef__":true,"id":6820},{"__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},{"__isSmartRef__":true,"id":6838},{"__isSmartRef__":true,"id":6840},{"__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},{"__isSmartRef__":true,"id":6858},{"__isSmartRef__":true,"id":6860},{"__isSmartRef__":true,"id":6862},{"__isSmartRef__":true,"id":6864},{"__isSmartRef__":true,"id":6866},{"__isSmartRef__":true,"id":6868},{"__isSmartRef__":true,"id":6870},{"__isSmartRef__":true,"id":6872},{"__isSmartRef__":true,"id":6874},{"__isSmartRef__":true,"id":6876},{"__isSmartRef__":true,"id":6878},{"__isSmartRef__":true,"id":6880},{"__isSmartRef__":true,"id":6882},{"__isSmartRef__":true,"id":6884},{"__isSmartRef__":true,"id":6886},{"__isSmartRef__":true,"id":6888},{"__isSmartRef__":true,"id":6890},{"__isSmartRef__":true,"id":6892},{"__isSmartRef__":true,"id":6894},{"__isSmartRef__":true,"id":6896},{"__isSmartRef__":true,"id":6898},{"__isSmartRef__":true,"id":6900},{"__isSmartRef__":true,"id":6902},{"__isSmartRef__":true,"id":6904},{"__isSmartRef__":true,"id":6906},{"__isSmartRef__":true,"id":6908},{"__isSmartRef__":true,"id":6910},{"__isSmartRef__":true,"id":6912},{"__isSmartRef__":true,"id":6914},{"__isSmartRef__":true,"id":6916},{"__isSmartRef__":true,"id":6918},{"__isSmartRef__":true,"id":6920},{"__isSmartRef__":true,"id":6922},{"__isSmartRef__":true,"id":6924},{"__isSmartRef__":true,"id":6926},{"__isSmartRef__":true,"id":6928},{"__isSmartRef__":true,"id":6930},{"__isSmartRef__":true,"id":6932},{"__isSmartRef__":true,"id":6934},{"__isSmartRef__":true,"id":6936},{"__isSmartRef__":true,"id":6938},{"__isSmartRef__":true,"id":6940},{"__isSmartRef__":true,"id":6942},{"__isSmartRef__":true,"id":6944},{"__isSmartRef__":true,"id":6946},{"__isSmartRef__":true,"id":6948},{"__isSmartRef__":true,"id":6950},{"__isSmartRef__":true,"id":6952},{"__isSmartRef__":true,"id":6954},{"__isSmartRef__":true,"id":6956},{"__isSmartRef__":true,"id":6958},{"__isSmartRef__":true,"id":6960},{"__isSmartRef__":true,"id":6962},{"__isSmartRef__":true,"id":6964},{"__isSmartRef__":true,"id":6966},{"__isSmartRef__":true,"id":6968},{"__isSmartRef__":true,"id":6970},{"__isSmartRef__":true,"id":6972},{"__isSmartRef__":true,"id":6974},{"__isSmartRef__":true,"id":6976},{"__isSmartRef__":true,"id":6978},{"__isSmartRef__":true,"id":6980},{"__isSmartRef__":true,"id":6982},{"__isSmartRef__":true,"id":6984},{"__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},{"__isSmartRef__":true,"id":7002},{"__isSmartRef__":true,"id":7004},{"__isSmartRef__":true,"id":7006},{"__isSmartRef__":true,"id":7008},{"__isSmartRef__":true,"id":7010},{"__isSmartRef__":true,"id":7012},{"__isSmartRef__":true,"id":7014},{"__isSmartRef__":true,"id":7016},{"__isSmartRef__":true,"id":7018},{"__isSmartRef__":true,"id":7020},{"__isSmartRef__":true,"id":7022},{"__isSmartRef__":true,"id":7024},{"__isSmartRef__":true,"id":7026},{"__isSmartRef__":true,"id":7028},{"__isSmartRef__":true,"id":7030},{"__isSmartRef__":true,"id":7032},{"__isSmartRef__":true,"id":7034},{"__isSmartRef__":true,"id":7036},{"__isSmartRef__":true,"id":7038},{"__isSmartRef__":true,"id":7040},{"__isSmartRef__":true,"id":7042},{"__isSmartRef__":true,"id":7044},{"__isSmartRef__":true,"id":7046},{"__isSmartRef__":true,"id":7048},{"__isSmartRef__":true,"id":7050},{"__isSmartRef__":true,"id":7052},{"__isSmartRef__":true,"id":7054},{"__isSmartRef__":true,"id":7056},{"__isSmartRef__":true,"id":7058},{"__isSmartRef__":true,"id":7060},{"__isSmartRef__":true,"id":7062},{"__isSmartRef__":true,"id":7064},{"__isSmartRef__":true,"id":7066},{"__isSmartRef__":true,"id":7068},{"__isSmartRef__":true,"id":7070},{"__isSmartRef__":true,"id":7072},{"__isSmartRef__":true,"id":7074},{"__isSmartRef__":true,"id":7076},{"__isSmartRef__":true,"id":7078},{"__isSmartRef__":true,"id":7080},{"__isSmartRef__":true,"id":7082},{"__isSmartRef__":true,"id":7084},{"__isSmartRef__":true,"id":7086},{"__isSmartRef__":true,"id":7088},{"__isSmartRef__":true,"id":7090},{"__isSmartRef__":true,"id":7092},{"__isSmartRef__":true,"id":7094},{"__isSmartRef__":true,"id":7096},{"__isSmartRef__":true,"id":7098},{"__isSmartRef__":true,"id":7100},{"__isSmartRef__":true,"id":7102},{"__isSmartRef__":true,"id":7104},{"__isSmartRef__":true,"id":7106},{"__isSmartRef__":true,"id":7108},{"__isSmartRef__":true,"id":7110},{"__isSmartRef__":true,"id":7112},{"__isSmartRef__":true,"id":7114},{"__isSmartRef__":true,"id":7116},{"__isSmartRef__":true,"id":7118},{"__isSmartRef__":true,"id":7120},{"__isSmartRef__":true,"id":7122},{"__isSmartRef__":true,"id":7124},{"__isSmartRef__":true,"id":7126},{"__isSmartRef__":true,"id":7128},{"__isSmartRef__":true,"id":7130},{"__isSmartRef__":true,"id":7132},{"__isSmartRef__":true,"id":7134},{"__isSmartRef__":true,"id":7136},{"__isSmartRef__":true,"id":7138},{"__isSmartRef__":true,"id":7140},{"__isSmartRef__":true,"id":7142},{"__isSmartRef__":true,"id":7144},{"__isSmartRef__":true,"id":7146},{"__isSmartRef__":true,"id":7148},{"__isSmartRef__":true,"id":7150},{"__isSmartRef__":true,"id":7152},{"__isSmartRef__":true,"id":7154},{"__isSmartRef__":true,"id":7156},{"__isSmartRef__":true,"id":7158},{"__isSmartRef__":true,"id":7160},{"__isSmartRef__":true,"id":7162},{"__isSmartRef__":true,"id":7164},{"__isSmartRef__":true,"id":7166},{"__isSmartRef__":true,"id":7168},{"__isSmartRef__":true,"id":7170},{"__isSmartRef__":true,"id":7172},{"__isSmartRef__":true,"id":7174},{"__isSmartRef__":true,"id":7176},{"__isSmartRef__":true,"id":7178},{"__isSmartRef__":true,"id":7180},{"__isSmartRef__":true,"id":7182},{"__isSmartRef__":true,"id":7184},{"__isSmartRef__":true,"id":7186},{"__isSmartRef__":true,"id":7188},{"__isSmartRef__":true,"id":7190},{"__isSmartRef__":true,"id":7192},{"__isSmartRef__":true,"id":7194},{"__isSmartRef__":true,"id":7196},{"__isSmartRef__":true,"id":7198},{"__isSmartRef__":true,"id":7200},{"__isSmartRef__":true,"id":7202},{"__isSmartRef__":true,"id":7204},{"__isSmartRef__":true,"id":7206},{"__isSmartRef__":true,"id":7208},{"__isSmartRef__":true,"id":7210},{"__isSmartRef__":true,"id":7212},{"__isSmartRef__":true,"id":7214},{"__isSmartRef__":true,"id":7216},{"__isSmartRef__":true,"id":7218},{"__isSmartRef__":true,"id":7220},{"__isSmartRef__":true,"id":7222},{"__isSmartRef__":true,"id":7224},{"__isSmartRef__":true,"id":7226},{"__isSmartRef__":true,"id":7228},{"__isSmartRef__":true,"id":7230},{"__isSmartRef__":true,"id":7232},{"__isSmartRef__":true,"id":7234},{"__isSmartRef__":true,"id":7236},{"__isSmartRef__":true,"id":7238},{"__isSmartRef__":true,"id":7240},{"__isSmartRef__":true,"id":7242},{"__isSmartRef__":true,"id":7244},{"__isSmartRef__":true,"id":7246},{"__isSmartRef__":true,"id":7248},{"__isSmartRef__":true,"id":7250},{"__isSmartRef__":true,"id":7252},{"__isSmartRef__":true,"id":7254},{"__isSmartRef__":true,"id":7256},{"__isSmartRef__":true,"id":7258},{"__isSmartRef__":true,"id":7260},{"__isSmartRef__":true,"id":7262},{"__isSmartRef__":true,"id":7264},{"__isSmartRef__":true,"id":7266},{"__isSmartRef__":true,"id":7268},{"__isSmartRef__":true,"id":7270},{"__isSmartRef__":true,"id":7272},{"__isSmartRef__":true,"id":7274},{"__isSmartRef__":true,"id":7276},{"__isSmartRef__":true,"id":7278},{"__isSmartRef__":true,"id":7280},{"__isSmartRef__":true,"id":7282},{"__isSmartRef__":true,"id":7284},{"__isSmartRef__":true,"id":7286},{"__isSmartRef__":true,"id":7288},{"__isSmartRef__":true,"id":7290},{"__isSmartRef__":true,"id":7292},{"__isSmartRef__":true,"id":7294},{"__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":7314},{"__isSmartRef__":true,"id":7316},{"__isSmartRef__":true,"id":7318},{"__isSmartRef__":true,"id":7320},{"__isSmartRef__":true,"id":7322},{"__isSmartRef__":true,"id":7324},{"__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},{"__isSmartRef__":true,"id":7342},{"__isSmartRef__":true,"id":7344},{"__isSmartRef__":true,"id":7346},{"__isSmartRef__":true,"id":7348},{"__isSmartRef__":true,"id":7350},{"__isSmartRef__":true,"id":7352},{"__isSmartRef__":true,"id":7354},{"__isSmartRef__":true,"id":7356},{"__isSmartRef__":true,"id":7358},{"__isSmartRef__":true,"id":7360},{"__isSmartRef__":true,"id":7362},{"__isSmartRef__":true,"id":7364},{"__isSmartRef__":true,"id":7366},{"__isSmartRef__":true,"id":7368},{"__isSmartRef__":true,"id":7370},{"__isSmartRef__":true,"id":7372},{"__isSmartRef__":true,"id":7374},{"__isSmartRef__":true,"id":7376},{"__isSmartRef__":true,"id":7378},{"__isSmartRef__":true,"id":7380},{"__isSmartRef__":true,"id":7382},{"__isSmartRef__":true,"id":7384},{"__isSmartRef__":true,"id":7386},{"__isSmartRef__":true,"id":7388},{"__isSmartRef__":true,"id":7390},{"__isSmartRef__":true,"id":7392},{"__isSmartRef__":true,"id":7394},{"__isSmartRef__":true,"id":7396},{"__isSmartRef__":true,"id":7398},{"__isSmartRef__":true,"id":7400},{"__isSmartRef__":true,"id":7402},{"__isSmartRef__":true,"id":7404},{"__isSmartRef__":true,"id":7406},{"__isSmartRef__":true,"id":7408},{"__isSmartRef__":true,"id":7410},{"__isSmartRef__":true,"id":7412},{"__isSmartRef__":true,"id":7414},{"__isSmartRef__":true,"id":7416},{"__isSmartRef__":true,"id":7418},{"__isSmartRef__":true,"id":7420},{"__isSmartRef__":true,"id":7422},{"__isSmartRef__":true,"id":7424},{"__isSmartRef__":true,"id":7426},{"__isSmartRef__":true,"id":7428},{"__isSmartRef__":true,"id":7430},{"__isSmartRef__":true,"id":7432},{"__isSmartRef__":true,"id":7434},{"__isSmartRef__":true,"id":7436},{"__isSmartRef__":true,"id":7438},{"__isSmartRef__":true,"id":7440},{"__isSmartRef__":true,"id":7442},{"__isSmartRef__":true,"id":7444},{"__isSmartRef__":true,"id":7446},{"__isSmartRef__":true,"id":7448},{"__isSmartRef__":true,"id":7450},{"__isSmartRef__":true,"id":7452},{"__isSmartRef__":true,"id":7454},{"__isSmartRef__":true,"id":7456},{"__isSmartRef__":true,"id":7458},{"__isSmartRef__":true,"id":7460},{"__isSmartRef__":true,"id":7462},{"__isSmartRef__":true,"id":7464},{"__isSmartRef__":true,"id":7466},{"__isSmartRef__":true,"id":7468},{"__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},{"__isSmartRef__":true,"id":7486},{"__isSmartRef__":true,"id":7488},{"__isSmartRef__":true,"id":7490},{"__isSmartRef__":true,"id":7492},{"__isSmartRef__":true,"id":7494},{"__isSmartRef__":true,"id":7496},{"__isSmartRef__":true,"id":7498},{"__isSmartRef__":true,"id":7500},{"__isSmartRef__":true,"id":7502},{"__isSmartRef__":true,"id":7504},{"__isSmartRef__":true,"id":7506},{"__isSmartRef__":true,"id":7508},{"__isSmartRef__":true,"id":7510},{"__isSmartRef__":true,"id":7512},{"__isSmartRef__":true,"id":7514},{"__isSmartRef__":true,"id":7516},{"__isSmartRef__":true,"id":7518},{"__isSmartRef__":true,"id":7520},{"__isSmartRef__":true,"id":7522},{"__isSmartRef__":true,"id":7524},{"__isSmartRef__":true,"id":7526},{"__isSmartRef__":true,"id":7528},{"__isSmartRef__":true,"id":7530},{"__isSmartRef__":true,"id":7532},{"__isSmartRef__":true,"id":7534},{"__isSmartRef__":true,"id":7536},{"__isSmartRef__":true,"id":7538},{"__isSmartRef__":true,"id":7540},{"__isSmartRef__":true,"id":7542},{"__isSmartRef__":true,"id":7544},{"__isSmartRef__":true,"id":7546},{"__isSmartRef__":true,"id":7548},{"__isSmartRef__":true,"id":7550},{"__isSmartRef__":true,"id":7552},{"__isSmartRef__":true,"id":7554},{"__isSmartRef__":true,"id":7556},{"__isSmartRef__":true,"id":7558},{"__isSmartRef__":true,"id":7560},{"__isSmartRef__":true,"id":7562},{"__isSmartRef__":true,"id":7564},{"__isSmartRef__":true,"id":7566},{"__isSmartRef__":true,"id":7568},{"__isSmartRef__":true,"id":7570},{"__isSmartRef__":true,"id":7572},{"__isSmartRef__":true,"id":7574},{"__isSmartRef__":true,"id":7576},{"__isSmartRef__":true,"id":7578},{"__isSmartRef__":true,"id":7580},{"__isSmartRef__":true,"id":7582},{"__isSmartRef__":true,"id":7584},{"__isSmartRef__":true,"id":7586},{"__isSmartRef__":true,"id":7588},{"__isSmartRef__":true,"id":7590},{"__isSmartRef__":true,"id":7592},{"__isSmartRef__":true,"id":7594},{"__isSmartRef__":true,"id":7596},{"__isSmartRef__":true,"id":7598},{"__isSmartRef__":true,"id":7600},{"__isSmartRef__":true,"id":7602},{"__isSmartRef__":true,"id":7604},{"__isSmartRef__":true,"id":7606},{"__isSmartRef__":true,"id":7608},{"__isSmartRef__":true,"id":7610}],"_ClipMode":"auto","prevScroll":[0,0],"_FontSize":9,"owner":{"__isSmartRef__":true,"id":6056},"lastSyntaxHighlightTime":1328782848221,"eventHandler":{"__isSmartRef__":true,"id":7612},"_MinTextWidth":845.9484727040478,"_MinTextHeight":null,"isBeingDragged":false,"derivationIds":[209,"04D0F127-514D-4BED-841E-6A4CEF4FFDDA","D40D5739-DE56-49F4-B02A-A4ED75AF054A","42528900-D082-4C7A-8E70-1E67923301D9","5167B7DC-8F45-4AD0-96D7-947FF3EE0BB7","D0BFE91E-6EF1-4165-A42C-CC81C9CD2050","04C1BABF-5514-417C-AE67-882A1252EB67","8B053B4D-76D1-4DCB-8E89-8E7ABA3EF3D1","CB2FFA38-BC16-4D98-A807-722CCCC26062","D19D6343-8887-4386-8B87-4560230A5D11","2FFE6CC8-A851-44E9-B6B7-9D9370DEB9C9","A1509C4A-C98B-44CF-ACF8-DA444E7A9B75","3013EDB1-7370-48ED-BF86-BFEFC8B71878","C779EE23-CB40-48E9-AFBE-B0595B1A3A6A"],"_WordBreak":"break-all","_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","distanceToDragEvent"],"_lastSyntaxHighlightTime":1019,"previousSelection":[800,800],"priorSelectionRange":[796,816],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":7613},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(10.0,230.0)","distanceToDragEvent":"lively.pt(582.0,-20.5)"},"6110":{"_BorderWidth":1,"_ClipMode":"auto","_BorderRadius":4,"__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(845.6,195.7)","_BorderColor":"Color.rgb(102,102,102)","_Fill":"Color.rgb(243,243,243)","_Padding":"lively.rect(3,3,-3,-3)"},"6111":{"resizeWidth":true,"resizeHeight":true,"moveVertical":false,"moveHorizontal":false},"6112":{"style":{"__isSmartRef__":true,"id":6113},"chunkOwner":{"__isSmartRef__":true,"id":6109},"_id":"_3020","storedString":"//","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6113":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(128,0,0)"},"6114":{"_id":"_3024","style":{"__isSmartRef__":true,"id":6115},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" changes here only affect runtime","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6115":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6116":{"_id":"_3025","style":{"__isSmartRef__":true,"id":6117},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6117":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6118":{"_id":"_3026","style":{"__isSmartRef__":true,"id":6119},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"lively.morphic.Text","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6119":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"6120":{"_id":"_3027","style":{"__isSmartRef__":true,"id":6121},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":".","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6121":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6122":{"_id":"_3028","style":{"__isSmartRef__":true,"id":6123},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"addMethods","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6123":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(128,128,128)"},"6124":{"_id":"_3029","style":{"__isSmartRef__":true,"id":6125},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"(","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6125":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6126":{"_id":"_3030","style":{"__isSmartRef__":true,"id":6127},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6127":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6128":{"_id":"_3031","style":{"__isSmartRef__":true,"id":6129},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6129":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6130":{"_id":"_3021","style":{"__isSmartRef__":true,"id":6131},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"processCommandKeys:","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6131":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(139,0,0)"},"6132":{"_id":"_3032","style":{"__isSmartRef__":true,"id":6133},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6133":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6134":{"_id":"_3033","style":{"__isSmartRef__":true,"id":6135},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"function","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6135":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"6136":{"_id":"_3034","style":{"__isSmartRef__":true,"id":6137},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" (evt) ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6137":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6138":{"_id":"_3035","style":{"__isSmartRef__":true,"id":6139},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6139":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6140":{"_id":"_3036","style":{"__isSmartRef__":true,"id":6141},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6141":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6142":{"_id":"_3037","style":{"__isSmartRef__":true,"id":6143},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"var","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6143":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"6144":{"_id":"_3038","style":{"__isSmartRef__":true,"id":6145},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" key = evt.getKeyChar();\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6145":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6146":{"_id":"_3039","style":{"__isSmartRef__":true,"id":6147},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"//","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6147":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(128,0,0)"},"6148":{"_id":"_3040","style":{"__isSmartRef__":true,"id":6149},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" alert(\"key \" + key)","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6149":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6150":{"_id":"_3041","style":{"__isSmartRef__":true,"id":6151},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6151":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6152":{"_id":"_3042","style":{"__isSmartRef__":true,"id":6153},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"if","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6153":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"6154":{"_id":"_3043","style":{"__isSmartRef__":true,"id":6155},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" (key) key = key.toLowerCase();\n\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6155":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6156":{"_id":"_3044","style":{"__isSmartRef__":true,"id":6157},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"if","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6157":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"6158":{"_id":"_3045","style":{"__isSmartRef__":true,"id":6159},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" (evt.isShiftDown()) ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6159":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6160":{"_id":"_3046","style":{"__isSmartRef__":true,"id":6161},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6161":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6162":{"_id":"_3047","style":{"__isSmartRef__":true,"id":6163},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6163":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6164":{"_id":"_3048","style":{"__isSmartRef__":true,"id":6165},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"//","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6165":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(128,0,0)"},"6166":{"_id":"_3049","style":{"__isSmartRef__":true,"id":6167},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" shifted commands here...","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6167":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6168":{"_id":"_3050","style":{"__isSmartRef__":true,"id":6169},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6169":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6170":{"_id":"_3051","style":{"__isSmartRef__":true,"id":6171},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"switch","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6171":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"6172":{"_id":"_3052","style":{"__isSmartRef__":true,"id":6173},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" (key) ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6173":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6174":{"_id":"_3053","style":{"__isSmartRef__":true,"id":6175},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6175":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6176":{"_id":"_3054","style":{"__isSmartRef__":true,"id":6177},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6177":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6178":{"_id":"_3055","style":{"__isSmartRef__":true,"id":6179},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"case","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6179":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"6180":{"_id":"_3056","style":{"__isSmartRef__":true,"id":6181},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6181":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6182":{"_id":"_3057","style":{"__isSmartRef__":true,"id":6183},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\"i\"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6183":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,128)"},"6184":{"_id":"_3058","style":{"__isSmartRef__":true,"id":6185},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":": ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6185":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6186":{"_id":"_3059","style":{"__isSmartRef__":true,"id":6187},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6187":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6188":{"_id":"_3060","style":{"__isSmartRef__":true,"id":6189},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6189":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6190":{"_id":"_3061","style":{"__isSmartRef__":true,"id":6191},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6191":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"6192":{"_id":"_3062","style":{"__isSmartRef__":true,"id":6193},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":".doInspect(); ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6193":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6194":{"_id":"_3063","style":{"__isSmartRef__":true,"id":6195},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"return","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6195":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"6196":{"_id":"_3064","style":{"__isSmartRef__":true,"id":6197},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" true; ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6197":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6198":{"_id":"_3065","style":{"__isSmartRef__":true,"id":6199},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6199":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6200":{"_id":"_3066","style":{"__isSmartRef__":true,"id":6201},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6201":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6202":{"_id":"_3067","style":{"__isSmartRef__":true,"id":6203},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"case","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6203":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"6204":{"_id":"_3068","style":{"__isSmartRef__":true,"id":6205},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6205":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6206":{"_id":"_3069","style":{"__isSmartRef__":true,"id":6207},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\"e\"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6207":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,128)"},"6208":{"_id":"_3070","style":{"__isSmartRef__":true,"id":6209},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":": ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6209":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6210":{"_id":"_3071","style":{"__isSmartRef__":true,"id":6211},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6211":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6212":{"_id":"_3072","style":{"__isSmartRef__":true,"id":6213},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6213":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6214":{"_id":"_3073","style":{"__isSmartRef__":true,"id":6215},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6215":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"6216":{"_id":"_3074","style":{"__isSmartRef__":true,"id":6217},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":".doEdit(); ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6217":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6218":{"_id":"_3075","style":{"__isSmartRef__":true,"id":6219},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"return","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6219":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"6220":{"_id":"_3076","style":{"__isSmartRef__":true,"id":6221},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" true; ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6221":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6222":{"_id":"_3077","style":{"__isSmartRef__":true,"id":6223},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6223":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6224":{"_id":"_3078","style":{"__isSmartRef__":true,"id":6225},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6225":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6226":{"_id":"_3079","style":{"__isSmartRef__":true,"id":6227},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"case","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6227":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"6228":{"_id":"_3080","style":{"__isSmartRef__":true,"id":6229},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6229":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6230":{"_id":"_3081","style":{"__isSmartRef__":true,"id":6231},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\"d\"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6231":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,128)"},"6232":{"_id":"_3082","style":{"__isSmartRef__":true,"id":6233},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":": ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6233":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6234":{"_id":"_3083","style":{"__isSmartRef__":true,"id":6235},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6235":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6236":{"_id":"_3084","style":{"__isSmartRef__":true,"id":6237},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6237":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6238":{"_id":"_3085","style":{"__isSmartRef__":true,"id":6239},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6239":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"6240":{"_id":"_3086","style":{"__isSmartRef__":true,"id":6241},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":".doDebugit(); ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6241":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6242":{"_id":"_3087","style":{"__isSmartRef__":true,"id":6243},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"return","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6243":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"6244":{"_id":"_3088","style":{"__isSmartRef__":true,"id":6245},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" true; ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6245":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6246":{"_id":"_3089","style":{"__isSmartRef__":true,"id":6247},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6247":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6248":{"_id":"_3090","style":{"__isSmartRef__":true,"id":6249},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6249":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6250":{"_id":"_3091","style":{"__isSmartRef__":true,"id":6251},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"case","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6251":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"6252":{"_id":"_3092","style":{"__isSmartRef__":true,"id":6253},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6253":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6254":{"_id":"_3093","style":{"__isSmartRef__":true,"id":6255},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\"p\"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6255":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,128)"},"6256":{"_id":"_3094","style":{"__isSmartRef__":true,"id":6257},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":": ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6257":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6258":{"_id":"_3095","style":{"__isSmartRef__":true,"id":6259},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6259":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6260":{"_id":"_3096","style":{"__isSmartRef__":true,"id":6261},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6261":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6262":{"_id":"_3097","style":{"__isSmartRef__":true,"id":6263},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6263":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"6264":{"_id":"_3098","style":{"__isSmartRef__":true,"id":6265},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":".doListProtocol(); ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6265":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6266":{"_id":"_3099","style":{"__isSmartRef__":true,"id":6267},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"return","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6267":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"6268":{"_id":"_3100","style":{"__isSmartRef__":true,"id":6269},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" true; ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6269":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6270":{"_id":"_3101","style":{"__isSmartRef__":true,"id":6271},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6271":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6272":{"_id":"_3102","style":{"__isSmartRef__":true,"id":6273},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6273":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6274":{"_id":"_3103","style":{"__isSmartRef__":true,"id":6275},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"case","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6275":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"6276":{"_id":"_3104","style":{"__isSmartRef__":true,"id":6277},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6277":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6278":{"_id":"_3105","style":{"__isSmartRef__":true,"id":6279},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\"f\"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6279":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,128)"},"6280":{"_id":"_3106","style":{"__isSmartRef__":true,"id":6281},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":": ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6281":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6282":{"_id":"_3107","style":{"__isSmartRef__":true,"id":6283},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6283":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6284":{"_id":"_3108","style":{"__isSmartRef__":true,"id":6285},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6285":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6286":{"_id":"_3109","style":{"__isSmartRef__":true,"id":6287},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6287":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"6288":{"_id":"_3110","style":{"__isSmartRef__":true,"id":6289},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":".doBrowseImplementors(); ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6289":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6290":{"_id":"_3111","style":{"__isSmartRef__":true,"id":6291},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"return","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6291":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"6292":{"_id":"_3112","style":{"__isSmartRef__":true,"id":6293},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" true; ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6293":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6294":{"_id":"_3113","style":{"__isSmartRef__":true,"id":6295},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6295":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6296":{"_id":"_3114","style":{"__isSmartRef__":true,"id":6297},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6297":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6298":{"_id":"_3115","style":{"__isSmartRef__":true,"id":6299},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"case","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6299":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"6300":{"_id":"_3116","style":{"__isSmartRef__":true,"id":6301},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6301":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6302":{"_id":"_3117","style":{"__isSmartRef__":true,"id":6303},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\"b\"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6303":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,128)"},"6304":{"_id":"_3118","style":{"__isSmartRef__":true,"id":6305},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":": ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6305":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6306":{"_id":"_3119","style":{"__isSmartRef__":true,"id":6307},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6307":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6308":{"_id":"_3120","style":{"__isSmartRef__":true,"id":6309},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6309":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6310":{"_id":"_3121","style":{"__isSmartRef__":true,"id":6311},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6311":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"6312":{"_id":"_3122","style":{"__isSmartRef__":true,"id":6313},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":".doBrowseClass(); ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6313":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6314":{"_id":"_3123","style":{"__isSmartRef__":true,"id":6315},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"return","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6315":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"6316":{"_id":"_3124","style":{"__isSmartRef__":true,"id":6317},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" true; ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6317":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6318":{"_id":"_3125","style":{"__isSmartRef__":true,"id":6319},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6319":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6320":{"_id":"_3126","style":{"__isSmartRef__":true,"id":6321},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6321":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6322":{"_id":"_3127","style":{"__isSmartRef__":true,"id":6323},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"case","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6323":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"6324":{"_id":"_3128","style":{"__isSmartRef__":true,"id":6325},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6325":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6326":{"_id":"_3129","style":{"__isSmartRef__":true,"id":6327},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\"s\"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6327":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,128)"},"6328":{"_id":"_3130","style":{"__isSmartRef__":true,"id":6329},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":": ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6329":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6330":{"_id":"_3131","style":{"__isSmartRef__":true,"id":6331},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6331":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6332":{"_id":"_3132","style":{"__isSmartRef__":true,"id":6333},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6333":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6334":{"_id":"_3133","style":{"__isSmartRef__":true,"id":6335},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6335":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"6336":{"_id":"_3134","style":{"__isSmartRef__":true,"id":6337},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":".convertTabsToSpaces(); ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6337":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6338":{"_id":"_3135","style":{"__isSmartRef__":true,"id":6339},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"return","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6339":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"6340":{"_id":"_3136","style":{"__isSmartRef__":true,"id":6341},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" true; ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6341":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6342":{"_id":"_3137","style":{"__isSmartRef__":true,"id":6343},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6343":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6344":{"_id":"_3138","style":{"__isSmartRef__":true,"id":6345},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6345":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6346":{"_id":"_3139","style":{"__isSmartRef__":true,"id":6347},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"case","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6347":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"6348":{"_id":"_3140","style":{"__isSmartRef__":true,"id":6349},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6349":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6350":{"_id":"_3141","style":{"__isSmartRef__":true,"id":6351},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\"u\"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6351":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,128)"},"6352":{"_id":"_3142","style":{"__isSmartRef__":true,"id":6353},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":": ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6353":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6354":{"_id":"_3143","style":{"__isSmartRef__":true,"id":6355},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6355":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6356":{"_id":"_3144","style":{"__isSmartRef__":true,"id":6357},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6357":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6358":{"_id":"_3145","style":{"__isSmartRef__":true,"id":6359},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6359":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"6360":{"_id":"_3146","style":{"__isSmartRef__":true,"id":6361},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":".unEmphasizeSelection(); ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6361":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6362":{"_id":"_3147","style":{"__isSmartRef__":true,"id":6363},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"return","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6363":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"6364":{"_id":"_3148","style":{"__isSmartRef__":true,"id":6365},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" true; ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6365":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6366":{"_id":"_3149","style":{"__isSmartRef__":true,"id":6367},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6367":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6368":{"_id":"_3150","style":{"__isSmartRef__":true,"id":6369},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6369":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6370":{"_id":"_3151","style":{"__isSmartRef__":true,"id":6371},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"case","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6371":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"6372":{"_id":"_3152","style":{"__isSmartRef__":true,"id":6373},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6373":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6374":{"_id":"_3153","style":{"__isSmartRef__":true,"id":6375},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\"x\"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6375":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,128)"},"6376":{"_id":"_3154","style":{"__isSmartRef__":true,"id":6377},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":": ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6377":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6378":{"_id":"_3155","style":{"__isSmartRef__":true,"id":6379},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6379":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6380":{"_id":"_3156","style":{"__isSmartRef__":true,"id":6381},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6381":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6382":{"_id":"_3157","style":{"__isSmartRef__":true,"id":6383},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6383":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"6384":{"_id":"_3158","style":{"__isSmartRef__":true,"id":6385},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":".doAutoIndent(); ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6385":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6386":{"_id":"_3159","style":{"__isSmartRef__":true,"id":6387},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"return","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6387":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"6388":{"_id":"_3160","style":{"__isSmartRef__":true,"id":6389},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" true;","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6389":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6390":{"_id":"_3161","style":{"__isSmartRef__":true,"id":6391},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6391":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6392":{"_id":"_3162","style":{"__isSmartRef__":true,"id":6393},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6393":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6394":{"_id":"_3163","style":{"__isSmartRef__":true,"id":6395},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"case","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6395":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"6396":{"_id":"_3164","style":{"__isSmartRef__":true,"id":6397},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6397":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6398":{"_id":"_3165","style":{"__isSmartRef__":true,"id":6399},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\"5\"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6399":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,128)"},"6400":{"_id":"_3166","style":{"__isSmartRef__":true,"id":6401},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":": ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6401":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6402":{"_id":"_3167","style":{"__isSmartRef__":true,"id":6403},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6403":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6404":{"_id":"_3168","style":{"__isSmartRef__":true,"id":6405},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6405":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6406":{"_id":"_3169","style":{"__isSmartRef__":true,"id":6407},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6407":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"6408":{"_id":"_3170","style":{"__isSmartRef__":true,"id":6409},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":".emphasizeSelection(","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6409":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6410":{"_id":"_3171","style":{"__isSmartRef__":true,"id":6411},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6411":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6412":{"_id":"_3172","style":{"__isSmartRef__":true,"id":6413},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"color:","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6413":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(139,0,0)"},"6414":{"_id":"_3173","style":{"__isSmartRef__":true,"id":6415},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" Config.userColor1 || Color.black","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6415":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6416":{"_id":"_3174","style":{"__isSmartRef__":true,"id":6417},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6417":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6418":{"_id":"_3175","style":{"__isSmartRef__":true,"id":6419},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"); ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6419":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6420":{"_id":"_3176","style":{"__isSmartRef__":true,"id":6421},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"return","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6421":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"6422":{"_id":"_3177","style":{"__isSmartRef__":true,"id":6423},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" true; ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6423":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6424":{"_id":"_3178","style":{"__isSmartRef__":true,"id":6425},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6425":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6426":{"_id":"_3179","style":{"__isSmartRef__":true,"id":6427},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6427":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6428":{"_id":"_3180","style":{"__isSmartRef__":true,"id":6429},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"case","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6429":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"6430":{"_id":"_3181","style":{"__isSmartRef__":true,"id":6431},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6431":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6432":{"_id":"_3182","style":{"__isSmartRef__":true,"id":6433},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\"6\"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6433":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,128)"},"6434":{"_id":"_3183","style":{"__isSmartRef__":true,"id":6435},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":": ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6435":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6436":{"_id":"_3184","style":{"__isSmartRef__":true,"id":6437},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6437":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6438":{"_id":"_3185","style":{"__isSmartRef__":true,"id":6439},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6439":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6440":{"_id":"_3186","style":{"__isSmartRef__":true,"id":6441},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6441":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"6442":{"_id":"_3187","style":{"__isSmartRef__":true,"id":6443},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":".emphasizeSelection(","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6443":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6444":{"_id":"_3188","style":{"__isSmartRef__":true,"id":6445},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6445":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6446":{"_id":"_3189","style":{"__isSmartRef__":true,"id":6447},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"color:","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6447":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(139,0,0)"},"6448":{"_id":"_3190","style":{"__isSmartRef__":true,"id":6449},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" Config.userColor2 || Color.red","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6449":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6450":{"_id":"_3191","style":{"__isSmartRef__":true,"id":6451},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6451":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6452":{"_id":"_3192","style":{"__isSmartRef__":true,"id":6453},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"); ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6453":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6454":{"_id":"_3193","style":{"__isSmartRef__":true,"id":6455},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"return","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6455":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"6456":{"_id":"_3194","style":{"__isSmartRef__":true,"id":6457},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" true; ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6457":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6458":{"_id":"_3195","style":{"__isSmartRef__":true,"id":6459},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6459":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6460":{"_id":"_3196","style":{"__isSmartRef__":true,"id":6461},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6461":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6462":{"_id":"_3197","style":{"__isSmartRef__":true,"id":6463},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"case","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6463":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"6464":{"_id":"_3198","style":{"__isSmartRef__":true,"id":6465},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6465":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6466":{"_id":"_3199","style":{"__isSmartRef__":true,"id":6467},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\"7\"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6467":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,128)"},"6468":{"_id":"_3200","style":{"__isSmartRef__":true,"id":6469},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":": ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6469":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6470":{"_id":"_3201","style":{"__isSmartRef__":true,"id":6471},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6471":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6472":{"_id":"_3202","style":{"__isSmartRef__":true,"id":6473},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6473":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6474":{"_id":"_3203","style":{"__isSmartRef__":true,"id":6475},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6475":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"6476":{"_id":"_3204","style":{"__isSmartRef__":true,"id":6477},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":".emphasizeSelection(","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6477":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6478":{"_id":"_3205","style":{"__isSmartRef__":true,"id":6479},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6479":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6480":{"_id":"_3206","style":{"__isSmartRef__":true,"id":6481},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"color:","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6481":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(139,0,0)"},"6482":{"_id":"_3207","style":{"__isSmartRef__":true,"id":6483},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" Config.userColor3 || Color.green","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6483":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6484":{"_id":"_3208","style":{"__isSmartRef__":true,"id":6485},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6485":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6486":{"_id":"_3209","style":{"__isSmartRef__":true,"id":6487},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"); ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6487":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6488":{"_id":"_3210","style":{"__isSmartRef__":true,"id":6489},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"return","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6489":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"6490":{"_id":"_3211","style":{"__isSmartRef__":true,"id":6491},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" true; ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6491":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6492":{"_id":"_3212","style":{"__isSmartRef__":true,"id":6493},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6493":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6494":{"_id":"_3213","style":{"__isSmartRef__":true,"id":6495},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6495":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6496":{"_id":"_3214","style":{"__isSmartRef__":true,"id":6497},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"case","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6497":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"6498":{"_id":"_3215","style":{"__isSmartRef__":true,"id":6499},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6499":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6500":{"_id":"_3216","style":{"__isSmartRef__":true,"id":6501},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\"8\"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6501":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,128)"},"6502":{"_id":"_3217","style":{"__isSmartRef__":true,"id":6503},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":": ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6503":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6504":{"_id":"_3218","style":{"__isSmartRef__":true,"id":6505},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6505":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6506":{"_id":"_3219","style":{"__isSmartRef__":true,"id":6507},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6507":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6508":{"_id":"_3220","style":{"__isSmartRef__":true,"id":6509},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6509":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"6510":{"_id":"_3221","style":{"__isSmartRef__":true,"id":6511},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":".emphasizeSelection(","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6511":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6512":{"_id":"_3222","style":{"__isSmartRef__":true,"id":6513},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6513":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6514":{"_id":"_3223","style":{"__isSmartRef__":true,"id":6515},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"color:","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6515":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(139,0,0)"},"6516":{"_id":"_3224","style":{"__isSmartRef__":true,"id":6517},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" Config.userColor4 || Color.blue","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6517":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6518":{"_id":"_3225","style":{"__isSmartRef__":true,"id":6519},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6519":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6520":{"_id":"_3226","style":{"__isSmartRef__":true,"id":6521},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"); ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6521":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6522":{"_id":"_3227","style":{"__isSmartRef__":true,"id":6523},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"return","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6523":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"6524":{"_id":"_3228","style":{"__isSmartRef__":true,"id":6525},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" true; ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6525":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6526":{"_id":"_3229","style":{"__isSmartRef__":true,"id":6527},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6527":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6528":{"_id":"_3230","style":{"__isSmartRef__":true,"id":6529},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6529":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6530":{"_id":"_3231","style":{"__isSmartRef__":true,"id":6531},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6531":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6532":{"_id":"_3232","style":{"__isSmartRef__":true,"id":6533},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6533":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6534":{"_id":"_3233","style":{"__isSmartRef__":true,"id":6535},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6535":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6536":{"_id":"_3234","style":{"__isSmartRef__":true,"id":6537},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6537":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6538":{"_id":"_3235","style":{"__isSmartRef__":true,"id":6539},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"switch","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6539":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"6540":{"_id":"_3236","style":{"__isSmartRef__":true,"id":6541},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" (key) ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6541":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6542":{"_id":"_3237","style":{"__isSmartRef__":true,"id":6543},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6543":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6544":{"_id":"_3238","style":{"__isSmartRef__":true,"id":6545},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6545":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6546":{"_id":"_3239","style":{"__isSmartRef__":true,"id":6547},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"case","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6547":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"6548":{"_id":"_3240","style":{"__isSmartRef__":true,"id":6549},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6549":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6550":{"_id":"_3241","style":{"__isSmartRef__":true,"id":6551},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\"d\"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6551":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,128)"},"6552":{"_id":"_3242","style":{"__isSmartRef__":true,"id":6553},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":": ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6553":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6554":{"_id":"_3243","style":{"__isSmartRef__":true,"id":6555},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6555":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6556":{"_id":"_3244","style":{"__isSmartRef__":true,"id":6557},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6557":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6558":{"_id":"_3245","style":{"__isSmartRef__":true,"id":6559},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6559":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"6560":{"_id":"_3246","style":{"__isSmartRef__":true,"id":6561},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":".doDoit(); ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6561":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6562":{"_id":"_3247","style":{"__isSmartRef__":true,"id":6563},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"return","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6563":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"6564":{"_id":"_3248","style":{"__isSmartRef__":true,"id":6565},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" true; ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6565":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6566":{"_id":"_3249","style":{"__isSmartRef__":true,"id":6567},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6567":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6568":{"_id":"_3250","style":{"__isSmartRef__":true,"id":6569},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6569":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6570":{"_id":"_3251","style":{"__isSmartRef__":true,"id":6571},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"//","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6571":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(128,0,0)"},"6572":{"_id":"_3252","style":{"__isSmartRef__":true,"id":6573},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" Doit","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6573":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6574":{"_id":"_3253","style":{"__isSmartRef__":true,"id":6575},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6575":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6576":{"_id":"_3254","style":{"__isSmartRef__":true,"id":6577},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"case","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6577":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"6578":{"_id":"_3255","style":{"__isSmartRef__":true,"id":6579},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6579":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6580":{"_id":"_3256","style":{"__isSmartRef__":true,"id":6581},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\"p\"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6581":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,128)"},"6582":{"_id":"_3257","style":{"__isSmartRef__":true,"id":6583},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":": ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6583":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6584":{"_id":"_3258","style":{"__isSmartRef__":true,"id":6585},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6585":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6586":{"_id":"_3259","style":{"__isSmartRef__":true,"id":6587},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6587":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6588":{"_id":"_3260","style":{"__isSmartRef__":true,"id":6589},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6589":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"6590":{"_id":"_3261","style":{"__isSmartRef__":true,"id":6591},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":".doPrintit(); ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6591":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6592":{"_id":"_3262","style":{"__isSmartRef__":true,"id":6593},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"return","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6593":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"6594":{"_id":"_3263","style":{"__isSmartRef__":true,"id":6595},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" true; ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6595":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6596":{"_id":"_3264","style":{"__isSmartRef__":true,"id":6597},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6597":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6598":{"_id":"_3265","style":{"__isSmartRef__":true,"id":6599},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6599":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6600":{"_id":"_3266","style":{"__isSmartRef__":true,"id":6601},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"//","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6601":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(128,0,0)"},"6602":{"_id":"_3267","style":{"__isSmartRef__":true,"id":6603},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" Printit","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6603":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6604":{"_id":"_3268","style":{"__isSmartRef__":true,"id":6605},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6605":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6606":{"_id":"_3269","style":{"__isSmartRef__":true,"id":6607},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"case","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6607":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"6608":{"_id":"_3270","style":{"__isSmartRef__":true,"id":6609},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6609":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6610":{"_id":"_3271","style":{"__isSmartRef__":true,"id":6611},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\"s\"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6611":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,128)"},"6612":{"_id":"_3272","style":{"__isSmartRef__":true,"id":6613},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":": ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6613":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6614":{"_id":"_3273","style":{"__isSmartRef__":true,"id":6615},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6615":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6616":{"_id":"_3274","style":{"__isSmartRef__":true,"id":6617},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6617":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6618":{"_id":"_3275","style":{"__isSmartRef__":true,"id":6619},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6619":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"6620":{"_id":"_3276","style":{"__isSmartRef__":true,"id":6621},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":".doSave(); ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6621":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6622":{"_id":"_3277","style":{"__isSmartRef__":true,"id":6623},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"return","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6623":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"6624":{"_id":"_3278","style":{"__isSmartRef__":true,"id":6625},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" true; ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6625":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6626":{"_id":"_3279","style":{"__isSmartRef__":true,"id":6627},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6627":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6628":{"_id":"_3280","style":{"__isSmartRef__":true,"id":6629},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6629":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6630":{"_id":"_3281","style":{"__isSmartRef__":true,"id":6631},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"case","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6631":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"6632":{"_id":"_3282","style":{"__isSmartRef__":true,"id":6633},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6633":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6634":{"_id":"_3283","style":{"__isSmartRef__":true,"id":6635},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\"b\"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6635":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,128)"},"6636":{"_id":"_3284","style":{"__isSmartRef__":true,"id":6637},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":": ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6637":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6638":{"_id":"_3285","style":{"__isSmartRef__":true,"id":6639},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6639":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6640":{"_id":"_3286","style":{"__isSmartRef__":true,"id":6641},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6641":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6642":{"_id":"_3287","style":{"__isSmartRef__":true,"id":6643},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6643":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"6644":{"_id":"_3288","style":{"__isSmartRef__":true,"id":6645},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":".toggleEmphasisForSelection(","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6645":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6646":{"_id":"_3289","style":{"__isSmartRef__":true,"id":6647},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"'Boldness'","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6647":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,128)"},"6648":{"_id":"_3290","style":{"__isSmartRef__":true,"id":6649},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"); ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6649":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6650":{"_id":"_3291","style":{"__isSmartRef__":true,"id":6651},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"return","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6651":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"6652":{"_id":"_3292","style":{"__isSmartRef__":true,"id":6653},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" true; ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6653":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6654":{"_id":"_3293","style":{"__isSmartRef__":true,"id":6655},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6655":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6656":{"_id":"_3294","style":{"__isSmartRef__":true,"id":6657},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6657":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6658":{"_id":"_3295","style":{"__isSmartRef__":true,"id":6659},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"case","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6659":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"6660":{"_id":"_3296","style":{"__isSmartRef__":true,"id":6661},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6661":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6662":{"_id":"_3297","style":{"__isSmartRef__":true,"id":6663},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\"i\"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6663":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,128)"},"6664":{"_id":"_3298","style":{"__isSmartRef__":true,"id":6665},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":": ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6665":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6666":{"_id":"_3299","style":{"__isSmartRef__":true,"id":6667},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6667":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6668":{"_id":"_3300","style":{"__isSmartRef__":true,"id":6669},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6669":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6670":{"_id":"_3301","style":{"__isSmartRef__":true,"id":6671},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6671":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"6672":{"_id":"_3302","style":{"__isSmartRef__":true,"id":6673},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":".toggleEmphasisForSelection(","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6673":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6674":{"_id":"_3303","style":{"__isSmartRef__":true,"id":6675},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"'Italics'","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6675":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,128)"},"6676":{"_id":"_3304","style":{"__isSmartRef__":true,"id":6677},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"); ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6677":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6678":{"_id":"_3305","style":{"__isSmartRef__":true,"id":6679},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"return","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6679":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"6680":{"_id":"_3306","style":{"__isSmartRef__":true,"id":6681},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" true; ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6681":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6682":{"_id":"_3307","style":{"__isSmartRef__":true,"id":6683},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6683":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6684":{"_id":"_3308","style":{"__isSmartRef__":true,"id":6685},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6685":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6686":{"_id":"_3309","style":{"__isSmartRef__":true,"id":6687},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"case","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6687":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"6688":{"_id":"_3310","style":{"__isSmartRef__":true,"id":6689},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6689":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6690":{"_id":"_3311","style":{"__isSmartRef__":true,"id":6691},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\"k\"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6691":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,128)"},"6692":{"_id":"_3312","style":{"__isSmartRef__":true,"id":6693},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":": ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6693":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6694":{"_id":"_3313","style":{"__isSmartRef__":true,"id":6695},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6695":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6696":{"_id":"_3314","style":{"__isSmartRef__":true,"id":6697},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6697":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6698":{"_id":"_3315","style":{"__isSmartRef__":true,"id":6699},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6699":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"6700":{"_id":"_3316","style":{"__isSmartRef__":true,"id":6701},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":".toggleEmphasisForSelection(","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6701":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6702":{"_id":"_3317","style":{"__isSmartRef__":true,"id":6703},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"'Link'","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6703":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,128)"},"6704":{"_id":"_3318","style":{"__isSmartRef__":true,"id":6705},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"); ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6705":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6706":{"_id":"_3319","style":{"__isSmartRef__":true,"id":6707},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"return","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6707":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"6708":{"_id":"_3320","style":{"__isSmartRef__":true,"id":6709},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" true; ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6709":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6710":{"_id":"_3321","style":{"__isSmartRef__":true,"id":6711},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6711":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6712":{"_id":"_3322","style":{"__isSmartRef__":true,"id":6713},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6713":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6714":{"_id":"_3323","style":{"__isSmartRef__":true,"id":6715},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"case","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6715":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"6716":{"_id":"_3324","style":{"__isSmartRef__":true,"id":6717},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6717":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6718":{"_id":"_3325","style":{"__isSmartRef__":true,"id":6719},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\"o\"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6719":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,128)"},"6720":{"_id":"_3326","style":{"__isSmartRef__":true,"id":6721},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":": ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6721":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6722":{"_id":"_3327","style":{"__isSmartRef__":true,"id":6723},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6723":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6724":{"_id":"_3328","style":{"__isSmartRef__":true,"id":6725},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6725":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6726":{"_id":"_3329","style":{"__isSmartRef__":true,"id":6727},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6727":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"6728":{"_id":"_3330","style":{"__isSmartRef__":true,"id":6729},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":".toggleEmphasisForSelection(","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6729":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6730":{"_id":"_3331","style":{"__isSmartRef__":true,"id":6731},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"'Doit'","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6731":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,128)"},"6732":{"_id":"_3332","style":{"__isSmartRef__":true,"id":6733},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"); ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6733":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6734":{"_id":"_3333","style":{"__isSmartRef__":true,"id":6735},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"return","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6735":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"6736":{"_id":"_3334","style":{"__isSmartRef__":true,"id":6737},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" true; ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6737":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6738":{"_id":"_3335","style":{"__isSmartRef__":true,"id":6739},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6739":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6740":{"_id":"_3336","style":{"__isSmartRef__":true,"id":6741},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6741":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6742":{"_id":"_3337","style":{"__isSmartRef__":true,"id":6743},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"case","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6743":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"6744":{"_id":"_3338","style":{"__isSmartRef__":true,"id":6745},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6745":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6746":{"_id":"_3339","style":{"__isSmartRef__":true,"id":6747},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\"t\"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6747":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,128)"},"6748":{"_id":"_3340","style":{"__isSmartRef__":true,"id":6749},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":": ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6749":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6750":{"_id":"_3341","style":{"__isSmartRef__":true,"id":6751},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6751":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6752":{"_id":"_3342","style":{"__isSmartRef__":true,"id":6753},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" alert(","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6753":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6754":{"_id":"_3343","style":{"__isSmartRef__":true,"id":6755},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\"browser intercepts this t\"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6755":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,128)"},"6756":{"_id":"_3344","style":{"__isSmartRef__":true,"id":6757},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"); ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6757":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6758":{"_id":"_3345","style":{"__isSmartRef__":true,"id":6759},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"return","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6759":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"6760":{"_id":"_3346","style":{"__isSmartRef__":true,"id":6761},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" true;","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6761":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6762":{"_id":"_3347","style":{"__isSmartRef__":true,"id":6763},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6763":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6764":{"_id":"_3348","style":{"__isSmartRef__":true,"id":6765},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6765":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6766":{"_id":"_3349","style":{"__isSmartRef__":true,"id":6767},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"case","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6767":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"6768":{"_id":"_3350","style":{"__isSmartRef__":true,"id":6769},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6769":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6770":{"_id":"_3351","style":{"__isSmartRef__":true,"id":6771},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\"l\"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6771":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,128)"},"6772":{"_id":"_3352","style":{"__isSmartRef__":true,"id":6773},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":": ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6773":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6774":{"_id":"_3353","style":{"__isSmartRef__":true,"id":6775},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6775":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6776":{"_id":"_3354","style":{"__isSmartRef__":true,"id":6777},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6777":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6778":{"_id":"_3355","style":{"__isSmartRef__":true,"id":6779},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6779":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"6780":{"_id":"_3356","style":{"__isSmartRef__":true,"id":6781},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":".toggleEmphasisForSelection(","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6781":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6782":{"_id":"_3357","style":{"__isSmartRef__":true,"id":6783},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"'Font'","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6783":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,128)"},"6784":{"_id":"_3358","style":{"__isSmartRef__":true,"id":6785},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"); ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6785":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6786":{"_id":"_3359","style":{"__isSmartRef__":true,"id":6787},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"return","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6787":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"6788":{"_id":"_3360","style":{"__isSmartRef__":true,"id":6789},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" true; ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6789":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6790":{"_id":"_3361","style":{"__isSmartRef__":true,"id":6791},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6791":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6792":{"_id":"_3362","style":{"__isSmartRef__":true,"id":6793},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6793":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6794":{"_id":"_3363","style":{"__isSmartRef__":true,"id":6795},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"case","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6795":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"6796":{"_id":"_3364","style":{"__isSmartRef__":true,"id":6797},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6797":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6798":{"_id":"_3365","style":{"__isSmartRef__":true,"id":6799},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\"u\"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6799":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,128)"},"6800":{"_id":"_3366","style":{"__isSmartRef__":true,"id":6801},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":": ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6801":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6802":{"_id":"_3367","style":{"__isSmartRef__":true,"id":6803},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6803":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6804":{"_id":"_3368","style":{"__isSmartRef__":true,"id":6805},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6805":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6806":{"_id":"_3369","style":{"__isSmartRef__":true,"id":6807},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6807":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"6808":{"_id":"_3370","style":{"__isSmartRef__":true,"id":6809},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":".toggleEmphasisForSelection(","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6809":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6810":{"_id":"_3371","style":{"__isSmartRef__":true,"id":6811},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"'Underline'","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6811":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,128)"},"6812":{"_id":"_3372","style":{"__isSmartRef__":true,"id":6813},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"); ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6813":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6814":{"_id":"_3373","style":{"__isSmartRef__":true,"id":6815},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"return","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6815":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"6816":{"_id":"_3374","style":{"__isSmartRef__":true,"id":6817},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" true; ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6817":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6818":{"_id":"_3375","style":{"__isSmartRef__":true,"id":6819},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6819":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6820":{"_id":"_3376","style":{"__isSmartRef__":true,"id":6821},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6821":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6822":{"_id":"_3377","style":{"__isSmartRef__":true,"id":6823},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"case","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6823":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"6824":{"_id":"_3378","style":{"__isSmartRef__":true,"id":6825},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6825":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6826":{"_id":"_3379","style":{"__isSmartRef__":true,"id":6827},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\"1\"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6827":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,128)"},"6828":{"_id":"_3380","style":{"__isSmartRef__":true,"id":6829},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":": ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6829":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6830":{"_id":"_3381","style":{"__isSmartRef__":true,"id":6831},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6831":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6832":{"_id":"_3382","style":{"__isSmartRef__":true,"id":6833},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6833":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6834":{"_id":"_3383","style":{"__isSmartRef__":true,"id":6835},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6835":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"6836":{"_id":"_3384","style":{"__isSmartRef__":true,"id":6837},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":".applyStyle(","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6837":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6838":{"_id":"_3385","style":{"__isSmartRef__":true,"id":6839},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6839":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6840":{"_id":"_3386","style":{"__isSmartRef__":true,"id":6841},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"align:","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6841":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(139,0,0)"},"6842":{"_id":"_3387","style":{"__isSmartRef__":true,"id":6843},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6843":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6844":{"_id":"_3388","style":{"__isSmartRef__":true,"id":6845},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"'left'","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6845":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,128)"},"6846":{"_id":"_3389","style":{"__isSmartRef__":true,"id":6847},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6847":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6848":{"_id":"_3390","style":{"__isSmartRef__":true,"id":6849},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"); ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6849":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6850":{"_id":"_3391","style":{"__isSmartRef__":true,"id":6851},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"return","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6851":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"6852":{"_id":"_3392","style":{"__isSmartRef__":true,"id":6853},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" true; ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6853":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6854":{"_id":"_3393","style":{"__isSmartRef__":true,"id":6855},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6855":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6856":{"_id":"_3394","style":{"__isSmartRef__":true,"id":6857},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6857":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6858":{"_id":"_3395","style":{"__isSmartRef__":true,"id":6859},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"case","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6859":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"6860":{"_id":"_3396","style":{"__isSmartRef__":true,"id":6861},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6861":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6862":{"_id":"_3397","style":{"__isSmartRef__":true,"id":6863},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\"2\"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6863":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,128)"},"6864":{"_id":"_3398","style":{"__isSmartRef__":true,"id":6865},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":": ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6865":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6866":{"_id":"_3399","style":{"__isSmartRef__":true,"id":6867},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6867":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6868":{"_id":"_3400","style":{"__isSmartRef__":true,"id":6869},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6869":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6870":{"_id":"_3401","style":{"__isSmartRef__":true,"id":6871},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6871":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"6872":{"_id":"_3402","style":{"__isSmartRef__":true,"id":6873},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":".applyStyle(","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6873":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6874":{"_id":"_3403","style":{"__isSmartRef__":true,"id":6875},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6875":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6876":{"_id":"_3404","style":{"__isSmartRef__":true,"id":6877},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"align:","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6877":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(139,0,0)"},"6878":{"_id":"_3405","style":{"__isSmartRef__":true,"id":6879},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6879":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6880":{"_id":"_3406","style":{"__isSmartRef__":true,"id":6881},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"'right'","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6881":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,128)"},"6882":{"_id":"_3407","style":{"__isSmartRef__":true,"id":6883},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6883":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6884":{"_id":"_3408","style":{"__isSmartRef__":true,"id":6885},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":");; ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6885":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6886":{"_id":"_3409","style":{"__isSmartRef__":true,"id":6887},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"return","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6887":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"6888":{"_id":"_3410","style":{"__isSmartRef__":true,"id":6889},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" true; ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6889":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6890":{"_id":"_3411","style":{"__isSmartRef__":true,"id":6891},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6891":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6892":{"_id":"_3412","style":{"__isSmartRef__":true,"id":6893},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6893":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6894":{"_id":"_3413","style":{"__isSmartRef__":true,"id":6895},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"case","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6895":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"6896":{"_id":"_3414","style":{"__isSmartRef__":true,"id":6897},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6897":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6898":{"_id":"_3415","style":{"__isSmartRef__":true,"id":6899},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\"3\"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6899":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,128)"},"6900":{"_id":"_3416","style":{"__isSmartRef__":true,"id":6901},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":": ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6901":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6902":{"_id":"_3417","style":{"__isSmartRef__":true,"id":6903},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6903":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6904":{"_id":"_3418","style":{"__isSmartRef__":true,"id":6905},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6905":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6906":{"_id":"_3419","style":{"__isSmartRef__":true,"id":6907},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6907":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"6908":{"_id":"_3420","style":{"__isSmartRef__":true,"id":6909},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":".applyStyle(","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6909":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6910":{"_id":"_3421","style":{"__isSmartRef__":true,"id":6911},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6911":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6912":{"_id":"_3422","style":{"__isSmartRef__":true,"id":6913},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"align:","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6913":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(139,0,0)"},"6914":{"_id":"_3423","style":{"__isSmartRef__":true,"id":6915},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6915":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6916":{"_id":"_3424","style":{"__isSmartRef__":true,"id":6917},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"'center'","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6917":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,128)"},"6918":{"_id":"_3425","style":{"__isSmartRef__":true,"id":6919},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6919":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6920":{"_id":"_3426","style":{"__isSmartRef__":true,"id":6921},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"); ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6921":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6922":{"_id":"_3427","style":{"__isSmartRef__":true,"id":6923},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"return","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6923":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"6924":{"_id":"_3428","style":{"__isSmartRef__":true,"id":6925},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" true; ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6925":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6926":{"_id":"_3429","style":{"__isSmartRef__":true,"id":6927},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6927":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6928":{"_id":"_3430","style":{"__isSmartRef__":true,"id":6929},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6929":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6930":{"_id":"_3431","style":{"__isSmartRef__":true,"id":6931},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"case","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6931":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"6932":{"_id":"_3432","style":{"__isSmartRef__":true,"id":6933},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6933":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6934":{"_id":"_3433","style":{"__isSmartRef__":true,"id":6935},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\"4\"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6935":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,128)"},"6936":{"_id":"_3434","style":{"__isSmartRef__":true,"id":6937},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":": ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6937":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6938":{"_id":"_3435","style":{"__isSmartRef__":true,"id":6939},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6939":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6940":{"_id":"_3436","style":{"__isSmartRef__":true,"id":6941},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6941":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6942":{"_id":"_3437","style":{"__isSmartRef__":true,"id":6943},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6943":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"6944":{"_id":"_3438","style":{"__isSmartRef__":true,"id":6945},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":".applyStyle(","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6945":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6946":{"_id":"_3439","style":{"__isSmartRef__":true,"id":6947},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6947":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6948":{"_id":"_3440","style":{"__isSmartRef__":true,"id":6949},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"align:","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6949":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(139,0,0)"},"6950":{"_id":"_3441","style":{"__isSmartRef__":true,"id":6951},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6951":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6952":{"_id":"_3442","style":{"__isSmartRef__":true,"id":6953},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"'justify'","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6953":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,128)"},"6954":{"_id":"_3443","style":{"__isSmartRef__":true,"id":6955},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6955":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6956":{"_id":"_3444","style":{"__isSmartRef__":true,"id":6957},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"); ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6957":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6958":{"_id":"_3445","style":{"__isSmartRef__":true,"id":6959},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"return","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6959":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"6960":{"_id":"_3446","style":{"__isSmartRef__":true,"id":6961},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" true; ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6961":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6962":{"_id":"_3447","style":{"__isSmartRef__":true,"id":6963},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6963":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6964":{"_id":"_3448","style":{"__isSmartRef__":true,"id":6965},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6965":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6966":{"_id":"_3449","style":{"__isSmartRef__":true,"id":6967},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"case","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6967":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"6968":{"_id":"_3450","style":{"__isSmartRef__":true,"id":6969},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6969":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6970":{"_id":"_3451","style":{"__isSmartRef__":true,"id":6971},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\"5\"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6971":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,128)"},"6972":{"_id":"_3452","style":{"__isSmartRef__":true,"id":6973},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":": ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6973":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6974":{"_id":"_3453","style":{"__isSmartRef__":true,"id":6975},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6975":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6976":{"_id":"_3454","style":{"__isSmartRef__":true,"id":6977},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6977":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6978":{"_id":"_3455","style":{"__isSmartRef__":true,"id":6979},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6979":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"6980":{"_id":"_3456","style":{"__isSmartRef__":true,"id":6981},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":".setFontSize(","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6981":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6982":{"_id":"_3457","style":{"__isSmartRef__":true,"id":6983},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"8","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6983":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,255)"},"6984":{"_id":"_3458","style":{"__isSmartRef__":true,"id":6985},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"); ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6985":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6986":{"_id":"_3459","style":{"__isSmartRef__":true,"id":6987},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"return","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6987":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"6988":{"_id":"_3460","style":{"__isSmartRef__":true,"id":6989},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" true; ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6989":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6990":{"_id":"_3461","style":{"__isSmartRef__":true,"id":6991},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6991":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"6992":{"_id":"_3462","style":{"__isSmartRef__":true,"id":6993},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6993":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6994":{"_id":"_3463","style":{"__isSmartRef__":true,"id":6995},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"case","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6995":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"6996":{"_id":"_3464","style":{"__isSmartRef__":true,"id":6997},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6997":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6998":{"_id":"_3465","style":{"__isSmartRef__":true,"id":6999},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\"6\"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6999":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,128)"},"7000":{"_id":"_3466","style":{"__isSmartRef__":true,"id":7001},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":": ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7001":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7002":{"_id":"_3467","style":{"__isSmartRef__":true,"id":7003},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7003":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"7004":{"_id":"_3468","style":{"__isSmartRef__":true,"id":7005},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7005":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7006":{"_id":"_3469","style":{"__isSmartRef__":true,"id":7007},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7007":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"7008":{"_id":"_3470","style":{"__isSmartRef__":true,"id":7009},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":".setFontSize(","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7009":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7010":{"_id":"_3471","style":{"__isSmartRef__":true,"id":7011},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"12","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7011":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,255)"},"7012":{"_id":"_3472","style":{"__isSmartRef__":true,"id":7013},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"); ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7013":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7014":{"_id":"_3473","style":{"__isSmartRef__":true,"id":7015},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"return","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7015":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"7016":{"_id":"_3474","style":{"__isSmartRef__":true,"id":7017},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" true; ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7017":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7018":{"_id":"_3475","style":{"__isSmartRef__":true,"id":7019},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7019":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"7020":{"_id":"_3476","style":{"__isSmartRef__":true,"id":7021},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7021":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7022":{"_id":"_3477","style":{"__isSmartRef__":true,"id":7023},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"case","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7023":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"7024":{"_id":"_3478","style":{"__isSmartRef__":true,"id":7025},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7025":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7026":{"_id":"_3479","style":{"__isSmartRef__":true,"id":7027},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\"7\"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7027":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,128)"},"7028":{"_id":"_3480","style":{"__isSmartRef__":true,"id":7029},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":": ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7029":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7030":{"_id":"_3481","style":{"__isSmartRef__":true,"id":7031},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7031":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"7032":{"_id":"_3482","style":{"__isSmartRef__":true,"id":7033},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7033":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7034":{"_id":"_3483","style":{"__isSmartRef__":true,"id":7035},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7035":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"7036":{"_id":"_3484","style":{"__isSmartRef__":true,"id":7037},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":".setFontSize(","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7037":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7038":{"_id":"_3485","style":{"__isSmartRef__":true,"id":7039},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"18","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7039":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,255)"},"7040":{"_id":"_3486","style":{"__isSmartRef__":true,"id":7041},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"); ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7041":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7042":{"_id":"_3487","style":{"__isSmartRef__":true,"id":7043},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"return","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7043":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"7044":{"_id":"_3488","style":{"__isSmartRef__":true,"id":7045},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" true; ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7045":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7046":{"_id":"_3489","style":{"__isSmartRef__":true,"id":7047},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7047":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"7048":{"_id":"_3490","style":{"__isSmartRef__":true,"id":7049},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7049":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7050":{"_id":"_3491","style":{"__isSmartRef__":true,"id":7051},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"case","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7051":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"7052":{"_id":"_3492","style":{"__isSmartRef__":true,"id":7053},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7053":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7054":{"_id":"_3493","style":{"__isSmartRef__":true,"id":7055},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\"8\"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7055":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,128)"},"7056":{"_id":"_3494","style":{"__isSmartRef__":true,"id":7057},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":": ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7057":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7058":{"_id":"_3495","style":{"__isSmartRef__":true,"id":7059},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7059":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"7060":{"_id":"_3496","style":{"__isSmartRef__":true,"id":7061},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7061":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7062":{"_id":"_3497","style":{"__isSmartRef__":true,"id":7063},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7063":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"7064":{"_id":"_3498","style":{"__isSmartRef__":true,"id":7065},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":".setFontSize(","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7065":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7066":{"_id":"_3499","style":{"__isSmartRef__":true,"id":7067},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"30","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7067":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,255)"},"7068":{"_id":"_3500","style":{"__isSmartRef__":true,"id":7069},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"); ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7069":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7070":{"_id":"_3501","style":{"__isSmartRef__":true,"id":7071},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"return","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7071":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"7072":{"_id":"_3502","style":{"__isSmartRef__":true,"id":7073},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" true; ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7073":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7074":{"_id":"_3503","style":{"__isSmartRef__":true,"id":7075},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7075":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"7076":{"_id":"_3504","style":{"__isSmartRef__":true,"id":7077},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7077":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7078":{"_id":"_3505","style":{"__isSmartRef__":true,"id":7079},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"case","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7079":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"7080":{"_id":"_3506","style":{"__isSmartRef__":true,"id":7081},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7081":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7082":{"_id":"_3507","style":{"__isSmartRef__":true,"id":7083},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\"e\"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7083":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,128)"},"7084":{"_id":"_3508","style":{"__isSmartRef__":true,"id":7085},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":": ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7085":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7086":{"_id":"_3509","style":{"__isSmartRef__":true,"id":7087},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7087":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"7088":{"_id":"_3510","style":{"__isSmartRef__":true,"id":7089},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7089":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7090":{"_id":"_3511","style":{"__isSmartRef__":true,"id":7091},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7091":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"7092":{"_id":"_3512","style":{"__isSmartRef__":true,"id":7093},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":".doExchange(); ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7093":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7094":{"_id":"_3513","style":{"__isSmartRef__":true,"id":7095},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"return","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7095":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"7096":{"_id":"_3514","style":{"__isSmartRef__":true,"id":7097},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" true; ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7097":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7098":{"_id":"_3515","style":{"__isSmartRef__":true,"id":7099},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7099":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"7100":{"_id":"_3516","style":{"__isSmartRef__":true,"id":7101},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7101":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7102":{"_id":"_3517","style":{"__isSmartRef__":true,"id":7103},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"case","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7103":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"7104":{"_id":"_3518","style":{"__isSmartRef__":true,"id":7105},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7105":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7106":{"_id":"_3519","style":{"__isSmartRef__":true,"id":7107},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\"f\"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7107":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,128)"},"7108":{"_id":"_3520","style":{"__isSmartRef__":true,"id":7109},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":": ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7109":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7110":{"_id":"_3521","style":{"__isSmartRef__":true,"id":7111},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7111":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"7112":{"_id":"_3522","style":{"__isSmartRef__":true,"id":7113},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7113":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7114":{"_id":"_3523","style":{"__isSmartRef__":true,"id":7115},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7115":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"7116":{"_id":"_3524","style":{"__isSmartRef__":true,"id":7117},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":".doFind(); ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7117":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7118":{"_id":"_3525","style":{"__isSmartRef__":true,"id":7119},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"return","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7119":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"7120":{"_id":"_3526","style":{"__isSmartRef__":true,"id":7121},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" true; ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7121":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7122":{"_id":"_3527","style":{"__isSmartRef__":true,"id":7123},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7123":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"7124":{"_id":"_3528","style":{"__isSmartRef__":true,"id":7125},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7125":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7126":{"_id":"_3529","style":{"__isSmartRef__":true,"id":7127},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"case","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7127":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"7128":{"_id":"_3530","style":{"__isSmartRef__":true,"id":7129},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7129":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7130":{"_id":"_3531","style":{"__isSmartRef__":true,"id":7131},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\"g\"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7131":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,128)"},"7132":{"_id":"_3532","style":{"__isSmartRef__":true,"id":7133},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":": ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7133":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7134":{"_id":"_3533","style":{"__isSmartRef__":true,"id":7135},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7135":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"7136":{"_id":"_3534","style":{"__isSmartRef__":true,"id":7137},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7137":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7138":{"_id":"_3535","style":{"__isSmartRef__":true,"id":7139},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7139":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"7140":{"_id":"_3536","style":{"__isSmartRef__":true,"id":7141},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":".doFindNext(); ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7141":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7142":{"_id":"_3537","style":{"__isSmartRef__":true,"id":7143},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"return","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7143":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"7144":{"_id":"_3538","style":{"__isSmartRef__":true,"id":7145},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" true; ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7145":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7146":{"_id":"_3539","style":{"__isSmartRef__":true,"id":7147},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7147":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"7148":{"_id":"_3540","style":{"__isSmartRef__":true,"id":7149},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7149":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7150":{"_id":"_3541","style":{"__isSmartRef__":true,"id":7151},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"case","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7151":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"7152":{"_id":"_3542","style":{"__isSmartRef__":true,"id":7153},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7153":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7154":{"_id":"_3543","style":{"__isSmartRef__":true,"id":7155},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\"m\"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7155":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,128)"},"7156":{"_id":"_3544","style":{"__isSmartRef__":true,"id":7157},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":": ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7157":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7158":{"_id":"_3545","style":{"__isSmartRef__":true,"id":7159},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7159":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"7160":{"_id":"_3546","style":{"__isSmartRef__":true,"id":7161},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7161":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7162":{"_id":"_3547","style":{"__isSmartRef__":true,"id":7163},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7163":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"7164":{"_id":"_3548","style":{"__isSmartRef__":true,"id":7165},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":".doMore(evt.isShiftDown()); ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7165":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7166":{"_id":"_3549","style":{"__isSmartRef__":true,"id":7167},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"return","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7167":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"7168":{"_id":"_3550","style":{"__isSmartRef__":true,"id":7169},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" true; ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7169":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7170":{"_id":"_3551","style":{"__isSmartRef__":true,"id":7171},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7171":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"7172":{"_id":"_3552","style":{"__isSmartRef__":true,"id":7173},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7173":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7174":{"_id":"_3553","style":{"__isSmartRef__":true,"id":7175},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"case","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7175":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"7176":{"_id":"_3554","style":{"__isSmartRef__":true,"id":7177},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7177":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7178":{"_id":"_3555","style":{"__isSmartRef__":true,"id":7179},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\"a\"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7179":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,128)"},"7180":{"_id":"_3556","style":{"__isSmartRef__":true,"id":7181},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":": ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7181":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7182":{"_id":"_3557","style":{"__isSmartRef__":true,"id":7183},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7183":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"7184":{"_id":"_3558","style":{"__isSmartRef__":true,"id":7185},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7185":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7186":{"_id":"_3559","style":{"__isSmartRef__":true,"id":7187},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"if","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7187":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"7188":{"_id":"_3560","style":{"__isSmartRef__":true,"id":7189},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" (","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7189":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7190":{"_id":"_3561","style":{"__isSmartRef__":true,"id":7191},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7191":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"7192":{"_id":"_3562","style":{"__isSmartRef__":true,"id":7193},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":".charsTyped && ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7193":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7194":{"_id":"_3563","style":{"__isSmartRef__":true,"id":7195},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7195":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"7196":{"_id":"_3564","style":{"__isSmartRef__":true,"id":7197},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":".charsTyped.length > ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7197":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7198":{"_id":"_3565","style":{"__isSmartRef__":true,"id":7199},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"0","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7199":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,255)"},"7200":{"_id":"_3566","style":{"__isSmartRef__":true,"id":7201},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":") ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7201":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7202":{"_id":"_3567","style":{"__isSmartRef__":true,"id":7203},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7203":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"7204":{"_id":"_3568","style":{"__isSmartRef__":true,"id":7205},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7205":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7206":{"_id":"_3569","style":{"__isSmartRef__":true,"id":7207},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"//","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7207":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(128,0,0)"},"7208":{"_id":"_3570","style":{"__isSmartRef__":true,"id":7209},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" select recent typing, if any","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7209":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"7210":{"_id":"_3571","style":{"__isSmartRef__":true,"id":7211},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7211":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7212":{"_id":"_3572","style":{"__isSmartRef__":true,"id":7213},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"var","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7213":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"7214":{"_id":"_3573","style":{"__isSmartRef__":true,"id":7215},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" i = ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7215":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7216":{"_id":"_3574","style":{"__isSmartRef__":true,"id":7217},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7217":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"7218":{"_id":"_3575","style":{"__isSmartRef__":true,"id":7219},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":".getSelectionRange()[","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7219":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7220":{"_id":"_3576","style":{"__isSmartRef__":true,"id":7221},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"1","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7221":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,255)"},"7222":{"_id":"_3577","style":{"__isSmartRef__":true,"id":7223},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"];\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7223":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7224":{"_id":"_3578","style":{"__isSmartRef__":true,"id":7225},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7225":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"7226":{"_id":"_3579","style":{"__isSmartRef__":true,"id":7227},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":".setSelectionRange(i - ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7227":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7228":{"_id":"_3580","style":{"__isSmartRef__":true,"id":7229},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7229":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"7230":{"_id":"_3581","style":{"__isSmartRef__":true,"id":7231},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":".charsTyped.length, i);\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7231":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7232":{"_id":"_3582","style":{"__isSmartRef__":true,"id":7233},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7233":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"7234":{"_id":"_3583","style":{"__isSmartRef__":true,"id":7235},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":".charsTyped = ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7235":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7236":{"_id":"_3584","style":{"__isSmartRef__":true,"id":7237},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"''","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7237":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,128)"},"7238":{"_id":"_3585","style":{"__isSmartRef__":true,"id":7239},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":";\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7239":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7240":{"_id":"_3586","style":{"__isSmartRef__":true,"id":7241},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"return","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7241":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"7242":{"_id":"_3587","style":{"__isSmartRef__":true,"id":7243},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" true;\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7243":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7244":{"_id":"_3588","style":{"__isSmartRef__":true,"id":7245},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7245":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"7246":{"_id":"_3589","style":{"__isSmartRef__":true,"id":7247},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7247":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7248":{"_id":"_3590","style":{"__isSmartRef__":true,"id":7249},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"//","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7249":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(128,0,0)"},"7250":{"_id":"_3591","style":{"__isSmartRef__":true,"id":7251},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" Otherwise, do a normal select-all","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7251":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"7252":{"_id":"_3592","style":{"__isSmartRef__":true,"id":7253},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7253":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7254":{"_id":"_3593","style":{"__isSmartRef__":true,"id":7255},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7255":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"7256":{"_id":"_3594","style":{"__isSmartRef__":true,"id":7257},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":".selectAll();\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7257":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7258":{"_id":"_3595","style":{"__isSmartRef__":true,"id":7259},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"return","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7259":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"7260":{"_id":"_3596","style":{"__isSmartRef__":true,"id":7261},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" true;\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7261":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7262":{"_id":"_3597","style":{"__isSmartRef__":true,"id":7263},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7263":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"7264":{"_id":"_3598","style":{"__isSmartRef__":true,"id":7265},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7265":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7266":{"_id":"_3599","style":{"__isSmartRef__":true,"id":7267},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"case","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7267":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"7268":{"_id":"_3600","style":{"__isSmartRef__":true,"id":7269},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7269":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7270":{"_id":"_3601","style":{"__isSmartRef__":true,"id":7271},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\"x\"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7271":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,128)"},"7272":{"_id":"_3602","style":{"__isSmartRef__":true,"id":7273},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":": ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7273":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7274":{"_id":"_3603","style":{"__isSmartRef__":true,"id":7275},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7275":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"7276":{"_id":"_3604","style":{"__isSmartRef__":true,"id":7277},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" lively.morphic.Text.clipboardString = ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7277":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7278":{"_id":"_3605","style":{"__isSmartRef__":true,"id":7279},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7279":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"7280":{"_id":"_3606","style":{"__isSmartRef__":true,"id":7281},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":".selectionString();\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7281":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7282":{"_id":"_3607","style":{"__isSmartRef__":true,"id":7283},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"return","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7283":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"7284":{"_id":"_3608","style":{"__isSmartRef__":true,"id":7285},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" false; ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7285":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7286":{"_id":"_3609","style":{"__isSmartRef__":true,"id":7287},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7287":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"7288":{"_id":"_3610","style":{"__isSmartRef__":true,"id":7289},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7289":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7290":{"_id":"_3611","style":{"__isSmartRef__":true,"id":7291},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"case","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7291":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"7292":{"_id":"_3612","style":{"__isSmartRef__":true,"id":7293},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7293":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7294":{"_id":"_3613","style":{"__isSmartRef__":true,"id":7295},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\"c\"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7295":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,128)"},"7296":{"_id":"_3614","style":{"__isSmartRef__":true,"id":7297},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":": ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7297":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7298":{"_id":"_3615","style":{"__isSmartRef__":true,"id":7299},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7299":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"7300":{"_id":"_3616","style":{"__isSmartRef__":true,"id":7301},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" lively.morphic.Text.clipboardString = ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7301":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7302":{"_id":"_3617","style":{"__isSmartRef__":true,"id":7303},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7303":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"7304":{"_id":"_3618","style":{"__isSmartRef__":true,"id":7305},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":".selectionString();\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7305":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7306":{"_id":"_3619","style":{"__isSmartRef__":true,"id":7307},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"return","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7307":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"7308":{"_id":"_3620","style":{"__isSmartRef__":true,"id":7309},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" false; ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7309":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7310":{"_id":"_3621","style":{"__isSmartRef__":true,"id":7311},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7311":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"7312":{"_id":"_3622","style":{"__isSmartRef__":true,"id":7313},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7313":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7314":{"_id":"_3623","style":{"__isSmartRef__":true,"id":7315},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"case","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7315":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"7316":{"_id":"_3624","style":{"__isSmartRef__":true,"id":7317},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7317":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7318":{"_id":"_3625","style":{"__isSmartRef__":true,"id":7319},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\"v\"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7319":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,128)"},"7320":{"_id":"_3626","style":{"__isSmartRef__":true,"id":7321},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":": ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7321":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7322":{"_id":"_3627","style":{"__isSmartRef__":true,"id":7323},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7323":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"7324":{"_id":"_3628","style":{"__isSmartRef__":true,"id":7325},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7325":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7326":{"_id":"_3629","style":{"__isSmartRef__":true,"id":7327},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"//","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7327":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(128,0,0)"},"7328":{"_id":"_3630","style":{"__isSmartRef__":true,"id":7329},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" Just do the native paste","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7329":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"7330":{"_id":"_3631","style":{"__isSmartRef__":true,"id":7331},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7331":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7332":{"_id":"_3632","style":{"__isSmartRef__":true,"id":7333},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"return","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7333":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"7334":{"_id":"_3633","style":{"__isSmartRef__":true,"id":7335},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" false; ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7335":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7336":{"_id":"_3634","style":{"__isSmartRef__":true,"id":7337},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7337":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"7338":{"_id":"_3635","style":{"__isSmartRef__":true,"id":7339},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7339":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7340":{"_id":"_3636","style":{"__isSmartRef__":true,"id":7341},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"case","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7341":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"7342":{"_id":"_3637","style":{"__isSmartRef__":true,"id":7343},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7343":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7344":{"_id":"_3638","style":{"__isSmartRef__":true,"id":7345},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\"z\"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7345":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,128)"},"7346":{"_id":"_3639","style":{"__isSmartRef__":true,"id":7347},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":": ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7347":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7348":{"_id":"_3640","style":{"__isSmartRef__":true,"id":7349},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7349":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"7350":{"_id":"_3641","style":{"__isSmartRef__":true,"id":7351},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7351":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7352":{"_id":"_3642","style":{"__isSmartRef__":true,"id":7353},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"if","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7353":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"7354":{"_id":"_3643","style":{"__isSmartRef__":true,"id":7355},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" (","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7355":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7356":{"_id":"_3644","style":{"__isSmartRef__":true,"id":7357},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7357":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"7358":{"_id":"_3645","style":{"__isSmartRef__":true,"id":7359},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":".undo) ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7359":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7360":{"_id":"_3646","style":{"__isSmartRef__":true,"id":7361},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7361":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"7362":{"_id":"_3647","style":{"__isSmartRef__":true,"id":7363},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7363":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7364":{"_id":"_3648","style":{"__isSmartRef__":true,"id":7365},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7365":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"7366":{"_id":"_3649","style":{"__isSmartRef__":true,"id":7367},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":".undo();\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7367":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7368":{"_id":"_3650","style":{"__isSmartRef__":true,"id":7369},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"return","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7369":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"7370":{"_id":"_3651","style":{"__isSmartRef__":true,"id":7371},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" true;\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7371":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7372":{"_id":"_3652","style":{"__isSmartRef__":true,"id":7373},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7373":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"7374":{"_id":"_3653","style":{"__isSmartRef__":true,"id":7375},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7375":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7376":{"_id":"_3654","style":{"__isSmartRef__":true,"id":7377},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"return","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7377":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"7378":{"_id":"_3655","style":{"__isSmartRef__":true,"id":7379},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" false; ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7379":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7380":{"_id":"_3656","style":{"__isSmartRef__":true,"id":7381},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7381":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"7382":{"_id":"_3657","style":{"__isSmartRef__":true,"id":7383},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7383":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7384":{"_id":"_3658","style":{"__isSmartRef__":true,"id":7385},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7385":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"7386":{"_id":"_3659","style":{"__isSmartRef__":true,"id":7387},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7387":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7388":{"_id":"_3660","style":{"__isSmartRef__":true,"id":7389},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"switch","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7389":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"7390":{"_id":"_3661","style":{"__isSmartRef__":true,"id":7391},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"(evt.getKeyCode()) ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7391":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7392":{"_id":"_3662","style":{"__isSmartRef__":true,"id":7393},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7393":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"7394":{"_id":"_3663","style":{"__isSmartRef__":true,"id":7395},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7395":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7396":{"_id":"_3664","style":{"__isSmartRef__":true,"id":7397},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"//","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7397":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(128,0,0)"},"7398":{"_id":"_3665","style":{"__isSmartRef__":true,"id":7399},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" Font Size","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7399":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"7400":{"_id":"_3666","style":{"__isSmartRef__":true,"id":7401},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7401":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7402":{"_id":"_3667","style":{"__isSmartRef__":true,"id":7403},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"case","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7403":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"7404":{"_id":"_3668","style":{"__isSmartRef__":true,"id":7405},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7405":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7406":{"_id":"_3669","style":{"__isSmartRef__":true,"id":7407},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"187","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7407":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,255)"},"7408":{"_id":"_3670","style":{"__isSmartRef__":true,"id":7409},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"/*cmd+'+'*/","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7409":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(128,0,0)"},"7410":{"_id":"_3671","style":{"__isSmartRef__":true,"id":7411},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":": ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7411":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7412":{"_id":"_3672","style":{"__isSmartRef__":true,"id":7413},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7413":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"7414":{"_id":"_3673","style":{"__isSmartRef__":true,"id":7415},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7415":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7416":{"_id":"_3674","style":{"__isSmartRef__":true,"id":7417},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"if","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7417":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"7418":{"_id":"_3675","style":{"__isSmartRef__":true,"id":7419},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" (","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7419":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7420":{"_id":"_3676","style":{"__isSmartRef__":true,"id":7421},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7421":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"7422":{"_id":"_3677","style":{"__isSmartRef__":true,"id":7423},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":".hasNullSelection())\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7423":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7424":{"_id":"_3678","style":{"__isSmartRef__":true,"id":7425},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7425":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"7426":{"_id":"_3679","style":{"__isSmartRef__":true,"id":7427},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":".setFontSize(","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7427":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7428":{"_id":"_3680","style":{"__isSmartRef__":true,"id":7429},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7429":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"7430":{"_id":"_3681","style":{"__isSmartRef__":true,"id":7431},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":".getFontSize() + ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7431":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7432":{"_id":"_3682","style":{"__isSmartRef__":true,"id":7433},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"1","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7433":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,255)"},"7434":{"_id":"_3683","style":{"__isSmartRef__":true,"id":7435},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":");\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7435":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7436":{"_id":"_3684","style":{"__isSmartRef__":true,"id":7437},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"else","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7437":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"7438":{"_id":"_3685","style":{"__isSmartRef__":true,"id":7439},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7439":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7440":{"_id":"_3686","style":{"__isSmartRef__":true,"id":7441},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7441":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"7442":{"_id":"_3687","style":{"__isSmartRef__":true,"id":7443},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":".increaseFontSizeOfSelection();\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7443":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7444":{"_id":"_3688","style":{"__isSmartRef__":true,"id":7445},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"return","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7445":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"7446":{"_id":"_3689","style":{"__isSmartRef__":true,"id":7447},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" true;\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7447":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7448":{"_id":"_3690","style":{"__isSmartRef__":true,"id":7449},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7449":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"7450":{"_id":"_3691","style":{"__isSmartRef__":true,"id":7451},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7451":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7452":{"_id":"_3692","style":{"__isSmartRef__":true,"id":7453},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"case","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7453":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"7454":{"_id":"_3693","style":{"__isSmartRef__":true,"id":7455},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7455":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7456":{"_id":"_3694","style":{"__isSmartRef__":true,"id":7457},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"189","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7457":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,255)"},"7458":{"_id":"_3695","style":{"__isSmartRef__":true,"id":7459},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"/*cmd+'-'*/","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7459":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(128,0,0)"},"7460":{"_id":"_3696","style":{"__isSmartRef__":true,"id":7461},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":": ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7461":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7462":{"_id":"_3697","style":{"__isSmartRef__":true,"id":7463},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7463":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"7464":{"_id":"_3698","style":{"__isSmartRef__":true,"id":7465},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7465":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7466":{"_id":"_3699","style":{"__isSmartRef__":true,"id":7467},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"if","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7467":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"7468":{"_id":"_3700","style":{"__isSmartRef__":true,"id":7469},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" (","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7469":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7470":{"_id":"_3701","style":{"__isSmartRef__":true,"id":7471},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7471":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"7472":{"_id":"_3702","style":{"__isSmartRef__":true,"id":7473},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":".hasNullSelection())\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7473":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7474":{"_id":"_3703","style":{"__isSmartRef__":true,"id":7475},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7475":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"7476":{"_id":"_3704","style":{"__isSmartRef__":true,"id":7477},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":".setFontSize(","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7477":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7478":{"_id":"_3705","style":{"__isSmartRef__":true,"id":7479},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7479":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"7480":{"_id":"_3706","style":{"__isSmartRef__":true,"id":7481},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":".getFontSize() - ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7481":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7482":{"_id":"_3707","style":{"__isSmartRef__":true,"id":7483},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"1","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7483":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,255)"},"7484":{"_id":"_3708","style":{"__isSmartRef__":true,"id":7485},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":");\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7485":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7486":{"_id":"_3709","style":{"__isSmartRef__":true,"id":7487},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"else","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7487":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"7488":{"_id":"_3710","style":{"__isSmartRef__":true,"id":7489},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7489":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7490":{"_id":"_3711","style":{"__isSmartRef__":true,"id":7491},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7491":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"7492":{"_id":"_3712","style":{"__isSmartRef__":true,"id":7493},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":".decreaseFontSizeOfSelection();\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7493":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7494":{"_id":"_3713","style":{"__isSmartRef__":true,"id":7495},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"return","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7495":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"7496":{"_id":"_3714","style":{"__isSmartRef__":true,"id":7497},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" true;\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7497":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7498":{"_id":"_3715","style":{"__isSmartRef__":true,"id":7499},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7499":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"7500":{"_id":"_3716","style":{"__isSmartRef__":true,"id":7501},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7501":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7502":{"_id":"_3717","style":{"__isSmartRef__":true,"id":7503},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"//","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7503":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(128,0,0)"},"7504":{"_id":"_3718","style":{"__isSmartRef__":true,"id":7505},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" indent/outdent selection","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7505":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"7506":{"_id":"_3719","style":{"__isSmartRef__":true,"id":7507},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7507":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7508":{"_id":"_3720","style":{"__isSmartRef__":true,"id":7509},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"case","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7509":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"7510":{"_id":"_3721","style":{"__isSmartRef__":true,"id":7511},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7511":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7512":{"_id":"_3722","style":{"__isSmartRef__":true,"id":7513},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"221","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7513":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,255)"},"7514":{"_id":"_3723","style":{"__isSmartRef__":true,"id":7515},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"/*cmd+]*/","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7515":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(128,0,0)"},"7516":{"_id":"_3724","style":{"__isSmartRef__":true,"id":7517},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":": ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7517":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7518":{"_id":"_3725","style":{"__isSmartRef__":true,"id":7519},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7519":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"7520":{"_id":"_3726","style":{"__isSmartRef__":true,"id":7521},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7521":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7522":{"_id":"_3727","style":{"__isSmartRef__":true,"id":7523},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7523":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"7524":{"_id":"_3728","style":{"__isSmartRef__":true,"id":7525},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":".indentSelection(); ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7525":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7526":{"_id":"_3729","style":{"__isSmartRef__":true,"id":7527},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"return","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7527":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"7528":{"_id":"_3730","style":{"__isSmartRef__":true,"id":7529},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" true ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7529":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7530":{"_id":"_3731","style":{"__isSmartRef__":true,"id":7531},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7531":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"7532":{"_id":"_3732","style":{"__isSmartRef__":true,"id":7533},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7533":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7534":{"_id":"_3733","style":{"__isSmartRef__":true,"id":7535},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"case","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7535":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"7536":{"_id":"_3734","style":{"__isSmartRef__":true,"id":7537},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7537":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7538":{"_id":"_3735","style":{"__isSmartRef__":true,"id":7539},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"219","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7539":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,255)"},"7540":{"_id":"_3736","style":{"__isSmartRef__":true,"id":7541},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"/*cmd+[*/","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7541":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(128,0,0)"},"7542":{"_id":"_3737","style":{"__isSmartRef__":true,"id":7543},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":": ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7543":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7544":{"_id":"_3738","style":{"__isSmartRef__":true,"id":7545},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7545":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"7546":{"_id":"_3739","style":{"__isSmartRef__":true,"id":7547},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7547":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7548":{"_id":"_3740","style":{"__isSmartRef__":true,"id":7549},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7549":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"7550":{"_id":"_3741","style":{"__isSmartRef__":true,"id":7551},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":".outdentSelection(); ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7551":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7552":{"_id":"_3742","style":{"__isSmartRef__":true,"id":7553},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"return","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7553":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"7554":{"_id":"_3743","style":{"__isSmartRef__":true,"id":7555},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" true ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7555":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7556":{"_id":"_3744","style":{"__isSmartRef__":true,"id":7557},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7557":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"7558":{"_id":"_3745","style":{"__isSmartRef__":true,"id":7559},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7559":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7560":{"_id":"_3746","style":{"__isSmartRef__":true,"id":7561},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"//","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7561":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(128,0,0)"},"7562":{"_id":"_3747","style":{"__isSmartRef__":true,"id":7563},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" comment/uncoment selection","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7563":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"7564":{"_id":"_3748","style":{"__isSmartRef__":true,"id":7565},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7565":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7566":{"_id":"_3749","style":{"__isSmartRef__":true,"id":7567},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"case","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7567":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"7568":{"_id":"_3750","style":{"__isSmartRef__":true,"id":7569},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7569":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7570":{"_id":"_3751","style":{"__isSmartRef__":true,"id":7571},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"191","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7571":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,255)"},"7572":{"_id":"_3752","style":{"__isSmartRef__":true,"id":7573},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7573":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7574":{"_id":"_3753","style":{"__isSmartRef__":true,"id":7575},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"/*cmd+/","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7575":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(128,0,0)"},"7576":{"_id":"_3754","style":{"__isSmartRef__":true,"id":7577},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"*/","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7577":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(128,128,128)"},"7578":{"_id":"_3755","style":{"__isSmartRef__":true,"id":7579},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":": ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7579":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7580":{"_id":"_3756","style":{"__isSmartRef__":true,"id":7581},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7581":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"7582":{"_id":"_3757","style":{"__isSmartRef__":true,"id":7583},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7583":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7584":{"_id":"_3758","style":{"__isSmartRef__":true,"id":7585},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7585":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"7586":{"_id":"_3759","style":{"__isSmartRef__":true,"id":7587},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":".addOrRemoveComment(); ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7587":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7588":{"_id":"_3760","style":{"__isSmartRef__":true,"id":7589},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"return","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7589":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"7590":{"_id":"_3761","style":{"__isSmartRef__":true,"id":7591},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" true ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7591":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7592":{"_id":"_3762","style":{"__isSmartRef__":true,"id":7593},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7593":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"7594":{"_id":"_3763","style":{"__isSmartRef__":true,"id":7595},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7595":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7596":{"_id":"_3764","style":{"__isSmartRef__":true,"id":7597},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7597":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"7598":{"_id":"_3765","style":{"__isSmartRef__":true,"id":7599},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7599":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7600":{"_id":"_3766","style":{"__isSmartRef__":true,"id":7601},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"return","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7601":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"7602":{"_id":"_3767","style":{"__isSmartRef__":true,"id":7603},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":" false;\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7603":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7604":{"_id":"_3768","style":{"__isSmartRef__":true,"id":7605},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7605":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"7606":{"_id":"_3769","style":{"__isSmartRef__":true,"id":7607},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"\n","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7607":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7608":{"_id":"_3770","style":{"__isSmartRef__":true,"id":7609},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7609":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"7610":{"_id":"_3771","style":{"__isSmartRef__":true,"id":7611},"chunkOwner":{"__isSmartRef__":true,"id":6109},"storedString":");","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7611":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7612":{"morph":{"__isSmartRef__":true,"id":6109},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"7613":{"doSave":{"__isSmartRef__":true,"id":7614},"getDoitContext":{"__isSmartRef__":true,"id":7621}},"7614":{"varMapping":{"__isSmartRef__":true,"id":7615},"source":"function doSave() {\n\t$super()\n\talertOK(\"eval all for \" + this.getDoitContext())\n\tthis.boundEval(this.textString)\n}","funcProperties":{"__isSmartRef__":true,"id":7620},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7615":{"this":{"__isSmartRef__":true,"id":6109},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":7616}},"7616":{"$super":{"__isSmartRef__":true,"id":7617}},"7617":{"varMapping":{"__isSmartRef__":true,"id":7618},"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":7619},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7618":{"obj":{"__isSmartRef__":true,"id":6109},"name":"doSave"},"7619":{},"7620":{},"7621":{"varMapping":{"__isSmartRef__":true,"id":7622},"source":"function getDoitContext() {\n\treturn this.owner.targetObject\n}","funcProperties":{"__isSmartRef__":true,"id":7627},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7622":{"this":{"__isSmartRef__":true,"id":6109},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":7623}},"7623":{"$super":{"__isSmartRef__":true,"id":7624}},"7624":{"varMapping":{"__isSmartRef__":true,"id":7625},"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":7626},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7625":{"obj":{"__isSmartRef__":true,"id":6109},"name":"getDoitContext"},"7626":{},"7627":{},"7628":{"submorphs":[],"scripts":[],"id":"5DF2FC60-10B1-4F5D-85C4-215140F69AD8","shape":{"__isSmartRef__":true,"id":7629},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":true,"_FontFamily":"Monaco, Courier","registeredForMouseEvents":true,"_MaxTextWidth":846.9484727040478,"_MaxTextHeight":null,"textStyle":null,"layout":{"__isSmartRef__":true,"id":7630},"charsReplaced":"","lastFindLoc":697,"showsHalos":false,"name":"infoText","savedTextString":"// MethodFinder (this)\n\n// ** MethodFinder's Scripts **\nthis.addScript(function browse(fileFragment) {\n\tfileFragment && fileFragment.browseIt()\n});\n\nthis.addScript(function reset() {\n\tthis.get('searchResultList').updateList([]);\n\tthis.get('searchResultList').setSelection(null);\n\tthis.get('searchText').setTextString('enter search term here');\n});\n\n\nthis.addScript(function search(searchString) {\n\tvar finds = [];\n\tvar re = new RegExp(searchString)\n\tvar i=0;\n\tvar time = Functions.timeToRun(function() {\n\tGlobal.classes(true).forEach(function(eaClass) {\n\t\tFunctions.own(eaClass.prototype)\n\t\t\t.forEach(function(eaMethod) {\n\t\t\t\ti++;\n\t\t\t\tif (eaMethod.match(re)){\n\t\t\t\t\tfinds.push([eaClass, eaMethod])\n\t\t\t\t}\t\n\t\t\t})\t\n\t})})\n\talert(\"search \" + i + \" methods, found \" + finds.length + \" methods in \" + time + \"ms\")\n\n\tvar items = finds.collect(function(ea) {\n\t\treturn {\n\t\t\tisListItem: true,\n\t\t\tvalue: ea,\n\t\t\tstring: ea[0].name + \": \" + ea[1],\n\t\t}\n\t})\n\tthis.get('searchResultList').updateList(items);\n});","textChunks":[{"__isSmartRef__":true,"id":7631}],"_ClipMode":"hidden","prevScroll":[0,0],"_FontSize":10,"owner":{"__isSmartRef__":true,"id":6056},"eventHandler":{"__isSmartRef__":true,"id":7633},"_MinTextWidth":846.9484727040478,"_MinTextHeight":null,"derivationIds":[210,"E20B9061-6128-4BD4-BE8B-4B50F9BC8EA1","FFFED58E-70A3-4945-A7C8-19E2C0754BB7","1B69878E-8E43-4E25-BAE7-3D64CAE35839","2770B759-8971-45F4-8291-6DA85EBD1155","B0E0F94A-1BB3-405B-87BB-3C1199A8EB79","8EF852C4-A375-4F84-873C-4277F9A99D52","AA10C5AE-8C29-45DA-8CA5-A0E286F80E82","4B3576CB-50DD-49DF-913C-88D34002B5DC","B9692647-A99C-4A20-9C6C-3DF722D48DDE","109C8B5F-DBAA-490E-A061-CB3004CD8634","6494496E-CBF0-4256-ACA4-D7E7B674F7CE","7B312F1D-97DF-400B-B6A2-F871E0D93348","705B3C30-29F1-486C-AF08-7E7D03078BAF"],"_WordBreak":"break-all","_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(10.0,200.0)","distanceToDragEvent":"lively.pt(587.0,-13.5)"},"7629":{"_BorderWidth":1,"_ClipMode":"hidden","_BorderRadius":4,"__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(845.6,20.0)","_BorderColor":"Color.rgb(102,102,102)","_Fill":"Color.rgb(243,243,243)","_Padding":"lively.rect(2,1,-2,-1)"},"7630":{"resizeWidth":true,"resizeHeight":false,"moveVertical":false,"moveHorizontal":false},"7631":{"style":{"__isSmartRef__":true,"id":7632},"chunkOwner":{"__isSmartRef__":true,"id":7628},"_id":"_3023","storedString":"module(Global.lively.morphic.TextCore)","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7632":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7633":{"morph":{"__isSmartRef__":true,"id":7628},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"7634":{"submorphs":[{"__isSmartRef__":true,"id":7635}],"scripts":[],"id":"337A0A27-D280-4C46-BB41-4AAF167DE6A8","shape":{"__isSmartRef__":true,"id":7640},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":7641},"lighterFill":{"__isSmartRef__":true,"id":7646},"label":{"__isSmartRef__":true,"id":7635},"showsHalos":false,"name":"browse","partsBinMetaInfo":{"__isSmartRef__":true,"id":7651},"attributeConnections":[{"__isSmartRef__":true,"id":7652}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"eventHandler":{"__isSmartRef__":true,"id":7653},"owner":{"__isSmartRef__":true,"id":6056},"derivationIds":[211,"72C2FBB1-F169-43CC-AC8A-C0889FCB1663","8CF07460-17AC-4EC3-83C4-E31D52336E14","BE09102D-553E-4BB6-84A6-4D428731DD1B","2D43F043-9567-4765-A19C-7C922F0DFFE7","A77836E8-3C83-4A1D-B37A-7DDBA7FE13DE","13EB973D-FF17-4A76-AD4B-13347D80B1A9","8A92D97E-6965-49F7-B2B0-8842FB9ADCDF","662F4742-3BD8-4D39-88CB-EE97BC2306D6","8F15DC2D-892E-4B0F-83CB-8E7012281BEB","57A38C48-8036-4D85-91C8-9F60FE72DACE","5F6BEEC4-A021-4428-AC2A-14F8A4F9B68C","BF69FE04-AF9D-48BC-B4F9-5B9CFB4720D3","1B2B2CB4-3ABA-4387-A3D2-E8436B9DC849"],"_ClipMode":"visible","_Rotation":0,"_Scale":1,"__serializedExpressions__":["distanceToDragEvent","_Position"],"isPressed":false,"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","distanceToDragEvent":"lively.pt(53.7,-17.2)","_Position":"lively.pt(400.0,20.0)"},"7635":{"submorphs":[],"scripts":[],"id":"AD7D639A-A463-48F0-A9B2-D2C6A232696D","shape":{"__isSmartRef__":true,"id":7636},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":false,"_FontFamily":"Helvetica","registeredForMouseEvents":true,"_MaxTextWidth":78,"_MaxTextHeight":null,"owner":{"__isSmartRef__":true,"id":7634},"isLabel":true,"eventsAreIgnored":true,"textStyle":null,"textChunks":[{"__isSmartRef__":true,"id":7637}],"prevScroll":[0,0],"_ClipMode":"hidden","_Align":"center","eventHandler":{"__isSmartRef__":true,"id":7639},"_HandStyle":"default","_PointerEvents":"none","_MinTextWidth":78,"_MinTextHeight":null,"derivationIds":[212,"054FD83F-508D-488D-A011-8769DCB647DF","834D337A-5619-4055-B103-7BDAA88CD7A9","3C85FBE2-5C85-4CCF-B86A-25E65015429B","001D6261-96E2-4ACC-880A-8540815DC8D3","90FFCC86-B995-4F2F-872F-55A8A74FC99E","766B1A00-7692-4CAB-B106-01876B4D5F77","C36FA883-C0F4-47DA-B1A9-CB8D82C1C6E4","91BD5A6B-4A46-43EA-8FA0-2A5C4EFDD1A7","B8CDD839-4085-4D54-B360-5F4DAC2DD83C","C25AEC86-A78F-4355-A843-3CACF03215A8","B28C6DEB-10EF-40BF-BA3F-3BFA8EB2B14D","6943F355-5B63-4DAD-8A39-14319936A0E0","81DC2508-85EB-4052-AFA2-44CF083A45C5"],"_WordBreak":"break-all","_Scale":1,"__serializedExpressions__":["_Position","padding","_Padding"],"__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)"},"7636":{"_BorderWidth":0,"_Fill":null,"_ClipMode":"hidden","__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(78.0,20.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"7637":{"style":{"__isSmartRef__":true,"id":7638},"morph":{"__isSmartRef__":true,"id":7635},"chunkOwner":{"__isSmartRef__":true,"id":7635},"storedString":"browse","_id":"_152","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7638":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7639":{"morph":{"__isSmartRef__":true,"id":7635},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"7640":{"_BorderWidth":1,"_Fill":{"__isSmartRef__":true,"id":7641},"_BorderRadius":5,"_ClipMode":"visible","_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(78.0,20.0)","_BorderColor":"Color.rgb(66,66,66)","_Padding":"lively.rect(0,0,0,0)"},"7641":{"stops":[{"__isSmartRef__":true,"id":7642},{"__isSmartRef__":true,"id":7643},{"__isSmartRef__":true,"id":7644},{"__isSmartRef__":true,"id":7645}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"7642":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"7643":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"7644":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"7645":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(240,240,240)"},"7646":{"stops":[{"__isSmartRef__":true,"id":7647},{"__isSmartRef__":true,"id":7648},{"__isSmartRef__":true,"id":7649},{"__isSmartRef__":true,"id":7650}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"7647":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"7648":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"7649":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"7650":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"7651":{"partsSpaceName":"PartsBin/NewWorld","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"7652":{"sourceObj":{"__isSmartRef__":true,"id":7634},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":6056},"targetMethodName":"browseMethod","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7653":{"morph":{"__isSmartRef__":true,"id":7634},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"7654":{"submorphs":[{"__isSmartRef__":true,"id":7655}],"scripts":[],"id":"8249EC5E-FB78-4F89-9E2B-301A1BC7D757","shape":{"__isSmartRef__":true,"id":7660},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":7661},"lighterFill":{"__isSmartRef__":true,"id":7666},"label":{"__isSmartRef__":true,"id":7655},"name":"Button1","showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":7671},"attributeConnections":[{"__isSmartRef__":true,"id":7672}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"eventHandler":{"__isSmartRef__":true,"id":7695},"prevScroll":[0,0],"owner":{"__isSmartRef__":true,"id":6056},"layout":{"__isSmartRef__":true,"id":7696},"derivationIds":[213,"EC7B60B8-A81F-4F24-A467-A661149CA045","DF2DEFBB-9271-4448-98A1-D2137526C2C3","EBFAF287-C65D-425B-910E-D6ADC7FA9D02","7F2E684F-7CC3-4CC4-8B18-920427491622","F7E9C68E-814B-4197-9D5B-556DCF0EC4F6","3DC305C0-5A87-4ED4-B263-5E5333B947FB","A8805225-9530-403B-977E-A2929A077DD0","0BF85746-8777-4195-949A-8733B4D79B02","8E485E0B-1832-4C7C-A5B1-D14057A7F5E3","4793FFDA-8803-44C7-97D4-27DE49B5D8D0","3FDA3264-B677-48AF-95D0-46DDD933EFBF","3350B214-FDFD-4143-8AB5-4E475C31F760","332F671C-E259-47B3-B31D-F86A48741FAF"],"_ClipMode":"visible","_Rotation":0,"_Scale":1,"__serializedExpressions__":["distanceToDragEvent","_Position"],"isPressed":false,"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","distanceToDragEvent":"lively.pt(111.4,-11.4)","_Position":"lively.pt(490.0,19.0)"},"7655":{"submorphs":[],"scripts":[],"id":"F519DBC5-42B0-4AB3-B782-397DA1180047","shape":{"__isSmartRef__":true,"id":7656},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":false,"_FontFamily":"Helvetica","registeredForMouseEvents":true,"_MaxTextWidth":157.05605605605615,"_MaxTextHeight":null,"textStyle":null,"owner":{"__isSmartRef__":true,"id":7654},"isLabel":true,"eventsAreIgnored":true,"_ClipMode":"hidden","textChunks":[{"__isSmartRef__":true,"id":7657}],"_Align":"center","eventHandler":{"__isSmartRef__":true,"id":7659},"_HandStyle":"default","_PointerEvents":"none","_MinTextWidth":157.05605605605615,"_MinTextHeight":null,"derivationIds":[214,"D88E1591-8BE5-4F54-AEB5-71BC24E2014D","FE6955F2-3796-4030-BD54-73604562225B","0F07A5A7-E04B-412A-8D91-2AA448965A0E","634A262F-940F-4590-8DB1-0738A6DF355A","221F164E-FD6F-40ED-8E18-E055A638CE93","1320C4DD-9213-40AA-A107-5EF8EBE9B22A","098E1029-F36B-4434-B20F-A2100DCCBB9A","39D48D5A-BB94-40BA-AB93-09B3B787EC3D","27F752E4-9705-4F8B-9CC4-6E5131892552","78776F49-7628-4F29-81F1-7AFC77BDAFE0","5ACE871C-A220-4C51-A9E1-9315BE30BB0A","D596A84E-3FB1-4A59-B12D-12FF54B0B37F","C7CF5CE2-FA69-432F-B05A-A8FDE7273491"],"_WordBreak":"break-all","_Scale":1,"__serializedExpressions__":["_Position","padding","_Padding"],"__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)"},"7656":{"_BorderWidth":0,"_Fill":null,"_ClipMode":"hidden","__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(157.1,21.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"7657":{"style":{"__isSmartRef__":true,"id":7658},"chunkOwner":{"__isSmartRef__":true,"id":7655},"storedString":"search on server","_id":"_153","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7658":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7659":{"morph":{"__isSmartRef__":true,"id":7655},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"7660":{"_BorderWidth":1.1840000000000002,"_Fill":{"__isSmartRef__":true,"id":7661},"_BorderRadius":5.2,"_ClipMode":"visible","_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(157.1,21.0)","_BorderColor":"Color.rgb(66,66,66)","_Padding":"lively.rect(0,0,0,0)"},"7661":{"stops":[{"__isSmartRef__":true,"id":7662},{"__isSmartRef__":true,"id":7663},{"__isSmartRef__":true,"id":7664},{"__isSmartRef__":true,"id":7665}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"7662":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"7663":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"7664":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"7665":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(240,240,240)"},"7666":{"stops":[{"__isSmartRef__":true,"id":7667},{"__isSmartRef__":true,"id":7668},{"__isSmartRef__":true,"id":7669},{"__isSmartRef__":true,"id":7670}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"7667":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"7668":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"7669":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"7670":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"7671":{"partsSpaceName":"PartsBin/Inputs","migrationLevel":4,"partName":"Button","comment":"Has a script that is called on button press","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"7672":{"sourceObj":{"__isSmartRef__":true,"id":7654},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":6056},"targetMethodName":"searchOnServer","visualConnector":{"__isSmartRef__":true,"id":7673},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7673":{"submorphs":[{"__isSmartRef__":true,"id":7674}],"scripts":[],"shape":{"__isSmartRef__":true,"id":7681},"id":865,"eventHandler":{"__isSmartRef__":true,"id":7684},"__layered_droppingEnabled__":true,"halosEnabled":true,"owner":null,"controlPoints":[{"__isSmartRef__":true,"id":7685},{"__isSmartRef__":true,"id":7686}],"con":{"__isSmartRef__":true,"id":7672},"showsMorphMenu":true,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":7687},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"7674":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":7675},"id":866,"eventHandler":{"__isSmartRef__":true,"id":7680},"__layered_droppingEnabled__":true,"halosEnabled":true,"owner":{"__isSmartRef__":true,"id":7673},"_Rotation":-3.113822016996372,"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","_Position":"lively.pt(0.0,0.0)"},"7675":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":7676},{"__isSmartRef__":true,"id":7677},{"__isSmartRef__":true,"id":7678},{"__isSmartRef__":true,"id":7679}],"_ClipMode":"visible","_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(16.0,12.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(0,0,0)"},"7676":{"isAbsolute":true,"x":-12,"y":-6,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"7677":{"isAbsolute":true,"x":-12,"y":6,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"7678":{"isAbsolute":true,"x":4,"y":0,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"7679":{"isAbsolute":true,"x":-12,"y":-6,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"7680":{"morph":{"__isSmartRef__":true,"id":7674},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"7681":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":7682},{"__isSmartRef__":true,"id":7683}],"_ClipMode":"visible","_BorderWidth":1,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Position":"lively.pt(-1.0,-1.0)","_Extent":"lively.pt(721.0,21.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"7682":{"isAbsolute":true,"x":719.9999999999999,"y":20,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"7683":{"isAbsolute":true,"x":0,"y":0,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"7684":{"morph":{"__isSmartRef__":true,"id":7673},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"7685":{"morph":{"__isSmartRef__":true,"id":7673},"index":0,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"7686":{"morph":{"__isSmartRef__":true,"id":7673},"index":1,"connectedMagnet":null,"marker":{"__isSmartRef__":true,"id":7674},"markerDirection":"prev","__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"7687":{"morphMenuItems":{"__isSmartRef__":true,"id":7688}},"7688":{"varMapping":{"__isSmartRef__":true,"id":7689},"source":"function morphMenuItems() {\n var visualConnector = this, con = this.con, world = this.world();\n var items = [\n ['edit converter', function() {\n var source = con.converterString || \n 'function converter(value) {\\n return value\\n}',\n editor = new lively.morphic.Text(new Rectangle(0,0, 400, 200), source);\n editor.doitContext = con;\n connect(editor, 'savedTextString', con, 'converterString', {updater:\n function($upd, source) { this.targetObj.converter = null; $upd(source) }});\n connect(editor, 'savedTextString', world, 'alertOK', {converter: \n function() { return 'setting new converter' }})\n editor.applyStyle({syntaxHighlighting: true, \n fontFamily: 'Courier', resizeWidth: true, resizeHeight: true});\n var title = con.targetObj.name && con.sourceObj.name ?\n 'Editor for ' + con.targetObj.name + ' -> ' + con.sourceObj.name :\n 'Editor for converter function';\n var window = world.addFramedMorph(editor, title)\n window.align(window.bounds().topCenter(), \n visualConnector.bounds().bottomCenter())\n }],\n ['hide', function() {\n visualConnector.disconnectFromMagnets();\n visualConnector.remove();\n }],\n ['disconnect', function() {\n alertOK('Disconnected ' + visualConnector.con);\n visualConnector.con.visualDisconnect();\n }],\n ['cancel', function() {}],\n ];\n return items;\n }","funcProperties":{"__isSmartRef__":true,"id":7694},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7689":{"this":{"__isSmartRef__":true,"id":7673},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":7690}},"7690":{"$super":{"__isSmartRef__":true,"id":7691}},"7691":{"varMapping":{"__isSmartRef__":true,"id":7692},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch(e) {\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":7693},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7692":{"obj":{"__isSmartRef__":true,"id":7673},"name":"morphMenuItems"},"7693":{},"7694":{},"7695":{"morph":{"__isSmartRef__":true,"id":7654},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"7696":{"moveHorizontal":false},"7697":{"submorphs":[{"__isSmartRef__":true,"id":7698}],"scripts":[],"id":"5ADB9263-20A6-4B74-8F14-0A0934332839","shape":{"__isSmartRef__":true,"id":7703},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":7704},"lighterFill":{"__isSmartRef__":true,"id":7709},"label":{"__isSmartRef__":true,"id":7698},"name":"ScriptableButton","showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":7714},"attributeConnections":[{"__isSmartRef__":true,"id":7715}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"eventHandler":{"__isSmartRef__":true,"id":7716},"derivationIds":[2588,"8DA01C71-0A84-4A5A-8027-121F4684BB04","2F4904A6-2C6F-4A39-8C69-7C1E943F91B4","7F6F4EE1-856E-477B-8578-D99400031DBA","374C68BB-3D86-4DA0-9616-2B5320585D0E","23336C67-2F65-4D9F-9380-304876DC628F","8E57191F-E38B-4526-95AA-8D530FAC8156","7146BE6C-6AB9-4A41-89F9-0D6C1906F22C","D5614241-97DF-41BC-B4F2-D3704916AAE0"],"owner":{"__isSmartRef__":true,"id":6056},"layout":{"__isSmartRef__":true,"id":7717},"_ClipMode":"visible","_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":7718},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(836.8,21.0)","distanceToDragEvent":"lively.pt(34.4,-11.2)"},"7698":{"submorphs":[],"scripts":[],"id":"3F203158-4295-4457-AAD2-4584C0B3B42E","shape":{"__isSmartRef__":true,"id":7699},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":false,"_FontFamily":"Helvetica","registeredForMouseEvents":true,"_MaxTextWidth":20,"_MaxTextHeight":null,"textStyle":null,"owner":{"__isSmartRef__":true,"id":7697},"isLabel":true,"eventsAreIgnored":true,"_ClipMode":"hidden","textChunks":[{"__isSmartRef__":true,"id":7700}],"_Align":"center","eventHandler":{"__isSmartRef__":true,"id":7702},"_HandStyle":"default","_PointerEvents":"none","derivationIds":[2589,"784F6E71-6365-4235-A0B6-69F992BB532B","54335D65-DB12-4322-84D0-BA8B85E7ED2F","2EF9D95D-4705-44B3-8D3C-446FEDC6346B","07108773-133C-4F4A-A740-33175849E789","E58C564E-D8F3-481A-821D-447F7C7556D8","D92DDD8E-7733-4909-A5E9-049EC55E90C0","5349ED28-AA73-4C7E-8241-575E1A050868","59B9249F-DA37-4FB9-85D2-ABBCFE3AA101"],"_MinTextWidth":20,"_MinTextHeight":null,"_WordBreak":"break-all","_Scale":1,"__serializedExpressions__":["_Position","padding","_Padding"],"__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)"},"7699":{"_BorderWidth":0,"_Fill":null,"_ClipMode":"hidden","__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(20.0,20.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"7700":{"style":{"__isSmartRef__":true,"id":7701},"chunkOwner":{"__isSmartRef__":true,"id":7698},"storedString":"x","_id":"_154","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7701":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7702":{"morph":{"__isSmartRef__":true,"id":7698},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"7703":{"_BorderWidth":1.1840000000000002,"_Fill":{"__isSmartRef__":true,"id":7704},"_BorderRadius":5.2,"_ClipMode":"visible","_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(20.0,20.0)","_BorderColor":"Color.rgb(66,66,66)","_Padding":"lively.rect(0,0,0,0)"},"7704":{"stops":[{"__isSmartRef__":true,"id":7705},{"__isSmartRef__":true,"id":7706},{"__isSmartRef__":true,"id":7707},{"__isSmartRef__":true,"id":7708}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"7705":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"7706":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"7707":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"7708":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(240,240,240)"},"7709":{"stops":[{"__isSmartRef__":true,"id":7710},{"__isSmartRef__":true,"id":7711},{"__isSmartRef__":true,"id":7712},{"__isSmartRef__":true,"id":7713}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"7710":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"7711":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"7712":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"7713":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"7714":{"partsSpaceName":"PartsBin/Inputs","migrationLevel":2,"partName":"ScriptableButton","comment":"Has a script that is called on button press","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"7715":{"sourceObj":{"__isSmartRef__":true,"id":7697},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":7697},"targetMethodName":"onFire","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7716":{"morph":{"__isSmartRef__":true,"id":7697},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"7717":{"moveHorizontal":true},"7718":{"onFire":{"__isSmartRef__":true,"id":7719}},"7719":{"varMapping":{"__isSmartRef__":true,"id":7720},"source":"function onFire() {\n var tab = this.owner.owner.tab\n var toolPane = this.get('ToolTabPane')\n toolPane.tabBar.removeTab(tab)\n if(toolPane.tabBar.getTabs().length == 0) {\n if (toolPane.owner instanceof lively.morphic.Window)\n toolPane.owner.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":7721},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7720":{"this":{"__isSmartRef__":true,"id":7697}},"7721":{"timestamp":{"__isSmartRef__":true,"id":7722},"user":"undefined","tags":[]},"7722":{"isSerializedDate":true,"string":"Fri Feb 03 2012 16:32:27 GMT+0100 (CET)"},"7723":{"_BorderWidth":1,"_ClipMode":"visible","__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(872.1,440.7)","_BorderColor":"Color.rgb(95,94,95)","_Fill":"Color.rgb(255,255,255)","_Padding":"lively.rect(0,0,0,0)"},"7724":{"partsSpaceName":"PartsBin/Dialogs","migrationLevel":4,"requiredModules":["lively.ide"],"partName":"MethodFinderPane","comment":"Pane for new ToolTabs","changes":[{"__isSmartRef__":true,"id":7725},{"__isSmartRef__":true,"id":7727},{"__isSmartRef__":true,"id":7729},{"__isSmartRef__":true,"id":7731},{"__isSmartRef__":true,"id":7733},{"__isSmartRef__":true,"id":7735},{"__isSmartRef__":true,"id":7737},{"__isSmartRef__":true,"id":7739},{"__isSmartRef__":true,"id":7741},{"__isSmartRef__":true,"id":7743}],"attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"lastModifiedDate":{"__isSmartRef__":true,"id":7745},"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"7725":{"date":{"__isSmartRef__":true,"id":7726},"author":"robertkrahn","message":"fixed scaling","id":"AF2B30BB-64BB-427B-AEF7-FDE01E1B2202"},"7726":{"isSerializedDate":true,"string":"Sat Jun 16 2012 13:51:14 GMT+0200 (CEST)"},"7727":{"date":{"__isSmartRef__":true,"id":7728},"author":"undefined","message":"some style adjustments","id":"DA3EFD12-8A45-454C-993B-DB12847BEF94"},"7728":{"isSerializedDate":true,"string":"Mon Mar 26 2012 13:16:30 GMT+0200 (CEST)"},"7729":{"date":{"__isSmartRef__":true,"id":7730},"author":"undefined","message":"","id":"7A744B14-C057-4944-AFDD-CC78A910B35F"},"7730":{"isSerializedDate":true,"string":"Fri Feb 03 2012 15:40:30 GMT+0100 (CET)"},"7731":{"date":{"__isSmartRef__":true,"id":7732},"author":"undefined","message":"","id":"73F39208-58C9-4040-9948-516A104E5049"},"7732":{"isSerializedDate":true,"string":"Fri Feb 03 2012 15:42:18 GMT+0100 (CET)"},"7733":{"date":{"__isSmartRef__":true,"id":7734},"author":"undefined","message":"","id":"CA16FEC1-49E5-4310-BDB6-F744F413F7EF"},"7734":{"isSerializedDate":true,"string":"Fri Feb 03 2012 15:48:35 GMT+0100 (CET)"},"7735":{"date":{"__isSmartRef__":true,"id":7736},"author":"undefined","message":"- close button behavior","id":"0AD4C501-1DC4-4DD3-AFDC-A46F4ACD2CE1"},"7736":{"isSerializedDate":true,"string":"Fri Feb 03 2012 16:32:48 GMT+0100 (CET)"},"7737":{"date":{"__isSmartRef__":true,"id":7738},"author":"undefined","message":"","id":"47289007-8CB3-4B03-B9D1-3A8717E85DCB"},"7738":{"isSerializedDate":true,"string":"Fri Feb 03 2012 16:36:31 GMT+0100 (CET)"},"7739":{"date":{"__isSmartRef__":true,"id":7740},"author":"athomschke","message":"adjusted close button","id":"9EBA6297-7908-4B02-81F5-2B86B2E4B73D"},"7740":{"isSerializedDate":true,"string":"Fri Feb 03 2012 16:57:09 GMT+0100 (CET)"},"7741":{"date":{"__isSmartRef__":true,"id":7742},"author":"jenslincke","message":"- fixed browse Global definitions","id":"7DE86114-1D7E-4551-BC8F-E12A980A8EE9"},"7742":{"isSerializedDate":true,"string":"Thu Feb 09 2012 11:27:56 GMT+0100 (CET)"},"7743":{"date":{"__isSmartRef__":true,"id":7744},"author":"athomschke","message":"removed a code inconvenience (Morph soon will not be available anymore, used lively.morphic.Morph instead)","id":"EB3D8402-7A89-4720-AB82-1009BC22096B"},"7744":{"isSerializedDate":true,"string":"Thu Jan 10 2013 00:19:40 GMT+0100 (CET)"},"7745":{"isSerializedDate":true,"string":"Thu Jan 10 2013 00:17:31 GMT+0100 (CET)"},"7746":{"resizeWidth":true,"resizeHeight":true,"adjustForNewBounds":true},"7747":{"morph":{"__isSmartRef__":true,"id":6056},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"7748":{"search":{"__isSmartRef__":true,"id":7749},"browse":{"__isSmartRef__":true,"id":7753},"reset":{"__isSmartRef__":true,"id":7757},"setSearch":{"__isSmartRef__":true,"id":7761},"emphasizeStringIn":{"__isSmartRef__":true,"id":7765},"withAllMethodsDo":{"__isSmartRef__":true,"id":7769},"itemsFromFinds":{"__isSmartRef__":true,"id":7773},"browseMethod":{"__isSmartRef__":true,"id":7777},"openMethodInSystemBrowser":{"__isSmartRef__":true,"id":7781},"findSourceModule":{"__isSmartRef__":true,"id":7785},"searchOnServer":{"__isSmartRef__":true,"id":7789},"showLayerDefinition":{"__isSmartRef__":true,"id":7793}},"7749":{"varMapping":{"__isSmartRef__":true,"id":7750},"source":"function search(searchString) { \n this.get('searchResultList').updateList([]);\n this.get('sourceText').setTextString('');\n if (!searchString || (searchString.length < 2)) {\n this.get('sourceText').setTextString('\"' + searchString + '\" is to short');\n return;\n }\n var finds = [];\n var i=0;\n var matches = function(s) {\n return s.include(searchString)\n } \n\n // var re = new RegExp(searchString)\n var time = Functions.timeToRun(function() {\n this.withAllMethodsDo(function(object, eaMethod, type, optParent) {\n i++;\n var name;\n if (!object) return;\n\n if (object.constructor.prototype == object)\n name = object.constructor.name\n\n if (object.name) name = object.name;\n if (object.namespaceIdentifier)\n name = object.namespaceIdentifier\n\n if (object.constructor.prototype != object)\n name = name + \"(object)\"\n\n if ((object.constructor.prototype != object) && (object instanceof lively.morphic.Morph))\n name = object.name + \"(\" + object.id + \")\"\n\n if (object === Global)\n name = \" \";\n\n if (type == \"layered\") {\n \n name = object._layered_object.constructor.type \n + \" (\" + optParent.name + \")\" \n \n }\n\n var string = name + \": \" + eaMethod; \n var item = {object: object, method: eaMethod, string: string, type: type};\n if (type == \"layered\") {\n item.layerName = optParent.name\n }\n\n if (matches(eaMethod)) {\n item.search= 'implementor',\n finds.push(item)\n return;\n } \n\n var f = object[eaMethod];\n if (!f || !f.getOriginal) return;\n var source = String(f.getOriginal())\n if (matches(source)){\n item.search = 'sender'\n finds.push(item)\n } \n })\n }.bind(this))\n this.get('sourceText').setTextString(\"search \" + i + \" methods, found \" \n + finds.length + \" methods in \" + time + \"ms\");\n var items = this.itemsFromFinds(finds)\n this.get('searchResultList').updateList(items);\n}","funcProperties":{"__isSmartRef__":true,"id":7751},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7750":{"this":{"__isSmartRef__":true,"id":6056}},"7751":{"timestamp":{"__isSmartRef__":true,"id":7752},"tags":[]},"7752":{"isSerializedDate":true,"string":"Thu Jan 10 2013 00:18:25 GMT+0100 (CET)"},"7753":{"varMapping":{"__isSmartRef__":true,"id":7754},"source":"function browse(methodItem) {\n // methodItem = this.get('searchResultList').selection\n if (! methodItem) return;\n\n // deal with non method findings....\n if (methodItem.type == 'layer') {\n this.showLayerDefinition(methodItem)\n return\n } \n\n // methodItem = this.get('searchResultList').selection\n var methodName = methodItem.method;\n var object = methodItem.object;\n var orgFunc = object[methodName];\n\n if (!orgFunc || !orgFunc.getOriginal) {\n this.get('sourceText').setTextString('no source');\n return\n }\n orgFunc = orgFunc.getOriginal()\n \n this.targetFunction = orgFunc;\n this.targetObject = object;\n\n var source = \"// changes here only affect runtime\\n\", \n tab = lively.morphic.Text.prototype.tab;\n if (methodItem.layerName) {\n var partialMethod = object[methodName];\n source += methodItem.layerName + \".refineClass(\" + \n object._layered_object.constructor.type + \", {\\n\" + \n tab + methodName + \": \" + partialMethod +\"\\n})\";\n } else if (orgFunc.belongsToTrait) {\n source += \"Trait('\" + orgFunc.belongsToTrait.name + \"', {\\n\" \n + tab + methodName + \": \" + orgFunc +\"\\n})\";\n } else if (orgFunc.declaredClass) {\n source += orgFunc.declaredClass + \".addMethods({\\n\" \n + tab + methodName + \": \" \n + orgFunc + \"\\n});\"\n } else if(methodItem.type == 'extend') {\n // perhaps it is a an class object\n source += \"Object.extend(\" + (object.type || object.namespaceIdentifier) \n + \",{\\n\" + tab + methodName + \": \" \n + orgFunc + \"\\n});\"\n } else if(object.isMorph && (object.constructor.prototype !== object) ) {\n // display as script\n source = \"this.addScript(\" + orgFunc + \");\"\n } else if(object === Global) {\n // display as script\n source += \"Object.extend(Global, {\\n\" + tab + methodName + \": \" +\n orgFunc + \"\\n});\"\n }\n\n this.get('sourceText').setTextString(source)\n\n module('lively.ide.SyntaxHighlighting').load(true);\n this.get('sourceText').highlightJavaScriptSyntax();\n\n var searchText = this.get('searchText').textString;\n var m = searchText.match(/[^a-zA-Z0-9_\\.]/g)\n if(m) {\n m.forEach(function (each) {\n var escapedChar = '\\\\' + each;\n var position = searchText.search(\n new RegExp('[^\\\\\\\\]' + '\\\\' + each)) + 1;\n searchText = searchText.substring(0,position) \n + escapedChar + searchText.substr(position + 1);\n });\n }\n this.get('sourceText').emphasizeRegex(new RegExp(searchText, 'g'), {color: Color.red});\n\n var info = '' + this.findSourceModule(orgFunc);\n\n if (orgFunc.belongsToTrait)\n info += ' (' + orgFunc.belongsToTrait + \" in \" + orgFunc.belongsToTrait.sourceModule +\")\";\n\n this.get('infoText').setTextString(info)\n}","funcProperties":{"__isSmartRef__":true,"id":7755},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7754":{"this":{"__isSmartRef__":true,"id":6056}},"7755":{"timestamp":{"__isSmartRef__":true,"id":7756},"user":"undefined","tags":[]},"7756":{"isSerializedDate":true,"string":"Thu Feb 02 2012 13:55:34 GMT+0100 (CET)"},"7757":{"varMapping":{"__isSmartRef__":true,"id":7758},"source":"function reset() {\n this.doNotSerialize = ['targetFunction', 'targetObject']\n this.get('searchResultList').updateList([]);\n this.get('searchResultList').setSelection(null);\n this.get('searchText').setTextString('enter method name here');\n this.get('sourceText').setTextString('no code');\n this.get('infoText').setTextString('');\n this.targetFunction = null;\n this.targetObject = null;\n}","funcProperties":{"__isSmartRef__":true,"id":7759},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7758":{"this":{"__isSmartRef__":true,"id":6056}},"7759":{"timestamp":{"__isSmartRef__":true,"id":7760},"user":"undefined","tags":[]},"7760":{"isSerializedDate":true,"string":"Fri Feb 03 2012 15:30:14 GMT+0100 (CET)"},"7761":{"varMapping":{"__isSmartRef__":true,"id":7762},"source":"function setSearch(searchString) {\n this.get('searchText').setTextString(searchString);\n this.search(searchString)\n var list = this.get('searchResultList').getList();\n if (list.length > 0) this.get('searchResultList').setSelection(list[0])\n}","funcProperties":{"__isSmartRef__":true,"id":7763},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7762":{"this":{"__isSmartRef__":true,"id":6056}},"7763":{"timestamp":{"__isSmartRef__":true,"id":7764},"tags":[]},"7764":{"isSerializedDate":true,"string":"Thu Jan 10 2013 00:18:25 GMT+0100 (CET)"},"7765":{"varMapping":{"__isSmartRef__":true,"id":7766},"source":"function emphasizeStringIn(morph, string, style) {\n var m;\n var re = new RegExp(string, \"g\");\n while(m = re.exec(morph.textString)) {\n var from = m.index,\n to = m.index + m[0].length;\n morph.emphasize(style, from, to)\n }\n}","funcProperties":{"__isSmartRef__":true,"id":7767},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7766":{"this":{"__isSmartRef__":true,"id":6056}},"7767":{"timestamp":{"__isSmartRef__":true,"id":7768},"tags":[]},"7768":{"isSerializedDate":true,"string":"Thu Jan 10 2013 00:18:25 GMT+0100 (CET)"},"7769":{"varMapping":{"__isSmartRef__":true,"id":7770},"source":"function withAllMethodsDo(func) {\n var visited = [];\n\n cop.allLayers().forEach(function(layer) {\n func(eval(layer.namespaceName), layer.name, 'layer')\n layer.layeredObjects().forEach(function(obj) {\n var layerDef = cop.getLayerDefinitionForObject(layer, obj)\n Functions.own(layerDef).forEach(function(eaMethod) {\n func(layerDef, eaMethod, 'layered', layer)\n });\n });\n }); \n\n\n Functions.own(Global).forEach(function(eaMethod) {\n func(Global, eaMethod, 'global')\n }); \n\n this.world().withAllSubmorphsDo(function(ea) {\n Functions.own(ea).forEach(function(eaMethod) {\n func(ea, eaMethod, 'script')\n }); \n });\n\n Global.subNamespaces(true).forEach(function(ea) {\n Functions.own(ea).forEach(function(eaMethod) {\n func(ea, eaMethod, 'extend')\n }); \n });\n\n Global.classes(true).uniq().forEach(function(eaClass) {\n Functions.own(eaClass).forEach(function(eaMethod) {\n func(eaClass, eaMethod, 'extend')\n }); \n\n Functions.own(eaClass.prototype).forEach(function(eaMethod) {\n func(eaClass.prototype, eaMethod, 'class')\n }) \n })\n}","funcProperties":{"__isSmartRef__":true,"id":7771},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7770":{"this":{"__isSmartRef__":true,"id":6056}},"7771":{"timestamp":{"__isSmartRef__":true,"id":7772},"user":"undefined","tags":[]},"7772":{"isSerializedDate":true,"string":"Thu Jan 19 2012 14:41:57 GMT+0100 (CET)"},"7773":{"varMapping":{"__isSmartRef__":true,"id":7774},"source":"function itemsFromFinds(finds) {\n var searchString = this.get('searchText').textString;\n var items = finds.collect(function(ea) {\n var pref = \"\" + ea.type + \" \";\n if (ea.search == \"sender\") pref += \"full: \"\n if (ea.search == \"implementor\") pref += \"name: \"\n var string = pref + ea.string;\n var func = ea.object[ea.method];\n if (func.belongsToTrait) \n string += ' / ' + func.belongsToTrait + '' \n\n var result = {\n isListItem: true,\n value: ea,\n string: string,\n doNotSerialize: ['value'],\n priority: {implementor: \"B\", sender: \"C\"}[ea.search] || \"D\",\n };\n if (ea.method == searchString) result.priority = \"A\"\n return result\n })\n items = items.sortBy(function(ea) {return ea.priority + ea.string})\n return items\n}","funcProperties":{"__isSmartRef__":true,"id":7775},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7774":{"this":{"__isSmartRef__":true,"id":6056}},"7775":{"timestamp":{"__isSmartRef__":true,"id":7776},"user":"undefined","tags":[]},"7776":{"isSerializedDate":true,"string":"Fri Feb 03 2012 15:31:52 GMT+0100 (CET)"},"7777":{"varMapping":{"__isSmartRef__":true,"id":7778},"source":"function browseMethod() {\n alertOK('browseMethod')\n var methodItem = this.get('searchResultList').selection;\n if (methodItem.type == 'layer') {\n var layer = methodItem.object[methodItem.method];\n this.openMethodInSystemBrowser(methodItem.method, \n undefined, layer.sourceModule);\n return\n }\n\n if (!this.targetFunction) return;\n var methodName = this.targetFunction.methodName || this.targetFunction.displayName; \n if(this.targetFunction.declaredClass) {\n var classObj = eval(this.targetFunction.declaredClass)\n this.openMethodInSystemBrowser(classObj.type, methodName);\n return;\n }\n if(this.targetFunction.belongsToTrait) {\n this.openMethodInSystemBrowser(this.targetFunction.belongsToTrait.name, methodName);\n return;\n }\n if(Class.isClass(this.targetObject)) {\n this.openMethodInSystemBrowser(this.targetObject.type, methodName);\n return;\n }\n if(this.targetObject.namespaceIdentifier) {\n this.openMethodInSystemBrowser(this.targetObject.namespaceIdentifier, methodName);\n return;\n }\n if(this.targetObject instanceof lively.morphic.Morph) {\n var editor = this.world().openObjectEditorFor(this.targetObject);\n editor.align(editor.bounds().center(), this.world().visibleBounds().center());\n return;\n }\n if (Class.isClass(this.targetFunction)) {\n // constructor\n this.openMethodInSystemBrowser(this.targetFunction.displayName);\n return;\n }\n \n alertOK('not implemented yet for ' + this.targetFunction)\n}","funcProperties":{"__isSmartRef__":true,"id":7779},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7778":{"this":{"__isSmartRef__":true,"id":6056}},"7779":{"timestamp":{"__isSmartRef__":true,"id":7780},"user":"undefined","tags":[]},"7780":{"isSerializedDate":true,"string":"Thu Jan 19 2012 16:54:12 GMT+0100 (CET)"},"7781":{"varMapping":{"__isSmartRef__":true,"id":7782},"source":"function openMethodInSystemBrowser(objectName, methodName, optSourceModule) {\n if (objectName)\n objectName = objectName.replace(/^Global\\./,\"\");\n // alertOK(\"browse \" + objectName + \":\" + methodName)\n // objectName = 'SelectionMorphTrait', methodName = 'onDrag'\n var sourceModule = optSourceModule ||\n this.findSourceModule(this.targetFunction);\n if (!sourceModule) \n alert('could not browse, since no source module found!')\n var uri = new URL(sourceModule.uri()),\n relative = uri.relativePathFrom(new URL(Config.codeBase)),\n moduleNode = lively.ide.startSourceControl().addModule(relative),\n rootNode = moduleNode.ast();\n\n var fileFragments = rootNode.subElements(10).select(function(ea) {\n var path = ea.getOwnerNamePath()\n if (objectName == \"Global\")\n return path.include(methodName);\n return path.include(objectName) && (!methodName || path.include(methodName)) \n });\n \n\n\n // alertOK(\"found following places to browse: \" + fileFragments)\n if (fileFragments.length > 0) {\n fileFragments[0].browseIt()\n } else {\n alert(\"browse failed. Nothing found for \" + objectName + \">>\" + methodName + \" in \" + sourceModule.uri());\n rootNode.browseIt();\n }\n\n}","funcProperties":{"__isSmartRef__":true,"id":7783},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7782":{"this":{"__isSmartRef__":true,"id":6056}},"7783":{"timestamp":{"__isSmartRef__":true,"id":7784},"user":"jenslincke","tags":[]},"7784":{"isSerializedDate":true,"string":"Thu Feb 09 2012 11:27:23 GMT+0100 (CET)"},"7785":{"varMapping":{"__isSmartRef__":true,"id":7786},"source":"function findSourceModule(funcObj) {\n if (this.targetFunction.belongsToTrait) \n return this.targetFunction.belongsToTrait.sourceModule\n if (funcObj.sourceModule)\n return funcObj.sourceModule;\n // look in the class\n if (!funcObj.sourceModule && funcObj.declaredClass) {\n var classObj = eval(funcObj.declaredClass)\n return classObj.sourceModule\n }\n}","funcProperties":{"__isSmartRef__":true,"id":7787},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7786":{"this":{"__isSmartRef__":true,"id":6056}},"7787":{"timestamp":{"__isSmartRef__":true,"id":7788},"user":"jenslincke","tags":[]},"7788":{"isSerializedDate":true,"string":"Fri Nov 04 2011 15:27:13 GMT+0100 (CET)"},"7789":{"varMapping":{"__isSmartRef__":true,"id":7790},"source":"function searchOnServer() {\n var serverSearch = this.world().openPartItem('ServerSearch', 'PartsBin/Tools'); \n serverSearch.setSearch(this.get('searchText').textString)\n}","funcProperties":{"__isSmartRef__":true,"id":7791},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7790":{"this":{"__isSmartRef__":true,"id":6056}},"7791":{"timestamp":{"__isSmartRef__":true,"id":7792},"user":"jenslincke","tags":[]},"7792":{"isSerializedDate":true,"string":"Fri Nov 18 2011 11:40:23 GMT+0100 (CET)"},"7793":{"varMapping":{"__isSmartRef__":true,"id":7794},"source":"function showLayerDefinition(methodItem) {\n var info = \"layer definition\" \n var source = \"TODO: print layer def here...\"\n this.get('infoText').setTextString(info)\n this.get('sourceText').setTextString(source)\n}","funcProperties":{"__isSmartRef__":true,"id":7795},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7794":{"this":{"__isSmartRef__":true,"id":6056}},"7795":{"timestamp":{"__isSmartRef__":true,"id":7796},"user":"undefined","tags":[]},"7796":{"isSerializedDate":true,"string":"Thu Jan 19 2012 15:30:43 GMT+0100 (CET)"},"7797":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor","_Fill"],"_BorderWidth":1,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(872.1,440.7)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(204,204,204)","_Fill":"Color.rgb(255,255,255)"},"7798":{"morph":{"__isSmartRef__":true,"id":6055},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"7799":{"resizeWidth":true,"resizeHeight":true,"adjustForNewBounds":true},"7800":{"submorphs":[{"__isSmartRef__":true,"id":7801},{"__isSmartRef__":true,"id":7806}],"scripts":[],"shape":{"__isSmartRef__":true,"id":7817},"eventHandler":{"__isSmartRef__":true,"id":7818},"_ClipMode":"visible","derivationIds":[],"id":"C33F63A1-6CDE-4887-869D-C02CDF8F9812","droppingEnabled":true,"halosEnabled":true,"tabBar":{"__isSmartRef__":true,"id":6034},"tabBarOffset":90,"layout":{"__isSmartRef__":true,"id":7819},"pane":{"__isSmartRef__":true,"id":7820},"label":{"__isSmartRef__":true,"id":7801},"name":"S:isCommandKey","grabbingEnabled":false,"draggingEnabled":false,"closeButton":{"__isSmartRef__":true,"id":7806},"owner":{"__isSmartRef__":true,"id":6034},"__serializedExpressions__":["_Position"],"isActive":false,"__LivelyClassName__":"lively.morphic.Tab","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","_Position":"lively.pt(90.0,0.0)"},"7801":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":7802},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":7803}],"eventHandler":{"__isSmartRef__":true,"id":7805},"_ClipMode":"hidden","derivationIds":[],"id":"CC6D6EF5-8561-4633-867B-33F75A3F6F48","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"isLabel":true,"eventsAreIgnored":true,"eventsAreDisabled":true,"_PointerEvents":"none","owner":{"__isSmartRef__":true,"id":7800},"_FontWeight":null,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(5.0,5.0)"},"7802":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(121.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"7803":{"style":{"__isSmartRef__":true,"id":7804},"chunkOwner":{"__isSmartRef__":true,"id":7801},"_id":"_2783","storedString":"S:isCommandKey","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7804":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7805":{"morph":{"__isSmartRef__":true,"id":7801},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"7806":{"submorphs":[{"__isSmartRef__":true,"id":7807}],"scripts":[],"shape":{"__isSmartRef__":true,"id":7812},"eventHandler":{"__isSmartRef__":true,"id":7813},"_ClipMode":"visible","derivationIds":[],"id":"2799176A-08CF-4131-A971-23299B0B191A","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":7807},"_PreviousBorderWidth":1,"owner":{"__isSmartRef__":true,"id":7800},"__serializedExpressions__":["_Position"],"layout":{"__isSmartRef__":true,"id":7814},"attributeConnections":[{"__isSmartRef__":true,"id":7815}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"isPressed":false,"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(67.0,6.0)"},"7807":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":7808},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":7809}],"eventHandler":{"__isSmartRef__":true,"id":7811},"_ClipMode":"hidden","derivationIds":[],"id":"E8597D5A-8682-4175-8ED8-912F2822E4A5","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor"],"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":7806},"isLabel":true,"_Align":"center","eventsAreIgnored":true,"_TextStylingMode":true,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(0,0,0)"},"7808":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(20.0,20.0)","_Padding":"lively.rect(0,3,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"7809":{"style":{"__isSmartRef__":true,"id":7810},"chunkOwner":{"__isSmartRef__":true,"id":7807},"_id":"_2782","storedString":"X","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7810":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7811":{"morph":{"__isSmartRef__":true,"id":7807},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"7812":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":1,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(20.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"7813":{"morph":{"__isSmartRef__":true,"id":7806},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"7814":{"moveHorizontal":true},"7815":{"sourceObj":{"__isSmartRef__":true,"id":7806},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":7800},"targetMethodName":"closeTab","varMapping":{"__isSmartRef__":true,"id":7816},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7816":{"source":{"__isSmartRef__":true,"id":7806},"target":{"__isSmartRef__":true,"id":7800}},"7817":{"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"_BorderWidth":1,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(90.0,30.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(204,204,204)","_BorderColor":"Color.rgb(204,204,204)"},"7818":{"morph":{"__isSmartRef__":true,"id":7800},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"7819":{"adjustForNewBounds":true},"7820":{"submorphs":[{"__isSmartRef__":true,"id":7821}],"scripts":[],"shape":{"__isSmartRef__":true,"id":8125},"eventHandler":{"__isSmartRef__":true,"id":8126},"_ClipMode":"scroll","derivationIds":[],"id":"507C0ACC-255F-4094-9496-D10AAAB9860B","grabbingEnabled":false,"droppingEnabled":true,"halosEnabled":true,"draggingEnabled":false,"layout":{"__isSmartRef__":true,"id":8127},"tab":{"__isSmartRef__":true,"id":7800},"tabBar":{"__isSmartRef__":true,"id":6034},"name":"S:isCommandKey - Pane","owner":{"__isSmartRef__":true,"id":6033},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.TabPane","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","_Position":"lively.pt(0.0,30.0)"},"7821":{"submorphs":[{"__isSmartRef__":true,"id":7822},{"__isSmartRef__":true,"id":7829},{"__isSmartRef__":true,"id":7849},{"__isSmartRef__":true,"id":7892},{"__isSmartRef__":true,"id":7957},{"__isSmartRef__":true,"id":7963},{"__isSmartRef__":true,"id":7983},{"__isSmartRef__":true,"id":8026}],"scripts":[],"id":"79F74313-637F-4158-A21F-D510E578AA7D","shape":{"__isSmartRef__":true,"id":8052},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"MethodFinderPane1","partsBinMetaInfo":{"__isSmartRef__":true,"id":8053},"isCopyMorphRef":true,"morphRefId":1,"layout":{"__isSmartRef__":true,"id":8074},"eventHandler":{"__isSmartRef__":true,"id":8075},"doNotSerialize":["targetFunction","targetObject"],"prevScroll":[0,0],"isBeingDragged":false,"derivationIds":[204,"90F6ED76-D56E-436C-96E7-CBFE7106283E","53162F18-6DD1-4230-B30F-EC4BA7B7A9ED","73F374A9-9CEE-4D2E-8BA6-030971E02396","0859BA09-FE36-4B7E-85B5-A141B84A252C","AB402971-988F-4D01-AE49-87C1AFEAA1C3","A80F8C19-12D2-49AF-941A-2454433D2A59","9370F962-CBB6-42C0-8F15-79D0F66045FD","2F24C0FF-1360-4C35-BE22-B5DE5FFAB3F4","81FC43AC-A19A-48A5-B854-601A302E5585","BBF2876B-A928-4012-A9BD-A39052E30483","3E2C739C-3BA6-4C2C-B7FB-A726AA7015BB","B55E78F3-F8DB-4034-91E7-0D1B364B82DA","FF257E99-B7E7-4837-8F67-965F5DAEC58F"],"moved":true,"_ClipMode":"visible","_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","distanceToDragEvent"],"owner":{"__isSmartRef__":true,"id":7820},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":8076},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)","distanceToDragEvent":"lively.pt(583.4,-13.9)"},"7822":{"submorphs":[],"scripts":[],"id":"6A8EFF9D-120E-45FB-8EA4-9A19E2472130","shape":{"__isSmartRef__":true,"id":7823},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":true,"allowsInput":true,"_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":287,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":13,"name":"searchText","partsBinMetaInfo":{"__isSmartRef__":true,"id":7824},"owner":{"__isSmartRef__":true,"id":7821},"charsReplaced":"enter method name here","lastFindLoc":22,"attributeConnections":[{"__isSmartRef__":true,"id":7825}],"doNotSerialize":["$$savedTextString"],"doNotCopyProperties":["$$savedTextString"],"isInputLine":true,"_WhiteSpaceHandling":"pre-wrap","allowInput":true,"textChunks":[{"__isSmartRef__":true,"id":7826}],"prevScroll":[0,0],"_ClipMode":"hidden","lastSearchString":"prev","eventHandler":{"__isSmartRef__":true,"id":7828},"_MinTextWidth":287,"_MinTextHeight":null,"previousSelection":[0,0],"isBeingDragged":false,"derivationIds":[205,"63CD6525-ECE4-4F52-A84B-27633C22F3F9","D7B775A2-513B-4768-AB24-6718580E61A9","FE8FA703-C984-4702-8139-2C4E9353FB41","2C124317-773E-498D-BB6D-9BEC99637AF3","BFDC0BE7-0289-4FA0-A2EC-14EF2BA09445","E16771FE-0062-4803-9678-9625DB0CFBFA","B9D2EC7D-E050-4D3D-8ABC-52D8ACA55936","196DC9F1-78FF-488F-80AB-8129A171A1C9","F2FB3FCC-8AE2-4DFB-AD6F-3DE2513762B0","4897081D-DCA7-4D33-B262-00412C9821FD","9DEE84F9-6727-4802-BD51-456C40E212F1","3868C69C-36F7-42FF-95C8-191FBE40BCA2","E8E15F14-A537-4CCB-8603-2B7814C74B21"],"savedTextString":"bla","_WordBreak":"break-all","_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","textColor","distanceToDragEvent"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(10.0,17.0)","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(199.7,-15.5)"},"7823":{"fill":null,"_BorderWidth":1,"_ClipMode":"hidden","_BorderRadius":4,"__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(292.0,25.0)","_BorderColor":"Color.rgb(102,102,102)","_Padding":"lively.rect(3,3,-3,-3)"},"7824":{"partsSpaceName":"PartsBin/NewWorld","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"7825":{"sourceObj":{"__isSmartRef__":true,"id":7822},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":7821},"targetMethodName":"search","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7826":{"style":{"__isSmartRef__":true,"id":7827},"chunkOwner":{"__isSmartRef__":true,"id":7822},"_id":"_2784","storedString":"isCommandKey","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7827":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7828":{"morph":{"__isSmartRef__":true,"id":7822},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"7829":{"submorphs":[{"__isSmartRef__":true,"id":7830}],"scripts":[],"id":"37E25C49-1C6F-4428-9DD2-EBA99BC71E8F","shape":{"__isSmartRef__":true,"id":7835},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":7836},"lighterFill":{"__isSmartRef__":true,"id":7841},"label":{"__isSmartRef__":true,"id":7830},"showsHalos":false,"name":"searchButton","partsBinMetaInfo":{"__isSmartRef__":true,"id":7846},"owner":{"__isSmartRef__":true,"id":7821},"attributeConnections":[{"__isSmartRef__":true,"id":7847}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"eventHandler":{"__isSmartRef__":true,"id":7848},"derivationIds":[206,"CB9026E7-BAD5-49AB-B6E0-88B46D561743","C2FEDA8A-ABCE-426D-BB39-F8B4C0CCBE5F","21DC60CF-D1A0-4B54-9B91-F82A50CF8D3A","6E0B3DCD-9AD6-4AAF-A854-252E628FC222","457022C0-0CD0-426F-89B8-DAA8E3AA15C0","AE87A8FC-A7FF-40D5-B8B3-351194957A1B","0107A29A-C954-43A8-82FD-CEE77E946A25","E82E1B35-1C20-4BE4-A5CB-0936E7D4AD20","7485F277-13B5-4FF4-9B90-10385A227006","216A87FA-4CA8-4657-886E-D2EE1398E86F","051E1CDB-3E9B-41A7-89A7-24E539E5FA37","94585AAD-3EC1-42EB-9974-C981FF5A4539","9B4E4399-5243-44AB-A0E1-0C79DC36B095"],"_ClipMode":"visible","_Rotation":0,"_Scale":1,"isPressed":false,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(310.0,20.0)","distanceToDragEvent":"lively.pt(53.7,-21.5)"},"7830":{"submorphs":[],"scripts":[],"id":"544F03DD-9BEE-4D20-92E9-1EE95EC269FB","shape":{"__isSmartRef__":true,"id":7831},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":false,"_FontFamily":"Helvetica","registeredForMouseEvents":true,"_MaxTextWidth":77,"_MaxTextHeight":null,"owner":{"__isSmartRef__":true,"id":7829},"isLabel":true,"eventsAreIgnored":true,"textStyle":null,"textChunks":[{"__isSmartRef__":true,"id":7832}],"prevScroll":[0,0],"_ClipMode":"hidden","_Align":"center","eventHandler":{"__isSmartRef__":true,"id":7834},"_HandStyle":"default","_PointerEvents":"none","_MinTextWidth":77,"_MinTextHeight":null,"derivationIds":[207,"9A623BA1-A240-454B-B0DD-53932A371FB3","9E828467-210E-44D4-8E3D-17C5F92B1AAE","75AF52F1-0E7E-419A-BC00-5CCC0D52CEDC","F3C81240-9550-45C3-8B7A-8A3C0ED15BE6","70D8CC33-5AEE-45B5-AC0B-B9A6350C7F51","C80D2176-BA4F-4DCF-88D8-540ADE03E6B9","CB9FE42C-61BF-409D-9CC7-1F1B094C61FA","BF7D1270-418D-46A3-95E5-991F82DAD8C6","CDA433D8-442B-4D3A-A58E-F9C5FCED9086","039DDED5-FFAA-423A-99F2-2236BB594511","E618043F-74DF-4D4A-991F-5AA47FD766F8","B41F9418-E248-400B-AD6D-4963C128AB45","E16D344F-E777-424E-A4D0-8EB94CF53A44"],"_WordBreak":"break-all","_Scale":1,"__serializedExpressions__":["_Position","padding","_Padding"],"__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)"},"7831":{"_BorderWidth":0,"_Fill":null,"_ClipMode":"hidden","__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(77.0,20.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"7832":{"style":{"__isSmartRef__":true,"id":7833},"morph":{"__isSmartRef__":true,"id":7830},"chunkOwner":{"__isSmartRef__":true,"id":7830},"storedString":"search","_id":"_150","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7833":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7834":{"morph":{"__isSmartRef__":true,"id":7830},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"7835":{"_BorderWidth":1,"_Fill":{"__isSmartRef__":true,"id":7836},"_BorderRadius":5,"_ClipMode":"visible","_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(77.0,20.0)","_BorderColor":"Color.rgb(66,66,66)","_Padding":"lively.rect(0,0,0,0)"},"7836":{"stops":[{"__isSmartRef__":true,"id":7837},{"__isSmartRef__":true,"id":7838},{"__isSmartRef__":true,"id":7839},{"__isSmartRef__":true,"id":7840}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"7837":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"7838":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"7839":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"7840":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(240,240,240)"},"7841":{"stops":[{"__isSmartRef__":true,"id":7842},{"__isSmartRef__":true,"id":7843},{"__isSmartRef__":true,"id":7844},{"__isSmartRef__":true,"id":7845}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"7842":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"7843":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"7844":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"7845":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"7846":{"partsSpaceName":"PartsBin/NewWorld","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"7847":{"sourceObj":{"__isSmartRef__":true,"id":7829},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":7822},"targetMethodName":"doSave","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7848":{"morph":{"__isSmartRef__":true,"id":7829},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"7849":{"submorphs":[],"scripts":[],"id":"D794989E-581F-4199-A749-9DDF8F42DB28","shape":{"__isSmartRef__":true,"id":7850},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"itemList":[{"__isSmartRef__":true,"id":7851},{"__isSmartRef__":true,"id":7852},{"__isSmartRef__":true,"id":7853},{"__isSmartRef__":true,"id":7854},{"__isSmartRef__":true,"id":7855},{"__isSmartRef__":true,"id":7856},{"__isSmartRef__":true,"id":7857},{"__isSmartRef__":true,"id":7858},{"__isSmartRef__":true,"id":7859},{"__isSmartRef__":true,"id":7860},{"__isSmartRef__":true,"id":7861},{"__isSmartRef__":true,"id":7862},{"__isSmartRef__":true,"id":7863},{"__isSmartRef__":true,"id":7864},{"__isSmartRef__":true,"id":7865},{"__isSmartRef__":true,"id":7866},{"__isSmartRef__":true,"id":7867},{"__isSmartRef__":true,"id":7868},{"__isSmartRef__":true,"id":7869},{"__isSmartRef__":true,"id":7870},{"__isSmartRef__":true,"id":7871},{"__isSmartRef__":true,"id":7872},{"__isSmartRef__":true,"id":7873},{"__isSmartRef__":true,"id":7874},{"__isSmartRef__":true,"id":7875},{"__isSmartRef__":true,"id":7876},{"__isSmartRef__":true,"id":7877},{"__isSmartRef__":true,"id":7878},{"__isSmartRef__":true,"id":7879}],"showsHalos":false,"name":"searchResultList","partsBinMetaInfo":{"__isSmartRef__":true,"id":7880},"owner":{"__isSmartRef__":true,"id":7821},"attributeConnections":[{"__isSmartRef__":true,"id":7881}],"doNotSerialize":["$$selection"],"doNotCopyProperties":["$$selection"],"prevScroll":[0,192],"resizeHeight":true,"resizeWidth":true,"layout":{"__isSmartRef__":true,"id":7882},"eventHandler":{"__isSmartRef__":true,"id":7883},"isBeingDragged":false,"derivationIds":[208,"884F3C31-F47F-4325-B01C-55796601323C","AF542C45-CFC5-475A-B28E-37B7FC51E468","C6B09735-9683-446C-A39C-E4924083B282","7860DCD2-EC25-4F34-B79B-18C47FBEE925","7ACC50AB-EE77-4AD9-8731-20150C616D1C","6A21BD7F-EC45-467D-BDA4-F218B9407920","0B0BFDF5-91C4-4369-AB7F-07CDAE8813BF","0D9A4870-E562-4C17-A057-3DB8D1C9234C","854096E7-42E2-48F4-B656-D1AE606FAEBF","659ABB8A-3E6D-4E1C-864B-CE8459AD730A","1A73ECB5-B976-457C-8138-8385DBD45070","2A6C9E8E-DFFC-4DE3-A9F0-2624BE97EB96","5CE28027-78AA-4148-84D2-7B4305C0BE89"],"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","distanceToDragEvent"],"selection":{"__isSmartRef__":true,"id":7884},"selectedLineNo":0,"__LivelyClassName__":"lively.morphic.List","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(10.0,50.0)","distanceToDragEvent":"lively.pt(589.7,-14.5)"},"7850":{"_BorderWidth":0,"__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(845.6,140.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(243,243,243)","_Padding":"lively.rect(0,0,0,0)"},"7851":{"isListItem":true,"string":"class full: Button: isValidClick","doNotSerialize":["value"],"priority":"C"},"7852":{"isListItem":true,"string":"class full: Button: simulateButtonClick","doNotSerialize":["value"],"priority":"C"},"7853":{"isListItem":true,"string":"class full: CheckBox: onClick","doNotSerialize":["value"],"priority":"C"},"7854":{"isListItem":true,"string":"class full: DropDownList: onMouseDown","doNotSerialize":["value"],"priority":"C"},"7855":{"isListItem":true,"string":"class full: EventHandler: patchEvent","doNotSerialize":["value"],"priority":"C"},"7856":{"isListItem":true,"string":"class full: ImageOptionButton: onMouseDown","doNotSerialize":["value"],"priority":"C"},"7857":{"isListItem":true,"string":"class full: ImageOptionButton: onMouseUp","doNotSerialize":["value"],"priority":"C"},"7858":{"isListItem":true,"string":"class full: List: onDownPressed","doNotSerialize":["value"],"priority":"C"},"7859":{"isListItem":true,"string":"class full: List: onMouseDown","doNotSerialize":["value"],"priority":"C"},"7860":{"isListItem":true,"string":"class full: List: onUpPressed","doNotSerialize":["value"],"priority":"C"},"7861":{"isListItem":true,"string":"class full: Morph: interactiveMoveOrResize","doNotSerialize":["value"],"priority":"C"},"7862":{"isListItem":true,"string":"class full: Morph: onMouseUpEntry","doNotSerialize":["value"],"priority":"C"},"7863":{"isListItem":true,"string":"class full: Morph: relayMouseEventsToMorphBeneath","doNotSerialize":["value"],"priority":"C"},"7864":{"isListItem":true,"string":"class full: RelayEventHandler: handleEvent","doNotSerialize":["value"],"priority":"C"},"7865":{"isListItem":true,"string":"class full: Slider: onMouseDown","doNotSerialize":["value"],"priority":"C"},"7866":{"isListItem":true,"string":"class full: Text: onEnterPressed","doNotSerialize":["value"],"priority":"C"},"7867":{"isListItem":true,"string":"class full: Text: onKeyDown","doNotSerialize":["value"],"priority":"C"},"7868":{"isListItem":true,"string":"class full: Text: onKeyPress","doNotSerialize":["value"],"priority":"C"},"7869":{"isListItem":true,"string":"class full: Text: onLeftPressed","doNotSerialize":["value"],"priority":"C"},"7870":{"isListItem":true,"string":"class full: Text: onMouseDown","doNotSerialize":["value"],"priority":"C"},"7871":{"isListItem":true,"string":"class full: Text: onRightPressed","doNotSerialize":["value"],"priority":"C"},"7872":{"isListItem":true,"string":"class full: World: onKeyDown","doNotSerialize":["value"],"priority":"C"},"7873":{"isListItem":true,"string":"class full: World: onMouseMove","doNotSerialize":["value"],"priority":"C"},"7874":{"isListItem":true,"string":"class full: World: onMouseUp","doNotSerialize":["value"],"priority":"C"},"7875":{"isListItem":true,"string":"class full: World: onMouseWheel","doNotSerialize":["value"],"priority":"C"},"7876":{"isListItem":true,"string":"layered full: lively.morphic.Morph (EventExperimentLayer): onMouseUp","doNotSerialize":["value"],"priority":"C"},"7877":{"isListItem":true,"string":"layered full: lively.morphic.Path (ConnectorLayer): onMouseUp","doNotSerialize":["value"],"priority":"C"},"7878":{"isListItem":true,"string":"layered full: lively.morphic.World (HighlightSearchLayer): onKeyDown","doNotSerialize":["value"],"priority":"C"},"7879":{"isListItem":true,"string":"script full: MethodFinderPane(46658197-DC02-4106-8474-6889B9945656): targetFunction","doNotSerialize":["value"],"priority":"C"},"7880":{"partsSpaceName":"PartsBin/NewWorld","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"7881":{"sourceObj":{"__isSmartRef__":true,"id":7849},"sourceAttrName":"selection","targetObj":{"__isSmartRef__":true,"id":7821},"targetMethodName":"browse","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7882":{"resizeWidth":true},"7883":{"morph":{"__isSmartRef__":true,"id":7849},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"7884":{"object":{"__isSmartRef__":true,"id":7885},"method":"isValidClick","string":"Button: isValidClick","type":"class","search":"sender"},"7885":{"isButton":true,"__serializedExpressions__":["normalColor","toggleColor","disabledColor","normalTextColor","disabledTextColor"],"style":{"__isSmartRef__":true,"id":7886},"connections":{"__isSmartRef__":true,"id":7890},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","normalColor":"Color.rgb(221,221,221)","toggleColor":"Color.rgb(171,215,248)","disabledColor":"Color.rgb(221,221,221)","normalTextColor":"Color.rgb(0,0,0)","disabledTextColor":"Color.rgb(153,153,153)"},"7886":{"enableGrabbing":false,"enableDropping":false,"__serializedExpressions__":["borderColor","padding"],"borderWidth":1,"borderRadius":5,"label":{"__isSmartRef__":true,"id":7887},"borderColor":"Color.rgb(189,190,192)","padding":"lively.rect(0,3,0,0)"},"7887":{"borderWidth":0,"fill":null,"__serializedExpressions__":["padding","textColor"],"fontSize":10,"align":"center","fixedWidth":true,"fixedHeight":true,"clipMode":"hidden","emphasize":{"__isSmartRef__":true,"id":7888},"padding":"lively.rect(0,3,0,0)","textColor":"Color.rgb(0,0,0)"},"7888":{"textShadow":{"__isSmartRef__":true,"id":7889}},"7889":{"__serializedExpressions__":["offset","color"],"offset":"lively.pt(0.0,1.0)","color":"Color.rgb(255,255,255)"},"7890":{"fire":{"__isSmartRef__":true,"id":7891}},"7891":{},"7892":{"submorphs":[],"scripts":[],"id":"442292BC-D4CF-4845-A268-A662E5B43D57","shape":{"__isSmartRef__":true,"id":7893},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":true,"_FontFamily":"Monaco, Courier","registeredForMouseEvents":true,"_MaxTextWidth":845.9484727040478,"_MaxTextHeight":null,"textStyle":null,"layout":{"__isSmartRef__":true,"id":7894},"doitContext":{"__isSmartRef__":true,"id":7821},"charsReplaced":"","lastFindLoc":130,"showsHalos":false,"name":"sourceText","savedTextString":"// changes here only affect runtime\nObject.extend(lively.morphic.Morph,{\n\tmakeLine:function (verts, lineWidth, lineColor) {\n\t\tif (verts.length < 2) return null;\n\t\tif (verts.length > 2) {\n\t\t\t// Polylines become a mere blob for now...\n\t\t\tvar morph = this.makeRectangle(Rectangle.unionPts(verts));\n\t\t\tmorph.setBorderWidth(lineWidth);\n\t\t\tmorph.setBorderColor(lineColor);\n\t\t\tmorph.setFill(null);\n\t\t\treturn morph;\n\t\t} \n\t\t// Okay, it's a simple line...\n\t\tvar p1 = verts[0]; var p2 = verts[1];\n\t\tvar v = p2.subPt(p1);\n \n\t\t// First make a horizontal line of the same length with origin at (0, 0)\n\t\tvar morph = this.makeRectangle(Rectangle.unionPts([pt(0, -lineWidth/2), Point.polar(v.r(), 0).addXY(0, lineWidth/2)]));\n\n\t\t// *** Not right, but we want to make position and center of rot = (0, 0):\n\t\t// morph._Position = pt(0, 0);\n\n\t\tmorph.setBorderWidth(0);\n\t\tmorph.setFill(lineColor);\n\n\t\t// Then move and rotate, with first vertex being the rotation center\n\t\tmorph.moveBy(p1);\n\t\tmorph.setOrigin(pt(0, lineWidth/2));\n\t\tmorph.isLine = true;\n\t\treturn morph.rotateBy(v.theta());\n\t}\n});","textChunks":[{"__isSmartRef__":true,"id":7895},{"__isSmartRef__":true,"id":7897},{"__isSmartRef__":true,"id":7899},{"__isSmartRef__":true,"id":7901},{"__isSmartRef__":true,"id":7903},{"__isSmartRef__":true,"id":7905},{"__isSmartRef__":true,"id":7907},{"__isSmartRef__":true,"id":7909},{"__isSmartRef__":true,"id":7911},{"__isSmartRef__":true,"id":7913},{"__isSmartRef__":true,"id":7915},{"__isSmartRef__":true,"id":7917},{"__isSmartRef__":true,"id":7919},{"__isSmartRef__":true,"id":7921},{"__isSmartRef__":true,"id":7923},{"__isSmartRef__":true,"id":7925},{"__isSmartRef__":true,"id":7927},{"__isSmartRef__":true,"id":7929},{"__isSmartRef__":true,"id":7931},{"__isSmartRef__":true,"id":7933},{"__isSmartRef__":true,"id":7935},{"__isSmartRef__":true,"id":7937},{"__isSmartRef__":true,"id":7939}],"_ClipMode":"auto","prevScroll":[0,0],"_FontSize":9,"owner":{"__isSmartRef__":true,"id":7821},"lastSyntaxHighlightTime":1328782848221,"eventHandler":{"__isSmartRef__":true,"id":7941},"_MinTextWidth":845.9484727040478,"_MinTextHeight":null,"isBeingDragged":false,"derivationIds":[209,"04D0F127-514D-4BED-841E-6A4CEF4FFDDA","D40D5739-DE56-49F4-B02A-A4ED75AF054A","42528900-D082-4C7A-8E70-1E67923301D9","5167B7DC-8F45-4AD0-96D7-947FF3EE0BB7","D0BFE91E-6EF1-4165-A42C-CC81C9CD2050","04C1BABF-5514-417C-AE67-882A1252EB67","8B053B4D-76D1-4DCB-8E89-8E7ABA3EF3D1","CB2FFA38-BC16-4D98-A807-722CCCC26062","D19D6343-8887-4386-8B87-4560230A5D11","2FFE6CC8-A851-44E9-B6B7-9D9370DEB9C9","A1509C4A-C98B-44CF-ACF8-DA444E7A9B75","3013EDB1-7370-48ED-BF86-BFEFC8B71878","C779EE23-CB40-48E9-AFBE-B0595B1A3A6A"],"_WordBreak":"break-all","_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","distanceToDragEvent"],"_lastSyntaxHighlightTime":34,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":7942},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(10.0,230.0)","distanceToDragEvent":"lively.pt(582.0,-20.5)"},"7893":{"_BorderWidth":1,"_ClipMode":"auto","_BorderRadius":4,"__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(845.6,195.7)","_BorderColor":"Color.rgb(102,102,102)","_Fill":"Color.rgb(243,243,243)","_Padding":"lively.rect(3,3,-3,-3)"},"7894":{"resizeWidth":true,"resizeHeight":true,"moveVertical":false,"moveHorizontal":false},"7895":{"style":{"__isSmartRef__":true,"id":7896},"chunkOwner":{"__isSmartRef__":true,"id":7892},"_id":"_2787","storedString":"//","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7896":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(128,0,0)"},"7897":{"_id":"_2791","style":{"__isSmartRef__":true,"id":7898},"chunkOwner":{"__isSmartRef__":true,"id":7892},"storedString":" changes here only affect runtime","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7898":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"7899":{"_id":"_2792","style":{"__isSmartRef__":true,"id":7900},"chunkOwner":{"__isSmartRef__":true,"id":7892},"storedString":"\n","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7900":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7901":{"_id":"_2793","style":{"__isSmartRef__":true,"id":7902},"chunkOwner":{"__isSmartRef__":true,"id":7892},"storedString":"lively.morphic.Button","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7902":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"7903":{"_id":"_2794","style":{"__isSmartRef__":true,"id":7904},"chunkOwner":{"__isSmartRef__":true,"id":7892},"storedString":".","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7904":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7905":{"_id":"_2795","style":{"__isSmartRef__":true,"id":7906},"chunkOwner":{"__isSmartRef__":true,"id":7892},"storedString":"addMethods","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7906":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(128,128,128)"},"7907":{"_id":"_2796","style":{"__isSmartRef__":true,"id":7908},"chunkOwner":{"__isSmartRef__":true,"id":7892},"storedString":"(","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7908":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7909":{"_id":"_2797","style":{"__isSmartRef__":true,"id":7910},"chunkOwner":{"__isSmartRef__":true,"id":7892},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7910":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"7911":{"_id":"_2798","style":{"__isSmartRef__":true,"id":7912},"chunkOwner":{"__isSmartRef__":true,"id":7892},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7912":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7913":{"_id":"_2799","style":{"__isSmartRef__":true,"id":7914},"chunkOwner":{"__isSmartRef__":true,"id":7892},"storedString":"isValidClick:","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7914":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(139,0,0)"},"7915":{"_id":"_2800","style":{"__isSmartRef__":true,"id":7916},"chunkOwner":{"__isSmartRef__":true,"id":7892},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7916":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7917":{"_id":"_2801","style":{"__isSmartRef__":true,"id":7918},"chunkOwner":{"__isSmartRef__":true,"id":7892},"storedString":"function","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7918":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"7919":{"_id":"_2802","style":{"__isSmartRef__":true,"id":7920},"chunkOwner":{"__isSmartRef__":true,"id":7892},"storedString":" (evt) ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7920":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7921":{"_id":"_2803","style":{"__isSmartRef__":true,"id":7922},"chunkOwner":{"__isSmartRef__":true,"id":7892},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7922":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"7923":{"_id":"_2804","style":{"__isSmartRef__":true,"id":7924},"chunkOwner":{"__isSmartRef__":true,"id":7892},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7924":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7925":{"_id":"_2805","style":{"__isSmartRef__":true,"id":7926},"chunkOwner":{"__isSmartRef__":true,"id":7892},"storedString":"return","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7926":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"7927":{"_id":"_2806","style":{"__isSmartRef__":true,"id":7928},"chunkOwner":{"__isSmartRef__":true,"id":7892},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7928":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7929":{"_id":"_2807","style":{"__isSmartRef__":true,"id":7930},"chunkOwner":{"__isSmartRef__":true,"id":7892},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7930":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"7931":{"_id":"_2808","style":{"__isSmartRef__":true,"id":7932},"chunkOwner":{"__isSmartRef__":true,"id":7892},"storedString":".isActive && evt.isLeftMouseButtonDown() && !evt.isCommandKey();\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7932":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7933":{"_id":"_2809","style":{"__isSmartRef__":true,"id":7934},"chunkOwner":{"__isSmartRef__":true,"id":7892},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7934":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"7935":{"_id":"_2810","style":{"__isSmartRef__":true,"id":7936},"chunkOwner":{"__isSmartRef__":true,"id":7892},"storedString":"\n","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7936":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7937":{"_id":"_2811","style":{"__isSmartRef__":true,"id":7938},"chunkOwner":{"__isSmartRef__":true,"id":7892},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7938":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"7939":{"_id":"_2812","style":{"__isSmartRef__":true,"id":7940},"chunkOwner":{"__isSmartRef__":true,"id":7892},"storedString":");","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7940":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"7941":{"morph":{"__isSmartRef__":true,"id":7892},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"7942":{"doSave":{"__isSmartRef__":true,"id":7943},"getDoitContext":{"__isSmartRef__":true,"id":7950}},"7943":{"varMapping":{"__isSmartRef__":true,"id":7944},"source":"function doSave() {\n\t$super()\n\talertOK(\"eval all for \" + this.getDoitContext())\n\tthis.boundEval(this.textString)\n}","funcProperties":{"__isSmartRef__":true,"id":7949},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7944":{"this":{"__isSmartRef__":true,"id":7892},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":7945}},"7945":{"$super":{"__isSmartRef__":true,"id":7946}},"7946":{"varMapping":{"__isSmartRef__":true,"id":7947},"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":7948},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7947":{"obj":{"__isSmartRef__":true,"id":7892},"name":"doSave"},"7948":{},"7949":{},"7950":{"varMapping":{"__isSmartRef__":true,"id":7951},"source":"function getDoitContext() {\n\treturn this.owner.targetObject\n}","funcProperties":{"__isSmartRef__":true,"id":7956},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7951":{"this":{"__isSmartRef__":true,"id":7892},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":7952}},"7952":{"$super":{"__isSmartRef__":true,"id":7953}},"7953":{"varMapping":{"__isSmartRef__":true,"id":7954},"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":7955},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"7954":{"obj":{"__isSmartRef__":true,"id":7892},"name":"getDoitContext"},"7955":{},"7956":{},"7957":{"submorphs":[],"scripts":[],"id":"55D27EAA-8E38-4680-A4CC-E17D3537F350","shape":{"__isSmartRef__":true,"id":7958},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":true,"_FontFamily":"Monaco, Courier","registeredForMouseEvents":true,"_MaxTextWidth":846.9484727040478,"_MaxTextHeight":null,"textStyle":null,"layout":{"__isSmartRef__":true,"id":7959},"charsReplaced":"","lastFindLoc":697,"showsHalos":false,"name":"infoText","savedTextString":"// MethodFinder (this)\n\n// ** MethodFinder's Scripts **\nthis.addScript(function browse(fileFragment) {\n\tfileFragment && fileFragment.browseIt()\n});\n\nthis.addScript(function reset() {\n\tthis.get('searchResultList').updateList([]);\n\tthis.get('searchResultList').setSelection(null);\n\tthis.get('searchText').setTextString('enter search term here');\n});\n\n\nthis.addScript(function search(searchString) {\n\tvar finds = [];\n\tvar re = new RegExp(searchString)\n\tvar i=0;\n\tvar time = Functions.timeToRun(function() {\n\tGlobal.classes(true).forEach(function(eaClass) {\n\t\tFunctions.own(eaClass.prototype)\n\t\t\t.forEach(function(eaMethod) {\n\t\t\t\ti++;\n\t\t\t\tif (eaMethod.match(re)){\n\t\t\t\t\tfinds.push([eaClass, eaMethod])\n\t\t\t\t}\t\n\t\t\t})\t\n\t})})\n\talert(\"search \" + i + \" methods, found \" + finds.length + \" methods in \" + time + \"ms\")\n\n\tvar items = finds.collect(function(ea) {\n\t\treturn {\n\t\t\tisListItem: true,\n\t\t\tvalue: ea,\n\t\t\tstring: ea[0].name + \": \" + ea[1],\n\t\t}\n\t})\n\tthis.get('searchResultList').updateList(items);\n});","textChunks":[{"__isSmartRef__":true,"id":7960}],"_ClipMode":"hidden","prevScroll":[0,0],"_FontSize":10,"owner":{"__isSmartRef__":true,"id":7821},"eventHandler":{"__isSmartRef__":true,"id":7962},"_MinTextWidth":846.9484727040478,"_MinTextHeight":null,"derivationIds":[210,"E20B9061-6128-4BD4-BE8B-4B50F9BC8EA1","FFFED58E-70A3-4945-A7C8-19E2C0754BB7","1B69878E-8E43-4E25-BAE7-3D64CAE35839","2770B759-8971-45F4-8291-6DA85EBD1155","B0E0F94A-1BB3-405B-87BB-3C1199A8EB79","8EF852C4-A375-4F84-873C-4277F9A99D52","AA10C5AE-8C29-45DA-8CA5-A0E286F80E82","4B3576CB-50DD-49DF-913C-88D34002B5DC","B9692647-A99C-4A20-9C6C-3DF722D48DDE","109C8B5F-DBAA-490E-A061-CB3004CD8634","6494496E-CBF0-4256-ACA4-D7E7B674F7CE","7B312F1D-97DF-400B-B6A2-F871E0D93348","705B3C30-29F1-486C-AF08-7E7D03078BAF"],"_WordBreak":"break-all","_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(10.0,200.0)","distanceToDragEvent":"lively.pt(587.0,-13.5)"},"7958":{"_BorderWidth":1,"_ClipMode":"hidden","_BorderRadius":4,"__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(845.6,20.0)","_BorderColor":"Color.rgb(102,102,102)","_Fill":"Color.rgb(243,243,243)","_Padding":"lively.rect(2,1,-2,-1)"},"7959":{"resizeWidth":true,"resizeHeight":false,"moveVertical":false,"moveHorizontal":false},"7960":{"style":{"__isSmartRef__":true,"id":7961},"chunkOwner":{"__isSmartRef__":true,"id":7957},"_id":"_2790","storedString":"module(Global.lively.morphic.Widgets)","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7961":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7962":{"morph":{"__isSmartRef__":true,"id":7957},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"7963":{"submorphs":[{"__isSmartRef__":true,"id":7964}],"scripts":[],"id":"1DD54869-4472-47F8-8CAC-770B49E39A28","shape":{"__isSmartRef__":true,"id":7969},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":7970},"lighterFill":{"__isSmartRef__":true,"id":7975},"label":{"__isSmartRef__":true,"id":7964},"showsHalos":false,"name":"browse","partsBinMetaInfo":{"__isSmartRef__":true,"id":7980},"attributeConnections":[{"__isSmartRef__":true,"id":7981}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"eventHandler":{"__isSmartRef__":true,"id":7982},"owner":{"__isSmartRef__":true,"id":7821},"derivationIds":[211,"72C2FBB1-F169-43CC-AC8A-C0889FCB1663","8CF07460-17AC-4EC3-83C4-E31D52336E14","BE09102D-553E-4BB6-84A6-4D428731DD1B","2D43F043-9567-4765-A19C-7C922F0DFFE7","A77836E8-3C83-4A1D-B37A-7DDBA7FE13DE","13EB973D-FF17-4A76-AD4B-13347D80B1A9","8A92D97E-6965-49F7-B2B0-8842FB9ADCDF","662F4742-3BD8-4D39-88CB-EE97BC2306D6","8F15DC2D-892E-4B0F-83CB-8E7012281BEB","57A38C48-8036-4D85-91C8-9F60FE72DACE","5F6BEEC4-A021-4428-AC2A-14F8A4F9B68C","BF69FE04-AF9D-48BC-B4F9-5B9CFB4720D3","1B2B2CB4-3ABA-4387-A3D2-E8436B9DC849"],"_ClipMode":"visible","_Rotation":0,"_Scale":1,"__serializedExpressions__":["distanceToDragEvent","_Position"],"isPressed":false,"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","distanceToDragEvent":"lively.pt(53.7,-17.2)","_Position":"lively.pt(400.0,20.0)"},"7964":{"submorphs":[],"scripts":[],"id":"ADEAB199-E421-4BE3-9F70-978CFBF8CA3D","shape":{"__isSmartRef__":true,"id":7965},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":false,"_FontFamily":"Helvetica","registeredForMouseEvents":true,"_MaxTextWidth":78,"_MaxTextHeight":null,"owner":{"__isSmartRef__":true,"id":7963},"isLabel":true,"eventsAreIgnored":true,"textStyle":null,"textChunks":[{"__isSmartRef__":true,"id":7966}],"prevScroll":[0,0],"_ClipMode":"hidden","_Align":"center","eventHandler":{"__isSmartRef__":true,"id":7968},"_HandStyle":"default","_PointerEvents":"none","_MinTextWidth":78,"_MinTextHeight":null,"derivationIds":[212,"054FD83F-508D-488D-A011-8769DCB647DF","834D337A-5619-4055-B103-7BDAA88CD7A9","3C85FBE2-5C85-4CCF-B86A-25E65015429B","001D6261-96E2-4ACC-880A-8540815DC8D3","90FFCC86-B995-4F2F-872F-55A8A74FC99E","766B1A00-7692-4CAB-B106-01876B4D5F77","C36FA883-C0F4-47DA-B1A9-CB8D82C1C6E4","91BD5A6B-4A46-43EA-8FA0-2A5C4EFDD1A7","B8CDD839-4085-4D54-B360-5F4DAC2DD83C","C25AEC86-A78F-4355-A843-3CACF03215A8","B28C6DEB-10EF-40BF-BA3F-3BFA8EB2B14D","6943F355-5B63-4DAD-8A39-14319936A0E0","81DC2508-85EB-4052-AFA2-44CF083A45C5"],"_WordBreak":"break-all","_Scale":1,"__serializedExpressions__":["_Position","padding","_Padding"],"__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)"},"7965":{"_BorderWidth":0,"_Fill":null,"_ClipMode":"hidden","__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(78.0,20.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"7966":{"style":{"__isSmartRef__":true,"id":7967},"morph":{"__isSmartRef__":true,"id":7964},"chunkOwner":{"__isSmartRef__":true,"id":7964},"storedString":"browse","_id":"_152","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7967":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7968":{"morph":{"__isSmartRef__":true,"id":7964},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"7969":{"_BorderWidth":1,"_Fill":{"__isSmartRef__":true,"id":7970},"_BorderRadius":5,"_ClipMode":"visible","_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(78.0,20.0)","_BorderColor":"Color.rgb(66,66,66)","_Padding":"lively.rect(0,0,0,0)"},"7970":{"stops":[{"__isSmartRef__":true,"id":7971},{"__isSmartRef__":true,"id":7972},{"__isSmartRef__":true,"id":7973},{"__isSmartRef__":true,"id":7974}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"7971":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"7972":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"7973":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"7974":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(240,240,240)"},"7975":{"stops":[{"__isSmartRef__":true,"id":7976},{"__isSmartRef__":true,"id":7977},{"__isSmartRef__":true,"id":7978},{"__isSmartRef__":true,"id":7979}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"7976":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"7977":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"7978":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"7979":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"7980":{"partsSpaceName":"PartsBin/NewWorld","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"7981":{"sourceObj":{"__isSmartRef__":true,"id":7963},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":7821},"targetMethodName":"browseMethod","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"7982":{"morph":{"__isSmartRef__":true,"id":7963},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"7983":{"submorphs":[{"__isSmartRef__":true,"id":7984}],"scripts":[],"id":"6EDA7B75-64CB-4747-9A6A-2D01C8ADEB8B","shape":{"__isSmartRef__":true,"id":7989},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":7990},"lighterFill":{"__isSmartRef__":true,"id":7995},"label":{"__isSmartRef__":true,"id":7984},"name":"Button1","showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":8000},"attributeConnections":[{"__isSmartRef__":true,"id":8001}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"eventHandler":{"__isSmartRef__":true,"id":8024},"prevScroll":[0,0],"owner":{"__isSmartRef__":true,"id":7821},"layout":{"__isSmartRef__":true,"id":8025},"derivationIds":[213,"EC7B60B8-A81F-4F24-A467-A661149CA045","DF2DEFBB-9271-4448-98A1-D2137526C2C3","EBFAF287-C65D-425B-910E-D6ADC7FA9D02","7F2E684F-7CC3-4CC4-8B18-920427491622","F7E9C68E-814B-4197-9D5B-556DCF0EC4F6","3DC305C0-5A87-4ED4-B263-5E5333B947FB","A8805225-9530-403B-977E-A2929A077DD0","0BF85746-8777-4195-949A-8733B4D79B02","8E485E0B-1832-4C7C-A5B1-D14057A7F5E3","4793FFDA-8803-44C7-97D4-27DE49B5D8D0","3FDA3264-B677-48AF-95D0-46DDD933EFBF","3350B214-FDFD-4143-8AB5-4E475C31F760","332F671C-E259-47B3-B31D-F86A48741FAF"],"_ClipMode":"visible","_Rotation":0,"_Scale":1,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","distanceToDragEvent":"lively.pt(111.4,-11.4)","_Position":"lively.pt(490.0,19.0)"},"7984":{"submorphs":[],"scripts":[],"id":"49E0B52A-6A34-4411-B79F-95A03B80D5AB","shape":{"__isSmartRef__":true,"id":7985},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":false,"_FontFamily":"Helvetica","registeredForMouseEvents":true,"_MaxTextWidth":157.05605605605615,"_MaxTextHeight":null,"textStyle":null,"owner":{"__isSmartRef__":true,"id":7983},"isLabel":true,"eventsAreIgnored":true,"_ClipMode":"hidden","textChunks":[{"__isSmartRef__":true,"id":7986}],"_Align":"center","eventHandler":{"__isSmartRef__":true,"id":7988},"_HandStyle":"default","_PointerEvents":"none","_MinTextWidth":157.05605605605615,"_MinTextHeight":null,"derivationIds":[214,"D88E1591-8BE5-4F54-AEB5-71BC24E2014D","FE6955F2-3796-4030-BD54-73604562225B","0F07A5A7-E04B-412A-8D91-2AA448965A0E","634A262F-940F-4590-8DB1-0738A6DF355A","221F164E-FD6F-40ED-8E18-E055A638CE93","1320C4DD-9213-40AA-A107-5EF8EBE9B22A","098E1029-F36B-4434-B20F-A2100DCCBB9A","39D48D5A-BB94-40BA-AB93-09B3B787EC3D","27F752E4-9705-4F8B-9CC4-6E5131892552","78776F49-7628-4F29-81F1-7AFC77BDAFE0","5ACE871C-A220-4C51-A9E1-9315BE30BB0A","D596A84E-3FB1-4A59-B12D-12FF54B0B37F","C7CF5CE2-FA69-432F-B05A-A8FDE7273491"],"_WordBreak":"break-all","_Scale":1,"__serializedExpressions__":["_Position","padding","_Padding"],"__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)"},"7985":{"_BorderWidth":0,"_Fill":null,"_ClipMode":"hidden","__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(157.1,21.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"7986":{"style":{"__isSmartRef__":true,"id":7987},"chunkOwner":{"__isSmartRef__":true,"id":7984},"storedString":"search on server","_id":"_153","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7987":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"7988":{"morph":{"__isSmartRef__":true,"id":7984},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"7989":{"_BorderWidth":1.1840000000000002,"_Fill":{"__isSmartRef__":true,"id":7990},"_BorderRadius":5.2,"_ClipMode":"visible","_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(157.1,21.0)","_BorderColor":"Color.rgb(66,66,66)","_Padding":"lively.rect(0,0,0,0)"},"7990":{"stops":[{"__isSmartRef__":true,"id":7991},{"__isSmartRef__":true,"id":7992},{"__isSmartRef__":true,"id":7993},{"__isSmartRef__":true,"id":7994}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"7991":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"7992":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"7993":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"7994":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(240,240,240)"},"7995":{"stops":[{"__isSmartRef__":true,"id":7996},{"__isSmartRef__":true,"id":7997},{"__isSmartRef__":true,"id":7998},{"__isSmartRef__":true,"id":7999}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"7996":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"7997":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"7998":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"7999":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"8000":{"partsSpaceName":"PartsBin/Inputs","migrationLevel":4,"partName":"Button","comment":"Has a script that is called on button press","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"8001":{"sourceObj":{"__isSmartRef__":true,"id":7983},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":7821},"targetMethodName":"searchOnServer","visualConnector":{"__isSmartRef__":true,"id":8002},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8002":{"submorphs":[{"__isSmartRef__":true,"id":8003}],"scripts":[],"shape":{"__isSmartRef__":true,"id":8010},"id":865,"eventHandler":{"__isSmartRef__":true,"id":8013},"__layered_droppingEnabled__":true,"halosEnabled":true,"owner":null,"controlPoints":[{"__isSmartRef__":true,"id":8014},{"__isSmartRef__":true,"id":8015}],"con":{"__isSmartRef__":true,"id":8001},"showsMorphMenu":true,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":8016},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"8003":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":8004},"id":866,"eventHandler":{"__isSmartRef__":true,"id":8009},"__layered_droppingEnabled__":true,"halosEnabled":true,"owner":{"__isSmartRef__":true,"id":8002},"_Rotation":-3.113822016996372,"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","_Position":"lively.pt(0.0,0.0)"},"8004":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":8005},{"__isSmartRef__":true,"id":8006},{"__isSmartRef__":true,"id":8007},{"__isSmartRef__":true,"id":8008}],"_ClipMode":"visible","_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(16.0,12.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(0,0,0)"},"8005":{"isAbsolute":true,"x":-12,"y":-6,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"8006":{"isAbsolute":true,"x":-12,"y":6,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"8007":{"isAbsolute":true,"x":4,"y":0,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"8008":{"isAbsolute":true,"x":-12,"y":-6,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"8009":{"morph":{"__isSmartRef__":true,"id":8003},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8010":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":8011},{"__isSmartRef__":true,"id":8012}],"_ClipMode":"visible","_BorderWidth":1,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Position":"lively.pt(-1.0,-1.0)","_Extent":"lively.pt(721.0,21.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"8011":{"isAbsolute":true,"x":719.9999999999999,"y":20,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"8012":{"isAbsolute":true,"x":0,"y":0,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"8013":{"morph":{"__isSmartRef__":true,"id":8002},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8014":{"morph":{"__isSmartRef__":true,"id":8002},"index":0,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"8015":{"morph":{"__isSmartRef__":true,"id":8002},"index":1,"connectedMagnet":null,"marker":{"__isSmartRef__":true,"id":8003},"markerDirection":"prev","__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"8016":{"morphMenuItems":{"__isSmartRef__":true,"id":8017}},"8017":{"varMapping":{"__isSmartRef__":true,"id":8018},"source":"function morphMenuItems() {\n var visualConnector = this, con = this.con, world = this.world();\n var items = [\n ['edit converter', function() {\n var source = con.converterString || \n 'function converter(value) {\\n return value\\n}',\n editor = new lively.morphic.Text(new Rectangle(0,0, 400, 200), source);\n editor.doitContext = con;\n connect(editor, 'savedTextString', con, 'converterString', {updater:\n function($upd, source) { this.targetObj.converter = null; $upd(source) }});\n connect(editor, 'savedTextString', world, 'alertOK', {converter: \n function() { return 'setting new converter' }})\n editor.applyStyle({syntaxHighlighting: true, \n fontFamily: 'Courier', resizeWidth: true, resizeHeight: true});\n var title = con.targetObj.name && con.sourceObj.name ?\n 'Editor for ' + con.targetObj.name + ' -> ' + con.sourceObj.name :\n 'Editor for converter function';\n var window = world.addFramedMorph(editor, title)\n window.align(window.bounds().topCenter(), \n visualConnector.bounds().bottomCenter())\n }],\n ['hide', function() {\n visualConnector.disconnectFromMagnets();\n visualConnector.remove();\n }],\n ['disconnect', function() {\n alertOK('Disconnected ' + visualConnector.con);\n visualConnector.con.visualDisconnect();\n }],\n ['cancel', function() {}],\n ];\n return items;\n }","funcProperties":{"__isSmartRef__":true,"id":8023},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8018":{"this":{"__isSmartRef__":true,"id":8002},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":8019}},"8019":{"$super":{"__isSmartRef__":true,"id":8020}},"8020":{"varMapping":{"__isSmartRef__":true,"id":8021},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch(e) {\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":8022},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8021":{"obj":{"__isSmartRef__":true,"id":8002},"name":"morphMenuItems"},"8022":{},"8023":{},"8024":{"morph":{"__isSmartRef__":true,"id":7983},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8025":{"moveHorizontal":false},"8026":{"submorphs":[{"__isSmartRef__":true,"id":8027}],"scripts":[],"id":"A48CC856-91C3-412A-8E94-6E9937EE11D4","shape":{"__isSmartRef__":true,"id":8032},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":8033},"lighterFill":{"__isSmartRef__":true,"id":8038},"label":{"__isSmartRef__":true,"id":8027},"name":"ScriptableButton","showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":8043},"attributeConnections":[{"__isSmartRef__":true,"id":8044}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"eventHandler":{"__isSmartRef__":true,"id":8045},"derivationIds":[2588,"8DA01C71-0A84-4A5A-8027-121F4684BB04","2F4904A6-2C6F-4A39-8C69-7C1E943F91B4","7F6F4EE1-856E-477B-8578-D99400031DBA","374C68BB-3D86-4DA0-9616-2B5320585D0E","23336C67-2F65-4D9F-9380-304876DC628F","8E57191F-E38B-4526-95AA-8D530FAC8156","7146BE6C-6AB9-4A41-89F9-0D6C1906F22C","D5614241-97DF-41BC-B4F2-D3704916AAE0"],"owner":{"__isSmartRef__":true,"id":7821},"layout":{"__isSmartRef__":true,"id":8046},"_ClipMode":"visible","_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":8047},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(836.8,21.0)","distanceToDragEvent":"lively.pt(34.4,-11.2)"},"8027":{"submorphs":[],"scripts":[],"id":"166861E1-D7F7-45CB-AEF1-8599614623C9","shape":{"__isSmartRef__":true,"id":8028},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":false,"_FontFamily":"Helvetica","registeredForMouseEvents":true,"_MaxTextWidth":20,"_MaxTextHeight":null,"textStyle":null,"owner":{"__isSmartRef__":true,"id":8026},"isLabel":true,"eventsAreIgnored":true,"_ClipMode":"hidden","textChunks":[{"__isSmartRef__":true,"id":8029}],"_Align":"center","eventHandler":{"__isSmartRef__":true,"id":8031},"_HandStyle":"default","_PointerEvents":"none","derivationIds":[2589,"784F6E71-6365-4235-A0B6-69F992BB532B","54335D65-DB12-4322-84D0-BA8B85E7ED2F","2EF9D95D-4705-44B3-8D3C-446FEDC6346B","07108773-133C-4F4A-A740-33175849E789","E58C564E-D8F3-481A-821D-447F7C7556D8","D92DDD8E-7733-4909-A5E9-049EC55E90C0","5349ED28-AA73-4C7E-8241-575E1A050868","59B9249F-DA37-4FB9-85D2-ABBCFE3AA101"],"_MinTextWidth":20,"_MinTextHeight":null,"_WordBreak":"break-all","_Scale":1,"__serializedExpressions__":["_Position","padding","_Padding"],"__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)"},"8028":{"_BorderWidth":0,"_Fill":null,"_ClipMode":"hidden","__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(20.0,20.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"8029":{"style":{"__isSmartRef__":true,"id":8030},"chunkOwner":{"__isSmartRef__":true,"id":8027},"storedString":"x","_id":"_154","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8030":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8031":{"morph":{"__isSmartRef__":true,"id":8027},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8032":{"_BorderWidth":1.1840000000000002,"_Fill":{"__isSmartRef__":true,"id":8033},"_BorderRadius":5.2,"_ClipMode":"visible","_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(20.0,20.0)","_BorderColor":"Color.rgb(66,66,66)","_Padding":"lively.rect(0,0,0,0)"},"8033":{"stops":[{"__isSmartRef__":true,"id":8034},{"__isSmartRef__":true,"id":8035},{"__isSmartRef__":true,"id":8036},{"__isSmartRef__":true,"id":8037}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"8034":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"8035":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"8036":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"8037":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(240,240,240)"},"8038":{"stops":[{"__isSmartRef__":true,"id":8039},{"__isSmartRef__":true,"id":8040},{"__isSmartRef__":true,"id":8041},{"__isSmartRef__":true,"id":8042}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"8039":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"8040":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"8041":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"8042":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"8043":{"partsSpaceName":"PartsBin/Inputs","migrationLevel":2,"partName":"ScriptableButton","comment":"Has a script that is called on button press","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"8044":{"sourceObj":{"__isSmartRef__":true,"id":8026},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":8026},"targetMethodName":"onFire","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8045":{"morph":{"__isSmartRef__":true,"id":8026},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8046":{"moveHorizontal":true},"8047":{"onFire":{"__isSmartRef__":true,"id":8048}},"8048":{"varMapping":{"__isSmartRef__":true,"id":8049},"source":"function onFire() {\n var tab = this.owner.owner.tab\n var toolPane = this.get('ToolTabPane')\n toolPane.tabBar.removeTab(tab)\n if(toolPane.tabBar.getTabs().length == 0) {\n if (toolPane.owner instanceof lively.morphic.Window)\n toolPane.owner.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":8050},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8049":{"this":{"__isSmartRef__":true,"id":8026}},"8050":{"timestamp":{"__isSmartRef__":true,"id":8051},"user":"undefined","tags":[]},"8051":{"isSerializedDate":true,"string":"Fri Feb 03 2012 16:32:27 GMT+0100 (CET)"},"8052":{"_BorderWidth":1,"_ClipMode":"visible","__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(872.1,440.7)","_BorderColor":"Color.rgb(95,94,95)","_Fill":"Color.rgb(255,255,255)","_Padding":"lively.rect(0,0,0,0)"},"8053":{"partsSpaceName":"PartsBin/Dialogs","migrationLevel":4,"requiredModules":["lively.ide"],"partName":"MethodFinderPane","comment":"Pane for new ToolTabs","changes":[{"__isSmartRef__":true,"id":8054},{"__isSmartRef__":true,"id":8056},{"__isSmartRef__":true,"id":8058},{"__isSmartRef__":true,"id":8060},{"__isSmartRef__":true,"id":8062},{"__isSmartRef__":true,"id":8064},{"__isSmartRef__":true,"id":8066},{"__isSmartRef__":true,"id":8068},{"__isSmartRef__":true,"id":8070},{"__isSmartRef__":true,"id":8072}],"attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"lastModifiedDate":{"__isSmartRef__":true,"id":7745},"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"8054":{"date":{"__isSmartRef__":true,"id":8055},"author":"robertkrahn","message":"fixed scaling","id":"AF2B30BB-64BB-427B-AEF7-FDE01E1B2202"},"8055":{"isSerializedDate":true,"string":"Sat Jun 16 2012 13:51:14 GMT+0200 (CEST)"},"8056":{"date":{"__isSmartRef__":true,"id":8057},"author":"undefined","message":"some style adjustments","id":"DA3EFD12-8A45-454C-993B-DB12847BEF94"},"8057":{"isSerializedDate":true,"string":"Mon Mar 26 2012 13:16:30 GMT+0200 (CEST)"},"8058":{"date":{"__isSmartRef__":true,"id":8059},"author":"undefined","message":"","id":"7A744B14-C057-4944-AFDD-CC78A910B35F"},"8059":{"isSerializedDate":true,"string":"Fri Feb 03 2012 15:40:30 GMT+0100 (CET)"},"8060":{"date":{"__isSmartRef__":true,"id":8061},"author":"undefined","message":"","id":"73F39208-58C9-4040-9948-516A104E5049"},"8061":{"isSerializedDate":true,"string":"Fri Feb 03 2012 15:42:18 GMT+0100 (CET)"},"8062":{"date":{"__isSmartRef__":true,"id":8063},"author":"undefined","message":"","id":"CA16FEC1-49E5-4310-BDB6-F744F413F7EF"},"8063":{"isSerializedDate":true,"string":"Fri Feb 03 2012 15:48:35 GMT+0100 (CET)"},"8064":{"date":{"__isSmartRef__":true,"id":8065},"author":"undefined","message":"- close button behavior","id":"0AD4C501-1DC4-4DD3-AFDC-A46F4ACD2CE1"},"8065":{"isSerializedDate":true,"string":"Fri Feb 03 2012 16:32:48 GMT+0100 (CET)"},"8066":{"date":{"__isSmartRef__":true,"id":8067},"author":"undefined","message":"","id":"47289007-8CB3-4B03-B9D1-3A8717E85DCB"},"8067":{"isSerializedDate":true,"string":"Fri Feb 03 2012 16:36:31 GMT+0100 (CET)"},"8068":{"date":{"__isSmartRef__":true,"id":8069},"author":"athomschke","message":"adjusted close button","id":"9EBA6297-7908-4B02-81F5-2B86B2E4B73D"},"8069":{"isSerializedDate":true,"string":"Fri Feb 03 2012 16:57:09 GMT+0100 (CET)"},"8070":{"date":{"__isSmartRef__":true,"id":8071},"author":"jenslincke","message":"- fixed browse Global definitions","id":"7DE86114-1D7E-4551-BC8F-E12A980A8EE9"},"8071":{"isSerializedDate":true,"string":"Thu Feb 09 2012 11:27:56 GMT+0100 (CET)"},"8072":{"date":{"__isSmartRef__":true,"id":8073},"author":"athomschke","message":"removed a code inconvenience (Morph soon will not be available anymore, used lively.morphic.Morph instead)","id":"EB3D8402-7A89-4720-AB82-1009BC22096B"},"8073":{"isSerializedDate":true,"string":"Thu Jan 10 2013 00:19:40 GMT+0100 (CET)"},"8074":{"resizeWidth":true,"resizeHeight":true,"adjustForNewBounds":true},"8075":{"morph":{"__isSmartRef__":true,"id":7821},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8076":{"search":{"__isSmartRef__":true,"id":8077},"browse":{"__isSmartRef__":true,"id":8081},"reset":{"__isSmartRef__":true,"id":8085},"setSearch":{"__isSmartRef__":true,"id":8089},"emphasizeStringIn":{"__isSmartRef__":true,"id":8093},"withAllMethodsDo":{"__isSmartRef__":true,"id":8097},"itemsFromFinds":{"__isSmartRef__":true,"id":8101},"browseMethod":{"__isSmartRef__":true,"id":8105},"openMethodInSystemBrowser":{"__isSmartRef__":true,"id":8109},"findSourceModule":{"__isSmartRef__":true,"id":8113},"searchOnServer":{"__isSmartRef__":true,"id":8117},"showLayerDefinition":{"__isSmartRef__":true,"id":8121}},"8077":{"varMapping":{"__isSmartRef__":true,"id":8078},"source":"function search(searchString) { \n this.get('searchResultList').updateList([]);\n this.get('sourceText').setTextString('');\n if (!searchString || (searchString.length < 2)) {\n this.get('sourceText').setTextString('\"' + searchString + '\" is to short');\n return;\n }\n var finds = [];\n var i=0;\n var matches = function(s) {\n return s.include(searchString)\n } \n\n // var re = new RegExp(searchString)\n var time = Functions.timeToRun(function() {\n this.withAllMethodsDo(function(object, eaMethod, type, optParent) {\n i++;\n var name;\n if (!object) return;\n\n if (object.constructor.prototype == object)\n name = object.constructor.name\n\n if (object.name) name = object.name;\n if (object.namespaceIdentifier)\n name = object.namespaceIdentifier\n\n if (object.constructor.prototype != object)\n name = name + \"(object)\"\n\n if ((object.constructor.prototype != object) && (object instanceof lively.morphic.Morph))\n name = object.name + \"(\" + object.id + \")\"\n\n if (object === Global)\n name = \" \";\n\n if (type == \"layered\") {\n \n name = object._layered_object.constructor.type \n + \" (\" + optParent.name + \")\" \n \n }\n\n var string = name + \": \" + eaMethod; \n var item = {object: object, method: eaMethod, string: string, type: type};\n if (type == \"layered\") {\n item.layerName = optParent.name\n }\n\n if (matches(eaMethod)) {\n item.search= 'implementor',\n finds.push(item)\n return;\n } \n\n var f = object[eaMethod];\n if (!f || !f.getOriginal) return;\n var source = String(f.getOriginal())\n if (matches(source)){\n item.search = 'sender'\n finds.push(item)\n } \n })\n }.bind(this))\n this.get('sourceText').setTextString(\"search \" + i + \" methods, found \" \n + finds.length + \" methods in \" + time + \"ms\");\n var items = this.itemsFromFinds(finds)\n this.get('searchResultList').updateList(items);\n}","funcProperties":{"__isSmartRef__":true,"id":8079},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8078":{"this":{"__isSmartRef__":true,"id":7821}},"8079":{"timestamp":{"__isSmartRef__":true,"id":8080},"tags":[]},"8080":{"isSerializedDate":true,"string":"Thu Jan 10 2013 00:18:25 GMT+0100 (CET)"},"8081":{"varMapping":{"__isSmartRef__":true,"id":8082},"source":"function browse(methodItem) {\n // methodItem = this.get('searchResultList').selection\n if (! methodItem) return;\n\n // deal with non method findings....\n if (methodItem.type == 'layer') {\n this.showLayerDefinition(methodItem)\n return\n } \n\n // methodItem = this.get('searchResultList').selection\n var methodName = methodItem.method;\n var object = methodItem.object;\n var orgFunc = object[methodName];\n\n if (!orgFunc || !orgFunc.getOriginal) {\n this.get('sourceText').setTextString('no source');\n return\n }\n orgFunc = orgFunc.getOriginal()\n \n this.targetFunction = orgFunc;\n this.targetObject = object;\n\n var source = \"// changes here only affect runtime\\n\", \n tab = lively.morphic.Text.prototype.tab;\n if (methodItem.layerName) {\n var partialMethod = object[methodName];\n source += methodItem.layerName + \".refineClass(\" + \n object._layered_object.constructor.type + \", {\\n\" + \n tab + methodName + \": \" + partialMethod +\"\\n})\";\n } else if (orgFunc.belongsToTrait) {\n source += \"Trait('\" + orgFunc.belongsToTrait.name + \"', {\\n\" \n + tab + methodName + \": \" + orgFunc +\"\\n})\";\n } else if (orgFunc.declaredClass) {\n source += orgFunc.declaredClass + \".addMethods({\\n\" \n + tab + methodName + \": \" \n + orgFunc + \"\\n});\"\n } else if(methodItem.type == 'extend') {\n // perhaps it is a an class object\n source += \"Object.extend(\" + (object.type || object.namespaceIdentifier) \n + \",{\\n\" + tab + methodName + \": \" \n + orgFunc + \"\\n});\"\n } else if(object.isMorph && (object.constructor.prototype !== object) ) {\n // display as script\n source = \"this.addScript(\" + orgFunc + \");\"\n } else if(object === Global) {\n // display as script\n source += \"Object.extend(Global, {\\n\" + tab + methodName + \": \" +\n orgFunc + \"\\n});\"\n }\n\n this.get('sourceText').setTextString(source)\n\n module('lively.ide.SyntaxHighlighting').load(true);\n this.get('sourceText').highlightJavaScriptSyntax();\n\n var searchText = this.get('searchText').textString;\n var m = searchText.match(/[^a-zA-Z0-9_\\.]/g)\n if(m) {\n m.forEach(function (each) {\n var escapedChar = '\\\\' + each;\n var position = searchText.search(\n new RegExp('[^\\\\\\\\]' + '\\\\' + each)) + 1;\n searchText = searchText.substring(0,position) \n + escapedChar + searchText.substr(position + 1);\n });\n }\n this.get('sourceText').emphasizeRegex(new RegExp(searchText, 'g'), {color: Color.red});\n\n var info = '' + this.findSourceModule(orgFunc);\n\n if (orgFunc.belongsToTrait)\n info += ' (' + orgFunc.belongsToTrait + \" in \" + orgFunc.belongsToTrait.sourceModule +\")\";\n\n this.get('infoText').setTextString(info)\n}","funcProperties":{"__isSmartRef__":true,"id":8083},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8082":{"this":{"__isSmartRef__":true,"id":7821}},"8083":{"timestamp":{"__isSmartRef__":true,"id":8084},"user":"undefined","tags":[]},"8084":{"isSerializedDate":true,"string":"Thu Feb 02 2012 13:55:34 GMT+0100 (CET)"},"8085":{"varMapping":{"__isSmartRef__":true,"id":8086},"source":"function reset() {\n this.doNotSerialize = ['targetFunction', 'targetObject']\n this.get('searchResultList').updateList([]);\n this.get('searchResultList').setSelection(null);\n this.get('searchText').setTextString('enter method name here');\n this.get('sourceText').setTextString('no code');\n this.get('infoText').setTextString('');\n this.targetFunction = null;\n this.targetObject = null;\n}","funcProperties":{"__isSmartRef__":true,"id":8087},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8086":{"this":{"__isSmartRef__":true,"id":7821}},"8087":{"timestamp":{"__isSmartRef__":true,"id":8088},"user":"undefined","tags":[]},"8088":{"isSerializedDate":true,"string":"Fri Feb 03 2012 15:30:14 GMT+0100 (CET)"},"8089":{"varMapping":{"__isSmartRef__":true,"id":8090},"source":"function setSearch(searchString) {\n this.get('searchText').setTextString(searchString);\n this.search(searchString)\n var list = this.get('searchResultList').getList();\n if (list.length > 0) this.get('searchResultList').setSelection(list[0])\n}","funcProperties":{"__isSmartRef__":true,"id":8091},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8090":{"this":{"__isSmartRef__":true,"id":7821}},"8091":{"timestamp":{"__isSmartRef__":true,"id":8092},"tags":[]},"8092":{"isSerializedDate":true,"string":"Thu Jan 10 2013 00:18:25 GMT+0100 (CET)"},"8093":{"varMapping":{"__isSmartRef__":true,"id":8094},"source":"function emphasizeStringIn(morph, string, style) {\n var m;\n var re = new RegExp(string, \"g\");\n while(m = re.exec(morph.textString)) {\n var from = m.index,\n to = m.index + m[0].length;\n morph.emphasize(style, from, to)\n }\n}","funcProperties":{"__isSmartRef__":true,"id":8095},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8094":{"this":{"__isSmartRef__":true,"id":7821}},"8095":{"timestamp":{"__isSmartRef__":true,"id":8096},"tags":[]},"8096":{"isSerializedDate":true,"string":"Thu Jan 10 2013 00:18:25 GMT+0100 (CET)"},"8097":{"varMapping":{"__isSmartRef__":true,"id":8098},"source":"function withAllMethodsDo(func) {\n var visited = [];\n\n cop.allLayers().forEach(function(layer) {\n func(eval(layer.namespaceName), layer.name, 'layer')\n layer.layeredObjects().forEach(function(obj) {\n var layerDef = cop.getLayerDefinitionForObject(layer, obj)\n Functions.own(layerDef).forEach(function(eaMethod) {\n func(layerDef, eaMethod, 'layered', layer)\n });\n });\n }); \n\n\n Functions.own(Global).forEach(function(eaMethod) {\n func(Global, eaMethod, 'global')\n }); \n\n this.world().withAllSubmorphsDo(function(ea) {\n Functions.own(ea).forEach(function(eaMethod) {\n func(ea, eaMethod, 'script')\n }); \n });\n\n Global.subNamespaces(true).forEach(function(ea) {\n Functions.own(ea).forEach(function(eaMethod) {\n func(ea, eaMethod, 'extend')\n }); \n });\n\n Global.classes(true).uniq().forEach(function(eaClass) {\n Functions.own(eaClass).forEach(function(eaMethod) {\n func(eaClass, eaMethod, 'extend')\n }); \n\n Functions.own(eaClass.prototype).forEach(function(eaMethod) {\n func(eaClass.prototype, eaMethod, 'class')\n }) \n })\n}","funcProperties":{"__isSmartRef__":true,"id":8099},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8098":{"this":{"__isSmartRef__":true,"id":7821}},"8099":{"timestamp":{"__isSmartRef__":true,"id":8100},"user":"undefined","tags":[]},"8100":{"isSerializedDate":true,"string":"Thu Jan 19 2012 14:41:57 GMT+0100 (CET)"},"8101":{"varMapping":{"__isSmartRef__":true,"id":8102},"source":"function itemsFromFinds(finds) {\n var searchString = this.get('searchText').textString;\n var items = finds.collect(function(ea) {\n var pref = \"\" + ea.type + \" \";\n if (ea.search == \"sender\") pref += \"full: \"\n if (ea.search == \"implementor\") pref += \"name: \"\n var string = pref + ea.string;\n var func = ea.object[ea.method];\n if (func.belongsToTrait) \n string += ' / ' + func.belongsToTrait + '' \n\n var result = {\n isListItem: true,\n value: ea,\n string: string,\n doNotSerialize: ['value'],\n priority: {implementor: \"B\", sender: \"C\"}[ea.search] || \"D\",\n };\n if (ea.method == searchString) result.priority = \"A\"\n return result\n })\n items = items.sortBy(function(ea) {return ea.priority + ea.string})\n return items\n}","funcProperties":{"__isSmartRef__":true,"id":8103},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8102":{"this":{"__isSmartRef__":true,"id":7821}},"8103":{"timestamp":{"__isSmartRef__":true,"id":8104},"user":"undefined","tags":[]},"8104":{"isSerializedDate":true,"string":"Fri Feb 03 2012 15:31:52 GMT+0100 (CET)"},"8105":{"varMapping":{"__isSmartRef__":true,"id":8106},"source":"function browseMethod() {\n alertOK('browseMethod')\n var methodItem = this.get('searchResultList').selection;\n if (methodItem.type == 'layer') {\n var layer = methodItem.object[methodItem.method];\n this.openMethodInSystemBrowser(methodItem.method, \n undefined, layer.sourceModule);\n return\n }\n\n if (!this.targetFunction) return;\n var methodName = this.targetFunction.methodName || this.targetFunction.displayName; \n if(this.targetFunction.declaredClass) {\n var classObj = eval(this.targetFunction.declaredClass)\n this.openMethodInSystemBrowser(classObj.type, methodName);\n return;\n }\n if(this.targetFunction.belongsToTrait) {\n this.openMethodInSystemBrowser(this.targetFunction.belongsToTrait.name, methodName);\n return;\n }\n if(Class.isClass(this.targetObject)) {\n this.openMethodInSystemBrowser(this.targetObject.type, methodName);\n return;\n }\n if(this.targetObject.namespaceIdentifier) {\n this.openMethodInSystemBrowser(this.targetObject.namespaceIdentifier, methodName);\n return;\n }\n if(this.targetObject instanceof lively.morphic.Morph) {\n var editor = this.world().openObjectEditorFor(this.targetObject);\n editor.align(editor.bounds().center(), this.world().visibleBounds().center());\n return;\n }\n if (Class.isClass(this.targetFunction)) {\n // constructor\n this.openMethodInSystemBrowser(this.targetFunction.displayName);\n return;\n }\n \n alertOK('not implemented yet for ' + this.targetFunction)\n}","funcProperties":{"__isSmartRef__":true,"id":8107},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8106":{"this":{"__isSmartRef__":true,"id":7821}},"8107":{"timestamp":{"__isSmartRef__":true,"id":8108},"user":"undefined","tags":[]},"8108":{"isSerializedDate":true,"string":"Thu Jan 19 2012 16:54:12 GMT+0100 (CET)"},"8109":{"varMapping":{"__isSmartRef__":true,"id":8110},"source":"function openMethodInSystemBrowser(objectName, methodName, optSourceModule) {\n if (objectName)\n objectName = objectName.replace(/^Global\\./,\"\");\n // alertOK(\"browse \" + objectName + \":\" + methodName)\n // objectName = 'SelectionMorphTrait', methodName = 'onDrag'\n var sourceModule = optSourceModule ||\n this.findSourceModule(this.targetFunction);\n if (!sourceModule) \n alert('could not browse, since no source module found!')\n var uri = new URL(sourceModule.uri()),\n relative = uri.relativePathFrom(new URL(Config.codeBase)),\n moduleNode = lively.ide.startSourceControl().addModule(relative),\n rootNode = moduleNode.ast();\n\n var fileFragments = rootNode.subElements(10).select(function(ea) {\n var path = ea.getOwnerNamePath()\n if (objectName == \"Global\")\n return path.include(methodName);\n return path.include(objectName) && (!methodName || path.include(methodName)) \n });\n \n\n\n // alertOK(\"found following places to browse: \" + fileFragments)\n if (fileFragments.length > 0) {\n fileFragments[0].browseIt()\n } else {\n alert(\"browse failed. Nothing found for \" + objectName + \">>\" + methodName + \" in \" + sourceModule.uri());\n rootNode.browseIt();\n }\n\n}","funcProperties":{"__isSmartRef__":true,"id":8111},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8110":{"this":{"__isSmartRef__":true,"id":7821}},"8111":{"timestamp":{"__isSmartRef__":true,"id":8112},"user":"jenslincke","tags":[]},"8112":{"isSerializedDate":true,"string":"Thu Feb 09 2012 11:27:23 GMT+0100 (CET)"},"8113":{"varMapping":{"__isSmartRef__":true,"id":8114},"source":"function findSourceModule(funcObj) {\n if (this.targetFunction.belongsToTrait) \n return this.targetFunction.belongsToTrait.sourceModule\n if (funcObj.sourceModule)\n return funcObj.sourceModule;\n // look in the class\n if (!funcObj.sourceModule && funcObj.declaredClass) {\n var classObj = eval(funcObj.declaredClass)\n return classObj.sourceModule\n }\n}","funcProperties":{"__isSmartRef__":true,"id":8115},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8114":{"this":{"__isSmartRef__":true,"id":7821}},"8115":{"timestamp":{"__isSmartRef__":true,"id":8116},"user":"jenslincke","tags":[]},"8116":{"isSerializedDate":true,"string":"Fri Nov 04 2011 15:27:13 GMT+0100 (CET)"},"8117":{"varMapping":{"__isSmartRef__":true,"id":8118},"source":"function searchOnServer() {\n var serverSearch = this.world().openPartItem('ServerSearch', 'PartsBin/Tools'); \n serverSearch.setSearch(this.get('searchText').textString)\n}","funcProperties":{"__isSmartRef__":true,"id":8119},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8118":{"this":{"__isSmartRef__":true,"id":7821}},"8119":{"timestamp":{"__isSmartRef__":true,"id":8120},"user":"jenslincke","tags":[]},"8120":{"isSerializedDate":true,"string":"Fri Nov 18 2011 11:40:23 GMT+0100 (CET)"},"8121":{"varMapping":{"__isSmartRef__":true,"id":8122},"source":"function showLayerDefinition(methodItem) {\n var info = \"layer definition\" \n var source = \"TODO: print layer def here...\"\n this.get('infoText').setTextString(info)\n this.get('sourceText').setTextString(source)\n}","funcProperties":{"__isSmartRef__":true,"id":8123},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8122":{"this":{"__isSmartRef__":true,"id":7821}},"8123":{"timestamp":{"__isSmartRef__":true,"id":8124},"user":"undefined","tags":[]},"8124":{"isSerializedDate":true,"string":"Thu Jan 19 2012 15:30:43 GMT+0100 (CET)"},"8125":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor","_Fill"],"_BorderWidth":1,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(872.1,440.7)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(204,204,204)","_Fill":"Color.rgb(255,255,255)"},"8126":{"morph":{"__isSmartRef__":true,"id":7820},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8127":{"resizeWidth":true,"resizeHeight":true,"adjustForNewBounds":true},"8128":{"submorphs":[{"__isSmartRef__":true,"id":8129},{"__isSmartRef__":true,"id":8134}],"scripts":[],"shape":{"__isSmartRef__":true,"id":8145},"eventHandler":{"__isSmartRef__":true,"id":8146},"_ClipMode":"visible","derivationIds":[],"id":"4C5DD33F-19DD-41F5-A18A-092B886F4857","droppingEnabled":true,"halosEnabled":true,"tabBar":{"__isSmartRef__":true,"id":6034},"tabBarOffset":180,"layout":{"__isSmartRef__":true,"id":8147},"pane":{"__isSmartRef__":true,"id":8148},"label":{"__isSmartRef__":true,"id":8129},"name":"S:unEmphasizeSelection","grabbingEnabled":false,"draggingEnabled":false,"closeButton":{"__isSmartRef__":true,"id":8134},"owner":{"__isSmartRef__":true,"id":6034},"__serializedExpressions__":["_Position"],"isActive":false,"__LivelyClassName__":"lively.morphic.Tab","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","_Position":"lively.pt(180.0,0.0)"},"8129":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":8130},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":8131}],"eventHandler":{"__isSmartRef__":true,"id":8133},"_ClipMode":"hidden","derivationIds":[],"id":"9D20FC48-102E-4654-B831-2EAC7D666377","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"isLabel":true,"eventsAreIgnored":true,"eventsAreDisabled":true,"_PointerEvents":"none","owner":{"__isSmartRef__":true,"id":8128},"_FontWeight":null,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(5.0,5.0)"},"8130":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(164.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"8131":{"style":{"__isSmartRef__":true,"id":8132},"chunkOwner":{"__isSmartRef__":true,"id":8129},"_id":"_13695","storedString":"S:unEmphasizeSelection","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8132":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8133":{"morph":{"__isSmartRef__":true,"id":8129},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8134":{"submorphs":[{"__isSmartRef__":true,"id":8135}],"scripts":[],"shape":{"__isSmartRef__":true,"id":8140},"eventHandler":{"__isSmartRef__":true,"id":8141},"_ClipMode":"visible","derivationIds":[],"id":"0CF2F8DE-388E-4F4D-A0F4-4EC33322F2F0","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":8135},"_PreviousBorderWidth":1,"owner":{"__isSmartRef__":true,"id":8128},"__serializedExpressions__":["_Position"],"layout":{"__isSmartRef__":true,"id":8142},"attributeConnections":[{"__isSmartRef__":true,"id":8143}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"isPressed":false,"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(67.0,6.0)"},"8135":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":8136},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":8137}],"eventHandler":{"__isSmartRef__":true,"id":8139},"_ClipMode":"hidden","derivationIds":[],"id":"2CDDDF81-A0E3-4CC6-803D-8DBD5EBCCF3D","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor"],"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":8134},"isLabel":true,"_Align":"center","eventsAreIgnored":true,"_TextStylingMode":true,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(0,0,0)"},"8136":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(20.0,20.0)","_Padding":"lively.rect(0,3,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"8137":{"style":{"__isSmartRef__":true,"id":8138},"chunkOwner":{"__isSmartRef__":true,"id":8135},"_id":"_13694","storedString":"X","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8138":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8139":{"morph":{"__isSmartRef__":true,"id":8135},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8140":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":1,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(20.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"8141":{"morph":{"__isSmartRef__":true,"id":8134},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8142":{"moveHorizontal":true},"8143":{"sourceObj":{"__isSmartRef__":true,"id":8134},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":8128},"targetMethodName":"closeTab","varMapping":{"__isSmartRef__":true,"id":8144},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8144":{"source":{"__isSmartRef__":true,"id":8134},"target":{"__isSmartRef__":true,"id":8128}},"8145":{"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"_BorderWidth":1,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(90.0,30.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(204,204,204)","_BorderColor":"Color.rgb(204,204,204)"},"8146":{"morph":{"__isSmartRef__":true,"id":8128},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8147":{"adjustForNewBounds":true},"8148":{"submorphs":[{"__isSmartRef__":true,"id":8149}],"scripts":[],"shape":{"__isSmartRef__":true,"id":8423},"eventHandler":{"__isSmartRef__":true,"id":8424},"_ClipMode":"scroll","derivationIds":[],"id":"1118FA66-9149-46B0-A7EE-609FBB7C8880","grabbingEnabled":false,"droppingEnabled":true,"halosEnabled":true,"draggingEnabled":false,"layout":{"__isSmartRef__":true,"id":8425},"tab":{"__isSmartRef__":true,"id":8128},"tabBar":{"__isSmartRef__":true,"id":6034},"name":"S:unEmphasizeSelection - Pane","owner":{"__isSmartRef__":true,"id":6033},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.TabPane","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","_Position":"lively.pt(0.0,30.0)"},"8149":{"submorphs":[{"__isSmartRef__":true,"id":8150},{"__isSmartRef__":true,"id":8157},{"__isSmartRef__":true,"id":8177},{"__isSmartRef__":true,"id":8187},{"__isSmartRef__":true,"id":8276},{"__isSmartRef__":true,"id":8282},{"__isSmartRef__":true,"id":8302},{"__isSmartRef__":true,"id":8345}],"scripts":[],"id":"C327CE74-BB9F-4E91-B87E-2FCF66CFBE28","shape":{"__isSmartRef__":true,"id":8371},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"MethodFinderPane2","partsBinMetaInfo":{"__isSmartRef__":true,"id":8053},"isCopyMorphRef":true,"morphRefId":1,"layout":{"__isSmartRef__":true,"id":8372},"eventHandler":{"__isSmartRef__":true,"id":8373},"doNotSerialize":["targetFunction","targetObject"],"prevScroll":[0,0],"isBeingDragged":false,"derivationIds":[204,"90F6ED76-D56E-436C-96E7-CBFE7106283E","53162F18-6DD1-4230-B30F-EC4BA7B7A9ED","73F374A9-9CEE-4D2E-8BA6-030971E02396","0859BA09-FE36-4B7E-85B5-A141B84A252C","AB402971-988F-4D01-AE49-87C1AFEAA1C3","A80F8C19-12D2-49AF-941A-2454433D2A59","9370F962-CBB6-42C0-8F15-79D0F66045FD","2F24C0FF-1360-4C35-BE22-B5DE5FFAB3F4","81FC43AC-A19A-48A5-B854-601A302E5585","BBF2876B-A928-4012-A9BD-A39052E30483","3E2C739C-3BA6-4C2C-B7FB-A726AA7015BB","B55E78F3-F8DB-4034-91E7-0D1B364B82DA","FF257E99-B7E7-4837-8F67-965F5DAEC58F"],"moved":true,"_ClipMode":"visible","_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","distanceToDragEvent"],"owner":{"__isSmartRef__":true,"id":8148},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":8374},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)","distanceToDragEvent":"lively.pt(583.4,-13.9)"},"8150":{"submorphs":[],"scripts":[],"id":"F31EB7DD-8C7D-4559-9EB6-6A6920083402","shape":{"__isSmartRef__":true,"id":8151},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":true,"allowsInput":true,"_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":287,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":13,"name":"searchText","partsBinMetaInfo":{"__isSmartRef__":true,"id":8152},"owner":{"__isSmartRef__":true,"id":8149},"charsReplaced":"enter method name here","lastFindLoc":22,"attributeConnections":[{"__isSmartRef__":true,"id":8153}],"doNotSerialize":["$$savedTextString"],"doNotCopyProperties":["$$savedTextString"],"isInputLine":true,"_WhiteSpaceHandling":"pre-wrap","allowInput":true,"textChunks":[{"__isSmartRef__":true,"id":8154}],"prevScroll":[0,0],"_ClipMode":"hidden","lastSearchString":"prev","eventHandler":{"__isSmartRef__":true,"id":8156},"_MinTextWidth":287,"_MinTextHeight":null,"previousSelection":[0,0],"isBeingDragged":false,"derivationIds":[205,"63CD6525-ECE4-4F52-A84B-27633C22F3F9","D7B775A2-513B-4768-AB24-6718580E61A9","FE8FA703-C984-4702-8139-2C4E9353FB41","2C124317-773E-498D-BB6D-9BEC99637AF3","BFDC0BE7-0289-4FA0-A2EC-14EF2BA09445","E16771FE-0062-4803-9678-9625DB0CFBFA","B9D2EC7D-E050-4D3D-8ABC-52D8ACA55936","196DC9F1-78FF-488F-80AB-8129A171A1C9","F2FB3FCC-8AE2-4DFB-AD6F-3DE2513762B0","4897081D-DCA7-4D33-B262-00412C9821FD","9DEE84F9-6727-4802-BD51-456C40E212F1","3868C69C-36F7-42FF-95C8-191FBE40BCA2","E8E15F14-A537-4CCB-8603-2B7814C74B21"],"savedTextString":"bla","_WordBreak":"break-all","_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","textColor","distanceToDragEvent"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(10.0,17.0)","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(199.7,-15.5)"},"8151":{"fill":null,"_BorderWidth":1,"_ClipMode":"hidden","_BorderRadius":4,"__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(292.0,25.0)","_BorderColor":"Color.rgb(102,102,102)","_Padding":"lively.rect(3,3,-3,-3)"},"8152":{"partsSpaceName":"PartsBin/NewWorld","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"8153":{"sourceObj":{"__isSmartRef__":true,"id":8150},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":8149},"targetMethodName":"search","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8154":{"style":{"__isSmartRef__":true,"id":8155},"chunkOwner":{"__isSmartRef__":true,"id":8150},"_id":"_13696","storedString":"unEmphasizeSelection","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8155":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8156":{"morph":{"__isSmartRef__":true,"id":8150},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8157":{"submorphs":[{"__isSmartRef__":true,"id":8158}],"scripts":[],"id":"1B9DBE4C-A8ED-4CF3-B834-586AE92083E5","shape":{"__isSmartRef__":true,"id":8163},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":8164},"lighterFill":{"__isSmartRef__":true,"id":8169},"label":{"__isSmartRef__":true,"id":8158},"showsHalos":false,"name":"searchButton","partsBinMetaInfo":{"__isSmartRef__":true,"id":8174},"owner":{"__isSmartRef__":true,"id":8149},"attributeConnections":[{"__isSmartRef__":true,"id":8175}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"eventHandler":{"__isSmartRef__":true,"id":8176},"derivationIds":[206,"CB9026E7-BAD5-49AB-B6E0-88B46D561743","C2FEDA8A-ABCE-426D-BB39-F8B4C0CCBE5F","21DC60CF-D1A0-4B54-9B91-F82A50CF8D3A","6E0B3DCD-9AD6-4AAF-A854-252E628FC222","457022C0-0CD0-426F-89B8-DAA8E3AA15C0","AE87A8FC-A7FF-40D5-B8B3-351194957A1B","0107A29A-C954-43A8-82FD-CEE77E946A25","E82E1B35-1C20-4BE4-A5CB-0936E7D4AD20","7485F277-13B5-4FF4-9B90-10385A227006","216A87FA-4CA8-4657-886E-D2EE1398E86F","051E1CDB-3E9B-41A7-89A7-24E539E5FA37","94585AAD-3EC1-42EB-9974-C981FF5A4539","9B4E4399-5243-44AB-A0E1-0C79DC36B095"],"_ClipMode":"visible","_Rotation":0,"_Scale":1,"isPressed":false,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(310.0,20.0)","distanceToDragEvent":"lively.pt(53.7,-21.5)"},"8158":{"submorphs":[],"scripts":[],"id":"6F3E4307-1B91-410F-8432-767301FD908C","shape":{"__isSmartRef__":true,"id":8159},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":false,"_FontFamily":"Helvetica","registeredForMouseEvents":true,"_MaxTextWidth":77,"_MaxTextHeight":null,"owner":{"__isSmartRef__":true,"id":8157},"isLabel":true,"eventsAreIgnored":true,"textStyle":null,"textChunks":[{"__isSmartRef__":true,"id":8160}],"prevScroll":[0,0],"_ClipMode":"hidden","_Align":"center","eventHandler":{"__isSmartRef__":true,"id":8162},"_HandStyle":"default","_PointerEvents":"none","_MinTextWidth":77,"_MinTextHeight":null,"derivationIds":[207,"9A623BA1-A240-454B-B0DD-53932A371FB3","9E828467-210E-44D4-8E3D-17C5F92B1AAE","75AF52F1-0E7E-419A-BC00-5CCC0D52CEDC","F3C81240-9550-45C3-8B7A-8A3C0ED15BE6","70D8CC33-5AEE-45B5-AC0B-B9A6350C7F51","C80D2176-BA4F-4DCF-88D8-540ADE03E6B9","CB9FE42C-61BF-409D-9CC7-1F1B094C61FA","BF7D1270-418D-46A3-95E5-991F82DAD8C6","CDA433D8-442B-4D3A-A58E-F9C5FCED9086","039DDED5-FFAA-423A-99F2-2236BB594511","E618043F-74DF-4D4A-991F-5AA47FD766F8","B41F9418-E248-400B-AD6D-4963C128AB45","E16D344F-E777-424E-A4D0-8EB94CF53A44"],"_WordBreak":"break-all","_Scale":1,"__serializedExpressions__":["_Position","padding","_Padding"],"__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)"},"8159":{"_BorderWidth":0,"_Fill":null,"_ClipMode":"hidden","__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(77.0,20.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"8160":{"style":{"__isSmartRef__":true,"id":8161},"morph":{"__isSmartRef__":true,"id":8158},"chunkOwner":{"__isSmartRef__":true,"id":8158},"storedString":"search","_id":"_150","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8161":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8162":{"morph":{"__isSmartRef__":true,"id":8158},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8163":{"_BorderWidth":1,"_Fill":{"__isSmartRef__":true,"id":8164},"_BorderRadius":5,"_ClipMode":"visible","_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(77.0,20.0)","_BorderColor":"Color.rgb(66,66,66)","_Padding":"lively.rect(0,0,0,0)"},"8164":{"stops":[{"__isSmartRef__":true,"id":8165},{"__isSmartRef__":true,"id":8166},{"__isSmartRef__":true,"id":8167},{"__isSmartRef__":true,"id":8168}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"8165":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"8166":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"8167":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"8168":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(240,240,240)"},"8169":{"stops":[{"__isSmartRef__":true,"id":8170},{"__isSmartRef__":true,"id":8171},{"__isSmartRef__":true,"id":8172},{"__isSmartRef__":true,"id":8173}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"8170":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"8171":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"8172":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"8173":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"8174":{"partsSpaceName":"PartsBin/NewWorld","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"8175":{"sourceObj":{"__isSmartRef__":true,"id":8157},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":8150},"targetMethodName":"doSave","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8176":{"morph":{"__isSmartRef__":true,"id":8157},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8177":{"submorphs":[],"scripts":[],"id":"2DD8B978-2B8E-410B-AD6C-0F5327C8FCF3","shape":{"__isSmartRef__":true,"id":8178},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"itemList":[{"__isSmartRef__":true,"id":8179},{"__isSmartRef__":true,"id":8180},{"__isSmartRef__":true,"id":8181}],"showsHalos":false,"name":"searchResultList","partsBinMetaInfo":{"__isSmartRef__":true,"id":8182},"owner":{"__isSmartRef__":true,"id":8149},"attributeConnections":[{"__isSmartRef__":true,"id":8183}],"doNotSerialize":["$$selection"],"doNotCopyProperties":["$$selection"],"prevScroll":[0,192],"resizeHeight":true,"resizeWidth":true,"layout":{"__isSmartRef__":true,"id":8184},"eventHandler":{"__isSmartRef__":true,"id":8185},"isBeingDragged":false,"derivationIds":[208,"884F3C31-F47F-4325-B01C-55796601323C","AF542C45-CFC5-475A-B28E-37B7FC51E468","C6B09735-9683-446C-A39C-E4924083B282","7860DCD2-EC25-4F34-B79B-18C47FBEE925","7ACC50AB-EE77-4AD9-8731-20150C616D1C","6A21BD7F-EC45-467D-BDA4-F218B9407920","0B0BFDF5-91C4-4369-AB7F-07CDAE8813BF","0D9A4870-E562-4C17-A057-3DB8D1C9234C","854096E7-42E2-48F4-B656-D1AE606FAEBF","659ABB8A-3E6D-4E1C-864B-CE8459AD730A","1A73ECB5-B976-457C-8138-8385DBD45070","2A6C9E8E-DFFC-4DE3-A9F0-2624BE97EB96","5CE28027-78AA-4148-84D2-7B4305C0BE89"],"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","distanceToDragEvent"],"selection":{"__isSmartRef__":true,"id":8186},"selectedLineNo":0,"__LivelyClassName__":"lively.morphic.List","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(10.0,50.0)","distanceToDragEvent":"lively.pt(589.7,-14.5)"},"8178":{"_BorderWidth":0,"__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(845.6,140.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(243,243,243)","_Padding":"lively.rect(0,0,0,0)"},"8179":{"isListItem":true,"string":"class name: Text: unEmphasizeSelection","doNotSerialize":["value"],"priority":"A"},"8180":{"isListItem":true,"string":"class full: Text: processCommandKeys","doNotSerialize":["value"],"priority":"C"},"8181":{"isListItem":true,"string":"script full: MethodFinderPane(46658197-DC02-4106-8474-6889B9945656): targetFunction","doNotSerialize":["value"],"priority":"C"},"8182":{"partsSpaceName":"PartsBin/NewWorld","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"8183":{"sourceObj":{"__isSmartRef__":true,"id":8177},"sourceAttrName":"selection","targetObj":{"__isSmartRef__":true,"id":8149},"targetMethodName":"browse","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8184":{"resizeWidth":true},"8185":{"morph":{"__isSmartRef__":true,"id":8177},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8186":{"object":{"__isSmartRef__":true,"id":6098},"method":"unEmphasizeSelection","string":"Text: unEmphasizeSelection","type":"class","search":"implementor"},"8187":{"submorphs":[],"scripts":[],"id":"19CB4F53-7BDA-4FE0-A539-31A8922AFA9D","shape":{"__isSmartRef__":true,"id":8188},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":true,"_FontFamily":"Monaco, Courier","registeredForMouseEvents":true,"_MaxTextWidth":845.9484727040478,"_MaxTextHeight":null,"textStyle":null,"layout":{"__isSmartRef__":true,"id":8189},"doitContext":{"__isSmartRef__":true,"id":8149},"charsReplaced":"","lastFindLoc":130,"showsHalos":false,"name":"sourceText","savedTextString":"// changes here only affect runtime\nObject.extend(lively.morphic.Morph,{\n\tmakeLine:function (verts, lineWidth, lineColor) {\n\t\tif (verts.length < 2) return null;\n\t\tif (verts.length > 2) {\n\t\t\t// Polylines become a mere blob for now...\n\t\t\tvar morph = this.makeRectangle(Rectangle.unionPts(verts));\n\t\t\tmorph.setBorderWidth(lineWidth);\n\t\t\tmorph.setBorderColor(lineColor);\n\t\t\tmorph.setFill(null);\n\t\t\treturn morph;\n\t\t} \n\t\t// Okay, it's a simple line...\n\t\tvar p1 = verts[0]; var p2 = verts[1];\n\t\tvar v = p2.subPt(p1);\n \n\t\t// First make a horizontal line of the same length with origin at (0, 0)\n\t\tvar morph = this.makeRectangle(Rectangle.unionPts([pt(0, -lineWidth/2), Point.polar(v.r(), 0).addXY(0, lineWidth/2)]));\n\n\t\t// *** Not right, but we want to make position and center of rot = (0, 0):\n\t\t// morph._Position = pt(0, 0);\n\n\t\tmorph.setBorderWidth(0);\n\t\tmorph.setFill(lineColor);\n\n\t\t// Then move and rotate, with first vertex being the rotation center\n\t\tmorph.moveBy(p1);\n\t\tmorph.setOrigin(pt(0, lineWidth/2));\n\t\tmorph.isLine = true;\n\t\treturn morph.rotateBy(v.theta());\n\t}\n});","textChunks":[{"__isSmartRef__":true,"id":8190},{"__isSmartRef__":true,"id":8192},{"__isSmartRef__":true,"id":8194},{"__isSmartRef__":true,"id":8196},{"__isSmartRef__":true,"id":8198},{"__isSmartRef__":true,"id":8200},{"__isSmartRef__":true,"id":8202},{"__isSmartRef__":true,"id":8204},{"__isSmartRef__":true,"id":8206},{"__isSmartRef__":true,"id":8208},{"__isSmartRef__":true,"id":8210},{"__isSmartRef__":true,"id":8212},{"__isSmartRef__":true,"id":8214},{"__isSmartRef__":true,"id":8216},{"__isSmartRef__":true,"id":8218},{"__isSmartRef__":true,"id":8220},{"__isSmartRef__":true,"id":8222},{"__isSmartRef__":true,"id":8224},{"__isSmartRef__":true,"id":8226},{"__isSmartRef__":true,"id":8228},{"__isSmartRef__":true,"id":8230},{"__isSmartRef__":true,"id":8232},{"__isSmartRef__":true,"id":8234},{"__isSmartRef__":true,"id":8236},{"__isSmartRef__":true,"id":8238},{"__isSmartRef__":true,"id":8240},{"__isSmartRef__":true,"id":8242},{"__isSmartRef__":true,"id":8244},{"__isSmartRef__":true,"id":8246},{"__isSmartRef__":true,"id":8248},{"__isSmartRef__":true,"id":8250},{"__isSmartRef__":true,"id":8252},{"__isSmartRef__":true,"id":8254},{"__isSmartRef__":true,"id":8256},{"__isSmartRef__":true,"id":8258}],"_ClipMode":"auto","prevScroll":[0,0],"_FontSize":9,"owner":{"__isSmartRef__":true,"id":8149},"lastSyntaxHighlightTime":1328782848221,"eventHandler":{"__isSmartRef__":true,"id":8260},"_MinTextWidth":845.9484727040478,"_MinTextHeight":null,"isBeingDragged":false,"derivationIds":[209,"04D0F127-514D-4BED-841E-6A4CEF4FFDDA","D40D5739-DE56-49F4-B02A-A4ED75AF054A","42528900-D082-4C7A-8E70-1E67923301D9","5167B7DC-8F45-4AD0-96D7-947FF3EE0BB7","D0BFE91E-6EF1-4165-A42C-CC81C9CD2050","04C1BABF-5514-417C-AE67-882A1252EB67","8B053B4D-76D1-4DCB-8E89-8E7ABA3EF3D1","CB2FFA38-BC16-4D98-A807-722CCCC26062","D19D6343-8887-4386-8B87-4560230A5D11","2FFE6CC8-A851-44E9-B6B7-9D9370DEB9C9","A1509C4A-C98B-44CF-ACF8-DA444E7A9B75","3013EDB1-7370-48ED-BF86-BFEFC8B71878","C779EE23-CB40-48E9-AFBE-B0595B1A3A6A"],"_WordBreak":"break-all","_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","distanceToDragEvent"],"_lastSyntaxHighlightTime":79,"previousSelection":[174,174],"priorSelectionRange":[168,179],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":8261},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(10.0,230.0)","distanceToDragEvent":"lively.pt(582.0,-20.5)"},"8188":{"_BorderWidth":1,"_ClipMode":"auto","_BorderRadius":4,"__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(845.6,195.7)","_BorderColor":"Color.rgb(102,102,102)","_Fill":"Color.rgb(243,243,243)","_Padding":"lively.rect(3,3,-3,-3)"},"8189":{"resizeWidth":true,"resizeHeight":true,"moveVertical":false,"moveHorizontal":false},"8190":{"style":{"__isSmartRef__":true,"id":8191},"chunkOwner":{"__isSmartRef__":true,"id":8187},"_id":"_13699","storedString":"//","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8191":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(128,0,0)"},"8192":{"_id":"_13771","style":{"__isSmartRef__":true,"id":8193},"chunkOwner":{"__isSmartRef__":true,"id":8187},"storedString":" changes here only affect runtime","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8193":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"8194":{"_id":"_13772","style":{"__isSmartRef__":true,"id":8195},"chunkOwner":{"__isSmartRef__":true,"id":8187},"storedString":"\n","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8195":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"8196":{"_id":"_13773","style":{"__isSmartRef__":true,"id":8197},"chunkOwner":{"__isSmartRef__":true,"id":8187},"storedString":"lively.morphic.Text","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8197":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"8198":{"_id":"_13774","style":{"__isSmartRef__":true,"id":8199},"chunkOwner":{"__isSmartRef__":true,"id":8187},"storedString":".","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8199":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"8200":{"_id":"_13775","style":{"__isSmartRef__":true,"id":8201},"chunkOwner":{"__isSmartRef__":true,"id":8187},"storedString":"addMethods","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8201":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(128,128,128)"},"8202":{"_id":"_13776","style":{"__isSmartRef__":true,"id":8203},"chunkOwner":{"__isSmartRef__":true,"id":8187},"storedString":"(","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8203":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"8204":{"_id":"_13777","style":{"__isSmartRef__":true,"id":8205},"chunkOwner":{"__isSmartRef__":true,"id":8187},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8205":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"8206":{"_id":"_13778","style":{"__isSmartRef__":true,"id":8207},"chunkOwner":{"__isSmartRef__":true,"id":8187},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8207":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"8208":{"_id":"_13700","style":{"__isSmartRef__":true,"id":8209},"chunkOwner":{"__isSmartRef__":true,"id":8187},"storedString":"unEmphasizeSelection:","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8209":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(139,0,0)"},"8210":{"_id":"_13779","style":{"__isSmartRef__":true,"id":8211},"chunkOwner":{"__isSmartRef__":true,"id":8187},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8211":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"8212":{"_id":"_13780","style":{"__isSmartRef__":true,"id":8213},"chunkOwner":{"__isSmartRef__":true,"id":8187},"storedString":"function","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8213":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"8214":{"_id":"_13781","style":{"__isSmartRef__":true,"id":8215},"chunkOwner":{"__isSmartRef__":true,"id":8187},"storedString":" () ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8215":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"8216":{"_id":"_13782","style":{"__isSmartRef__":true,"id":8217},"chunkOwner":{"__isSmartRef__":true,"id":8187},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8217":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"8218":{"_id":"_13783","style":{"__isSmartRef__":true,"id":8219},"chunkOwner":{"__isSmartRef__":true,"id":8187},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8219":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"8220":{"_id":"_13784","style":{"__isSmartRef__":true,"id":8221},"chunkOwner":{"__isSmartRef__":true,"id":8187},"storedString":"var","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8221":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"8222":{"_id":"_13785","style":{"__isSmartRef__":true,"id":8223},"chunkOwner":{"__isSmartRef__":true,"id":8187},"storedString":" range = ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8223":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"8224":{"_id":"_13786","style":{"__isSmartRef__":true,"id":8225},"chunkOwner":{"__isSmartRef__":true,"id":8187},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8225":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"8226":{"_id":"_13787","style":{"__isSmartRef__":true,"id":8227},"chunkOwner":{"__isSmartRef__":true,"id":8187},"storedString":".getSelectionRange();\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8227":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"8228":{"_id":"_13788","style":{"__isSmartRef__":true,"id":8229},"chunkOwner":{"__isSmartRef__":true,"id":8187},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8229":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"8230":{"_id":"_13789","style":{"__isSmartRef__":true,"id":8231},"chunkOwner":{"__isSmartRef__":true,"id":8187},"storedString":".unEmphasize(range[","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8231":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"8232":{"_id":"_13790","style":{"__isSmartRef__":true,"id":8233},"chunkOwner":{"__isSmartRef__":true,"id":8187},"storedString":"0","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8233":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,255)"},"8234":{"_id":"_13791","style":{"__isSmartRef__":true,"id":8235},"chunkOwner":{"__isSmartRef__":true,"id":8187},"storedString":"], range[","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8235":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"8236":{"_id":"_13792","style":{"__isSmartRef__":true,"id":8237},"chunkOwner":{"__isSmartRef__":true,"id":8187},"storedString":"1","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8237":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,255)"},"8238":{"_id":"_13793","style":{"__isSmartRef__":true,"id":8239},"chunkOwner":{"__isSmartRef__":true,"id":8187},"storedString":"]);\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8239":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"8240":{"_id":"_13794","style":{"__isSmartRef__":true,"id":8241},"chunkOwner":{"__isSmartRef__":true,"id":8187},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8241":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"8242":{"_id":"_13795","style":{"__isSmartRef__":true,"id":8243},"chunkOwner":{"__isSmartRef__":true,"id":8187},"storedString":".setSelectionRange(range[","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8243":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"8244":{"_id":"_13796","style":{"__isSmartRef__":true,"id":8245},"chunkOwner":{"__isSmartRef__":true,"id":8187},"storedString":"0","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8245":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,255)"},"8246":{"_id":"_13797","style":{"__isSmartRef__":true,"id":8247},"chunkOwner":{"__isSmartRef__":true,"id":8187},"storedString":"], range[","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8247":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"8248":{"_id":"_13798","style":{"__isSmartRef__":true,"id":8249},"chunkOwner":{"__isSmartRef__":true,"id":8187},"storedString":"1","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8249":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,255)"},"8250":{"_id":"_13799","style":{"__isSmartRef__":true,"id":8251},"chunkOwner":{"__isSmartRef__":true,"id":8187},"storedString":"]);\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8251":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"8252":{"_id":"_13800","style":{"__isSmartRef__":true,"id":8253},"chunkOwner":{"__isSmartRef__":true,"id":8187},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8253":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"8254":{"_id":"_13801","style":{"__isSmartRef__":true,"id":8255},"chunkOwner":{"__isSmartRef__":true,"id":8187},"storedString":"\n","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8255":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"8256":{"_id":"_13802","style":{"__isSmartRef__":true,"id":8257},"chunkOwner":{"__isSmartRef__":true,"id":8187},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8257":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"8258":{"_id":"_13803","style":{"__isSmartRef__":true,"id":8259},"chunkOwner":{"__isSmartRef__":true,"id":8187},"storedString":");","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8259":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"8260":{"morph":{"__isSmartRef__":true,"id":8187},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8261":{"doSave":{"__isSmartRef__":true,"id":8262},"getDoitContext":{"__isSmartRef__":true,"id":8269}},"8262":{"varMapping":{"__isSmartRef__":true,"id":8263},"source":"function doSave() {\n\t$super()\n\talertOK(\"eval all for \" + this.getDoitContext())\n\tthis.boundEval(this.textString)\n}","funcProperties":{"__isSmartRef__":true,"id":8268},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8263":{"this":{"__isSmartRef__":true,"id":8187},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":8264}},"8264":{"$super":{"__isSmartRef__":true,"id":8265}},"8265":{"varMapping":{"__isSmartRef__":true,"id":8266},"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":8267},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8266":{"obj":{"__isSmartRef__":true,"id":8187},"name":"doSave"},"8267":{},"8268":{},"8269":{"varMapping":{"__isSmartRef__":true,"id":8270},"source":"function getDoitContext() {\n\treturn this.owner.targetObject\n}","funcProperties":{"__isSmartRef__":true,"id":8275},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8270":{"this":{"__isSmartRef__":true,"id":8187},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":8271}},"8271":{"$super":{"__isSmartRef__":true,"id":8272}},"8272":{"varMapping":{"__isSmartRef__":true,"id":8273},"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":8274},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8273":{"obj":{"__isSmartRef__":true,"id":8187},"name":"getDoitContext"},"8274":{},"8275":{},"8276":{"submorphs":[],"scripts":[],"id":"CA7B25B8-B8DD-4BDB-B721-59E546A5FAD6","shape":{"__isSmartRef__":true,"id":8277},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":true,"_FontFamily":"Monaco, Courier","registeredForMouseEvents":true,"_MaxTextWidth":846.9484727040478,"_MaxTextHeight":null,"textStyle":null,"layout":{"__isSmartRef__":true,"id":8278},"charsReplaced":"","lastFindLoc":697,"showsHalos":false,"name":"infoText","savedTextString":"// MethodFinder (this)\n\n// ** MethodFinder's Scripts **\nthis.addScript(function browse(fileFragment) {\n\tfileFragment && fileFragment.browseIt()\n});\n\nthis.addScript(function reset() {\n\tthis.get('searchResultList').updateList([]);\n\tthis.get('searchResultList').setSelection(null);\n\tthis.get('searchText').setTextString('enter search term here');\n});\n\n\nthis.addScript(function search(searchString) {\n\tvar finds = [];\n\tvar re = new RegExp(searchString)\n\tvar i=0;\n\tvar time = Functions.timeToRun(function() {\n\tGlobal.classes(true).forEach(function(eaClass) {\n\t\tFunctions.own(eaClass.prototype)\n\t\t\t.forEach(function(eaMethod) {\n\t\t\t\ti++;\n\t\t\t\tif (eaMethod.match(re)){\n\t\t\t\t\tfinds.push([eaClass, eaMethod])\n\t\t\t\t}\t\n\t\t\t})\t\n\t})})\n\talert(\"search \" + i + \" methods, found \" + finds.length + \" methods in \" + time + \"ms\")\n\n\tvar items = finds.collect(function(ea) {\n\t\treturn {\n\t\t\tisListItem: true,\n\t\t\tvalue: ea,\n\t\t\tstring: ea[0].name + \": \" + ea[1],\n\t\t}\n\t})\n\tthis.get('searchResultList').updateList(items);\n});","textChunks":[{"__isSmartRef__":true,"id":8279}],"_ClipMode":"hidden","prevScroll":[0,0],"_FontSize":10,"owner":{"__isSmartRef__":true,"id":8149},"eventHandler":{"__isSmartRef__":true,"id":8281},"_MinTextWidth":846.9484727040478,"_MinTextHeight":null,"derivationIds":[210,"E20B9061-6128-4BD4-BE8B-4B50F9BC8EA1","FFFED58E-70A3-4945-A7C8-19E2C0754BB7","1B69878E-8E43-4E25-BAE7-3D64CAE35839","2770B759-8971-45F4-8291-6DA85EBD1155","B0E0F94A-1BB3-405B-87BB-3C1199A8EB79","8EF852C4-A375-4F84-873C-4277F9A99D52","AA10C5AE-8C29-45DA-8CA5-A0E286F80E82","4B3576CB-50DD-49DF-913C-88D34002B5DC","B9692647-A99C-4A20-9C6C-3DF722D48DDE","109C8B5F-DBAA-490E-A061-CB3004CD8634","6494496E-CBF0-4256-ACA4-D7E7B674F7CE","7B312F1D-97DF-400B-B6A2-F871E0D93348","705B3C30-29F1-486C-AF08-7E7D03078BAF"],"_WordBreak":"break-all","_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(10.0,200.0)","distanceToDragEvent":"lively.pt(587.0,-13.5)"},"8277":{"_BorderWidth":1,"_ClipMode":"hidden","_BorderRadius":4,"__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(845.6,20.0)","_BorderColor":"Color.rgb(102,102,102)","_Fill":"Color.rgb(243,243,243)","_Padding":"lively.rect(2,1,-2,-1)"},"8278":{"resizeWidth":true,"resizeHeight":false,"moveVertical":false,"moveHorizontal":false},"8279":{"style":{"__isSmartRef__":true,"id":8280},"chunkOwner":{"__isSmartRef__":true,"id":8276},"_id":"_13702","storedString":"module(Global.lively.morphic.TextCore)","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8280":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8281":{"morph":{"__isSmartRef__":true,"id":8276},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8282":{"submorphs":[{"__isSmartRef__":true,"id":8283}],"scripts":[],"id":"39BF9A3D-18A4-45D3-BF4D-70870630C041","shape":{"__isSmartRef__":true,"id":8288},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":8289},"lighterFill":{"__isSmartRef__":true,"id":8294},"label":{"__isSmartRef__":true,"id":8283},"showsHalos":false,"name":"browse","partsBinMetaInfo":{"__isSmartRef__":true,"id":8299},"attributeConnections":[{"__isSmartRef__":true,"id":8300}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"eventHandler":{"__isSmartRef__":true,"id":8301},"owner":{"__isSmartRef__":true,"id":8149},"derivationIds":[211,"72C2FBB1-F169-43CC-AC8A-C0889FCB1663","8CF07460-17AC-4EC3-83C4-E31D52336E14","BE09102D-553E-4BB6-84A6-4D428731DD1B","2D43F043-9567-4765-A19C-7C922F0DFFE7","A77836E8-3C83-4A1D-B37A-7DDBA7FE13DE","13EB973D-FF17-4A76-AD4B-13347D80B1A9","8A92D97E-6965-49F7-B2B0-8842FB9ADCDF","662F4742-3BD8-4D39-88CB-EE97BC2306D6","8F15DC2D-892E-4B0F-83CB-8E7012281BEB","57A38C48-8036-4D85-91C8-9F60FE72DACE","5F6BEEC4-A021-4428-AC2A-14F8A4F9B68C","BF69FE04-AF9D-48BC-B4F9-5B9CFB4720D3","1B2B2CB4-3ABA-4387-A3D2-E8436B9DC849"],"_ClipMode":"visible","_Rotation":0,"_Scale":1,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","distanceToDragEvent":"lively.pt(53.7,-17.2)","_Position":"lively.pt(400.0,20.0)"},"8283":{"submorphs":[],"scripts":[],"id":"B14F2E03-BB97-45D3-97CE-F022C2EC9CCB","shape":{"__isSmartRef__":true,"id":8284},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":false,"_FontFamily":"Helvetica","registeredForMouseEvents":true,"_MaxTextWidth":78,"_MaxTextHeight":null,"owner":{"__isSmartRef__":true,"id":8282},"isLabel":true,"eventsAreIgnored":true,"textStyle":null,"textChunks":[{"__isSmartRef__":true,"id":8285}],"prevScroll":[0,0],"_ClipMode":"hidden","_Align":"center","eventHandler":{"__isSmartRef__":true,"id":8287},"_HandStyle":"default","_PointerEvents":"none","_MinTextWidth":78,"_MinTextHeight":null,"derivationIds":[212,"054FD83F-508D-488D-A011-8769DCB647DF","834D337A-5619-4055-B103-7BDAA88CD7A9","3C85FBE2-5C85-4CCF-B86A-25E65015429B","001D6261-96E2-4ACC-880A-8540815DC8D3","90FFCC86-B995-4F2F-872F-55A8A74FC99E","766B1A00-7692-4CAB-B106-01876B4D5F77","C36FA883-C0F4-47DA-B1A9-CB8D82C1C6E4","91BD5A6B-4A46-43EA-8FA0-2A5C4EFDD1A7","B8CDD839-4085-4D54-B360-5F4DAC2DD83C","C25AEC86-A78F-4355-A843-3CACF03215A8","B28C6DEB-10EF-40BF-BA3F-3BFA8EB2B14D","6943F355-5B63-4DAD-8A39-14319936A0E0","81DC2508-85EB-4052-AFA2-44CF083A45C5"],"_WordBreak":"break-all","_Scale":1,"__serializedExpressions__":["_Position","padding","_Padding"],"__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)"},"8284":{"_BorderWidth":0,"_Fill":null,"_ClipMode":"hidden","__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(78.0,20.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"8285":{"style":{"__isSmartRef__":true,"id":8286},"morph":{"__isSmartRef__":true,"id":8283},"chunkOwner":{"__isSmartRef__":true,"id":8283},"storedString":"browse","_id":"_152","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8286":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8287":{"morph":{"__isSmartRef__":true,"id":8283},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8288":{"_BorderWidth":1,"_Fill":{"__isSmartRef__":true,"id":8289},"_BorderRadius":5,"_ClipMode":"visible","_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(78.0,20.0)","_BorderColor":"Color.rgb(66,66,66)","_Padding":"lively.rect(0,0,0,0)"},"8289":{"stops":[{"__isSmartRef__":true,"id":8290},{"__isSmartRef__":true,"id":8291},{"__isSmartRef__":true,"id":8292},{"__isSmartRef__":true,"id":8293}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"8290":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"8291":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"8292":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"8293":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(240,240,240)"},"8294":{"stops":[{"__isSmartRef__":true,"id":8295},{"__isSmartRef__":true,"id":8296},{"__isSmartRef__":true,"id":8297},{"__isSmartRef__":true,"id":8298}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"8295":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"8296":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"8297":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"8298":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"8299":{"partsSpaceName":"PartsBin/NewWorld","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"8300":{"sourceObj":{"__isSmartRef__":true,"id":8282},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":8149},"targetMethodName":"browseMethod","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8301":{"morph":{"__isSmartRef__":true,"id":8282},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8302":{"submorphs":[{"__isSmartRef__":true,"id":8303}],"scripts":[],"id":"AF3D67C9-756C-4A85-904E-9976E963732C","shape":{"__isSmartRef__":true,"id":8308},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":8309},"lighterFill":{"__isSmartRef__":true,"id":8314},"label":{"__isSmartRef__":true,"id":8303},"name":"Button1","showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":8319},"attributeConnections":[{"__isSmartRef__":true,"id":8320}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"eventHandler":{"__isSmartRef__":true,"id":8343},"prevScroll":[0,0],"owner":{"__isSmartRef__":true,"id":8149},"layout":{"__isSmartRef__":true,"id":8344},"derivationIds":[213,"EC7B60B8-A81F-4F24-A467-A661149CA045","DF2DEFBB-9271-4448-98A1-D2137526C2C3","EBFAF287-C65D-425B-910E-D6ADC7FA9D02","7F2E684F-7CC3-4CC4-8B18-920427491622","F7E9C68E-814B-4197-9D5B-556DCF0EC4F6","3DC305C0-5A87-4ED4-B263-5E5333B947FB","A8805225-9530-403B-977E-A2929A077DD0","0BF85746-8777-4195-949A-8733B4D79B02","8E485E0B-1832-4C7C-A5B1-D14057A7F5E3","4793FFDA-8803-44C7-97D4-27DE49B5D8D0","3FDA3264-B677-48AF-95D0-46DDD933EFBF","3350B214-FDFD-4143-8AB5-4E475C31F760","332F671C-E259-47B3-B31D-F86A48741FAF"],"_ClipMode":"visible","_Rotation":0,"_Scale":1,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","distanceToDragEvent":"lively.pt(111.4,-11.4)","_Position":"lively.pt(490.0,19.0)"},"8303":{"submorphs":[],"scripts":[],"id":"FDD89326-067F-468E-9DD4-26867F766130","shape":{"__isSmartRef__":true,"id":8304},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":false,"_FontFamily":"Helvetica","registeredForMouseEvents":true,"_MaxTextWidth":157.05605605605615,"_MaxTextHeight":null,"textStyle":null,"owner":{"__isSmartRef__":true,"id":8302},"isLabel":true,"eventsAreIgnored":true,"_ClipMode":"hidden","textChunks":[{"__isSmartRef__":true,"id":8305}],"_Align":"center","eventHandler":{"__isSmartRef__":true,"id":8307},"_HandStyle":"default","_PointerEvents":"none","_MinTextWidth":157.05605605605615,"_MinTextHeight":null,"derivationIds":[214,"D88E1591-8BE5-4F54-AEB5-71BC24E2014D","FE6955F2-3796-4030-BD54-73604562225B","0F07A5A7-E04B-412A-8D91-2AA448965A0E","634A262F-940F-4590-8DB1-0738A6DF355A","221F164E-FD6F-40ED-8E18-E055A638CE93","1320C4DD-9213-40AA-A107-5EF8EBE9B22A","098E1029-F36B-4434-B20F-A2100DCCBB9A","39D48D5A-BB94-40BA-AB93-09B3B787EC3D","27F752E4-9705-4F8B-9CC4-6E5131892552","78776F49-7628-4F29-81F1-7AFC77BDAFE0","5ACE871C-A220-4C51-A9E1-9315BE30BB0A","D596A84E-3FB1-4A59-B12D-12FF54B0B37F","C7CF5CE2-FA69-432F-B05A-A8FDE7273491"],"_WordBreak":"break-all","_Scale":1,"__serializedExpressions__":["_Position","padding","_Padding"],"__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)"},"8304":{"_BorderWidth":0,"_Fill":null,"_ClipMode":"hidden","__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(157.1,21.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"8305":{"style":{"__isSmartRef__":true,"id":8306},"chunkOwner":{"__isSmartRef__":true,"id":8303},"storedString":"search on server","_id":"_153","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8306":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8307":{"morph":{"__isSmartRef__":true,"id":8303},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8308":{"_BorderWidth":1.1840000000000002,"_Fill":{"__isSmartRef__":true,"id":8309},"_BorderRadius":5.2,"_ClipMode":"visible","_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(157.1,21.0)","_BorderColor":"Color.rgb(66,66,66)","_Padding":"lively.rect(0,0,0,0)"},"8309":{"stops":[{"__isSmartRef__":true,"id":8310},{"__isSmartRef__":true,"id":8311},{"__isSmartRef__":true,"id":8312},{"__isSmartRef__":true,"id":8313}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"8310":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"8311":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"8312":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"8313":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(240,240,240)"},"8314":{"stops":[{"__isSmartRef__":true,"id":8315},{"__isSmartRef__":true,"id":8316},{"__isSmartRef__":true,"id":8317},{"__isSmartRef__":true,"id":8318}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"8315":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"8316":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"8317":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"8318":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"8319":{"partsSpaceName":"PartsBin/Inputs","migrationLevel":4,"partName":"Button","comment":"Has a script that is called on button press","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"8320":{"sourceObj":{"__isSmartRef__":true,"id":8302},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":8149},"targetMethodName":"searchOnServer","visualConnector":{"__isSmartRef__":true,"id":8321},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8321":{"submorphs":[{"__isSmartRef__":true,"id":8322}],"scripts":[],"shape":{"__isSmartRef__":true,"id":8329},"id":865,"eventHandler":{"__isSmartRef__":true,"id":8332},"__layered_droppingEnabled__":true,"halosEnabled":true,"owner":null,"controlPoints":[{"__isSmartRef__":true,"id":8333},{"__isSmartRef__":true,"id":8334}],"con":{"__isSmartRef__":true,"id":8320},"showsMorphMenu":true,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":8335},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"8322":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":8323},"id":866,"eventHandler":{"__isSmartRef__":true,"id":8328},"__layered_droppingEnabled__":true,"halosEnabled":true,"owner":{"__isSmartRef__":true,"id":8321},"_Rotation":-3.113822016996372,"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","_Position":"lively.pt(0.0,0.0)"},"8323":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":8324},{"__isSmartRef__":true,"id":8325},{"__isSmartRef__":true,"id":8326},{"__isSmartRef__":true,"id":8327}],"_ClipMode":"visible","_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(16.0,12.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(0,0,0)"},"8324":{"isAbsolute":true,"x":-12,"y":-6,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"8325":{"isAbsolute":true,"x":-12,"y":6,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"8326":{"isAbsolute":true,"x":4,"y":0,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"8327":{"isAbsolute":true,"x":-12,"y":-6,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"8328":{"morph":{"__isSmartRef__":true,"id":8322},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8329":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":8330},{"__isSmartRef__":true,"id":8331}],"_ClipMode":"visible","_BorderWidth":1,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Position":"lively.pt(-1.0,-1.0)","_Extent":"lively.pt(721.0,21.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"8330":{"isAbsolute":true,"x":719.9999999999999,"y":20,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"8331":{"isAbsolute":true,"x":0,"y":0,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"8332":{"morph":{"__isSmartRef__":true,"id":8321},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8333":{"morph":{"__isSmartRef__":true,"id":8321},"index":0,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"8334":{"morph":{"__isSmartRef__":true,"id":8321},"index":1,"connectedMagnet":null,"marker":{"__isSmartRef__":true,"id":8322},"markerDirection":"prev","__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"8335":{"morphMenuItems":{"__isSmartRef__":true,"id":8336}},"8336":{"varMapping":{"__isSmartRef__":true,"id":8337},"source":"function morphMenuItems() {\n var visualConnector = this, con = this.con, world = this.world();\n var items = [\n ['edit converter', function() {\n var source = con.converterString || \n 'function converter(value) {\\n return value\\n}',\n editor = new lively.morphic.Text(new Rectangle(0,0, 400, 200), source);\n editor.doitContext = con;\n connect(editor, 'savedTextString', con, 'converterString', {updater:\n function($upd, source) { this.targetObj.converter = null; $upd(source) }});\n connect(editor, 'savedTextString', world, 'alertOK', {converter: \n function() { return 'setting new converter' }})\n editor.applyStyle({syntaxHighlighting: true, \n fontFamily: 'Courier', resizeWidth: true, resizeHeight: true});\n var title = con.targetObj.name && con.sourceObj.name ?\n 'Editor for ' + con.targetObj.name + ' -> ' + con.sourceObj.name :\n 'Editor for converter function';\n var window = world.addFramedMorph(editor, title)\n window.align(window.bounds().topCenter(), \n visualConnector.bounds().bottomCenter())\n }],\n ['hide', function() {\n visualConnector.disconnectFromMagnets();\n visualConnector.remove();\n }],\n ['disconnect', function() {\n alertOK('Disconnected ' + visualConnector.con);\n visualConnector.con.visualDisconnect();\n }],\n ['cancel', function() {}],\n ];\n return items;\n }","funcProperties":{"__isSmartRef__":true,"id":8342},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8337":{"this":{"__isSmartRef__":true,"id":8321},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":8338}},"8338":{"$super":{"__isSmartRef__":true,"id":8339}},"8339":{"varMapping":{"__isSmartRef__":true,"id":8340},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch(e) {\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":8341},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8340":{"obj":{"__isSmartRef__":true,"id":8321},"name":"morphMenuItems"},"8341":{},"8342":{},"8343":{"morph":{"__isSmartRef__":true,"id":8302},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8344":{"moveHorizontal":false},"8345":{"submorphs":[{"__isSmartRef__":true,"id":8346}],"scripts":[],"id":"C7BD4767-6044-4553-9F20-696CA5920BE6","shape":{"__isSmartRef__":true,"id":8351},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":8352},"lighterFill":{"__isSmartRef__":true,"id":8357},"label":{"__isSmartRef__":true,"id":8346},"name":"ScriptableButton","showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":8362},"attributeConnections":[{"__isSmartRef__":true,"id":8363}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"eventHandler":{"__isSmartRef__":true,"id":8364},"derivationIds":[2588,"8DA01C71-0A84-4A5A-8027-121F4684BB04","2F4904A6-2C6F-4A39-8C69-7C1E943F91B4","7F6F4EE1-856E-477B-8578-D99400031DBA","374C68BB-3D86-4DA0-9616-2B5320585D0E","23336C67-2F65-4D9F-9380-304876DC628F","8E57191F-E38B-4526-95AA-8D530FAC8156","7146BE6C-6AB9-4A41-89F9-0D6C1906F22C","D5614241-97DF-41BC-B4F2-D3704916AAE0"],"owner":{"__isSmartRef__":true,"id":8149},"layout":{"__isSmartRef__":true,"id":8365},"_ClipMode":"visible","_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":8366},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(836.8,21.0)","distanceToDragEvent":"lively.pt(34.4,-11.2)"},"8346":{"submorphs":[],"scripts":[],"id":"0DED8E94-E6A5-4D4D-BDA2-DD2D73DCDA4E","shape":{"__isSmartRef__":true,"id":8347},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":false,"_FontFamily":"Helvetica","registeredForMouseEvents":true,"_MaxTextWidth":20,"_MaxTextHeight":null,"textStyle":null,"owner":{"__isSmartRef__":true,"id":8345},"isLabel":true,"eventsAreIgnored":true,"_ClipMode":"hidden","textChunks":[{"__isSmartRef__":true,"id":8348}],"_Align":"center","eventHandler":{"__isSmartRef__":true,"id":8350},"_HandStyle":"default","_PointerEvents":"none","derivationIds":[2589,"784F6E71-6365-4235-A0B6-69F992BB532B","54335D65-DB12-4322-84D0-BA8B85E7ED2F","2EF9D95D-4705-44B3-8D3C-446FEDC6346B","07108773-133C-4F4A-A740-33175849E789","E58C564E-D8F3-481A-821D-447F7C7556D8","D92DDD8E-7733-4909-A5E9-049EC55E90C0","5349ED28-AA73-4C7E-8241-575E1A050868","59B9249F-DA37-4FB9-85D2-ABBCFE3AA101"],"_MinTextWidth":20,"_MinTextHeight":null,"_WordBreak":"break-all","_Scale":1,"__serializedExpressions__":["_Position","padding","_Padding"],"__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)"},"8347":{"_BorderWidth":0,"_Fill":null,"_ClipMode":"hidden","__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(20.0,20.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"8348":{"style":{"__isSmartRef__":true,"id":8349},"chunkOwner":{"__isSmartRef__":true,"id":8346},"storedString":"x","_id":"_154","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8349":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8350":{"morph":{"__isSmartRef__":true,"id":8346},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8351":{"_BorderWidth":1.1840000000000002,"_Fill":{"__isSmartRef__":true,"id":8352},"_BorderRadius":5.2,"_ClipMode":"visible","_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(20.0,20.0)","_BorderColor":"Color.rgb(66,66,66)","_Padding":"lively.rect(0,0,0,0)"},"8352":{"stops":[{"__isSmartRef__":true,"id":8353},{"__isSmartRef__":true,"id":8354},{"__isSmartRef__":true,"id":8355},{"__isSmartRef__":true,"id":8356}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"8353":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"8354":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"8355":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"8356":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(240,240,240)"},"8357":{"stops":[{"__isSmartRef__":true,"id":8358},{"__isSmartRef__":true,"id":8359},{"__isSmartRef__":true,"id":8360},{"__isSmartRef__":true,"id":8361}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"8358":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"8359":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"8360":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"8361":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"8362":{"partsSpaceName":"PartsBin/Inputs","migrationLevel":2,"partName":"ScriptableButton","comment":"Has a script that is called on button press","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"8363":{"sourceObj":{"__isSmartRef__":true,"id":8345},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":8345},"targetMethodName":"onFire","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8364":{"morph":{"__isSmartRef__":true,"id":8345},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8365":{"moveHorizontal":true},"8366":{"onFire":{"__isSmartRef__":true,"id":8367}},"8367":{"varMapping":{"__isSmartRef__":true,"id":8368},"source":"function onFire() {\n var tab = this.owner.owner.tab\n var toolPane = this.get('ToolTabPane')\n toolPane.tabBar.removeTab(tab)\n if(toolPane.tabBar.getTabs().length == 0) {\n if (toolPane.owner instanceof lively.morphic.Window)\n toolPane.owner.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":8369},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8368":{"this":{"__isSmartRef__":true,"id":8345}},"8369":{"timestamp":{"__isSmartRef__":true,"id":8370},"user":"undefined","tags":[]},"8370":{"isSerializedDate":true,"string":"Fri Feb 03 2012 16:32:27 GMT+0100 (CET)"},"8371":{"_BorderWidth":1,"_ClipMode":"visible","__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(872.1,440.7)","_BorderColor":"Color.rgb(95,94,95)","_Fill":"Color.rgb(255,255,255)","_Padding":"lively.rect(0,0,0,0)"},"8372":{"resizeWidth":true,"resizeHeight":true,"adjustForNewBounds":true},"8373":{"morph":{"__isSmartRef__":true,"id":8149},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8374":{"search":{"__isSmartRef__":true,"id":8375},"browse":{"__isSmartRef__":true,"id":8379},"reset":{"__isSmartRef__":true,"id":8383},"setSearch":{"__isSmartRef__":true,"id":8387},"emphasizeStringIn":{"__isSmartRef__":true,"id":8391},"withAllMethodsDo":{"__isSmartRef__":true,"id":8395},"itemsFromFinds":{"__isSmartRef__":true,"id":8399},"browseMethod":{"__isSmartRef__":true,"id":8403},"openMethodInSystemBrowser":{"__isSmartRef__":true,"id":8407},"findSourceModule":{"__isSmartRef__":true,"id":8411},"searchOnServer":{"__isSmartRef__":true,"id":8415},"showLayerDefinition":{"__isSmartRef__":true,"id":8419}},"8375":{"varMapping":{"__isSmartRef__":true,"id":8376},"source":"function search(searchString) { \n this.get('searchResultList').updateList([]);\n this.get('sourceText').setTextString('');\n if (!searchString || (searchString.length < 2)) {\n this.get('sourceText').setTextString('\"' + searchString + '\" is to short');\n return;\n }\n var finds = [];\n var i=0;\n var matches = function(s) {\n return s.include(searchString)\n } \n\n // var re = new RegExp(searchString)\n var time = Functions.timeToRun(function() {\n this.withAllMethodsDo(function(object, eaMethod, type, optParent) {\n i++;\n var name;\n if (!object) return;\n\n if (object.constructor.prototype == object)\n name = object.constructor.name\n\n if (object.name) name = object.name;\n if (object.namespaceIdentifier)\n name = object.namespaceIdentifier\n\n if (object.constructor.prototype != object)\n name = name + \"(object)\"\n\n if ((object.constructor.prototype != object) && (object instanceof lively.morphic.Morph))\n name = object.name + \"(\" + object.id + \")\"\n\n if (object === Global)\n name = \" \";\n\n if (type == \"layered\") {\n \n name = object._layered_object.constructor.type \n + \" (\" + optParent.name + \")\" \n \n }\n\n var string = name + \": \" + eaMethod; \n var item = {object: object, method: eaMethod, string: string, type: type};\n if (type == \"layered\") {\n item.layerName = optParent.name\n }\n\n if (matches(eaMethod)) {\n item.search= 'implementor',\n finds.push(item)\n return;\n } \n\n var f = object[eaMethod];\n if (!f || !f.getOriginal) return;\n var source = String(f.getOriginal())\n if (matches(source)){\n item.search = 'sender'\n finds.push(item)\n } \n })\n }.bind(this))\n this.get('sourceText').setTextString(\"search \" + i + \" methods, found \" \n + finds.length + \" methods in \" + time + \"ms\");\n var items = this.itemsFromFinds(finds)\n this.get('searchResultList').updateList(items);\n}","funcProperties":{"__isSmartRef__":true,"id":8377},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8376":{"this":{"__isSmartRef__":true,"id":8149}},"8377":{"timestamp":{"__isSmartRef__":true,"id":8378},"tags":[]},"8378":{"isSerializedDate":true,"string":"Thu Jan 10 2013 00:18:25 GMT+0100 (CET)"},"8379":{"varMapping":{"__isSmartRef__":true,"id":8380},"source":"function browse(methodItem) {\n // methodItem = this.get('searchResultList').selection\n if (! methodItem) return;\n\n // deal with non method findings....\n if (methodItem.type == 'layer') {\n this.showLayerDefinition(methodItem)\n return\n } \n\n // methodItem = this.get('searchResultList').selection\n var methodName = methodItem.method;\n var object = methodItem.object;\n var orgFunc = object[methodName];\n\n if (!orgFunc || !orgFunc.getOriginal) {\n this.get('sourceText').setTextString('no source');\n return\n }\n orgFunc = orgFunc.getOriginal()\n \n this.targetFunction = orgFunc;\n this.targetObject = object;\n\n var source = \"// changes here only affect runtime\\n\", \n tab = lively.morphic.Text.prototype.tab;\n if (methodItem.layerName) {\n var partialMethod = object[methodName];\n source += methodItem.layerName + \".refineClass(\" + \n object._layered_object.constructor.type + \", {\\n\" + \n tab + methodName + \": \" + partialMethod +\"\\n})\";\n } else if (orgFunc.belongsToTrait) {\n source += \"Trait('\" + orgFunc.belongsToTrait.name + \"', {\\n\" \n + tab + methodName + \": \" + orgFunc +\"\\n})\";\n } else if (orgFunc.declaredClass) {\n source += orgFunc.declaredClass + \".addMethods({\\n\" \n + tab + methodName + \": \" \n + orgFunc + \"\\n});\"\n } else if(methodItem.type == 'extend') {\n // perhaps it is a an class object\n source += \"Object.extend(\" + (object.type || object.namespaceIdentifier) \n + \",{\\n\" + tab + methodName + \": \" \n + orgFunc + \"\\n});\"\n } else if(object.isMorph && (object.constructor.prototype !== object) ) {\n // display as script\n source = \"this.addScript(\" + orgFunc + \");\"\n } else if(object === Global) {\n // display as script\n source += \"Object.extend(Global, {\\n\" + tab + methodName + \": \" +\n orgFunc + \"\\n});\"\n }\n\n this.get('sourceText').setTextString(source)\n\n module('lively.ide.SyntaxHighlighting').load(true);\n this.get('sourceText').highlightJavaScriptSyntax();\n\n var searchText = this.get('searchText').textString;\n var m = searchText.match(/[^a-zA-Z0-9_\\.]/g)\n if(m) {\n m.forEach(function (each) {\n var escapedChar = '\\\\' + each;\n var position = searchText.search(\n new RegExp('[^\\\\\\\\]' + '\\\\' + each)) + 1;\n searchText = searchText.substring(0,position) \n + escapedChar + searchText.substr(position + 1);\n });\n }\n this.get('sourceText').emphasizeRegex(new RegExp(searchText, 'g'), {color: Color.red});\n\n var info = '' + this.findSourceModule(orgFunc);\n\n if (orgFunc.belongsToTrait)\n info += ' (' + orgFunc.belongsToTrait + \" in \" + orgFunc.belongsToTrait.sourceModule +\")\";\n\n this.get('infoText').setTextString(info)\n}","funcProperties":{"__isSmartRef__":true,"id":8381},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8380":{"this":{"__isSmartRef__":true,"id":8149}},"8381":{"timestamp":{"__isSmartRef__":true,"id":8382},"user":"undefined","tags":[]},"8382":{"isSerializedDate":true,"string":"Thu Feb 02 2012 13:55:34 GMT+0100 (CET)"},"8383":{"varMapping":{"__isSmartRef__":true,"id":8384},"source":"function reset() {\n this.doNotSerialize = ['targetFunction', 'targetObject']\n this.get('searchResultList').updateList([]);\n this.get('searchResultList').setSelection(null);\n this.get('searchText').setTextString('enter method name here');\n this.get('sourceText').setTextString('no code');\n this.get('infoText').setTextString('');\n this.targetFunction = null;\n this.targetObject = null;\n}","funcProperties":{"__isSmartRef__":true,"id":8385},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8384":{"this":{"__isSmartRef__":true,"id":8149}},"8385":{"timestamp":{"__isSmartRef__":true,"id":8386},"user":"undefined","tags":[]},"8386":{"isSerializedDate":true,"string":"Fri Feb 03 2012 15:30:14 GMT+0100 (CET)"},"8387":{"varMapping":{"__isSmartRef__":true,"id":8388},"source":"function setSearch(searchString) {\n this.get('searchText').setTextString(searchString);\n this.search(searchString)\n var list = this.get('searchResultList').getList();\n if (list.length > 0) this.get('searchResultList').setSelection(list[0])\n}","funcProperties":{"__isSmartRef__":true,"id":8389},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8388":{"this":{"__isSmartRef__":true,"id":8149}},"8389":{"timestamp":{"__isSmartRef__":true,"id":8390},"tags":[]},"8390":{"isSerializedDate":true,"string":"Thu Jan 10 2013 00:18:25 GMT+0100 (CET)"},"8391":{"varMapping":{"__isSmartRef__":true,"id":8392},"source":"function emphasizeStringIn(morph, string, style) {\n var m;\n var re = new RegExp(string, \"g\");\n while(m = re.exec(morph.textString)) {\n var from = m.index,\n to = m.index + m[0].length;\n morph.emphasize(style, from, to)\n }\n}","funcProperties":{"__isSmartRef__":true,"id":8393},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8392":{"this":{"__isSmartRef__":true,"id":8149}},"8393":{"timestamp":{"__isSmartRef__":true,"id":8394},"tags":[]},"8394":{"isSerializedDate":true,"string":"Thu Jan 10 2013 00:18:25 GMT+0100 (CET)"},"8395":{"varMapping":{"__isSmartRef__":true,"id":8396},"source":"function withAllMethodsDo(func) {\n var visited = [];\n\n cop.allLayers().forEach(function(layer) {\n func(eval(layer.namespaceName), layer.name, 'layer')\n layer.layeredObjects().forEach(function(obj) {\n var layerDef = cop.getLayerDefinitionForObject(layer, obj)\n Functions.own(layerDef).forEach(function(eaMethod) {\n func(layerDef, eaMethod, 'layered', layer)\n });\n });\n }); \n\n\n Functions.own(Global).forEach(function(eaMethod) {\n func(Global, eaMethod, 'global')\n }); \n\n this.world().withAllSubmorphsDo(function(ea) {\n Functions.own(ea).forEach(function(eaMethod) {\n func(ea, eaMethod, 'script')\n }); \n });\n\n Global.subNamespaces(true).forEach(function(ea) {\n Functions.own(ea).forEach(function(eaMethod) {\n func(ea, eaMethod, 'extend')\n }); \n });\n\n Global.classes(true).uniq().forEach(function(eaClass) {\n Functions.own(eaClass).forEach(function(eaMethod) {\n func(eaClass, eaMethod, 'extend')\n }); \n\n Functions.own(eaClass.prototype).forEach(function(eaMethod) {\n func(eaClass.prototype, eaMethod, 'class')\n }) \n })\n}","funcProperties":{"__isSmartRef__":true,"id":8397},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8396":{"this":{"__isSmartRef__":true,"id":8149}},"8397":{"timestamp":{"__isSmartRef__":true,"id":8398},"user":"undefined","tags":[]},"8398":{"isSerializedDate":true,"string":"Thu Jan 19 2012 14:41:57 GMT+0100 (CET)"},"8399":{"varMapping":{"__isSmartRef__":true,"id":8400},"source":"function itemsFromFinds(finds) {\n var searchString = this.get('searchText').textString;\n var items = finds.collect(function(ea) {\n var pref = \"\" + ea.type + \" \";\n if (ea.search == \"sender\") pref += \"full: \"\n if (ea.search == \"implementor\") pref += \"name: \"\n var string = pref + ea.string;\n var func = ea.object[ea.method];\n if (func.belongsToTrait) \n string += ' / ' + func.belongsToTrait + '' \n\n var result = {\n isListItem: true,\n value: ea,\n string: string,\n doNotSerialize: ['value'],\n priority: {implementor: \"B\", sender: \"C\"}[ea.search] || \"D\",\n };\n if (ea.method == searchString) result.priority = \"A\"\n return result\n })\n items = items.sortBy(function(ea) {return ea.priority + ea.string})\n return items\n}","funcProperties":{"__isSmartRef__":true,"id":8401},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8400":{"this":{"__isSmartRef__":true,"id":8149}},"8401":{"timestamp":{"__isSmartRef__":true,"id":8402},"user":"undefined","tags":[]},"8402":{"isSerializedDate":true,"string":"Fri Feb 03 2012 15:31:52 GMT+0100 (CET)"},"8403":{"varMapping":{"__isSmartRef__":true,"id":8404},"source":"function browseMethod() {\n alertOK('browseMethod')\n var methodItem = this.get('searchResultList').selection;\n if (methodItem.type == 'layer') {\n var layer = methodItem.object[methodItem.method];\n this.openMethodInSystemBrowser(methodItem.method, \n undefined, layer.sourceModule);\n return\n }\n\n if (!this.targetFunction) return;\n var methodName = this.targetFunction.methodName || this.targetFunction.displayName; \n if(this.targetFunction.declaredClass) {\n var classObj = eval(this.targetFunction.declaredClass)\n this.openMethodInSystemBrowser(classObj.type, methodName);\n return;\n }\n if(this.targetFunction.belongsToTrait) {\n this.openMethodInSystemBrowser(this.targetFunction.belongsToTrait.name, methodName);\n return;\n }\n if(Class.isClass(this.targetObject)) {\n this.openMethodInSystemBrowser(this.targetObject.type, methodName);\n return;\n }\n if(this.targetObject.namespaceIdentifier) {\n this.openMethodInSystemBrowser(this.targetObject.namespaceIdentifier, methodName);\n return;\n }\n if(this.targetObject instanceof lively.morphic.Morph) {\n var editor = this.world().openObjectEditorFor(this.targetObject);\n editor.align(editor.bounds().center(), this.world().visibleBounds().center());\n return;\n }\n if (Class.isClass(this.targetFunction)) {\n // constructor\n this.openMethodInSystemBrowser(this.targetFunction.displayName);\n return;\n }\n \n alertOK('not implemented yet for ' + this.targetFunction)\n}","funcProperties":{"__isSmartRef__":true,"id":8405},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8404":{"this":{"__isSmartRef__":true,"id":8149}},"8405":{"timestamp":{"__isSmartRef__":true,"id":8406},"user":"undefined","tags":[]},"8406":{"isSerializedDate":true,"string":"Thu Jan 19 2012 16:54:12 GMT+0100 (CET)"},"8407":{"varMapping":{"__isSmartRef__":true,"id":8408},"source":"function openMethodInSystemBrowser(objectName, methodName, optSourceModule) {\n if (objectName)\n objectName = objectName.replace(/^Global\\./,\"\");\n // alertOK(\"browse \" + objectName + \":\" + methodName)\n // objectName = 'SelectionMorphTrait', methodName = 'onDrag'\n var sourceModule = optSourceModule ||\n this.findSourceModule(this.targetFunction);\n if (!sourceModule) \n alert('could not browse, since no source module found!')\n var uri = new URL(sourceModule.uri()),\n relative = uri.relativePathFrom(new URL(Config.codeBase)),\n moduleNode = lively.ide.startSourceControl().addModule(relative),\n rootNode = moduleNode.ast();\n\n var fileFragments = rootNode.subElements(10).select(function(ea) {\n var path = ea.getOwnerNamePath()\n if (objectName == \"Global\")\n return path.include(methodName);\n return path.include(objectName) && (!methodName || path.include(methodName)) \n });\n \n\n\n // alertOK(\"found following places to browse: \" + fileFragments)\n if (fileFragments.length > 0) {\n fileFragments[0].browseIt()\n } else {\n alert(\"browse failed. Nothing found for \" + objectName + \">>\" + methodName + \" in \" + sourceModule.uri());\n rootNode.browseIt();\n }\n\n}","funcProperties":{"__isSmartRef__":true,"id":8409},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8408":{"this":{"__isSmartRef__":true,"id":8149}},"8409":{"timestamp":{"__isSmartRef__":true,"id":8410},"user":"jenslincke","tags":[]},"8410":{"isSerializedDate":true,"string":"Thu Feb 09 2012 11:27:23 GMT+0100 (CET)"},"8411":{"varMapping":{"__isSmartRef__":true,"id":8412},"source":"function findSourceModule(funcObj) {\n if (this.targetFunction.belongsToTrait) \n return this.targetFunction.belongsToTrait.sourceModule\n if (funcObj.sourceModule)\n return funcObj.sourceModule;\n // look in the class\n if (!funcObj.sourceModule && funcObj.declaredClass) {\n var classObj = eval(funcObj.declaredClass)\n return classObj.sourceModule\n }\n}","funcProperties":{"__isSmartRef__":true,"id":8413},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8412":{"this":{"__isSmartRef__":true,"id":8149}},"8413":{"timestamp":{"__isSmartRef__":true,"id":8414},"user":"jenslincke","tags":[]},"8414":{"isSerializedDate":true,"string":"Fri Nov 04 2011 15:27:13 GMT+0100 (CET)"},"8415":{"varMapping":{"__isSmartRef__":true,"id":8416},"source":"function searchOnServer() {\n var serverSearch = this.world().openPartItem('ServerSearch', 'PartsBin/Tools'); \n serverSearch.setSearch(this.get('searchText').textString)\n}","funcProperties":{"__isSmartRef__":true,"id":8417},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8416":{"this":{"__isSmartRef__":true,"id":8149}},"8417":{"timestamp":{"__isSmartRef__":true,"id":8418},"user":"jenslincke","tags":[]},"8418":{"isSerializedDate":true,"string":"Fri Nov 18 2011 11:40:23 GMT+0100 (CET)"},"8419":{"varMapping":{"__isSmartRef__":true,"id":8420},"source":"function showLayerDefinition(methodItem) {\n var info = \"layer definition\" \n var source = \"TODO: print layer def here...\"\n this.get('infoText').setTextString(info)\n this.get('sourceText').setTextString(source)\n}","funcProperties":{"__isSmartRef__":true,"id":8421},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8420":{"this":{"__isSmartRef__":true,"id":8149}},"8421":{"timestamp":{"__isSmartRef__":true,"id":8422},"user":"undefined","tags":[]},"8422":{"isSerializedDate":true,"string":"Thu Jan 19 2012 15:30:43 GMT+0100 (CET)"},"8423":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor","_Fill"],"_BorderWidth":1,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(872.1,440.7)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(204,204,204)","_Fill":"Color.rgb(255,255,255)"},"8424":{"morph":{"__isSmartRef__":true,"id":8148},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8425":{"resizeWidth":true,"resizeHeight":true,"adjustForNewBounds":true},"8426":{"submorphs":[{"__isSmartRef__":true,"id":8427},{"__isSmartRef__":true,"id":8432}],"scripts":[],"shape":{"__isSmartRef__":true,"id":8443},"eventHandler":{"__isSmartRef__":true,"id":8444},"_ClipMode":"visible","derivationIds":[],"id":"84E55FE2-823A-4150-B9CE-3494154CB059","droppingEnabled":true,"halosEnabled":true,"tabBar":{"__isSmartRef__":true,"id":6034},"tabBarOffset":270,"layout":{"__isSmartRef__":true,"id":8445},"pane":{"__isSmartRef__":true,"id":8446},"label":{"__isSmartRef__":true,"id":8427},"name":"S:unEmphasize","grabbingEnabled":false,"draggingEnabled":false,"closeButton":{"__isSmartRef__":true,"id":8432},"owner":{"__isSmartRef__":true,"id":6034},"__serializedExpressions__":["_Position"],"isActive":true,"__LivelyClassName__":"lively.morphic.Tab","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","_Position":"lively.pt(270.0,0.0)"},"8427":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":8428},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":8429}],"eventHandler":{"__isSmartRef__":true,"id":8431},"_ClipMode":"hidden","derivationIds":[],"id":"4C9C1F9C-5594-4778-977D-C5CFC0BCCE60","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"isLabel":true,"eventsAreIgnored":true,"eventsAreDisabled":true,"_PointerEvents":"none","owner":{"__isSmartRef__":true,"id":8426},"_FontWeight":"bold","__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(5.0,5.0)"},"8428":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(106.0,20.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"8429":{"style":{"__isSmartRef__":true,"id":8430},"chunkOwner":{"__isSmartRef__":true,"id":8427},"_id":"_14762","storedString":"S:unEmphasize","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8430":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8431":{"morph":{"__isSmartRef__":true,"id":8427},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8432":{"submorphs":[{"__isSmartRef__":true,"id":8433}],"scripts":[],"shape":{"__isSmartRef__":true,"id":8438},"eventHandler":{"__isSmartRef__":true,"id":8439},"_ClipMode":"visible","derivationIds":[],"id":"A8A8C5F5-3EDA-40A4-8598-4C45BD16E6EC","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":8433},"_PreviousBorderWidth":1,"owner":{"__isSmartRef__":true,"id":8426},"__serializedExpressions__":["_Position"],"layout":{"__isSmartRef__":true,"id":8440},"attributeConnections":[{"__isSmartRef__":true,"id":8441}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(67.0,6.0)"},"8433":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":8434},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":8435}],"eventHandler":{"__isSmartRef__":true,"id":8437},"_ClipMode":"hidden","derivationIds":[],"id":"EC6D2DE4-482B-41E4-A09D-C68B99A29EB8","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor"],"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":8432},"isLabel":true,"_Align":"center","eventsAreIgnored":true,"_TextStylingMode":true,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(0,0,0)"},"8434":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(20.0,20.0)","_Padding":"lively.rect(0,3,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"8435":{"style":{"__isSmartRef__":true,"id":8436},"chunkOwner":{"__isSmartRef__":true,"id":8433},"_id":"_14761","storedString":"X","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8436":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8437":{"morph":{"__isSmartRef__":true,"id":8433},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8438":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":1,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(20.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"8439":{"morph":{"__isSmartRef__":true,"id":8432},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8440":{"moveHorizontal":true},"8441":{"sourceObj":{"__isSmartRef__":true,"id":8432},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":8426},"targetMethodName":"closeTab","varMapping":{"__isSmartRef__":true,"id":8442},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8442":{"source":{"__isSmartRef__":true,"id":8432},"target":{"__isSmartRef__":true,"id":8426}},"8443":{"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"_BorderWidth":1,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(90.0,30.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(204,204,204)"},"8444":{"morph":{"__isSmartRef__":true,"id":8426},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8445":{"adjustForNewBounds":true},"8446":{"submorphs":[{"__isSmartRef__":true,"id":8447}],"scripts":[],"shape":{"__isSmartRef__":true,"id":8738},"eventHandler":{"__isSmartRef__":true,"id":8739},"_ClipMode":"scroll","derivationIds":[],"id":"8EA76756-0724-4BD1-A174-8389DBD9995D","grabbingEnabled":false,"droppingEnabled":true,"halosEnabled":true,"draggingEnabled":false,"layout":{"__isSmartRef__":true,"id":8740},"tab":{"__isSmartRef__":true,"id":8426},"tabBar":{"__isSmartRef__":true,"id":6034},"name":"S:unEmphasize - Pane","owner":{"__isSmartRef__":true,"id":6033},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.TabPane","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","_Position":"lively.pt(0.0,30.0)"},"8447":{"submorphs":[{"__isSmartRef__":true,"id":8448},{"__isSmartRef__":true,"id":8455},{"__isSmartRef__":true,"id":8475},{"__isSmartRef__":true,"id":8488},{"__isSmartRef__":true,"id":8591},{"__isSmartRef__":true,"id":8597},{"__isSmartRef__":true,"id":8617},{"__isSmartRef__":true,"id":8660}],"scripts":[],"id":"D84C7696-B381-4952-859F-62A633923A5C","shape":{"__isSmartRef__":true,"id":8686},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"MethodFinderPane3","partsBinMetaInfo":{"__isSmartRef__":true,"id":8053},"isCopyMorphRef":true,"morphRefId":1,"layout":{"__isSmartRef__":true,"id":8687},"eventHandler":{"__isSmartRef__":true,"id":8688},"doNotSerialize":["targetFunction","targetObject"],"prevScroll":[0,0],"isBeingDragged":false,"derivationIds":[204,"90F6ED76-D56E-436C-96E7-CBFE7106283E","53162F18-6DD1-4230-B30F-EC4BA7B7A9ED","73F374A9-9CEE-4D2E-8BA6-030971E02396","0859BA09-FE36-4B7E-85B5-A141B84A252C","AB402971-988F-4D01-AE49-87C1AFEAA1C3","A80F8C19-12D2-49AF-941A-2454433D2A59","9370F962-CBB6-42C0-8F15-79D0F66045FD","2F24C0FF-1360-4C35-BE22-B5DE5FFAB3F4","81FC43AC-A19A-48A5-B854-601A302E5585","BBF2876B-A928-4012-A9BD-A39052E30483","3E2C739C-3BA6-4C2C-B7FB-A726AA7015BB","B55E78F3-F8DB-4034-91E7-0D1B364B82DA","FF257E99-B7E7-4837-8F67-965F5DAEC58F"],"moved":true,"_ClipMode":"visible","_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","distanceToDragEvent"],"owner":{"__isSmartRef__":true,"id":8446},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":8689},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)","distanceToDragEvent":"lively.pt(583.4,-13.9)"},"8448":{"submorphs":[],"scripts":[],"id":"43CF76AA-1118-4DAB-A939-4FE9957EA70F","shape":{"__isSmartRef__":true,"id":8449},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":true,"allowsInput":true,"_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":287,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":13,"name":"searchText","partsBinMetaInfo":{"__isSmartRef__":true,"id":8450},"owner":{"__isSmartRef__":true,"id":8447},"charsReplaced":"enter method name here","lastFindLoc":22,"attributeConnections":[{"__isSmartRef__":true,"id":8451}],"doNotSerialize":["$$savedTextString"],"doNotCopyProperties":["$$savedTextString"],"isInputLine":true,"_WhiteSpaceHandling":"pre-wrap","allowInput":true,"textChunks":[{"__isSmartRef__":true,"id":8452}],"prevScroll":[0,0],"_ClipMode":"hidden","lastSearchString":"prev","eventHandler":{"__isSmartRef__":true,"id":8454},"_MinTextWidth":287,"_MinTextHeight":null,"previousSelection":[0,0],"isBeingDragged":false,"derivationIds":[205,"63CD6525-ECE4-4F52-A84B-27633C22F3F9","D7B775A2-513B-4768-AB24-6718580E61A9","FE8FA703-C984-4702-8139-2C4E9353FB41","2C124317-773E-498D-BB6D-9BEC99637AF3","BFDC0BE7-0289-4FA0-A2EC-14EF2BA09445","E16771FE-0062-4803-9678-9625DB0CFBFA","B9D2EC7D-E050-4D3D-8ABC-52D8ACA55936","196DC9F1-78FF-488F-80AB-8129A171A1C9","F2FB3FCC-8AE2-4DFB-AD6F-3DE2513762B0","4897081D-DCA7-4D33-B262-00412C9821FD","9DEE84F9-6727-4802-BD51-456C40E212F1","3868C69C-36F7-42FF-95C8-191FBE40BCA2","E8E15F14-A537-4CCB-8603-2B7814C74B21"],"savedTextString":"bla","_WordBreak":"break-all","_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","textColor","distanceToDragEvent"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(10.0,17.0)","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(199.7,-15.5)"},"8449":{"fill":null,"_BorderWidth":1,"_ClipMode":"hidden","_BorderRadius":4,"__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(292.0,25.0)","_BorderColor":"Color.rgb(102,102,102)","_Padding":"lively.rect(3,3,-3,-3)"},"8450":{"partsSpaceName":"PartsBin/NewWorld","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"8451":{"sourceObj":{"__isSmartRef__":true,"id":8448},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":8447},"targetMethodName":"search","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8452":{"style":{"__isSmartRef__":true,"id":8453},"chunkOwner":{"__isSmartRef__":true,"id":8448},"_id":"_14763","storedString":"unEmphasize","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8453":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8454":{"morph":{"__isSmartRef__":true,"id":8448},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8455":{"submorphs":[{"__isSmartRef__":true,"id":8456}],"scripts":[],"id":"51615F58-CB9C-471F-81CE-59313D30E68B","shape":{"__isSmartRef__":true,"id":8461},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":8462},"lighterFill":{"__isSmartRef__":true,"id":8467},"label":{"__isSmartRef__":true,"id":8456},"showsHalos":false,"name":"searchButton","partsBinMetaInfo":{"__isSmartRef__":true,"id":8472},"owner":{"__isSmartRef__":true,"id":8447},"attributeConnections":[{"__isSmartRef__":true,"id":8473}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"eventHandler":{"__isSmartRef__":true,"id":8474},"derivationIds":[206,"CB9026E7-BAD5-49AB-B6E0-88B46D561743","C2FEDA8A-ABCE-426D-BB39-F8B4C0CCBE5F","21DC60CF-D1A0-4B54-9B91-F82A50CF8D3A","6E0B3DCD-9AD6-4AAF-A854-252E628FC222","457022C0-0CD0-426F-89B8-DAA8E3AA15C0","AE87A8FC-A7FF-40D5-B8B3-351194957A1B","0107A29A-C954-43A8-82FD-CEE77E946A25","E82E1B35-1C20-4BE4-A5CB-0936E7D4AD20","7485F277-13B5-4FF4-9B90-10385A227006","216A87FA-4CA8-4657-886E-D2EE1398E86F","051E1CDB-3E9B-41A7-89A7-24E539E5FA37","94585AAD-3EC1-42EB-9974-C981FF5A4539","9B4E4399-5243-44AB-A0E1-0C79DC36B095"],"_ClipMode":"visible","_Rotation":0,"_Scale":1,"isPressed":false,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(310.0,20.0)","distanceToDragEvent":"lively.pt(53.7,-21.5)"},"8456":{"submorphs":[],"scripts":[],"id":"081EBFAA-9357-44D9-812E-7879194FD74E","shape":{"__isSmartRef__":true,"id":8457},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":false,"_FontFamily":"Helvetica","registeredForMouseEvents":true,"_MaxTextWidth":77,"_MaxTextHeight":null,"owner":{"__isSmartRef__":true,"id":8455},"isLabel":true,"eventsAreIgnored":true,"textStyle":null,"textChunks":[{"__isSmartRef__":true,"id":8458}],"prevScroll":[0,0],"_ClipMode":"hidden","_Align":"center","eventHandler":{"__isSmartRef__":true,"id":8460},"_HandStyle":"default","_PointerEvents":"none","_MinTextWidth":77,"_MinTextHeight":null,"derivationIds":[207,"9A623BA1-A240-454B-B0DD-53932A371FB3","9E828467-210E-44D4-8E3D-17C5F92B1AAE","75AF52F1-0E7E-419A-BC00-5CCC0D52CEDC","F3C81240-9550-45C3-8B7A-8A3C0ED15BE6","70D8CC33-5AEE-45B5-AC0B-B9A6350C7F51","C80D2176-BA4F-4DCF-88D8-540ADE03E6B9","CB9FE42C-61BF-409D-9CC7-1F1B094C61FA","BF7D1270-418D-46A3-95E5-991F82DAD8C6","CDA433D8-442B-4D3A-A58E-F9C5FCED9086","039DDED5-FFAA-423A-99F2-2236BB594511","E618043F-74DF-4D4A-991F-5AA47FD766F8","B41F9418-E248-400B-AD6D-4963C128AB45","E16D344F-E777-424E-A4D0-8EB94CF53A44"],"_WordBreak":"break-all","_Scale":1,"__serializedExpressions__":["_Position","padding","_Padding"],"__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)"},"8457":{"_BorderWidth":0,"_Fill":null,"_ClipMode":"hidden","__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(77.0,20.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"8458":{"style":{"__isSmartRef__":true,"id":8459},"morph":{"__isSmartRef__":true,"id":8456},"chunkOwner":{"__isSmartRef__":true,"id":8456},"storedString":"search","_id":"_150","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8459":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8460":{"morph":{"__isSmartRef__":true,"id":8456},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8461":{"_BorderWidth":1,"_Fill":{"__isSmartRef__":true,"id":8462},"_BorderRadius":5,"_ClipMode":"visible","_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(77.0,20.0)","_BorderColor":"Color.rgb(66,66,66)","_Padding":"lively.rect(0,0,0,0)"},"8462":{"stops":[{"__isSmartRef__":true,"id":8463},{"__isSmartRef__":true,"id":8464},{"__isSmartRef__":true,"id":8465},{"__isSmartRef__":true,"id":8466}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"8463":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"8464":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"8465":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"8466":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(240,240,240)"},"8467":{"stops":[{"__isSmartRef__":true,"id":8468},{"__isSmartRef__":true,"id":8469},{"__isSmartRef__":true,"id":8470},{"__isSmartRef__":true,"id":8471}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"8468":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"8469":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"8470":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"8471":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"8472":{"partsSpaceName":"PartsBin/NewWorld","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"8473":{"sourceObj":{"__isSmartRef__":true,"id":8455},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":8448},"targetMethodName":"doSave","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8474":{"morph":{"__isSmartRef__":true,"id":8455},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8475":{"submorphs":[],"scripts":[],"id":"A4A8CA1B-E793-4CDC-86C0-C13B1D3F667C","shape":{"__isSmartRef__":true,"id":8476},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"itemList":[{"__isSmartRef__":true,"id":8477},{"__isSmartRef__":true,"id":8478},{"__isSmartRef__":true,"id":8479},{"__isSmartRef__":true,"id":8480},{"__isSmartRef__":true,"id":8481},{"__isSmartRef__":true,"id":8482}],"showsHalos":false,"name":"searchResultList","partsBinMetaInfo":{"__isSmartRef__":true,"id":8483},"owner":{"__isSmartRef__":true,"id":8447},"attributeConnections":[{"__isSmartRef__":true,"id":8484}],"doNotSerialize":["$$selection"],"doNotCopyProperties":["$$selection"],"prevScroll":[0,192],"resizeHeight":true,"resizeWidth":true,"layout":{"__isSmartRef__":true,"id":8485},"eventHandler":{"__isSmartRef__":true,"id":8486},"isBeingDragged":false,"derivationIds":[208,"884F3C31-F47F-4325-B01C-55796601323C","AF542C45-CFC5-475A-B28E-37B7FC51E468","C6B09735-9683-446C-A39C-E4924083B282","7860DCD2-EC25-4F34-B79B-18C47FBEE925","7ACC50AB-EE77-4AD9-8731-20150C616D1C","6A21BD7F-EC45-467D-BDA4-F218B9407920","0B0BFDF5-91C4-4369-AB7F-07CDAE8813BF","0D9A4870-E562-4C17-A057-3DB8D1C9234C","854096E7-42E2-48F4-B656-D1AE606FAEBF","659ABB8A-3E6D-4E1C-864B-CE8459AD730A","1A73ECB5-B976-457C-8138-8385DBD45070","2A6C9E8E-DFFC-4DE3-A9F0-2624BE97EB96","5CE28027-78AA-4148-84D2-7B4305C0BE89"],"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","distanceToDragEvent"],"selection":{"__isSmartRef__":true,"id":8487},"selectedLineNo":0,"__LivelyClassName__":"lively.morphic.List","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(10.0,50.0)","distanceToDragEvent":"lively.pt(589.7,-14.5)"},"8476":{"_BorderWidth":0,"__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(845.6,140.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(243,243,243)","_Padding":"lively.rect(0,0,0,0)"},"8477":{"isListItem":true,"string":"class name: Text: unEmphasize","doNotSerialize":["value"],"priority":"A"},"8478":{"isListItem":true,"string":"class name: Text: unEmphasizeAll","doNotSerialize":["value"],"priority":"B"},"8479":{"isListItem":true,"string":"class name: Text: unEmphasizeSelection","doNotSerialize":["value"],"priority":"B"},"8480":{"isListItem":true,"string":"class full: Text: processCommandKeys","doNotSerialize":["value"],"priority":"C"},"8481":{"isListItem":true,"string":"script full: MethodFinderPane(46658197-DC02-4106-8474-6889B9945656): targetFunction","doNotSerialize":["value"],"priority":"C"},"8482":{"isListItem":true,"string":"script full: MethodFinderPane2(C327CE74-BB9F-4E91-B87E-2FCF66CFBE28): targetFunction","doNotSerialize":["value"],"priority":"C"},"8483":{"partsSpaceName":"PartsBin/NewWorld","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"8484":{"sourceObj":{"__isSmartRef__":true,"id":8475},"sourceAttrName":"selection","targetObj":{"__isSmartRef__":true,"id":8447},"targetMethodName":"browse","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8485":{"resizeWidth":true},"8486":{"morph":{"__isSmartRef__":true,"id":8475},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8487":{"object":{"__isSmartRef__":true,"id":6098},"method":"unEmphasize","string":"Text: unEmphasize","type":"class","search":"implementor"},"8488":{"submorphs":[],"scripts":[],"id":"8DBEB346-B28E-4C47-A294-45CFC4D44329","shape":{"__isSmartRef__":true,"id":8489},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":true,"_FontFamily":"Monaco, Courier","registeredForMouseEvents":true,"_MaxTextWidth":845.9484727040478,"_MaxTextHeight":null,"textStyle":null,"layout":{"__isSmartRef__":true,"id":8490},"doitContext":{"__isSmartRef__":true,"id":8447},"charsReplaced":"","lastFindLoc":130,"showsHalos":false,"name":"sourceText","savedTextString":"// changes here only affect runtime\nObject.extend(lively.morphic.Morph,{\n\tmakeLine:function (verts, lineWidth, lineColor) {\n\t\tif (verts.length < 2) return null;\n\t\tif (verts.length > 2) {\n\t\t\t// Polylines become a mere blob for now...\n\t\t\tvar morph = this.makeRectangle(Rectangle.unionPts(verts));\n\t\t\tmorph.setBorderWidth(lineWidth);\n\t\t\tmorph.setBorderColor(lineColor);\n\t\t\tmorph.setFill(null);\n\t\t\treturn morph;\n\t\t} \n\t\t// Okay, it's a simple line...\n\t\tvar p1 = verts[0]; var p2 = verts[1];\n\t\tvar v = p2.subPt(p1);\n \n\t\t// First make a horizontal line of the same length with origin at (0, 0)\n\t\tvar morph = this.makeRectangle(Rectangle.unionPts([pt(0, -lineWidth/2), Point.polar(v.r(), 0).addXY(0, lineWidth/2)]));\n\n\t\t// *** Not right, but we want to make position and center of rot = (0, 0):\n\t\t// morph._Position = pt(0, 0);\n\n\t\tmorph.setBorderWidth(0);\n\t\tmorph.setFill(lineColor);\n\n\t\t// Then move and rotate, with first vertex being the rotation center\n\t\tmorph.moveBy(p1);\n\t\tmorph.setOrigin(pt(0, lineWidth/2));\n\t\tmorph.isLine = true;\n\t\treturn morph.rotateBy(v.theta());\n\t}\n});","textChunks":[{"__isSmartRef__":true,"id":8491},{"__isSmartRef__":true,"id":8493},{"__isSmartRef__":true,"id":8495},{"__isSmartRef__":true,"id":8497},{"__isSmartRef__":true,"id":8499},{"__isSmartRef__":true,"id":8501},{"__isSmartRef__":true,"id":8503},{"__isSmartRef__":true,"id":8505},{"__isSmartRef__":true,"id":8507},{"__isSmartRef__":true,"id":8509},{"__isSmartRef__":true,"id":8511},{"__isSmartRef__":true,"id":8513},{"__isSmartRef__":true,"id":8515},{"__isSmartRef__":true,"id":8517},{"__isSmartRef__":true,"id":8519},{"__isSmartRef__":true,"id":8521},{"__isSmartRef__":true,"id":8523},{"__isSmartRef__":true,"id":8525},{"__isSmartRef__":true,"id":8527},{"__isSmartRef__":true,"id":8529},{"__isSmartRef__":true,"id":8531},{"__isSmartRef__":true,"id":8533},{"__isSmartRef__":true,"id":8535},{"__isSmartRef__":true,"id":8537},{"__isSmartRef__":true,"id":8539},{"__isSmartRef__":true,"id":8541},{"__isSmartRef__":true,"id":8543},{"__isSmartRef__":true,"id":8545},{"__isSmartRef__":true,"id":8547},{"__isSmartRef__":true,"id":8549},{"__isSmartRef__":true,"id":8551},{"__isSmartRef__":true,"id":8553},{"__isSmartRef__":true,"id":8555},{"__isSmartRef__":true,"id":8557},{"__isSmartRef__":true,"id":8559},{"__isSmartRef__":true,"id":8561},{"__isSmartRef__":true,"id":8563},{"__isSmartRef__":true,"id":8565},{"__isSmartRef__":true,"id":8567},{"__isSmartRef__":true,"id":8569},{"__isSmartRef__":true,"id":8571},{"__isSmartRef__":true,"id":8573}],"_ClipMode":"auto","prevScroll":[0,0],"_FontSize":9,"owner":{"__isSmartRef__":true,"id":8447},"lastSyntaxHighlightTime":1328782848221,"eventHandler":{"__isSmartRef__":true,"id":8575},"_MinTextWidth":845.9484727040478,"_MinTextHeight":null,"isBeingDragged":false,"derivationIds":[209,"04D0F127-514D-4BED-841E-6A4CEF4FFDDA","D40D5739-DE56-49F4-B02A-A4ED75AF054A","42528900-D082-4C7A-8E70-1E67923301D9","5167B7DC-8F45-4AD0-96D7-947FF3EE0BB7","D0BFE91E-6EF1-4165-A42C-CC81C9CD2050","04C1BABF-5514-417C-AE67-882A1252EB67","8B053B4D-76D1-4DCB-8E89-8E7ABA3EF3D1","CB2FFA38-BC16-4D98-A807-722CCCC26062","D19D6343-8887-4386-8B87-4560230A5D11","2FFE6CC8-A851-44E9-B6B7-9D9370DEB9C9","A1509C4A-C98B-44CF-ACF8-DA444E7A9B75","3013EDB1-7370-48ED-BF86-BFEFC8B71878","C779EE23-CB40-48E9-AFBE-B0595B1A3A6A"],"_WordBreak":"break-all","_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","distanceToDragEvent"],"_lastSyntaxHighlightTime":94,"previousSelection":[139,139],"priorSelectionRange":[134,149],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":8576},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(10.0,230.0)","distanceToDragEvent":"lively.pt(582.0,-20.5)"},"8489":{"_BorderWidth":1,"_ClipMode":"auto","_BorderRadius":4,"__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(845.6,195.7)","_BorderColor":"Color.rgb(102,102,102)","_Fill":"Color.rgb(243,243,243)","_Padding":"lively.rect(3,3,-3,-3)"},"8490":{"resizeWidth":true,"resizeHeight":true,"moveVertical":false,"moveHorizontal":false},"8491":{"style":{"__isSmartRef__":true,"id":8492},"chunkOwner":{"__isSmartRef__":true,"id":8488},"_id":"_14766","storedString":"//","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8492":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(128,0,0)"},"8493":{"_id":"_14838","style":{"__isSmartRef__":true,"id":8494},"chunkOwner":{"__isSmartRef__":true,"id":8488},"storedString":" changes here only affect runtime","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8494":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"8495":{"_id":"_14839","style":{"__isSmartRef__":true,"id":8496},"chunkOwner":{"__isSmartRef__":true,"id":8488},"storedString":"\n","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8496":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"8497":{"_id":"_14840","style":{"__isSmartRef__":true,"id":8498},"chunkOwner":{"__isSmartRef__":true,"id":8488},"storedString":"lively.morphic.Text","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8498":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"8499":{"_id":"_14841","style":{"__isSmartRef__":true,"id":8500},"chunkOwner":{"__isSmartRef__":true,"id":8488},"storedString":".","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8500":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"8501":{"_id":"_14842","style":{"__isSmartRef__":true,"id":8502},"chunkOwner":{"__isSmartRef__":true,"id":8488},"storedString":"addMethods","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8502":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(128,128,128)"},"8503":{"_id":"_14843","style":{"__isSmartRef__":true,"id":8504},"chunkOwner":{"__isSmartRef__":true,"id":8488},"storedString":"(","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8504":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"8505":{"_id":"_14844","style":{"__isSmartRef__":true,"id":8506},"chunkOwner":{"__isSmartRef__":true,"id":8488},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8506":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"8507":{"_id":"_14845","style":{"__isSmartRef__":true,"id":8508},"chunkOwner":{"__isSmartRef__":true,"id":8488},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8508":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"8509":{"_id":"_14767","style":{"__isSmartRef__":true,"id":8510},"chunkOwner":{"__isSmartRef__":true,"id":8488},"storedString":"unEmphasize:","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8510":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(139,0,0)"},"8511":{"_id":"_14846","style":{"__isSmartRef__":true,"id":8512},"chunkOwner":{"__isSmartRef__":true,"id":8488},"storedString":" ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8512":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"8513":{"_id":"_14847","style":{"__isSmartRef__":true,"id":8514},"chunkOwner":{"__isSmartRef__":true,"id":8488},"storedString":"function","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8514":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"8515":{"_id":"_14848","style":{"__isSmartRef__":true,"id":8516},"chunkOwner":{"__isSmartRef__":true,"id":8488},"storedString":" (from, to) ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8516":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"8517":{"_id":"_14849","style":{"__isSmartRef__":true,"id":8518},"chunkOwner":{"__isSmartRef__":true,"id":8488},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8518":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"8519":{"_id":"_14850","style":{"__isSmartRef__":true,"id":8520},"chunkOwner":{"__isSmartRef__":true,"id":8488},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8520":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"8521":{"_id":"_14851","style":{"__isSmartRef__":true,"id":8522},"chunkOwner":{"__isSmartRef__":true,"id":8488},"storedString":"var","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8522":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"8523":{"_id":"_14852","style":{"__isSmartRef__":true,"id":8524},"chunkOwner":{"__isSmartRef__":true,"id":8488},"storedString":" chunks = ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8524":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"8525":{"_id":"_14853","style":{"__isSmartRef__":true,"id":8526},"chunkOwner":{"__isSmartRef__":true,"id":8488},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8526":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"8527":{"_id":"_14854","style":{"__isSmartRef__":true,"id":8528},"chunkOwner":{"__isSmartRef__":true,"id":8488},"storedString":".sliceTextChunks(from, to);\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8528":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"8529":{"_id":"_14855","style":{"__isSmartRef__":true,"id":8530},"chunkOwner":{"__isSmartRef__":true,"id":8488},"storedString":"for","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8530":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"8531":{"_id":"_14856","style":{"__isSmartRef__":true,"id":8532},"chunkOwner":{"__isSmartRef__":true,"id":8488},"storedString":" (","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8532":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"8533":{"_id":"_14857","style":{"__isSmartRef__":true,"id":8534},"chunkOwner":{"__isSmartRef__":true,"id":8488},"storedString":"var","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8534":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,128)"},"8535":{"_id":"_14858","style":{"__isSmartRef__":true,"id":8536},"chunkOwner":{"__isSmartRef__":true,"id":8488},"storedString":" i = ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8536":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"8537":{"_id":"_14859","style":{"__isSmartRef__":true,"id":8538},"chunkOwner":{"__isSmartRef__":true,"id":8488},"storedString":"0","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8538":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,255)"},"8539":{"_id":"_14860","style":{"__isSmartRef__":true,"id":8540},"chunkOwner":{"__isSmartRef__":true,"id":8488},"storedString":"; i < chunks.length; i++) ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8540":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"8541":{"_id":"_14861","style":{"__isSmartRef__":true,"id":8542},"chunkOwner":{"__isSmartRef__":true,"id":8488},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8542":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"8543":{"_id":"_14862","style":{"__isSmartRef__":true,"id":8544},"chunkOwner":{"__isSmartRef__":true,"id":8488},"storedString":"\n chunks[i].styleText(","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8544":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"8545":{"_id":"_14863","style":{"__isSmartRef__":true,"id":8546},"chunkOwner":{"__isSmartRef__":true,"id":8488},"storedString":"{","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8546":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"8547":{"_id":"_14864","style":{"__isSmartRef__":true,"id":8548},"chunkOwner":{"__isSmartRef__":true,"id":8488},"storedString":"isNullStyle:","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8548":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(139,0,0)"},"8549":{"_id":"_14865","style":{"__isSmartRef__":true,"id":8550},"chunkOwner":{"__isSmartRef__":true,"id":8488},"storedString":" true","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8550":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"8551":{"_id":"_14866","style":{"__isSmartRef__":true,"id":8552},"chunkOwner":{"__isSmartRef__":true,"id":8488},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8552":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"8553":{"_id":"_14867","style":{"__isSmartRef__":true,"id":8554},"chunkOwner":{"__isSmartRef__":true,"id":8488},"storedString":");\n chunks[i].style = ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8554":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"8555":{"_id":"_14868","style":{"__isSmartRef__":true,"id":8556},"chunkOwner":{"__isSmartRef__":true,"id":8488},"storedString":"new","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8556":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"8557":{"_id":"_14869","style":{"__isSmartRef__":true,"id":8558},"chunkOwner":{"__isSmartRef__":true,"id":8488},"storedString":" lively.morphic.TextEmphasis();\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8558":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"8559":{"_id":"_14870","style":{"__isSmartRef__":true,"id":8560},"chunkOwner":{"__isSmartRef__":true,"id":8488},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8560":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"8561":{"_id":"_14871","style":{"__isSmartRef__":true,"id":8562},"chunkOwner":{"__isSmartRef__":true,"id":8488},"storedString":"\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8562":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"8563":{"_id":"_14872","style":{"__isSmartRef__":true,"id":8564},"chunkOwner":{"__isSmartRef__":true,"id":8488},"storedString":"this","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8564":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,139)"},"8565":{"_id":"_14873","style":{"__isSmartRef__":true,"id":8566},"chunkOwner":{"__isSmartRef__":true,"id":8488},"storedString":".coalesceChunks();\n ","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8566":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"8567":{"_id":"_14874","style":{"__isSmartRef__":true,"id":8568},"chunkOwner":{"__isSmartRef__":true,"id":8488},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8568":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"8569":{"_id":"_14875","style":{"__isSmartRef__":true,"id":8570},"chunkOwner":{"__isSmartRef__":true,"id":8488},"storedString":"\n","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8570":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"8571":{"_id":"_14876","style":{"__isSmartRef__":true,"id":8572},"chunkOwner":{"__isSmartRef__":true,"id":8488},"storedString":"}","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8572":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,128,0)"},"8573":{"_id":"_14877","style":{"__isSmartRef__":true,"id":8574},"chunkOwner":{"__isSmartRef__":true,"id":8488},"storedString":");","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8574":{"__serializedExpressions__":["color"],"backgroundColor":null,"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"8575":{"morph":{"__isSmartRef__":true,"id":8488},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8576":{"doSave":{"__isSmartRef__":true,"id":8577},"getDoitContext":{"__isSmartRef__":true,"id":8584}},"8577":{"varMapping":{"__isSmartRef__":true,"id":8578},"source":"function doSave() {\n\t$super()\n\talertOK(\"eval all for \" + this.getDoitContext())\n\tthis.boundEval(this.textString)\n}","funcProperties":{"__isSmartRef__":true,"id":8583},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8578":{"this":{"__isSmartRef__":true,"id":8488},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":8579}},"8579":{"$super":{"__isSmartRef__":true,"id":8580}},"8580":{"varMapping":{"__isSmartRef__":true,"id":8581},"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":8582},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8581":{"obj":{"__isSmartRef__":true,"id":8488},"name":"doSave"},"8582":{},"8583":{},"8584":{"varMapping":{"__isSmartRef__":true,"id":8585},"source":"function getDoitContext() {\n\treturn this.owner.targetObject\n}","funcProperties":{"__isSmartRef__":true,"id":8590},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8585":{"this":{"__isSmartRef__":true,"id":8488},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":8586}},"8586":{"$super":{"__isSmartRef__":true,"id":8587}},"8587":{"varMapping":{"__isSmartRef__":true,"id":8588},"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":8589},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8588":{"obj":{"__isSmartRef__":true,"id":8488},"name":"getDoitContext"},"8589":{},"8590":{},"8591":{"submorphs":[],"scripts":[],"id":"3EDFAFA1-22DF-49D8-AAA9-49DB8ABD30DF","shape":{"__isSmartRef__":true,"id":8592},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":true,"_FontFamily":"Monaco, Courier","registeredForMouseEvents":true,"_MaxTextWidth":846.9484727040478,"_MaxTextHeight":null,"textStyle":null,"layout":{"__isSmartRef__":true,"id":8593},"charsReplaced":"","lastFindLoc":697,"showsHalos":false,"name":"infoText","savedTextString":"// MethodFinder (this)\n\n// ** MethodFinder's Scripts **\nthis.addScript(function browse(fileFragment) {\n\tfileFragment && fileFragment.browseIt()\n});\n\nthis.addScript(function reset() {\n\tthis.get('searchResultList').updateList([]);\n\tthis.get('searchResultList').setSelection(null);\n\tthis.get('searchText').setTextString('enter search term here');\n});\n\n\nthis.addScript(function search(searchString) {\n\tvar finds = [];\n\tvar re = new RegExp(searchString)\n\tvar i=0;\n\tvar time = Functions.timeToRun(function() {\n\tGlobal.classes(true).forEach(function(eaClass) {\n\t\tFunctions.own(eaClass.prototype)\n\t\t\t.forEach(function(eaMethod) {\n\t\t\t\ti++;\n\t\t\t\tif (eaMethod.match(re)){\n\t\t\t\t\tfinds.push([eaClass, eaMethod])\n\t\t\t\t}\t\n\t\t\t})\t\n\t})})\n\talert(\"search \" + i + \" methods, found \" + finds.length + \" methods in \" + time + \"ms\")\n\n\tvar items = finds.collect(function(ea) {\n\t\treturn {\n\t\t\tisListItem: true,\n\t\t\tvalue: ea,\n\t\t\tstring: ea[0].name + \": \" + ea[1],\n\t\t}\n\t})\n\tthis.get('searchResultList').updateList(items);\n});","textChunks":[{"__isSmartRef__":true,"id":8594}],"_ClipMode":"hidden","prevScroll":[0,0],"_FontSize":10,"owner":{"__isSmartRef__":true,"id":8447},"eventHandler":{"__isSmartRef__":true,"id":8596},"_MinTextWidth":846.9484727040478,"_MinTextHeight":null,"derivationIds":[210,"E20B9061-6128-4BD4-BE8B-4B50F9BC8EA1","FFFED58E-70A3-4945-A7C8-19E2C0754BB7","1B69878E-8E43-4E25-BAE7-3D64CAE35839","2770B759-8971-45F4-8291-6DA85EBD1155","B0E0F94A-1BB3-405B-87BB-3C1199A8EB79","8EF852C4-A375-4F84-873C-4277F9A99D52","AA10C5AE-8C29-45DA-8CA5-A0E286F80E82","4B3576CB-50DD-49DF-913C-88D34002B5DC","B9692647-A99C-4A20-9C6C-3DF722D48DDE","109C8B5F-DBAA-490E-A061-CB3004CD8634","6494496E-CBF0-4256-ACA4-D7E7B674F7CE","7B312F1D-97DF-400B-B6A2-F871E0D93348","705B3C30-29F1-486C-AF08-7E7D03078BAF"],"_WordBreak":"break-all","_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(10.0,200.0)","distanceToDragEvent":"lively.pt(587.0,-13.5)"},"8592":{"_BorderWidth":1,"_ClipMode":"hidden","_BorderRadius":4,"__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(845.6,20.0)","_BorderColor":"Color.rgb(102,102,102)","_Fill":"Color.rgb(243,243,243)","_Padding":"lively.rect(2,1,-2,-1)"},"8593":{"resizeWidth":true,"resizeHeight":false,"moveVertical":false,"moveHorizontal":false},"8594":{"style":{"__isSmartRef__":true,"id":8595},"chunkOwner":{"__isSmartRef__":true,"id":8591},"_id":"_14769","storedString":"module(Global.lively.morphic.TextCore)","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8595":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8596":{"morph":{"__isSmartRef__":true,"id":8591},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8597":{"submorphs":[{"__isSmartRef__":true,"id":8598}],"scripts":[],"id":"494EF832-475A-4E6C-B170-72C378522F75","shape":{"__isSmartRef__":true,"id":8603},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":8604},"lighterFill":{"__isSmartRef__":true,"id":8609},"label":{"__isSmartRef__":true,"id":8598},"showsHalos":false,"name":"browse","partsBinMetaInfo":{"__isSmartRef__":true,"id":8614},"attributeConnections":[{"__isSmartRef__":true,"id":8615}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"eventHandler":{"__isSmartRef__":true,"id":8616},"owner":{"__isSmartRef__":true,"id":8447},"derivationIds":[211,"72C2FBB1-F169-43CC-AC8A-C0889FCB1663","8CF07460-17AC-4EC3-83C4-E31D52336E14","BE09102D-553E-4BB6-84A6-4D428731DD1B","2D43F043-9567-4765-A19C-7C922F0DFFE7","A77836E8-3C83-4A1D-B37A-7DDBA7FE13DE","13EB973D-FF17-4A76-AD4B-13347D80B1A9","8A92D97E-6965-49F7-B2B0-8842FB9ADCDF","662F4742-3BD8-4D39-88CB-EE97BC2306D6","8F15DC2D-892E-4B0F-83CB-8E7012281BEB","57A38C48-8036-4D85-91C8-9F60FE72DACE","5F6BEEC4-A021-4428-AC2A-14F8A4F9B68C","BF69FE04-AF9D-48BC-B4F9-5B9CFB4720D3","1B2B2CB4-3ABA-4387-A3D2-E8436B9DC849"],"_ClipMode":"visible","_Rotation":0,"_Scale":1,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","distanceToDragEvent":"lively.pt(53.7,-17.2)","_Position":"lively.pt(400.0,20.0)"},"8598":{"submorphs":[],"scripts":[],"id":"49533DC5-6067-410D-B0A4-C321B9D86C8D","shape":{"__isSmartRef__":true,"id":8599},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":false,"_FontFamily":"Helvetica","registeredForMouseEvents":true,"_MaxTextWidth":78,"_MaxTextHeight":null,"owner":{"__isSmartRef__":true,"id":8597},"isLabel":true,"eventsAreIgnored":true,"textStyle":null,"textChunks":[{"__isSmartRef__":true,"id":8600}],"prevScroll":[0,0],"_ClipMode":"hidden","_Align":"center","eventHandler":{"__isSmartRef__":true,"id":8602},"_HandStyle":"default","_PointerEvents":"none","_MinTextWidth":78,"_MinTextHeight":null,"derivationIds":[212,"054FD83F-508D-488D-A011-8769DCB647DF","834D337A-5619-4055-B103-7BDAA88CD7A9","3C85FBE2-5C85-4CCF-B86A-25E65015429B","001D6261-96E2-4ACC-880A-8540815DC8D3","90FFCC86-B995-4F2F-872F-55A8A74FC99E","766B1A00-7692-4CAB-B106-01876B4D5F77","C36FA883-C0F4-47DA-B1A9-CB8D82C1C6E4","91BD5A6B-4A46-43EA-8FA0-2A5C4EFDD1A7","B8CDD839-4085-4D54-B360-5F4DAC2DD83C","C25AEC86-A78F-4355-A843-3CACF03215A8","B28C6DEB-10EF-40BF-BA3F-3BFA8EB2B14D","6943F355-5B63-4DAD-8A39-14319936A0E0","81DC2508-85EB-4052-AFA2-44CF083A45C5"],"_WordBreak":"break-all","_Scale":1,"__serializedExpressions__":["_Position","padding","_Padding"],"__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)"},"8599":{"_BorderWidth":0,"_Fill":null,"_ClipMode":"hidden","__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(78.0,20.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"8600":{"style":{"__isSmartRef__":true,"id":8601},"morph":{"__isSmartRef__":true,"id":8598},"chunkOwner":{"__isSmartRef__":true,"id":8598},"storedString":"browse","_id":"_152","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8601":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8602":{"morph":{"__isSmartRef__":true,"id":8598},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8603":{"_BorderWidth":1,"_Fill":{"__isSmartRef__":true,"id":8604},"_BorderRadius":5,"_ClipMode":"visible","_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(78.0,20.0)","_BorderColor":"Color.rgb(66,66,66)","_Padding":"lively.rect(0,0,0,0)"},"8604":{"stops":[{"__isSmartRef__":true,"id":8605},{"__isSmartRef__":true,"id":8606},{"__isSmartRef__":true,"id":8607},{"__isSmartRef__":true,"id":8608}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"8605":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"8606":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"8607":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"8608":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(240,240,240)"},"8609":{"stops":[{"__isSmartRef__":true,"id":8610},{"__isSmartRef__":true,"id":8611},{"__isSmartRef__":true,"id":8612},{"__isSmartRef__":true,"id":8613}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"8610":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"8611":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"8612":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"8613":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"8614":{"partsSpaceName":"PartsBin/NewWorld","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"8615":{"sourceObj":{"__isSmartRef__":true,"id":8597},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":8447},"targetMethodName":"browseMethod","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8616":{"morph":{"__isSmartRef__":true,"id":8597},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8617":{"submorphs":[{"__isSmartRef__":true,"id":8618}],"scripts":[],"id":"F36D9229-F038-4FB2-9D99-7927CFA8335B","shape":{"__isSmartRef__":true,"id":8623},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":8624},"lighterFill":{"__isSmartRef__":true,"id":8629},"label":{"__isSmartRef__":true,"id":8618},"name":"Button1","showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":8634},"attributeConnections":[{"__isSmartRef__":true,"id":8635}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"eventHandler":{"__isSmartRef__":true,"id":8658},"prevScroll":[0,0],"owner":{"__isSmartRef__":true,"id":8447},"layout":{"__isSmartRef__":true,"id":8659},"derivationIds":[213,"EC7B60B8-A81F-4F24-A467-A661149CA045","DF2DEFBB-9271-4448-98A1-D2137526C2C3","EBFAF287-C65D-425B-910E-D6ADC7FA9D02","7F2E684F-7CC3-4CC4-8B18-920427491622","F7E9C68E-814B-4197-9D5B-556DCF0EC4F6","3DC305C0-5A87-4ED4-B263-5E5333B947FB","A8805225-9530-403B-977E-A2929A077DD0","0BF85746-8777-4195-949A-8733B4D79B02","8E485E0B-1832-4C7C-A5B1-D14057A7F5E3","4793FFDA-8803-44C7-97D4-27DE49B5D8D0","3FDA3264-B677-48AF-95D0-46DDD933EFBF","3350B214-FDFD-4143-8AB5-4E475C31F760","332F671C-E259-47B3-B31D-F86A48741FAF"],"_ClipMode":"visible","_Rotation":0,"_Scale":1,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","distanceToDragEvent":"lively.pt(111.4,-11.4)","_Position":"lively.pt(490.0,19.0)"},"8618":{"submorphs":[],"scripts":[],"id":"C4E77335-ED23-4E00-8643-497D1240C2CD","shape":{"__isSmartRef__":true,"id":8619},"grabbingEnabled":false,"__layered_droppingEnabled__":false,"halosEnabled":true,"fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":false,"_FontFamily":"Helvetica","registeredForMouseEvents":true,"_MaxTextWidth":157.05605605605615,"_MaxTextHeight":null,"textStyle":null,"owner":{"__isSmartRef__":true,"id":8617},"isLabel":true,"eventsAreIgnored":true,"_ClipMode":"hidden","textChunks":[{"__isSmartRef__":true,"id":8620}],"_Align":"center","eventHandler":{"__isSmartRef__":true,"id":8622},"_HandStyle":"default","_PointerEvents":"none","_MinTextWidth":157.05605605605615,"_MinTextHeight":null,"derivationIds":[214,"D88E1591-8BE5-4F54-AEB5-71BC24E2014D","FE6955F2-3796-4030-BD54-73604562225B","0F07A5A7-E04B-412A-8D91-2AA448965A0E","634A262F-940F-4590-8DB1-0738A6DF355A","221F164E-FD6F-40ED-8E18-E055A638CE93","1320C4DD-9213-40AA-A107-5EF8EBE9B22A","098E1029-F36B-4434-B20F-A2100DCCBB9A","39D48D5A-BB94-40BA-AB93-09B3B787EC3D","27F752E4-9705-4F8B-9CC4-6E5131892552","78776F49-7628-4F29-81F1-7AFC77BDAFE0","5ACE871C-A220-4C51-A9E1-9315BE30BB0A","D596A84E-3FB1-4A59-B12D-12FF54B0B37F","C7CF5CE2-FA69-432F-B05A-A8FDE7273491"],"_WordBreak":"break-all","_Scale":1,"__serializedExpressions__":["_Position","padding","_Padding"],"__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)"},"8619":{"_BorderWidth":0,"_Fill":null,"_ClipMode":"hidden","__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(157.1,21.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"8620":{"style":{"__isSmartRef__":true,"id":8621},"chunkOwner":{"__isSmartRef__":true,"id":8618},"storedString":"search on server","_id":"_153","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8621":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8622":{"morph":{"__isSmartRef__":true,"id":8618},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8623":{"_BorderWidth":1.1840000000000002,"_Fill":{"__isSmartRef__":true,"id":8624},"_BorderRadius":5.2,"_ClipMode":"visible","_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(157.1,21.0)","_BorderColor":"Color.rgb(66,66,66)","_Padding":"lively.rect(0,0,0,0)"},"8624":{"stops":[{"__isSmartRef__":true,"id":8625},{"__isSmartRef__":true,"id":8626},{"__isSmartRef__":true,"id":8627},{"__isSmartRef__":true,"id":8628}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"8625":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"8626":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"8627":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"8628":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(240,240,240)"},"8629":{"stops":[{"__isSmartRef__":true,"id":8630},{"__isSmartRef__":true,"id":8631},{"__isSmartRef__":true,"id":8632},{"__isSmartRef__":true,"id":8633}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"8630":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"8631":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"8632":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"8633":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"8634":{"partsSpaceName":"PartsBin/Inputs","migrationLevel":4,"partName":"Button","comment":"Has a script that is called on button press","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"8635":{"sourceObj":{"__isSmartRef__":true,"id":8617},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":8447},"targetMethodName":"searchOnServer","visualConnector":{"__isSmartRef__":true,"id":8636},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8636":{"submorphs":[{"__isSmartRef__":true,"id":8637}],"scripts":[],"shape":{"__isSmartRef__":true,"id":8644},"id":865,"eventHandler":{"__isSmartRef__":true,"id":8647},"__layered_droppingEnabled__":true,"halosEnabled":true,"owner":null,"controlPoints":[{"__isSmartRef__":true,"id":8648},{"__isSmartRef__":true,"id":8649}],"con":{"__isSmartRef__":true,"id":8635},"showsMorphMenu":true,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":8650},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"8637":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":8638},"id":866,"eventHandler":{"__isSmartRef__":true,"id":8643},"__layered_droppingEnabled__":true,"halosEnabled":true,"owner":{"__isSmartRef__":true,"id":8636},"_Rotation":-3.113822016996372,"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","_Position":"lively.pt(0.0,0.0)"},"8638":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":8639},{"__isSmartRef__":true,"id":8640},{"__isSmartRef__":true,"id":8641},{"__isSmartRef__":true,"id":8642}],"_ClipMode":"visible","_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(16.0,12.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(0,0,0)"},"8639":{"isAbsolute":true,"x":-12,"y":-6,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"8640":{"isAbsolute":true,"x":-12,"y":6,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"8641":{"isAbsolute":true,"x":4,"y":0,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"8642":{"isAbsolute":true,"x":-12,"y":-6,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"8643":{"morph":{"__isSmartRef__":true,"id":8637},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8644":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":8645},{"__isSmartRef__":true,"id":8646}],"_ClipMode":"visible","_BorderWidth":1,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Position":"lively.pt(-1.0,-1.0)","_Extent":"lively.pt(721.0,21.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"8645":{"isAbsolute":true,"x":719.9999999999999,"y":20,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"8646":{"isAbsolute":true,"x":0,"y":0,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"8647":{"morph":{"__isSmartRef__":true,"id":8636},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8648":{"morph":{"__isSmartRef__":true,"id":8636},"index":0,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"8649":{"morph":{"__isSmartRef__":true,"id":8636},"index":1,"connectedMagnet":null,"marker":{"__isSmartRef__":true,"id":8637},"markerDirection":"prev","__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"8650":{"morphMenuItems":{"__isSmartRef__":true,"id":8651}},"8651":{"varMapping":{"__isSmartRef__":true,"id":8652},"source":"function morphMenuItems() {\n var visualConnector = this, con = this.con, world = this.world();\n var items = [\n ['edit converter', function() {\n var source = con.converterString || \n 'function converter(value) {\\n return value\\n}',\n editor = new lively.morphic.Text(new Rectangle(0,0, 400, 200), source);\n editor.doitContext = con;\n connect(editor, 'savedTextString', con, 'converterString', {updater:\n function($upd, source) { this.targetObj.converter = null; $upd(source) }});\n connect(editor, 'savedTextString', world, 'alertOK', {converter: \n function() { return 'setting new converter' }})\n editor.applyStyle({syntaxHighlighting: true, \n fontFamily: 'Courier', resizeWidth: true, resizeHeight: true});\n var title = con.targetObj.name && con.sourceObj.name ?\n 'Editor for ' + con.targetObj.name + ' -> ' + con.sourceObj.name :\n 'Editor for converter function';\n var window = world.addFramedMorph(editor, title)\n window.align(window.bounds().topCenter(), \n visualConnector.bounds().bottomCenter())\n }],\n ['hide', function() {\n visualConnector.disconnectFromMagnets();\n visualConnector.remove();\n }],\n ['disconnect', function() {\n alertOK('Disconnected ' + visualConnector.con);\n visualConnector.con.visualDisconnect();\n }],\n ['cancel', function() {}],\n ];\n return items;\n }","funcProperties":{"__isSmartRef__":true,"id":8657},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8652":{"this":{"__isSmartRef__":true,"id":8636},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":8653}},"8653":{"$super":{"__isSmartRef__":true,"id":8654}},"8654":{"varMapping":{"__isSmartRef__":true,"id":8655},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch(e) {\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":8656},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8655":{"obj":{"__isSmartRef__":true,"id":8636},"name":"morphMenuItems"},"8656":{},"8657":{},"8658":{"morph":{"__isSmartRef__":true,"id":8617},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8659":{"moveHorizontal":false},"8660":{"submorphs":[{"__isSmartRef__":true,"id":8661}],"scripts":[],"id":"BA44CA7C-33D0-464D-89CC-3ED0165B982D","shape":{"__isSmartRef__":true,"id":8666},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":8667},"lighterFill":{"__isSmartRef__":true,"id":8672},"label":{"__isSmartRef__":true,"id":8661},"name":"ScriptableButton","showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":8677},"attributeConnections":[{"__isSmartRef__":true,"id":8678}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"eventHandler":{"__isSmartRef__":true,"id":8679},"derivationIds":[2588,"8DA01C71-0A84-4A5A-8027-121F4684BB04","2F4904A6-2C6F-4A39-8C69-7C1E943F91B4","7F6F4EE1-856E-477B-8578-D99400031DBA","374C68BB-3D86-4DA0-9616-2B5320585D0E","23336C67-2F65-4D9F-9380-304876DC628F","8E57191F-E38B-4526-95AA-8D530FAC8156","7146BE6C-6AB9-4A41-89F9-0D6C1906F22C","D5614241-97DF-41BC-B4F2-D3704916AAE0"],"owner":{"__isSmartRef__":true,"id":8447},"layout":{"__isSmartRef__":true,"id":8680},"_ClipMode":"visible","_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":8681},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(836.8,21.0)","distanceToDragEvent":"lively.pt(34.4,-11.2)"},"8661":{"submorphs":[],"scripts":[],"id":"CD30E86C-5209-4F9E-A42E-E3E7554042B5","shape":{"__isSmartRef__":true,"id":8662},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":false,"_FontFamily":"Helvetica","registeredForMouseEvents":true,"_MaxTextWidth":20,"_MaxTextHeight":null,"textStyle":null,"owner":{"__isSmartRef__":true,"id":8660},"isLabel":true,"eventsAreIgnored":true,"_ClipMode":"hidden","textChunks":[{"__isSmartRef__":true,"id":8663}],"_Align":"center","eventHandler":{"__isSmartRef__":true,"id":8665},"_HandStyle":"default","_PointerEvents":"none","derivationIds":[2589,"784F6E71-6365-4235-A0B6-69F992BB532B","54335D65-DB12-4322-84D0-BA8B85E7ED2F","2EF9D95D-4705-44B3-8D3C-446FEDC6346B","07108773-133C-4F4A-A740-33175849E789","E58C564E-D8F3-481A-821D-447F7C7556D8","D92DDD8E-7733-4909-A5E9-049EC55E90C0","5349ED28-AA73-4C7E-8241-575E1A050868","59B9249F-DA37-4FB9-85D2-ABBCFE3AA101"],"_MinTextWidth":20,"_MinTextHeight":null,"_WordBreak":"break-all","_Scale":1,"__serializedExpressions__":["_Position","padding","_Padding"],"__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)"},"8662":{"_BorderWidth":0,"_Fill":null,"_ClipMode":"hidden","__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(20.0,20.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"8663":{"style":{"__isSmartRef__":true,"id":8664},"chunkOwner":{"__isSmartRef__":true,"id":8661},"storedString":"x","_id":"_154","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8664":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8665":{"morph":{"__isSmartRef__":true,"id":8661},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8666":{"_BorderWidth":1.1840000000000002,"_Fill":{"__isSmartRef__":true,"id":8667},"_BorderRadius":5.2,"_ClipMode":"visible","_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(20.0,20.0)","_BorderColor":"Color.rgb(66,66,66)","_Padding":"lively.rect(0,0,0,0)"},"8667":{"stops":[{"__isSmartRef__":true,"id":8668},{"__isSmartRef__":true,"id":8669},{"__isSmartRef__":true,"id":8670},{"__isSmartRef__":true,"id":8671}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"8668":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"8669":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"8670":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"8671":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(240,240,240)"},"8672":{"stops":[{"__isSmartRef__":true,"id":8673},{"__isSmartRef__":true,"id":8674},{"__isSmartRef__":true,"id":8675},{"__isSmartRef__":true,"id":8676}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"8673":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"8674":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"8675":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"8676":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"8677":{"partsSpaceName":"PartsBin/Inputs","migrationLevel":2,"partName":"ScriptableButton","comment":"Has a script that is called on button press","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"8678":{"sourceObj":{"__isSmartRef__":true,"id":8660},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":8660},"targetMethodName":"onFire","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8679":{"morph":{"__isSmartRef__":true,"id":8660},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8680":{"moveHorizontal":true},"8681":{"onFire":{"__isSmartRef__":true,"id":8682}},"8682":{"varMapping":{"__isSmartRef__":true,"id":8683},"source":"function onFire() {\n var tab = this.owner.owner.tab\n var toolPane = this.get('ToolTabPane')\n toolPane.tabBar.removeTab(tab)\n if(toolPane.tabBar.getTabs().length == 0) {\n if (toolPane.owner instanceof lively.morphic.Window)\n toolPane.owner.remove();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":8684},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8683":{"this":{"__isSmartRef__":true,"id":8660}},"8684":{"timestamp":{"__isSmartRef__":true,"id":8685},"user":"undefined","tags":[]},"8685":{"isSerializedDate":true,"string":"Fri Feb 03 2012 16:32:27 GMT+0100 (CET)"},"8686":{"_BorderWidth":1,"_ClipMode":"visible","__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(872.1,440.7)","_BorderColor":"Color.rgb(95,94,95)","_Fill":"Color.rgb(255,255,255)","_Padding":"lively.rect(0,0,0,0)"},"8687":{"resizeWidth":true,"resizeHeight":true,"adjustForNewBounds":true},"8688":{"morph":{"__isSmartRef__":true,"id":8447},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8689":{"search":{"__isSmartRef__":true,"id":8690},"browse":{"__isSmartRef__":true,"id":8694},"reset":{"__isSmartRef__":true,"id":8698},"setSearch":{"__isSmartRef__":true,"id":8702},"emphasizeStringIn":{"__isSmartRef__":true,"id":8706},"withAllMethodsDo":{"__isSmartRef__":true,"id":8710},"itemsFromFinds":{"__isSmartRef__":true,"id":8714},"browseMethod":{"__isSmartRef__":true,"id":8718},"openMethodInSystemBrowser":{"__isSmartRef__":true,"id":8722},"findSourceModule":{"__isSmartRef__":true,"id":8726},"searchOnServer":{"__isSmartRef__":true,"id":8730},"showLayerDefinition":{"__isSmartRef__":true,"id":8734}},"8690":{"varMapping":{"__isSmartRef__":true,"id":8691},"source":"function search(searchString) { \n this.get('searchResultList').updateList([]);\n this.get('sourceText').setTextString('');\n if (!searchString || (searchString.length < 2)) {\n this.get('sourceText').setTextString('\"' + searchString + '\" is to short');\n return;\n }\n var finds = [];\n var i=0;\n var matches = function(s) {\n return s.include(searchString)\n } \n\n // var re = new RegExp(searchString)\n var time = Functions.timeToRun(function() {\n this.withAllMethodsDo(function(object, eaMethod, type, optParent) {\n i++;\n var name;\n if (!object) return;\n\n if (object.constructor.prototype == object)\n name = object.constructor.name\n\n if (object.name) name = object.name;\n if (object.namespaceIdentifier)\n name = object.namespaceIdentifier\n\n if (object.constructor.prototype != object)\n name = name + \"(object)\"\n\n if ((object.constructor.prototype != object) && (object instanceof lively.morphic.Morph))\n name = object.name + \"(\" + object.id + \")\"\n\n if (object === Global)\n name = \" \";\n\n if (type == \"layered\") {\n \n name = object._layered_object.constructor.type \n + \" (\" + optParent.name + \")\" \n \n }\n\n var string = name + \": \" + eaMethod; \n var item = {object: object, method: eaMethod, string: string, type: type};\n if (type == \"layered\") {\n item.layerName = optParent.name\n }\n\n if (matches(eaMethod)) {\n item.search= 'implementor',\n finds.push(item)\n return;\n } \n\n var f = object[eaMethod];\n if (!f || !f.getOriginal) return;\n var source = String(f.getOriginal())\n if (matches(source)){\n item.search = 'sender'\n finds.push(item)\n } \n })\n }.bind(this))\n this.get('sourceText').setTextString(\"search \" + i + \" methods, found \" \n + finds.length + \" methods in \" + time + \"ms\");\n var items = this.itemsFromFinds(finds)\n this.get('searchResultList').updateList(items);\n}","funcProperties":{"__isSmartRef__":true,"id":8692},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8691":{"this":{"__isSmartRef__":true,"id":8447}},"8692":{"timestamp":{"__isSmartRef__":true,"id":8693},"tags":[]},"8693":{"isSerializedDate":true,"string":"Thu Jan 10 2013 00:18:25 GMT+0100 (CET)"},"8694":{"varMapping":{"__isSmartRef__":true,"id":8695},"source":"function browse(methodItem) {\n // methodItem = this.get('searchResultList').selection\n if (! methodItem) return;\n\n // deal with non method findings....\n if (methodItem.type == 'layer') {\n this.showLayerDefinition(methodItem)\n return\n } \n\n // methodItem = this.get('searchResultList').selection\n var methodName = methodItem.method;\n var object = methodItem.object;\n var orgFunc = object[methodName];\n\n if (!orgFunc || !orgFunc.getOriginal) {\n this.get('sourceText').setTextString('no source');\n return\n }\n orgFunc = orgFunc.getOriginal()\n \n this.targetFunction = orgFunc;\n this.targetObject = object;\n\n var source = \"// changes here only affect runtime\\n\", \n tab = lively.morphic.Text.prototype.tab;\n if (methodItem.layerName) {\n var partialMethod = object[methodName];\n source += methodItem.layerName + \".refineClass(\" + \n object._layered_object.constructor.type + \", {\\n\" + \n tab + methodName + \": \" + partialMethod +\"\\n})\";\n } else if (orgFunc.belongsToTrait) {\n source += \"Trait('\" + orgFunc.belongsToTrait.name + \"', {\\n\" \n + tab + methodName + \": \" + orgFunc +\"\\n})\";\n } else if (orgFunc.declaredClass) {\n source += orgFunc.declaredClass + \".addMethods({\\n\" \n + tab + methodName + \": \" \n + orgFunc + \"\\n});\"\n } else if(methodItem.type == 'extend') {\n // perhaps it is a an class object\n source += \"Object.extend(\" + (object.type || object.namespaceIdentifier) \n + \",{\\n\" + tab + methodName + \": \" \n + orgFunc + \"\\n});\"\n } else if(object.isMorph && (object.constructor.prototype !== object) ) {\n // display as script\n source = \"this.addScript(\" + orgFunc + \");\"\n } else if(object === Global) {\n // display as script\n source += \"Object.extend(Global, {\\n\" + tab + methodName + \": \" +\n orgFunc + \"\\n});\"\n }\n\n this.get('sourceText').setTextString(source)\n\n module('lively.ide.SyntaxHighlighting').load(true);\n this.get('sourceText').highlightJavaScriptSyntax();\n\n var searchText = this.get('searchText').textString;\n var m = searchText.match(/[^a-zA-Z0-9_\\.]/g)\n if(m) {\n m.forEach(function (each) {\n var escapedChar = '\\\\' + each;\n var position = searchText.search(\n new RegExp('[^\\\\\\\\]' + '\\\\' + each)) + 1;\n searchText = searchText.substring(0,position) \n + escapedChar + searchText.substr(position + 1);\n });\n }\n this.get('sourceText').emphasizeRegex(new RegExp(searchText, 'g'), {color: Color.red});\n\n var info = '' + this.findSourceModule(orgFunc);\n\n if (orgFunc.belongsToTrait)\n info += ' (' + orgFunc.belongsToTrait + \" in \" + orgFunc.belongsToTrait.sourceModule +\")\";\n\n this.get('infoText').setTextString(info)\n}","funcProperties":{"__isSmartRef__":true,"id":8696},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8695":{"this":{"__isSmartRef__":true,"id":8447}},"8696":{"timestamp":{"__isSmartRef__":true,"id":8697},"user":"undefined","tags":[]},"8697":{"isSerializedDate":true,"string":"Thu Feb 02 2012 13:55:34 GMT+0100 (CET)"},"8698":{"varMapping":{"__isSmartRef__":true,"id":8699},"source":"function reset() {\n this.doNotSerialize = ['targetFunction', 'targetObject']\n this.get('searchResultList').updateList([]);\n this.get('searchResultList').setSelection(null);\n this.get('searchText').setTextString('enter method name here');\n this.get('sourceText').setTextString('no code');\n this.get('infoText').setTextString('');\n this.targetFunction = null;\n this.targetObject = null;\n}","funcProperties":{"__isSmartRef__":true,"id":8700},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8699":{"this":{"__isSmartRef__":true,"id":8447}},"8700":{"timestamp":{"__isSmartRef__":true,"id":8701},"user":"undefined","tags":[]},"8701":{"isSerializedDate":true,"string":"Fri Feb 03 2012 15:30:14 GMT+0100 (CET)"},"8702":{"varMapping":{"__isSmartRef__":true,"id":8703},"source":"function setSearch(searchString) {\n this.get('searchText').setTextString(searchString);\n this.search(searchString)\n var list = this.get('searchResultList').getList();\n if (list.length > 0) this.get('searchResultList').setSelection(list[0])\n}","funcProperties":{"__isSmartRef__":true,"id":8704},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8703":{"this":{"__isSmartRef__":true,"id":8447}},"8704":{"timestamp":{"__isSmartRef__":true,"id":8705},"tags":[]},"8705":{"isSerializedDate":true,"string":"Thu Jan 10 2013 00:18:25 GMT+0100 (CET)"},"8706":{"varMapping":{"__isSmartRef__":true,"id":8707},"source":"function emphasizeStringIn(morph, string, style) {\n var m;\n var re = new RegExp(string, \"g\");\n while(m = re.exec(morph.textString)) {\n var from = m.index,\n to = m.index + m[0].length;\n morph.emphasize(style, from, to)\n }\n}","funcProperties":{"__isSmartRef__":true,"id":8708},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8707":{"this":{"__isSmartRef__":true,"id":8447}},"8708":{"timestamp":{"__isSmartRef__":true,"id":8709},"tags":[]},"8709":{"isSerializedDate":true,"string":"Thu Jan 10 2013 00:18:25 GMT+0100 (CET)"},"8710":{"varMapping":{"__isSmartRef__":true,"id":8711},"source":"function withAllMethodsDo(func) {\n var visited = [];\n\n cop.allLayers().forEach(function(layer) {\n func(eval(layer.namespaceName), layer.name, 'layer')\n layer.layeredObjects().forEach(function(obj) {\n var layerDef = cop.getLayerDefinitionForObject(layer, obj)\n Functions.own(layerDef).forEach(function(eaMethod) {\n func(layerDef, eaMethod, 'layered', layer)\n });\n });\n }); \n\n\n Functions.own(Global).forEach(function(eaMethod) {\n func(Global, eaMethod, 'global')\n }); \n\n this.world().withAllSubmorphsDo(function(ea) {\n Functions.own(ea).forEach(function(eaMethod) {\n func(ea, eaMethod, 'script')\n }); \n });\n\n Global.subNamespaces(true).forEach(function(ea) {\n Functions.own(ea).forEach(function(eaMethod) {\n func(ea, eaMethod, 'extend')\n }); \n });\n\n Global.classes(true).uniq().forEach(function(eaClass) {\n Functions.own(eaClass).forEach(function(eaMethod) {\n func(eaClass, eaMethod, 'extend')\n }); \n\n Functions.own(eaClass.prototype).forEach(function(eaMethod) {\n func(eaClass.prototype, eaMethod, 'class')\n }) \n })\n}","funcProperties":{"__isSmartRef__":true,"id":8712},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8711":{"this":{"__isSmartRef__":true,"id":8447}},"8712":{"timestamp":{"__isSmartRef__":true,"id":8713},"user":"undefined","tags":[]},"8713":{"isSerializedDate":true,"string":"Thu Jan 19 2012 14:41:57 GMT+0100 (CET)"},"8714":{"varMapping":{"__isSmartRef__":true,"id":8715},"source":"function itemsFromFinds(finds) {\n var searchString = this.get('searchText').textString;\n var items = finds.collect(function(ea) {\n var pref = \"\" + ea.type + \" \";\n if (ea.search == \"sender\") pref += \"full: \"\n if (ea.search == \"implementor\") pref += \"name: \"\n var string = pref + ea.string;\n var func = ea.object[ea.method];\n if (func.belongsToTrait) \n string += ' / ' + func.belongsToTrait + '' \n\n var result = {\n isListItem: true,\n value: ea,\n string: string,\n doNotSerialize: ['value'],\n priority: {implementor: \"B\", sender: \"C\"}[ea.search] || \"D\",\n };\n if (ea.method == searchString) result.priority = \"A\"\n return result\n })\n items = items.sortBy(function(ea) {return ea.priority + ea.string})\n return items\n}","funcProperties":{"__isSmartRef__":true,"id":8716},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8715":{"this":{"__isSmartRef__":true,"id":8447}},"8716":{"timestamp":{"__isSmartRef__":true,"id":8717},"user":"undefined","tags":[]},"8717":{"isSerializedDate":true,"string":"Fri Feb 03 2012 15:31:52 GMT+0100 (CET)"},"8718":{"varMapping":{"__isSmartRef__":true,"id":8719},"source":"function browseMethod() {\n alertOK('browseMethod')\n var methodItem = this.get('searchResultList').selection;\n if (methodItem.type == 'layer') {\n var layer = methodItem.object[methodItem.method];\n this.openMethodInSystemBrowser(methodItem.method, \n undefined, layer.sourceModule);\n return\n }\n\n if (!this.targetFunction) return;\n var methodName = this.targetFunction.methodName || this.targetFunction.displayName; \n if(this.targetFunction.declaredClass) {\n var classObj = eval(this.targetFunction.declaredClass)\n this.openMethodInSystemBrowser(classObj.type, methodName);\n return;\n }\n if(this.targetFunction.belongsToTrait) {\n this.openMethodInSystemBrowser(this.targetFunction.belongsToTrait.name, methodName);\n return;\n }\n if(Class.isClass(this.targetObject)) {\n this.openMethodInSystemBrowser(this.targetObject.type, methodName);\n return;\n }\n if(this.targetObject.namespaceIdentifier) {\n this.openMethodInSystemBrowser(this.targetObject.namespaceIdentifier, methodName);\n return;\n }\n if(this.targetObject instanceof lively.morphic.Morph) {\n var editor = this.world().openObjectEditorFor(this.targetObject);\n editor.align(editor.bounds().center(), this.world().visibleBounds().center());\n return;\n }\n if (Class.isClass(this.targetFunction)) {\n // constructor\n this.openMethodInSystemBrowser(this.targetFunction.displayName);\n return;\n }\n \n alertOK('not implemented yet for ' + this.targetFunction)\n}","funcProperties":{"__isSmartRef__":true,"id":8720},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8719":{"this":{"__isSmartRef__":true,"id":8447}},"8720":{"timestamp":{"__isSmartRef__":true,"id":8721},"user":"undefined","tags":[]},"8721":{"isSerializedDate":true,"string":"Thu Jan 19 2012 16:54:12 GMT+0100 (CET)"},"8722":{"varMapping":{"__isSmartRef__":true,"id":8723},"source":"function openMethodInSystemBrowser(objectName, methodName, optSourceModule) {\n if (objectName)\n objectName = objectName.replace(/^Global\\./,\"\");\n // alertOK(\"browse \" + objectName + \":\" + methodName)\n // objectName = 'SelectionMorphTrait', methodName = 'onDrag'\n var sourceModule = optSourceModule ||\n this.findSourceModule(this.targetFunction);\n if (!sourceModule) \n alert('could not browse, since no source module found!')\n var uri = new URL(sourceModule.uri()),\n relative = uri.relativePathFrom(new URL(Config.codeBase)),\n moduleNode = lively.ide.startSourceControl().addModule(relative),\n rootNode = moduleNode.ast();\n\n var fileFragments = rootNode.subElements(10).select(function(ea) {\n var path = ea.getOwnerNamePath()\n if (objectName == \"Global\")\n return path.include(methodName);\n return path.include(objectName) && (!methodName || path.include(methodName)) \n });\n \n\n\n // alertOK(\"found following places to browse: \" + fileFragments)\n if (fileFragments.length > 0) {\n fileFragments[0].browseIt()\n } else {\n alert(\"browse failed. Nothing found for \" + objectName + \">>\" + methodName + \" in \" + sourceModule.uri());\n rootNode.browseIt();\n }\n\n}","funcProperties":{"__isSmartRef__":true,"id":8724},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8723":{"this":{"__isSmartRef__":true,"id":8447}},"8724":{"timestamp":{"__isSmartRef__":true,"id":8725},"user":"jenslincke","tags":[]},"8725":{"isSerializedDate":true,"string":"Thu Feb 09 2012 11:27:23 GMT+0100 (CET)"},"8726":{"varMapping":{"__isSmartRef__":true,"id":8727},"source":"function findSourceModule(funcObj) {\n if (this.targetFunction.belongsToTrait) \n return this.targetFunction.belongsToTrait.sourceModule\n if (funcObj.sourceModule)\n return funcObj.sourceModule;\n // look in the class\n if (!funcObj.sourceModule && funcObj.declaredClass) {\n var classObj = eval(funcObj.declaredClass)\n return classObj.sourceModule\n }\n}","funcProperties":{"__isSmartRef__":true,"id":8728},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8727":{"this":{"__isSmartRef__":true,"id":8447}},"8728":{"timestamp":{"__isSmartRef__":true,"id":8729},"user":"jenslincke","tags":[]},"8729":{"isSerializedDate":true,"string":"Fri Nov 04 2011 15:27:13 GMT+0100 (CET)"},"8730":{"varMapping":{"__isSmartRef__":true,"id":8731},"source":"function searchOnServer() {\n var serverSearch = this.world().openPartItem('ServerSearch', 'PartsBin/Tools'); \n serverSearch.setSearch(this.get('searchText').textString)\n}","funcProperties":{"__isSmartRef__":true,"id":8732},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8731":{"this":{"__isSmartRef__":true,"id":8447}},"8732":{"timestamp":{"__isSmartRef__":true,"id":8733},"user":"jenslincke","tags":[]},"8733":{"isSerializedDate":true,"string":"Fri Nov 18 2011 11:40:23 GMT+0100 (CET)"},"8734":{"varMapping":{"__isSmartRef__":true,"id":8735},"source":"function showLayerDefinition(methodItem) {\n var info = \"layer definition\" \n var source = \"TODO: print layer def here...\"\n this.get('infoText').setTextString(info)\n this.get('sourceText').setTextString(source)\n}","funcProperties":{"__isSmartRef__":true,"id":8736},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8735":{"this":{"__isSmartRef__":true,"id":8447}},"8736":{"timestamp":{"__isSmartRef__":true,"id":8737},"user":"undefined","tags":[]},"8737":{"isSerializedDate":true,"string":"Thu Jan 19 2012 15:30:43 GMT+0100 (CET)"},"8738":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor","_Fill"],"_BorderWidth":1,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(872.1,440.7)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(204,204,204)","_Fill":"Color.rgb(255,255,255)"},"8739":{"morph":{"__isSmartRef__":true,"id":8446},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8740":{"resizeWidth":true,"resizeHeight":true,"adjustForNewBounds":true},"8741":{"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill","_BorderColor"],"_ClipMode":"visible","_BorderWidth":1,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(872.1,30.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(255,255,255)","_BorderColor":"Color.rgb(204,204,204)"},"8742":{"morph":{"__isSmartRef__":true,"id":6034},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8743":{"adjustForNewBounds":true,"resizeWidth":true},"8744":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_ClipMode":"visible","_BorderWidth":1,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(872.1,470.7)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(95,94,95)"},"8745":{"morph":{"__isSmartRef__":true,"id":6033},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8746":{"__LivelyClassName__":"lively.morphic.TabStrategyTop","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"8747":{"requiredModules":[],"partsSpaceName":"PartsBin/Dialogs","comment":"A tabbed tool pane (under development): Supports MethodFinder","changes":[{"__isSmartRef__":true,"id":8748},{"__isSmartRef__":true,"id":8750},{"__isSmartRef__":true,"id":8752},{"__isSmartRef__":true,"id":8754},{"__isSmartRef__":true,"id":8756},{"__isSmartRef__":true,"id":8758}],"migrationLevel":4,"partName":"ToolTabPane","attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"lastModifiedDate":{"__isSmartRef__":true,"id":8760},"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"8748":{"date":{"__isSmartRef__":true,"id":8749},"author":"undefined","message":"added a resize corner","id":"69E8407B-8700-4E9B-8558-C54AF5D9D65F"},"8749":{"isSerializedDate":true,"string":"Mon Mar 26 2012 12:52:49 GMT+0200 (CEST)"},"8750":{"date":{"__isSmartRef__":true,"id":8751},"author":"undefined","message":"- white and S:","id":"9CC8444F-8D6A-476B-904F-1BC27EB9F6E4"},"8751":{"isSerializedDate":true,"string":"Fri Feb 03 2012 16:24:10 GMT+0100 (CET)"},"8752":{"date":{"__isSmartRef__":true,"id":8753},"author":"undefined","message":"initial version ","id":"61DC98FC-D0AA-43D7-A579-7649657A81B4"},"8753":{"isSerializedDate":true,"string":"Fri Feb 03 2012 15:55:32 GMT+0100 (CET)"},"8754":{"date":{"__isSmartRef__":true,"id":8755},"author":"fabian","message":"initial","id":"EA1E7C49-D79B-461B-ACD7-126E1902F6FF"},"8755":{"isSerializedDate":true,"string":"Thu Jan 26 2012 08:08:17 GMT+0100 (CET)"},"8756":{"date":{"__isSmartRef__":true,"id":8757},"author":"athomschke","message":"","id":"CADBD788-8F41-4046-BCED-6CF1172CF93D"},"8757":{"isSerializedDate":true,"string":"Thu Feb 09 2012 12:51:59 GMT+0100 (CET)"},"8758":{"date":{"__isSmartRef__":true,"id":8759},"author":"robertkrahn","message":"fixing scale","id":"D405372C-153F-4A5F-850A-C068C39ED4D9"},"8759":{"isSerializedDate":true,"string":"Sat Jun 16 2012 13:48:36 GMT+0200 (CEST)"},"8760":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (CEST)"},"8761":{"resizeWidth":true,"resizeHeight":true,"adjustForNewBounds":true},"8762":{"onrestore":{"__isSmartRef__":true,"id":8763},"installLayers":{"__isSmartRef__":true,"id":8771},"openMethodFinderFor":{"__isSmartRef__":true,"id":8775}},"8763":{"varMapping":{"__isSmartRef__":true,"id":8764},"source":"function onrestore() {\n this.installLayers();\n $super()\n}","funcProperties":{"__isSmartRef__":true,"id":8769},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8764":{"this":{"__isSmartRef__":true,"id":6033},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":8765}},"8765":{"$super":{"__isSmartRef__":true,"id":8766}},"8766":{"varMapping":{"__isSmartRef__":true,"id":8767},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch(e) {\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":8768},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8767":{"obj":{"__isSmartRef__":true,"id":6033},"name":"onrestore"},"8768":{},"8769":{"timestamp":{"__isSmartRef__":true,"id":8770},"user":"undefined","tags":[]},"8770":{"isSerializedDate":true,"string":"Fri Feb 03 2012 15:18:55 GMT+0100 (CET)"},"8771":{"varMapping":{"__isSmartRef__":true,"id":8772},"source":"function installLayers() {\n \ncop.create(\"TabbedMethodFinderLayer\").refineClass(lively.morphic.Text, {\n doBrowseImplementors: function () {\n var toolTabPane = this.get(\"ToolTabPane\");\n var searchString = this.getSelectionOrLineString();\n if (toolTabPane) {\n toolTabPane.openMethodFinderFor(searchString);\n return;\n }\n this.world().openMethodFinderFor(searchString)\n }\n})\n\n\nthis.setWithLayers([TabbedMethodFinderLayer])\n\n\n}","funcProperties":{"__isSmartRef__":true,"id":8773},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8772":{"this":{"__isSmartRef__":true,"id":6033}},"8773":{"timestamp":{"__isSmartRef__":true,"id":8774},"user":"undefined","tags":[]},"8774":{"isSerializedDate":true,"string":"Fri Feb 03 2012 15:20:31 GMT+0100 (CET)"},"8775":{"varMapping":{"__isSmartRef__":true,"id":8776},"source":"function openMethodFinderFor(searchString) {\n // this.openMethodFinderFor(\"onMouseDown\")\n var tab = this.addTabLabeled(\"S:\" + searchString)\n var part = this.world().openPartItem('MethodFinderPane', 'PartsBin/Dialogs');\n part.setExtent(this.tabPaneExtent)\n tab.pane.addMorph(part);\n tab.pane.layout = tab.pane.layout || {};\n tab.pane.layout.resizeWidth = true;\n tab.pane.layout.resizeHeight = true;\n part.setSearch(searchString);\n part.setPosition(pt(0,0))\n $world.addMorph(this.owner);\n return part;\n}","funcProperties":{"__isSmartRef__":true,"id":8777},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8776":{"this":{"__isSmartRef__":true,"id":6033}},"8777":{"timestamp":{"__isSmartRef__":true,"id":8778},"user":"undefined","tags":[]},"8778":{"isSerializedDate":true,"string":"Wed Mar 28 2012 13:53:26 GMT+0200 (CEST)"},"8779":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":8780},"eventHandler":{"__isSmartRef__":true,"id":8781},"_ClipMode":"visible","derivationIds":[],"id":"61A0F80B-8B75-4D23-B285-866C58A77B7B","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"_StyleClassNames":["reframe-handle bottom"],"owner":{"__isSmartRef__":true,"id":6032},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":8782},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,492.7)"},"8780":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(866.3,4.0)","_Padding":"lively.rect(0,0,0,0)"},"8781":{"morph":{"__isSmartRef__":true,"id":8779},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8782":{"onDragStart":{"__isSmartRef__":true,"id":8783},"onDrag":{"__isSmartRef__":true,"id":8790},"onDragEnd":{"__isSmartRef__":true,"id":8797}},"8783":{"varMapping":{"__isSmartRef__":true,"id":8784},"source":"function onDragStart(evt) {\n this.dragStartPoint = evt.mousePoint;\n this.originalTargetExtent = this.owner.getExtent();\n }","funcProperties":{"__isSmartRef__":true,"id":8789},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8784":{"this":{"__isSmartRef__":true,"id":8779},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":8785}},"8785":{"$super":{"__isSmartRef__":true,"id":8786}},"8786":{"varMapping":{"__isSmartRef__":true,"id":8787},"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":8788},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8787":{"obj":{"__isSmartRef__":true,"id":8779},"name":"onDragStart"},"8788":{},"8789":{},"8790":{"varMapping":{"__isSmartRef__":true,"id":8791},"source":"function onDrag(evt) {\n var moveDelta = pt(0,evt.mousePoint.subPt(this.dragStartPoint).y);\n var newExtent = this.originalTargetExtent.addPt(moveDelta);\n if (newExtent.y < this.owner.minHeight) newExtent.y = this.owner.minHeight;\n this.owner.setExtent(newExtent);\n\n this.align(this.bounds().bottomLeft(), pt(0,this.owner.getExtent().y));\n }","funcProperties":{"__isSmartRef__":true,"id":8796},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8791":{"this":{"__isSmartRef__":true,"id":8779},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":8792}},"8792":{"$super":{"__isSmartRef__":true,"id":8793}},"8793":{"varMapping":{"__isSmartRef__":true,"id":8794},"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":8795},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8794":{"obj":{"__isSmartRef__":true,"id":8779},"name":"onDrag"},"8795":{},"8796":{},"8797":{"varMapping":{"__isSmartRef__":true,"id":8798},"source":"function onDragEnd(evt) {\n this.dragStartPoint = null;\n this.originalTargetExtent = null;\n this.owner.alignReframeHandle();\n this.owner.alignRightReframeHandle();\n }","funcProperties":{"__isSmartRef__":true,"id":8803},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8798":{"this":{"__isSmartRef__":true,"id":8779},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":8799}},"8799":{"$super":{"__isSmartRef__":true,"id":8800}},"8800":{"varMapping":{"__isSmartRef__":true,"id":8801},"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":8802},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8801":{"obj":{"__isSmartRef__":true,"id":8779},"name":"onDragEnd"},"8802":{},"8803":{},"8804":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":8805},"eventHandler":{"__isSmartRef__":true,"id":8806},"_ClipMode":"visible","derivationIds":[],"id":"54AA0053-DF23-4D7C-883B-707E52B156A6","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"_StyleClassNames":["reframe-handle right"],"owner":{"__isSmartRef__":true,"id":6032},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":8807},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(876.3,0.0)"},"8805":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(4.0,482.7)","_Padding":"lively.rect(0,0,0,0)"},"8806":{"morph":{"__isSmartRef__":true,"id":8804},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8807":{"onDragStart":{"__isSmartRef__":true,"id":8808},"onDrag":{"__isSmartRef__":true,"id":8815},"onDragEnd":{"__isSmartRef__":true,"id":8822}},"8808":{"varMapping":{"__isSmartRef__":true,"id":8809},"source":"function onDragStart(evt) {\n this.dragStartPoint = evt.mousePoint;\n this.originalTargetExtent = this.owner.getExtent();\n }","funcProperties":{"__isSmartRef__":true,"id":8814},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8809":{"this":{"__isSmartRef__":true,"id":8804},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":8810}},"8810":{"$super":{"__isSmartRef__":true,"id":8811}},"8811":{"varMapping":{"__isSmartRef__":true,"id":8812},"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":8813},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8812":{"obj":{"__isSmartRef__":true,"id":8804},"name":"onDragStart"},"8813":{},"8814":{},"8815":{"varMapping":{"__isSmartRef__":true,"id":8816},"source":"function onDrag(evt) {\n var moveDelta = pt(evt.mousePoint.subPt(this.dragStartPoint).x,0);\n var newExtent = this.originalTargetExtent.addPt(moveDelta);\n if (newExtent.x < this.owner.minWidth) newExtent.x = this.owner.minWidth;\n\n this.owner.setExtent(newExtent);\n this.align(this.bounds().topRight(), pt(this.owner.getExtent().x,0));\n }","funcProperties":{"__isSmartRef__":true,"id":8821},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8816":{"this":{"__isSmartRef__":true,"id":8804},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":8817}},"8817":{"$super":{"__isSmartRef__":true,"id":8818}},"8818":{"varMapping":{"__isSmartRef__":true,"id":8819},"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":8820},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8819":{"obj":{"__isSmartRef__":true,"id":8804},"name":"onDrag"},"8820":{},"8821":{},"8822":{"varMapping":{"__isSmartRef__":true,"id":8823},"source":"function onDragEnd(evt) {\n this.dragStartPoint = null;\n this.originalTargetExtent = null;\n this.owner.alignReframeHandle();\n this.owner.alignBottomReframeHandle();\n }","funcProperties":{"__isSmartRef__":true,"id":8828},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8823":{"this":{"__isSmartRef__":true,"id":8804},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":8824}},"8824":{"$super":{"__isSmartRef__":true,"id":8825}},"8825":{"varMapping":{"__isSmartRef__":true,"id":8826},"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":8827},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8826":{"obj":{"__isSmartRef__":true,"id":8804},"name":"onDragEnd"},"8827":{},"8828":{},"8829":{"submorphs":[{"__isSmartRef__":true,"id":8830},{"__isSmartRef__":true,"id":8836},{"__isSmartRef__":true,"id":8849},{"__isSmartRef__":true,"id":8861}],"scripts":[],"shape":{"__isSmartRef__":true,"id":8874},"eventHandler":{"__isSmartRef__":true,"id":8875},"_ClipMode":"visible","derivationIds":[],"id":"07CF6C5B-960C-4B73-AFF1-7EDE12AB133A","droppingEnabled":false,"halosEnabled":true,"layout":{"__isSmartRef__":true,"id":8876},"__serializedExpressions__":["_Position"],"windowMorph":{"__isSmartRef__":true,"id":6032},"label":{"__isSmartRef__":true,"id":8830},"closeButton":{"__isSmartRef__":true,"id":8836},"menuButton":{"__isSmartRef__":true,"id":8849},"collapseButton":{"__isSmartRef__":true,"id":8861},"_PreviousBorderWidth":0,"owner":{"__isSmartRef__":true,"id":6032},"__LivelyClassName__":"lively.morphic.TitleBar","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,0.0)"},"8830":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":8831},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":8832}],"eventHandler":{"__isSmartRef__":true,"id":8834},"_ClipMode":"hidden","derivationIds":[],"id":"48B4419F-B831-4CC2-9CF6-DD584ABEB01D","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"isLabel":true,"layout":{"__isSmartRef__":true,"id":8835},"eventsAreIgnored":true,"owner":{"__isSmartRef__":true,"id":8829},"_StyleClassNames":["window-title"],"_TextStylingMode":true,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(20.0,3.0)"},"8831":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(821.3,18.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"8832":{"style":{"__isSmartRef__":true,"id":8833},"chunkOwner":{"__isSmartRef__":true,"id":8830},"_id":"_1723","storedString":"ToolTabPane","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8833":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8834":{"morph":{"__isSmartRef__":true,"id":8830},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8835":{"resizeWidth":true},"8836":{"submorphs":[{"__isSmartRef__":true,"id":8837}],"scripts":[],"shape":{"__isSmartRef__":true,"id":8842},"eventHandler":{"__isSmartRef__":true,"id":8843},"_ClipMode":"visible","derivationIds":[],"id":"B75D9EDB-55CA-41C9-A9B1-960093CCBBB3","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"accessibleInInactiveWindow":true,"__serializedExpressions__":["_Position"],"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":8837},"_PreviousBorderWidth":0,"owner":{"__isSmartRef__":true,"id":8829},"layout":{"__isSmartRef__":true,"id":8844},"_StyleClassNames":["close"],"attributeConnections":[{"__isSmartRef__":true,"id":8845},{"__isSmartRef__":true,"id":8847}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"isPressed":false,"__LivelyClassName__":"lively.morphic.WindowControl","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(860.3,3.0)"},"8837":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":8838},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":8839}],"eventHandler":{"__isSmartRef__":true,"id":8841},"_ClipMode":"hidden","derivationIds":[],"id":"B8DDA528-E696-4DBF-89CF-5AF2016FDC98","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":8,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":8836},"isLabel":true,"eventsAreIgnored":true,"_TextStylingMode":true,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,-1.0)"},"8838":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"8839":{"style":{"__isSmartRef__":true,"id":8840},"chunkOwner":{"__isSmartRef__":true,"id":8837},"_id":"_1718","storedString":"X","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8840":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8841":{"morph":{"__isSmartRef__":true,"id":8837},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8842":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":1,"_StrokeOpacity":0,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"8843":{"morph":{"__isSmartRef__":true,"id":8836},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8844":{"moveHorizontal":true},"8845":{"sourceObj":{"__isSmartRef__":true,"id":8836},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":6032},"targetMethodName":"getCloseHelp","varMapping":{"__isSmartRef__":true,"id":8846},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8846":{"source":{"__isSmartRef__":true,"id":8836},"target":{"__isSmartRef__":true,"id":6032}},"8847":{"sourceObj":{"__isSmartRef__":true,"id":8836},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":6032},"targetMethodName":"initiateShutdown","varMapping":{"__isSmartRef__":true,"id":8848},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8848":{"source":{"__isSmartRef__":true,"id":8836},"target":{"__isSmartRef__":true,"id":6032}},"8849":{"submorphs":[{"__isSmartRef__":true,"id":8850}],"scripts":[],"shape":{"__isSmartRef__":true,"id":8855},"eventHandler":{"__isSmartRef__":true,"id":8856},"_ClipMode":"visible","derivationIds":[],"id":"3B1F2AB8-76CC-4BFB-AF0E-F231FC475C1E","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"accessibleInInactiveWindow":true,"__serializedExpressions__":["_Position"],"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":8850},"_PreviousBorderWidth":0,"owner":{"__isSmartRef__":true,"id":8829},"attributeConnections":[{"__isSmartRef__":true,"id":8857},{"__isSmartRef__":true,"id":8859}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"isPressed":false,"__LivelyClassName__":"lively.morphic.WindowControl","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(3.0,3.0)"},"8850":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":8851},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":8852}],"eventHandler":{"__isSmartRef__":true,"id":8854},"_ClipMode":"hidden","derivationIds":[],"id":"255FF1C8-9D16-44F9-8CE4-74EA1769A9DF","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":8,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":8849},"isLabel":true,"eventsAreIgnored":true,"_TextStylingMode":true,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"8851":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(18.0,17.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"8852":{"style":{"__isSmartRef__":true,"id":8853},"chunkOwner":{"__isSmartRef__":true,"id":8850},"_id":"_1720","storedString":"M","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8853":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8854":{"morph":{"__isSmartRef__":true,"id":8850},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8855":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":1,"_StrokeOpacity":0,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"8856":{"morph":{"__isSmartRef__":true,"id":8849},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8857":{"sourceObj":{"__isSmartRef__":true,"id":8849},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":6032},"targetMethodName":"getMenuHelp","varMapping":{"__isSmartRef__":true,"id":8858},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8858":{"source":{"__isSmartRef__":true,"id":8849},"target":{"__isSmartRef__":true,"id":6032}},"8859":{"sourceObj":{"__isSmartRef__":true,"id":8849},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":6032},"targetMethodName":"showTargetMorphMenu","varMapping":{"__isSmartRef__":true,"id":8860},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8860":{"source":{"__isSmartRef__":true,"id":8849},"target":{"__isSmartRef__":true,"id":6032}},"8861":{"submorphs":[{"__isSmartRef__":true,"id":8862}],"scripts":[],"shape":{"__isSmartRef__":true,"id":8867},"eventHandler":{"__isSmartRef__":true,"id":8868},"_ClipMode":"visible","derivationIds":[],"id":"6851D50A-9C37-44FB-B11F-67C8C8BA31C5","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"accessibleInInactiveWindow":true,"__serializedExpressions__":["_Position"],"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":8862},"_PreviousBorderWidth":0,"owner":{"__isSmartRef__":true,"id":8829},"layout":{"__isSmartRef__":true,"id":8869},"attributeConnections":[{"__isSmartRef__":true,"id":8870},{"__isSmartRef__":true,"id":8872}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"isPressed":false,"__LivelyClassName__":"lively.morphic.WindowControl","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(841.3,3.0)"},"8862":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":8863},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":8864}],"eventHandler":{"__isSmartRef__":true,"id":8866},"_ClipMode":"hidden","derivationIds":[],"id":"E92757C8-FCDB-4A66-906C-7BE7329055BB","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":8,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":8861},"isLabel":true,"eventsAreIgnored":true,"_TextStylingMode":true,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,1.0)"},"8863":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"8864":{"style":{"__isSmartRef__":true,"id":8865},"chunkOwner":{"__isSmartRef__":true,"id":8862},"_id":"_1722","storedString":"–","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8865":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8866":{"morph":{"__isSmartRef__":true,"id":8862},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8867":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":1,"_StrokeOpacity":0,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"8868":{"morph":{"__isSmartRef__":true,"id":8861},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8869":{"moveHorizontal":true},"8870":{"sourceObj":{"__isSmartRef__":true,"id":8861},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":6032},"targetMethodName":"getCollapseHelp","varMapping":{"__isSmartRef__":true,"id":8871},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8871":{"source":{"__isSmartRef__":true,"id":8861},"target":{"__isSmartRef__":true,"id":6032}},"8872":{"sourceObj":{"__isSmartRef__":true,"id":8861},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":6032},"targetMethodName":"toggleCollapse","varMapping":{"__isSmartRef__":true,"id":8873},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8873":{"source":{"__isSmartRef__":true,"id":8861},"target":{"__isSmartRef__":true,"id":6032}},"8874":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"_AppearanceStylingMode":true,"_BorderStylingMode":true,"_BorderWidth":0,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(880.3,22.0)","_Padding":"lively.rect(0,0,0,0)"},"8875":{"morph":{"__isSmartRef__":true,"id":8829},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8876":{"resizeWidth":true,"adjustForNewBounds":true},"8877":{"submorphs":[],"scripts":[],"id":"0D4FF00F-80E3-438A-B1CE-890FC7FB1F30","shape":{"__isSmartRef__":true,"id":8878},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"__serializedExpressions__":["_Position","originalExtent"],"showsHalos":false,"name":"ResizeCorner","partsBinMetaInfo":{"__isSmartRef__":true,"id":8879},"draggingEnabled":true,"dragStartPoint":null,"originalTargetExtent":null,"eventHandler":{"__isSmartRef__":true,"id":8880},"originalTargetInnerBounds":null,"isResizeCorner":true,"relativeOrigin":null,"derivationIds":[7147,"16E962DF-21E9-4FE6-8B9B-953F0E908113","ADD0B5C0-0DC6-4D8E-9C2A-0EC7E3C71F21","C13BE625-F1AC-4401-AB63-BA50CE744CB6","291119F3-1D44-4861-BAE4-5F142861083D","E10B97BB-8029-4AFE-97F4-D7DEA3EA000F","3BA898DA-1519-4FF8-A0BF-09E180382D50","1D1F4D10-DB39-481C-93FD-21520463295A","92761179-5047-4C14-979F-29A9CF056641","E7B73231-7E5A-4788-81EC-6077698D93B5","6CEE8BC8-59C9-4C03-B5FD-77D84EB324B5","C6C92CCD-4786-4C40-AABF-7716D9FCC08A"],"moved":true,"attributeConnections":[{"__isSmartRef__":true,"id":8881}],"doNotSerialize":["$$cornerName"],"doNotCopyProperties":["$$cornerName"],"originalTargetBounds":null,"owner":{"__isSmartRef__":true,"id":6032},"cornerName":"bottomRight","_Rotation":0,"_Scale":1,"_ClipMode":"visible","__serializedLivelyClosures__":{"__isSmartRef__":true,"id":8882},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(866.3,482.1)","originalExtent":"lively.pt(239.0,138.0)"},"8878":{"__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"_BorderWidth":0,"_ClipMode":"visible","__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(10.0,10.0)","_BorderColor":"Color.rgb(145,145,145)","_Fill":"Color.rgb(66,66,66)","_Padding":"lively.rect(0,0,0,0)"},"8879":{"partsSpaceName":"PartsBin/Widgets/","migrationLevel":2,"comment":"Resize an object without using halos.","partName":"ResizeCorner","revisionOnLoad":140152,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"8880":{"morph":{"__isSmartRef__":true,"id":8877},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8881":{"sourceObj":{"__isSmartRef__":true,"id":8877},"sourceAttrName":"cornerName","targetObj":{"__isSmartRef__":true,"id":8877},"targetMethodName":"alignToOwner","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8882":{"onDrag":{"__isSmartRef__":true,"id":8883},"onDragEnd":{"__isSmartRef__":true,"id":8891},"onDragStart":{"__isSmartRef__":true,"id":8899},"reset":{"__isSmartRef__":true,"id":8907},"morphMenuItems":{"__isSmartRef__":true,"id":8910},"alignToOwner":{"__isSmartRef__":true,"id":8917}},"8883":{"varMapping":{"__isSmartRef__":true,"id":8884},"source":"function onDrag(evt) {\n // alert(\"onDrag\")\n // this.owner.setPosition(pt(0,0))\n // this.owner.setOrigin(pt(0,0))\n var moveDelta = evt.mousePoint.subPt(this.dragStartPoint)\n \n // moveDelta = moveDelta.maxPt(pt(0,0))\n var ownerExtent = this.owner.getExtent();\n\n // TODO does not work\n if (evt.isShiftDown()) {\n var maxDelta = Math.max(moveDelta.x, moveDelta.y);\n if (maxDelta == 0) return;\n var factor = ownerExtent.x / ownerExtent.y\n moveDelta = pt(maxDelta * factor, maxDelta )\n }\n var accessor = \"with\" + this.cornerName.charAt(0).toUpperCase() + this.cornerName.substring(1);\n\n var newCorner = this.originalTargetBounds[this.cornerName]().addPt(moveDelta);\n var newBounds = this.originalTargetBounds[accessor ](newCorner);\n\n this.owner.setBounds(newBounds);\n \n // var newExtent = this.originalTargetExtent.addPt(moveDelta)\n // alertOK(\"new extent\" + newExtent)\n // this.owner.setExtent(newExtent);\n this.owner.submorphs.select(function(ea) {\n return ea.isResizeCorner\n }).invoke('alignToOwner');\n if (this.owner.halos) {\n this.owner.halos.invoke('alignAtTarget')\n }\n // alertOK(\"relative \" + this.relativeOrigin)\n var newOrigin = pt(0,0).extent(this.owner.getExtent()).relativeToAbsPoint(this.relativeOrigin)\n\n // TODO IMPLEMENT updating the origin does not work yet\n // this.owner.setOrigin(newOrigin);\n // alertOK(\"new origin \" + newOrigin)\n\n}","funcProperties":{"__isSmartRef__":true,"id":8889},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8884":{"this":{"__isSmartRef__":true,"id":8877},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":8885}},"8885":{"$super":{"__isSmartRef__":true,"id":8886}},"8886":{"varMapping":{"__isSmartRef__":true,"id":8887},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":8888},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8887":{"obj":{"__isSmartRef__":true,"id":8877},"name":"onDrag"},"8888":{},"8889":{"timestamp":{"__isSmartRef__":true,"id":8890},"user":"sstamm","tags":[]},"8890":{"isSerializedDate":true,"string":"Thu Feb 23 2012 12:08:52 GMT+0100 (CET)"},"8891":{"varMapping":{"__isSmartRef__":true,"id":8892},"source":"function onDragEnd(evt) {\n this.dragStartPoint = null;\n this.originalTargetBounds = null;\n this.relativeOrigin = null;\n}","funcProperties":{"__isSmartRef__":true,"id":8897},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8892":{"this":{"__isSmartRef__":true,"id":8877},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":8893}},"8893":{"$super":{"__isSmartRef__":true,"id":8894}},"8894":{"varMapping":{"__isSmartRef__":true,"id":8895},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":8896},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8895":{"obj":{"__isSmartRef__":true,"id":8877},"name":"onDragEnd"},"8896":{},"8897":{"timestamp":{"__isSmartRef__":true,"id":8898},"user":"sstamm","tags":[]},"8898":{"isSerializedDate":true,"string":"Thu Feb 23 2012 12:09:00 GMT+0100 (CET)"},"8899":{"varMapping":{"__isSmartRef__":true,"id":8900},"source":"function onDragStart(evt) {\n var absToRelativePoint = function (r, absPt) {\n\t\treturn new Point(\n\t\t\t(absPt.x - r.x) / r.width,\n\t\t\t(absPt.y - r.y) / r.height)\n\t}\n // absToRelativePoint(new Rectangle(10,10,100,100), pt(20,20))\n // absToRelativePoint(new Rectangle(10,10,100,100), pt(0,0))\n // absToRelativePoint(new Rectangle(-100,-100,200,200), pt(0,0))\n\n\n this.dragStartPoint = evt.mousePoint;\n this.originalTargetBounds= this.owner.bounds();\n this.relativeOrigin = absToRelativePoint(pt(0,0).extent(this.owner.getExtent()), this.owner.getOrigin())\n}","funcProperties":{"__isSmartRef__":true,"id":8905},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8900":{"this":{"__isSmartRef__":true,"id":8877},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":8901}},"8901":{"$super":{"__isSmartRef__":true,"id":8902}},"8902":{"varMapping":{"__isSmartRef__":true,"id":8903},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":8904},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8903":{"obj":{"__isSmartRef__":true,"id":8877},"name":"onDragStart"},"8904":{},"8905":{"timestamp":{"__isSmartRef__":true,"id":8906},"user":"sstamm","tags":[]},"8906":{"isSerializedDate":true,"string":"Thu Feb 23 2012 12:08:40 GMT+0100 (CET)"},"8907":{"varMapping":{"__isSmartRef__":true,"id":8908},"source":"function reset() {\n this.isResizeCorner = true\n this.cornerName = 'bottomRight'\n this.setExtent(pt(10,10));\n this.setPosition(pt(0,0))\n}","funcProperties":{"__isSmartRef__":true,"id":8909},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8908":{"this":{"__isSmartRef__":true,"id":8877}},"8909":{},"8910":{"varMapping":{"__isSmartRef__":true,"id":8911},"source":"function morphMenuItems() {\n return $super().concat([\n [\"corner\", [\n [\"top left\", function() { this.cornerName = 'topLeft'}.bind(this)],\n [\"top right\", function() { this.cornerName = 'topRight'}.bind(this)],\n [\"bottom right\", function() { this.cornerName = 'bottomRight'}.bind(this)],\n [\"bottom left\", function() { this.cornerName = 'bottomLeft'}.bind(this)],\n ]]\n ])\t\n}","funcProperties":{"__isSmartRef__":true,"id":8916},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8911":{"this":{"__isSmartRef__":true,"id":8877},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":8912}},"8912":{"$super":{"__isSmartRef__":true,"id":8913}},"8913":{"varMapping":{"__isSmartRef__":true,"id":8914},"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":8915},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8914":{"obj":{"__isSmartRef__":true,"id":8877},"name":"morphMenuItems"},"8915":{},"8916":{},"8917":{"varMapping":{"__isSmartRef__":true,"id":8918},"source":"function alignToOwner() {\n this.align(this.bounds()[this.cornerName](), this.owner.shape.bounds()[this.cornerName]() )\n}","funcProperties":{"__isSmartRef__":true,"id":8919},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8918":{"this":{"__isSmartRef__":true,"id":8877}},"8919":{},"8920":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":8921},"eventHandler":{"__isSmartRef__":true,"id":8922},"_ClipMode":"visible","derivationIds":[],"id":"62C435E0-9943-47C1-A3DC-53D826F9A004","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"_StyleClassNames":["reframe-handle corner"],"owner":{"__isSmartRef__":true,"id":6032},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":8923},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(866.3,482.7)"},"8921":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(14.0,14.0)","_Padding":"lively.rect(0,0,0,0)"},"8922":{"morph":{"__isSmartRef__":true,"id":8920},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8923":{"onDragStart":{"__isSmartRef__":true,"id":8924},"onDrag":{"__isSmartRef__":true,"id":8931},"onDragEnd":{"__isSmartRef__":true,"id":8938}},"8924":{"varMapping":{"__isSmartRef__":true,"id":8925},"source":"function onDragStart(evt) {\n this.dragStartPoint = evt.mousePoint;\n this.originalTargetExtent = this.owner.getExtent();\n }","funcProperties":{"__isSmartRef__":true,"id":8930},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8925":{"this":{"__isSmartRef__":true,"id":8920},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":8926}},"8926":{"$super":{"__isSmartRef__":true,"id":8927}},"8927":{"varMapping":{"__isSmartRef__":true,"id":8928},"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":8929},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8928":{"obj":{"__isSmartRef__":true,"id":8920},"name":"onDragStart"},"8929":{},"8930":{},"8931":{"varMapping":{"__isSmartRef__":true,"id":8932},"source":"function onDrag(evt) {\n var moveDelta = evt.mousePoint.subPt(this.dragStartPoint)\n var newExtent = this.originalTargetExtent.addPt(moveDelta);\n if (newExtent.x < this.owner.minWidth) newExtent.x = this.owner.minWidth;\n if (newExtent.y < this.owner.minHeight) newExtent.y = this.owner.minHeight;\n this.owner.setExtent(newExtent);\n //console.log(\"WindowExtent: \"+this.owner.getExtent().x+\" , \"+this.owner.getExtent().y);\n this.align(this.bounds().bottomRight(), this.owner.getExtent());\n }","funcProperties":{"__isSmartRef__":true,"id":8937},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8932":{"this":{"__isSmartRef__":true,"id":8920},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":8933}},"8933":{"$super":{"__isSmartRef__":true,"id":8934}},"8934":{"varMapping":{"__isSmartRef__":true,"id":8935},"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":8936},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8935":{"obj":{"__isSmartRef__":true,"id":8920},"name":"onDrag"},"8936":{},"8937":{},"8938":{"varMapping":{"__isSmartRef__":true,"id":8939},"source":"function onDragEnd(evt) {\n this.dragStartPoint = null;\n this.originalTargetExtent = null;\n this.owner.alignBottomReframeHandle();\n this.owner.alignRightReframeHandle();\n }","funcProperties":{"__isSmartRef__":true,"id":8944},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8939":{"this":{"__isSmartRef__":true,"id":8920},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":8940}},"8940":{"$super":{"__isSmartRef__":true,"id":8941}},"8941":{"varMapping":{"__isSmartRef__":true,"id":8942},"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":8943},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"8942":{"obj":{"__isSmartRef__":true,"id":8920},"name":"onDragEnd"},"8943":{},"8944":{},"8945":{"__serializedExpressions__":["_Padding","_Extent"],"_BorderWidth":0,"_Fill":null,"_StrokeOpacity":0,"_BorderRadius":0,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Padding":"lively.rect(0,0,0,0)","_Extent":"lively.pt(880.3,496.7)"},"8946":{"morph":{"__isSmartRef__":true,"id":6032},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8947":{"adjustForNewBounds":true},"8948":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":8949},"id":2,"eventHandler":{"__isSmartRef__":true,"id":8950},"droppingEnabled":false,"halosEnabled":false,"_world":{"__isSmartRef__":true,"id":0},"eventsAreIgnored":true,"_HandStyle":"default","_PointerEvents":"none","carriesGrabbedMorphs":false,"lastScrollTime":1359728854611,"attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"_Scale":1,"_Rotation":0,"owner":{"__isSmartRef__":true,"id":0},"_ClipMode":"visible","__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.HandMorph","__SourceModuleName__":"Global.lively.morphic.Events","withLayers":["Global.NoMagnetsLayer"],"_Position":"lively.pt(272.0,307.0)"},"8949":{"_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)"},"8950":{"morph":{"__isSmartRef__":true,"id":8948},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8951":{"_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(11024.0,1768.0)","_Fill":"Color.rgb(255,255,255)","_Padding":"lively.rect(0,0,0,0)"},"8952":{"morph":{"__isSmartRef__":true,"id":0},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8953":{"sourceObj":{"__isSmartRef__":true,"id":0},"sourceAttrName":"savedWorldAsURL","targetObj":{"__isSmartRef__":true,"id":0},"targetMethodName":"visitNewPageAfterSaveAs","converterString":null,"updaterString":"function ($upd, v) {\n if (v && v.toString() !== URL.source.toString()) {\n $upd(v)\n }\n }","varMapping":{"__isSmartRef__":true,"id":8954},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"8954":{"source":{"__isSmartRef__":true,"id":0},"target":{"__isSmartRef__":true,"id":0}},"8955":{"protocol":"http:","hostname":"lively-kernel.org","pathname":"/repository/webwerkstatt/users/timfelgentreff/spielplatz.xhtml","__LivelyClassName__":"URL","__SourceModuleName__":"Global.lively.Network"},"8956":{"submorphs":[{"__isSmartRef__":true,"id":8957}],"scripts":[],"id":"3F1BD5E0-F2F9-4772-A733-188D3E9C188D","shape":{"__isSmartRef__":true,"id":8968},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"__serializedExpressions__":["_Position","distanceToDragEvent"],"showsHalos":false,"name":"LoadingMorph","partsBinMetaInfo":{"__isSmartRef__":true,"id":8969},"eventHandler":{"__isSmartRef__":true,"id":9067},"attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"derivationIds":[127,"59692BC3-6C7B-4E23-B820-8699260EA722","486BB935-1313-4103-B2A8-642B19437478","18AFFD44-46CD-489E-B1D6-DED43E2B6B06","2608C892-2204-4981-9A87-8E749F8944AB","5535861F-4EA2-44AB-8A40-0538124E0AAC","16C292B3-86E8-4622-B516-27C48263B8CC","87731A20-D455-44D0-97E5-98A7CFD4E417","A17081E7-E597-47ED-BD32-6E4D206BD7D7","CFB4A44C-BFEA-4584-BCBA-AE2A56739200","76B3DD9B-8D01-42BA-A574-AB99D5F899BB","1EBC5512-8F54-4B24-998C-69A285EC8533","DD1165C7-6C1A-4361-A4AE-FCF6F31152FD","4D6D36E8-48F3-408A-B03C-202E4DC182BD","5F3B3E0F-BBC6-4DDA-BAA0-7EFC05FF2011","E0A6B33B-767A-4532-9021-892414520200","F5F5E2B1-5FF0-4E09-B323-AE88A3920B8D","0C7E832A-A741-430F-B295-8BC181D066FE","472AED3B-CB76-49BD-BF49-354A2D568F86","A7C52F65-D140-4791-880F-F7584C7BB570","3516412B-8B36-4E52-9416-6B7FB358BDC2","1840CACC-078C-4795-AD3F-E9D6F8D557A0","1FEDCA25-0131-46FA-840F-DC5F1B05C6CA","C620CED3-0AE9-4097-9AA7-2706A042F9C9","679A861B-40E0-4DB2-B22F-95B454C6978D","FEF39B3C-E634-4825-BAB8-2D44FE647B03"],"isBeingDragged":false,"layout":{"__isSmartRef__":true,"id":9068},"prevScroll":[0,0],"moved":true,"_Rotation":0,"_Scale":1,"headRevision":146469,"_ClipMode":"visible","__serializedLivelyClosures__":{"__isSmartRef__":true,"id":9069},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)","distanceToDragEvent":"lively.pt(171.0,-13.0)"},"8957":{"submorphs":[{"__isSmartRef__":true,"id":8958}],"scripts":[],"shape":{"__isSmartRef__":true,"id":8964},"id":"F2BE4505-2C31-45A0-B11B-2CA7D538D097","eventHandler":{"__isSmartRef__":true,"id":8965},"droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position","distanceToDragEvent"],"name":"ProgressIndicator","showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":8966},"derivationIds":[520,"071F18BE-FF28-40F5-ACAD-1916E0D25C38","DF185A10-743D-45FC-B9C2-76E12D908BCF","BF125D2C-596A-4C1E-A5F8-DAE4801E9497","3CEE8CFF-B8F1-4B4B-A405-CB583080252A","D0652878-8F9C-4591-8A82-296898AACDB6","31441DDF-2220-43BE-A99F-69E1FEC68030","14A90039-0D3E-46DC-8445-D42B8E02EB42","681EF5DE-A344-4114-B2F3-B96CE3872524","C0381116-5116-4F33-B082-A411D0E4534E","24E9581E-B008-46EE-9CBC-D5190E100D98","C69D1041-2C5E-48FE-B04C-04E66450658A","4830945B-4FFF-4564-9424-34D7995DAE60","8602C233-B3E7-4682-9B0E-D7549761D934","B4E0E11F-2BED-462E-B708-89D63971856E","EE0144C2-D016-4390-8A67-4E7DEF171C83","F44DF6E4-5F27-440E-AB5F-3721C0A10CA6","73FC6648-DAAF-4673-8CF4-7DA219513F22","B78EB1B5-780C-45F7-B0A7-B988B52B1FF1","DFDB8CD1-72F7-40F4-849B-1F9B866277AB","66111105-B1FC-41F7-BF70-D45118C9E09F","02420416-1E35-4831-AABB-91CD0460CA1A","7C6B2EB2-4510-4A8E-BAFF-5CF0040DD7F5","0503F5A1-1732-4610-9A5A-920D658CA766","07C5AE03-36AD-4849-BACD-27D7D9A2CCF2","9FFF9D73-931C-404C-AA4B-5AC2E7C53504"],"attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"owner":{"__isSmartRef__":true,"id":8956},"isBeingDragged":false,"layout":{"__isSmartRef__":true,"id":8967},"prevScroll":[0,0],"_Rotation":0,"_Scale":1,"_ClipMode":"visible","__LivelyClassName__":"lively.morphic.Image","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(113.5,81.0)","distanceToDragEvent":"lively.pt(39.0,-11.0)"},"8958":{"submorphs":[],"scripts":[],"id":"306043A4-C14E-4732-A55A-871778B80FC0","shape":{"__isSmartRef__":true,"id":8959},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"__serializedExpressions__":["_Position","textColor","_Padding","distanceToDragEvent"],"_MaxTextWidth":257,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":14,"name":"loadedMorphName","partsBinMetaInfo":{"__isSmartRef__":true,"id":8960},"textChunks":[{"__isSmartRef__":true,"id":8961}],"charsReplaced":"MorphName","lastFindLoc":18,"priorSelectionRange":[9,0],"prevScroll":[0,0],"eventHandler":{"__isSmartRef__":true,"id":8963},"attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"_ClipMode":"visible","derivationIds":[355,"023045B3-2D6B-4425-89FB-F4806D527BE0","DC0C2365-868C-41AE-8369-51C31E91493E","C6D9D314-86A1-4015-970B-F6787F535E1A","6AA4552E-2E85-447E-9033-99D5AA1A94BC","D94BE49C-8A3E-4F1F-BF28-FEDD9B40D213","AA8F0470-654C-4AA2-8135-4607F5429AC5","E0BAABCC-FFB2-4EDF-BAE5-C63CC99B6A97","1A86AE17-73AE-442E-AB36-DD90C6DFC8BC","EF750075-E964-4CD3-B6A4-161511E1D058","CED69CBF-FFA5-45E7-B333-FBACE4F278AC","E56978C1-7424-4C10-8168-11FD3237B540","D5AB2532-A4DC-42D6-AF17-99CBBCEAA848","245866CB-598A-4172-A3A0-A06D4D26C6AD","43B0F12E-5793-43AA-80E1-496774E0EBA6","1B776A8C-0413-475F-8EBD-120BBD91D2BB","F84F2C9A-8003-4E81-833A-83F48C92F3B8","3124B389-9FA4-4348-BC5D-0DFF9C59CD1B","1A1BCBAC-D7CC-4BAE-B8C2-7C693F7327A1","1CB201BA-5E0B-4771-821A-139FA2AEFBC2","195520FA-4816-47A4-B0F5-BA890AFD9DF9","0D15F28A-24C9-46B7-89C5-6D2354728AC1","316FE9D3-62EC-4FD6-9B0F-FFA622B79575","739F3743-9BE1-48C8-813D-C0BFB0DCACA6","01877B3B-7DA7-4222-B011-7B5F4E501862","B8FE7DEE-9568-4BE6-BA12-EA674BA79E08"],"_WhiteSpaceHandling":"pre-wrap","owner":{"__isSmartRef__":true,"id":8957},"_MinTextWidth":257,"_MinTextHeight":null,"previousSelection":[6,6],"_Align":"center","isBeingDragged":false,"_Rotation":0,"_Scale":1,"__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)"},"8959":{"fill":null,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"_BorderWidth":0,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(257.0,23.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"8960":{"partsSpaceName":"PartsBin/Basic","migrationLevel":4,"comment":"a simple text morph","partName":"Text","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"8961":{"style":{"__isSmartRef__":true,"id":8962},"chunkOwner":{"__isSmartRef__":true,"id":8958},"storedString":"loading part","_id":"_8","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8962":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"8963":{"morph":{"__isSmartRef__":true,"id":8958},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8964":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"_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","__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)"},"8965":{"morph":{"__isSmartRef__":true,"id":8957},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8966":{"partName":"ProgressIndicator","requiredModules":[],"migrationLevel":2,"partsSpaceName":"PartsBin/Widgets/","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"8967":{"centeredHorizontal":true,"centeredVertical":true},"8968":{"__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":8.515,"_Opacity":0.8146,"_BorderStyle":"solid","__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)"},"8969":{"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":8970},{"__isSmartRef__":true,"id":8972},{"__isSmartRef__":true,"id":8974},{"__isSmartRef__":true,"id":8976},{"__isSmartRef__":true,"id":8978},{"__isSmartRef__":true,"id":8980},{"__isSmartRef__":true,"id":8982},{"__isSmartRef__":true,"id":8984},{"__isSmartRef__":true,"id":8986},{"__isSmartRef__":true,"id":8988},{"__isSmartRef__":true,"id":8990},{"__isSmartRef__":true,"id":8992},{"__isSmartRef__":true,"id":8994},{"__isSmartRef__":true,"id":8996},{"__isSmartRef__":true,"id":8998},{"__isSmartRef__":true,"id":9000},{"__isSmartRef__":true,"id":9002},{"__isSmartRef__":true,"id":9004},{"__isSmartRef__":true,"id":9006},{"__isSmartRef__":true,"id":9008},{"__isSmartRef__":true,"id":9010},{"__isSmartRef__":true,"id":9012},{"__isSmartRef__":true,"id":9014},{"__isSmartRef__":true,"id":9016},{"__isSmartRef__":true,"id":9018},{"__isSmartRef__":true,"id":9020},{"__isSmartRef__":true,"id":9022},{"__isSmartRef__":true,"id":9024},{"__isSmartRef__":true,"id":9026},{"__isSmartRef__":true,"id":9028},{"__isSmartRef__":true,"id":9030},{"__isSmartRef__":true,"id":9032},{"__isSmartRef__":true,"id":9034},{"__isSmartRef__":true,"id":9036},{"__isSmartRef__":true,"id":9038},{"__isSmartRef__":true,"id":9040},{"__isSmartRef__":true,"id":9042},{"__isSmartRef__":true,"id":9044},{"__isSmartRef__":true,"id":9046},{"__isSmartRef__":true,"id":9048},{"__isSmartRef__":true,"id":9050},{"__isSmartRef__":true,"id":9052},{"__isSmartRef__":true,"id":9054},{"__isSmartRef__":true,"id":9056},{"__isSmartRef__":true,"id":9058},{"__isSmartRef__":true,"id":9060},{"__isSmartRef__":true,"id":9062},{"__isSmartRef__":true,"id":9064}],"lastModifiedDate":{"__isSmartRef__":true,"id":9066},"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"8970":{"date":{"__isSmartRef__":true,"id":8971},"author":"sstamm","message":"","id":"1C1391AE-5722-4707-BE52-F0094FC56829"},"8971":{"isSerializedDate":true,"string":"Wed Feb 22 2012 14:02:04 GMT+0100 (CET)"},"8972":{"date":{"__isSmartRef__":true,"id":8973},"author":"sstamm","message":"","id":"663F147A-9084-4AC3-81A7-1E7BA6547F08"},"8973":{"isSerializedDate":true,"string":"Wed Feb 22 2012 12:43:10 GMT+0100 (CET)"},"8974":{"date":{"__isSmartRef__":true,"id":8975},"author":"sstamm","message":"","id":"F72B746E-B170-4EFB-9074-5E8770640B8A"},"8975":{"isSerializedDate":true,"string":"Wed Feb 22 2012 12:36:14 GMT+0100 (CET)"},"8976":{"date":{"__isSmartRef__":true,"id":8977},"author":"sstamm","message":"","id":"568D2EFD-C535-43AE-8944-6D8B967129F5"},"8977":{"isSerializedDate":true,"string":"Wed Feb 22 2012 12:23:04 GMT+0100 (CET)"},"8978":{"date":{"__isSmartRef__":true,"id":8979},"author":"sstamm","message":"","id":"AB2484A6-0707-4E13-845E-F0A5F48BBA3D"},"8979":{"isSerializedDate":true,"string":"Wed Feb 22 2012 11:59:45 GMT+0100 (CET)"},"8980":{"date":{"__isSmartRef__":true,"id":8981},"author":"sstamm","message":"","id":"97D20633-F76C-46A5-A32A-FFE9BC83CAB3"},"8981":{"isSerializedDate":true,"string":"Wed Feb 22 2012 11:59:10 GMT+0100 (CET)"},"8982":{"date":{"__isSmartRef__":true,"id":8983},"author":"sstamm","message":"","id":"8A697DF5-9A45-4A84-B709-9719BF55083E"},"8983":{"isSerializedDate":true,"string":"Wed Feb 22 2012 11:56:54 GMT+0100 (CET)"},"8984":{"date":{"__isSmartRef__":true,"id":8985},"author":"sstamm","message":"","id":"F2157D66-1571-4B9A-B325-6FA96488260F"},"8985":{"isSerializedDate":true,"string":"Wed Feb 22 2012 11:51:05 GMT+0100 (CET)"},"8986":{"date":{"__isSmartRef__":true,"id":8987},"author":"sstamm","message":"","id":"E5E808CA-06AB-47DC-A9C9-CA7967591545"},"8987":{"isSerializedDate":true,"string":"Wed Feb 22 2012 11:47:19 GMT+0100 (CET)"},"8988":{"date":{"__isSmartRef__":true,"id":8989},"author":"sstamm","message":"","id":"009DC4E0-23CA-485A-A796-801AA0F75049"},"8989":{"isSerializedDate":true,"string":"Wed Feb 22 2012 11:46:25 GMT+0100 (CET)"},"8990":{"date":{"__isSmartRef__":true,"id":8991},"author":"sstamm","message":"","id":"C0CE1397-6E2E-4E8C-AEFF-9017E24BB7E4"},"8991":{"isSerializedDate":true,"string":"Wed Feb 22 2012 11:45:05 GMT+0100 (CET)"},"8992":{"date":{"__isSmartRef__":true,"id":8993},"author":"sstamm","message":"","id":"FFE16986-548D-4AC2-A627-CF6416282BC4"},"8993":{"isSerializedDate":true,"string":"Wed Feb 22 2012 11:37:15 GMT+0100 (CET)"},"8994":{"date":{"__isSmartRef__":true,"id":8995},"author":"sstamm","message":"","id":"57213D63-7147-4057-ADC9-30994443B066"},"8995":{"isSerializedDate":true,"string":"Wed Feb 22 2012 11:35:29 GMT+0100 (CET)"},"8996":{"date":{"__isSmartRef__":true,"id":8997},"author":"sstamm","message":"","id":"75A31364-B380-4312-BB5B-F8F2DA1CE824"},"8997":{"isSerializedDate":true,"string":"Wed Feb 22 2012 11:31:52 GMT+0100 (CET)"},"8998":{"date":{"__isSmartRef__":true,"id":8999},"author":"sstamm","message":"","id":"5AA50B7E-7D33-44C4-807B-BF1ABA31D530"},"8999":{"isSerializedDate":true,"string":"Wed Feb 22 2012 11:14:10 GMT+0100 (CET)"},"9000":{"date":{"__isSmartRef__":true,"id":9001},"author":"sstamm","message":"","id":"BCDCC505-534C-45E5-9BB2-5238959A5AD0"},"9001":{"isSerializedDate":true,"string":"Wed Feb 22 2012 11:02:56 GMT+0100 (CET)"},"9002":{"date":{"__isSmartRef__":true,"id":9003},"author":"sstamm","message":"","id":"890D14F4-E89D-4E05-BFB9-875D6AB6C765"},"9003":{"isSerializedDate":true,"string":"Wed Feb 22 2012 11:01:50 GMT+0100 (CET)"},"9004":{"date":{"__isSmartRef__":true,"id":9005},"author":"sstamm","message":"","id":"B6FE0805-0D24-4267-8238-8B332352617E"},"9005":{"isSerializedDate":true,"string":"Wed Feb 22 2012 10:55:44 GMT+0100 (CET)"},"9006":{"date":{"__isSmartRef__":true,"id":9007},"author":"sstamm","message":"callbacks are working","id":"9348260A-3B55-4659-BC85-440BFBD98EA4"},"9007":{"isSerializedDate":true,"string":"Fri Feb 10 2012 09:45:55 GMT+0100 (CET)"},"9008":{"date":{"__isSmartRef__":true,"id":9009},"author":"sstamm","message":"made it more opaque","id":"1B84264C-2822-407F-A58F-19217BCD2762"},"9009":{"isSerializedDate":true,"string":"Wed Feb 08 2012 11:41:50 GMT+0100 (CET)"},"9010":{"date":{"__isSmartRef__":true,"id":9011},"author":"sstamm","message":"","id":"0FB41D7D-2A52-4782-814B-A66C24FCE569"},"9011":{"isSerializedDate":true,"string":"Tue Feb 07 2012 11:13:49 GMT+0100 (CET)"},"9012":{"date":{"__isSmartRef__":true,"id":9013},"author":"sstamm","message":"","id":"A0C2D7C1-04AF-493A-A7D7-70750F7D3E2F"},"9013":{"isSerializedDate":true,"string":"Thu Feb 02 2012 17:22:07 GMT+0100 (CET)"},"9014":{"date":{"__isSmartRef__":true,"id":9015},"author":"sstamm","message":"trollolol","id":"F6CFAD78-AC72-4DE2-9F38-79776C2E9462"},"9015":{"isSerializedDate":true,"string":"Thu Feb 02 2012 14:55:14 GMT+0100 (CET)"},"9016":{"date":{"__isSmartRef__":true,"id":9017},"author":"sstamm","message":"should be centered now","id":"EE366B4D-C272-477F-8C28-4EAE5A7EC7CB"},"9017":{"isSerializedDate":true,"string":"Thu Feb 02 2012 14:54:35 GMT+0100 (CET)"},"9018":{"date":{"__isSmartRef__":true,"id":9019},"author":"sstamm","message":"initial commit","id":"8920D925-DD16-4667-B8C7-FB74D78C2424"},"9019":{"isSerializedDate":true,"string":"Thu Feb 02 2012 13:26:01 GMT+0100 (CET)"},"9020":{"date":{"__isSmartRef__":true,"id":9021},"author":"sstamm","message":"changed text morph name","id":"80E88A3C-5AF3-48F2-A600-710877630997"},"9021":{"isSerializedDate":true,"string":"Thu Feb 02 2012 14:04:01 GMT+0100 (CET)"},"9022":{"date":{"__isSmartRef__":true,"id":9023},"author":"sstamm","message":"added loading script","id":"EE9B8F4D-1F03-4232-82E6-794046974F8F"},"9023":{"isSerializedDate":true,"string":"Thu Feb 02 2012 14:28:30 GMT+0100 (CET)"},"9024":{"date":{"__isSmartRef__":true,"id":9025},"author":"sstamm","message":"added disconnection","id":"11F19267-924E-4087-99ED-998245576BD2"},"9025":{"isSerializedDate":true,"string":"Thu Feb 02 2012 14:32:58 GMT+0100 (CET)"},"9026":{"date":{"__isSmartRef__":true,"id":9027},"author":"sstamm","message":"removed connections before deletion","id":"35A88218-6864-4D52-83A2-BFF7B9A6907C"},"9027":{"isSerializedDate":true,"string":"Thu Feb 02 2012 14:41:00 GMT+0100 (CET)"},"9028":{"date":{"__isSmartRef__":true,"id":9029},"author":"sstamm","message":"now able to load parts by name and category as well as per partItem","id":"F36A5782-461D-4813-95F8-0207990A261C"},"9029":{"isSerializedDate":true,"string":"Thu Feb 02 2012 15:24:30 GMT+0100 (CET)"},"9030":{"date":{"__isSmartRef__":true,"id":9031},"author":"sstamm","message":"now with round corners","id":"F42C39CB-CC37-467D-BF10-D362241F047E"},"9031":{"isSerializedDate":true,"string":"Thu Feb 02 2012 15:26:23 GMT+0100 (CET)"},"9032":{"date":{"__isSmartRef__":true,"id":9033},"author":"sstamm","message":"loadingMorph is sync now","id":"12ACFFC9-BA53-4A2A-ABD4-894A5ECE1145"},"9033":{"isSerializedDate":true,"string":"Thu Feb 02 2012 15:48:04 GMT+0100 (CET)"},"9034":{"date":{"__isSmartRef__":true,"id":9035},"author":"sstamm","message":"display the loadingMorph in new thread","id":"2BA51E30-F02B-4AF0-B3BE-52DD4ED522CC"},"9035":{"isSerializedDate":true,"string":"Thu Feb 02 2012 15:53:49 GMT+0100 (CET)"},"9036":{"date":{"__isSmartRef__":true,"id":9037},"author":"sstamm","message":"","id":"DF0AE4EA-1B08-4556-8BBE-E6488F23B8A3"},"9037":{"isSerializedDate":true,"string":"Thu Feb 02 2012 16:49:48 GMT+0100 (CET)"},"9038":{"date":{"__isSmartRef__":true,"id":9039},"author":"sstamm","message":"","id":"220821B3-C589-41C9-A324-8E7E6D9D6CEB"},"9039":{"isSerializedDate":true,"string":"Thu Feb 02 2012 16:58:43 GMT+0100 (CET)"},"9040":{"date":{"__isSmartRef__":true,"id":9041},"author":"sstamm","message":"","id":"DEBFACE2-7EC5-4A86-AD46-5A0A88A73707"},"9041":{"isSerializedDate":true,"string":"Thu Feb 02 2012 17:04:28 GMT+0100 (CET)"},"9042":{"date":{"__isSmartRef__":true,"id":9043},"author":"sstamm","message":"load request in new thread if loading should be async","id":"18282D28-D6D4-48C9-A508-6E3244449BD8"},"9043":{"isSerializedDate":true,"string":"Tue Feb 07 2012 11:10:27 GMT+0100 (CET)"},"9044":{"date":{"__isSmartRef__":true,"id":9045},"author":"sstamm","message":"added benchmarking output","id":"249CFF90-DDF5-4A83-9759-0289E96D7D58"},"9045":{"isSerializedDate":true,"string":"Tue Feb 07 2012 11:31:50 GMT+0100 (CET)"},"9046":{"date":{"__isSmartRef__":true,"id":9047},"author":"sstamm","message":"","id":"882082E1-29B6-418D-9B8B-672729D60619"},"9047":{"isSerializedDate":true,"string":"Tue Feb 07 2012 11:38:26 GMT+0100 (CET)"},"9048":{"date":{"__isSmartRef__":true,"id":9049},"author":"sstamm","message":"","id":"5179AEF9-E19F-4B0C-BBD8-556C5687988A"},"9049":{"isSerializedDate":true,"string":"Tue Feb 07 2012 11:44:11 GMT+0100 (CET)"},"9050":{"date":{"__isSmartRef__":true,"id":9051},"author":"sstamm","message":"","id":"1159C5B4-724E-4124-9D7B-5CD5DC4A8EE3"},"9051":{"isSerializedDate":true,"string":"Tue Feb 07 2012 11:48:14 GMT+0100 (CET)"},"9052":{"date":{"__isSmartRef__":true,"id":9053},"author":"sstamm","message":"","id":"2A718D1F-1036-41D6-999A-336F2B14E65D"},"9053":{"isSerializedDate":true,"string":"Tue Feb 07 2012 11:49:47 GMT+0100 (CET)"},"9054":{"date":{"__isSmartRef__":true,"id":9055},"author":"sstamm","message":"","id":"EB6BDD0C-7EEC-4124-B77F-2F106A601538"},"9055":{"isSerializedDate":true,"string":"Tue Feb 07 2012 11:59:48 GMT+0100 (CET)"},"9056":{"date":{"__isSmartRef__":true,"id":9057},"author":"sstamm","message":"","id":"63EC8D07-AB6A-450A-BB84-9B4D37E03647"},"9057":{"isSerializedDate":true,"string":"Tue Feb 07 2012 12:02:33 GMT+0100 (CET)"},"9058":{"date":{"__isSmartRef__":true,"id":9059},"author":"sstamm","message":"","id":"19CE12E4-5AA5-48DC-B1D1-B0EB0EDF1CB9"},"9059":{"isSerializedDate":true,"string":"Tue Feb 07 2012 12:03:42 GMT+0100 (CET)"},"9060":{"date":{"__isSmartRef__":true,"id":9061},"author":"sstamm","message":"first attempt to introduce callback functions to part loading","id":"22BD0B95-8948-411A-A56E-AD7CBE445F1D"},"9061":{"isSerializedDate":true,"string":"Thu Feb 09 2012 20:20:11 GMT+0100 (CET)"},"9062":{"date":{"__isSmartRef__":true,"id":9063},"author":"sstamm","message":"","id":"A216DFD2-9D1F-4E62-A22F-6B5472823E1B"},"9063":{"isSerializedDate":true,"string":"Fri Mar 16 2012 15:37:34 GMT+0100 (CET)"},"9064":{"date":{"__isSmartRef__":true,"id":9065},"author":"sstamm","message":"","id":"464E723A-08DC-433C-AA5C-CEC850DBAF0B"},"9065":{"isSerializedDate":true,"string":"Fri Mar 16 2012 15:42:29 GMT+0100 (CET)"},"9066":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (CEST)"},"9067":{"morph":{"__isSmartRef__":true,"id":8956},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"9068":{"adjustForNewBounds":true},"9069":{"loadPart":{"__isSmartRef__":true,"id":9070},"loadFinished":{"__isSmartRef__":true,"id":9074},"loadPartByName":{"__isSmartRef__":true,"id":9078}},"9070":{"varMapping":{"__isSmartRef__":true,"id":9071},"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":9072},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9071":{"this":{"__isSmartRef__":true,"id":8956}},"9072":{"timestamp":{"__isSmartRef__":true,"id":9073},"user":"sstamm","tags":[]},"9073":{"isSerializedDate":true,"string":"Fri Mar 16 2012 15:42:18 GMT+0100 (CET)"},"9074":{"varMapping":{"__isSmartRef__":true,"id":9075},"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":9076},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9075":{"this":{"__isSmartRef__":true,"id":8956}},"9076":{"timestamp":{"__isSmartRef__":true,"id":9077},"user":"sstamm","tags":[]},"9077":{"isSerializedDate":true,"string":"Wed Feb 22 2012 14:01:53 GMT+0100 (CET)"},"9078":{"varMapping":{"__isSmartRef__":true,"id":9079},"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":9080},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"9079":{"this":{"__isSmartRef__":true,"id":8956}},"9080":{"timestamp":{"__isSmartRef__":true,"id":9081},"user":"sstamm","tags":[]},"9081":{"isSerializedDate":true,"string":"Thu Feb 02 2012 17:03:18 GMT+0100 (CET)"},"9082":{"isSerializedDate":true,"string":"Fri Feb 01 2013 15:27:36 GMT+0100 (CET)"}}}]]>