Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

updated ObjcBridge

  • Loading branch information...
commit 5ee63f37d5952cc0a7a025ac3e6d518a7b78d1f4 1 parent 3500d5e
@stevedekorte authored
Showing with 13,172 additions and 155 deletions.
  1. +40 −0 MakeBinaryRelease.io
  2. +3 −2 README.txt
  3. +2 −2 addons/CMakeLists.txt
  4. BIN  addons/Cairo/samples/fillAndStroke2.png
  5. +42 −0 addons/ObjcBridge/CMakeLists.txt
  6. +0 −20 addons/ObjcBridge/samples/BridgeTest/English.lproj/MainMenu.nib/classes.nib
  7. +1,906 −0 addons/ObjcBridge/samples/BridgeTest/English.lproj/MainMenu.nib/designable.nib
  8. +0 −22 addons/ObjcBridge/samples/BridgeTest/English.lproj/MainMenu.nib/info.nib
  9. BIN  addons/ObjcBridge/samples/BridgeTest/English.lproj/MainMenu.nib/keyedobjects.nib
  10. BIN  addons/ObjcBridge/samples/BridgeTest/English.lproj/MainMenu.nib/objects.nib
  11. +0 −20 addons/ObjcBridge/samples/BridgeTest/English.lproj/MainMenu~.nib/classes.nib
  12. +0 −22 addons/ObjcBridge/samples/BridgeTest/English.lproj/MainMenu~.nib/info.nib
  13. BIN  addons/ObjcBridge/samples/BridgeTest/English.lproj/MainMenu~.nib/objects.nib
  14. +34 −21 addons/ObjcBridge/source/Io2Objc.m
  15. +3 −2 addons/ObjcBridge/source/IoObjcBridge.h
  16. +19 −15 addons/ObjcBridge/source/IoObjcBridge.m
  17. +1 −1  addons/ObjcBridge/source/IoObjcBridgeInit.m
  18. +8 −1 addons/ObjcBridge/source/ObjcSubclass.m
  19. +14 −1 addons/ObjcBridge/source/Runtime.m
  20. +85 −0 addons/OpenGL/samples/globe.io
  21. BIN  addons/OpenGL/samples/images/earth.gif
  22. BIN  addons/OpenGL/samples/images/earth.png
  23. BIN  addons/OpenGL/samples/images/earthnight.jpg
  24. BIN  addons/OpenGL/samples/images/world_hires.jpg
  25. BIN  addons/OpenGL/samples/images/world_hires2.jpg
  26. +82 −0 build/CPackConfig.cmake
  27. +89 −0 build/CPackSourceConfig.cmake
  28. +7 −0 extras/osxvm/osxvm.xcodeproj/project.pbxproj
  29. +7 −0 extras/osxvm/osxvm.xcodeproj/project.xcworkspace/contents.xcworkspacedata
  30. +10,693 −0 extras/osxvm/osxvm.xcodeproj/project.xcworkspace/xcuserdata/steve.xcuserdatad/UserInterfaceState.xcuserstate
  31. +20 −24 extras/osxvm/osxvm.xcodeproj/steve.mode2v3
  32. +76 −0 extras/osxvm/osxvm.xcodeproj/xcuserdata/steve.xcuserdatad/xcschemes/osxvm.xcscheme
  33. +22 −0 extras/osxvm/osxvm.xcodeproj/xcuserdata/steve.xcuserdatad/xcschemes/xcschememanagement.plist
  34. +4 −1 libs/coroutine/source/taskimpl.h
  35. +15 −1 libs/iovm/io/Z_Importer.io
  36. 0  test.io
View
40 MakeBinaryRelease.io
@@ -0,0 +1,40 @@
+dynlibs := Directory with("addons") directories map(f,
+ r := nil
+ try(
+ r = f at("_build") at("dll") files select(name endsWithSeq(".dylib")) first
+ )
+ r
+) select(!= nil)
+
+depends := dynlibs map(dllFile,
+ lines := SystemCall clone setCommand("otool") setArguments(list("-L", dllFile path)) run stdout readLines
+ //foreach(println)
+ lines mapInPlace(beforeSeq("(") strip)
+ lines removeFirst
+ lines selectInPlace(beginsWithSeq("/"))
+ lines selectInPlace(beginsWithSeq("/usr/lib/") not)
+ lines selectInPlace(beginsWithSeq("/usr/local/lib/io/addons/") not)
+ lines selectInPlace(beginsWithSeq("/System/Library/") not)
+ if(lines isEmpty not,
+ writeln("\n", dllFile name, " needs: ")
+ lines foreach(line, writeln(" ", line))
+ )
+ lines
+) flatten
+
+external := Directory directoryNamed("_build") createSubdirectory("external")
+
+installScript := external fileNamed("install.sh") remove open
+
+depends foreach(depend,
+ writeln("copying ", depend, " to ", external path)
+ installScript write("cp ", Path with(external path, depend lastPathComponent), " ", depend, "\n");
+ SystemCall clone setCommand("cp") setArguments(list(depend, external path)) run stdout readLines
+)
+installScript close
+SystemCall clone setCommand("chmod") setArguments(list("ug+x", installScript path)) run
+
+/*
+/opt/local/include/ncurses
+
+*/
View
5 README.txt
@@ -23,9 +23,10 @@ Note: Assuming you wish to install to an alternate location, ensure you supply a
Ensure you are at the top level of the source tree, that is where this file lives. From here, you are in the right spot to enter these commands:
-mkdir build && cd build
+mkdir build
+cd build
cmake ..
-make install
+sudo make install
If you do not wish to install, just run "make" instead of "make install". Currently there is no analogue to the old "make linkInstall". However, if you have used linkInstall in previous versions of Io, you should never have to run linkInstall again, since it created symbolic links to where your Io source was at that time. The only time you would have to do this again, is if you moved the Io source from one dir to another. Most people don't.
View
4 addons/CMakeLists.txt
@@ -54,7 +54,7 @@ add_subdirectory(Blowfish)
add_subdirectory(Box)
add_subdirectory(CFFI)
add_subdirectory(CGI)
-add_subdirectory(Cairo)
+#add_subdirectory(Cairo) # XXX: Broken on OSX: ld: library not found for -lpng12
add_subdirectory(Clutter)
add_subdirectory(ContinuedFraction)
add_subdirectory(Curses)
@@ -81,7 +81,7 @@ add_subdirectory(MySQL)
add_subdirectory(NotificationCenter)
#add_subdirectory(Oauth) # OAuth should no longer break CMake configuration on Windows now.
#add_subdirectory(ODE) # XXX: Can't meet dependencies
-#add_subdirectory(ObjcBridge) # XXX: Broken for me -- Objective-C 2.0 not supported
+add_subdirectory(ObjcBridge) # XXX: Broken for me -- Objective-C 2.0 not supported
add_subdirectory(Obsidian)
add_subdirectory(Ogg)
add_subdirectory(OpenGL)
View
BIN  addons/Cairo/samples/fillAndStroke2.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
42 addons/ObjcBridge/CMakeLists.txt
@@ -0,0 +1,42 @@
+
+
+# Builds the ObjcBridge addon
+
+# Create the _build bundle hierarchy if needed.
+make_build_bundle(_build)
+
+
+# Output our dynamic library to the top-level _build hierarchy
+set(LIBRARY_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR}/_build/dll)
+
+
+# Generate the IoObjcBridgeInit.c file.
+# Argument SHOULD ALWAYS be the exact name of the addon, case is important.
+generate_ioinit(ObjcBridge)
+
+
+# Additional include directories
+include_directories(
+ ${CMAKE_CURRENT_SOURCE_DIR}/../Box/source
+)
+
+# Our library sources.
+set(SRCS
+ "${CMAKE_CURRENT_SOURCE_DIR}/source/Io2Objc.m"
+ "${CMAKE_CURRENT_SOURCE_DIR}/source/IoObjcBridge.m"
+ "${CMAKE_CURRENT_SOURCE_DIR}/source/IoObjcBridgeInit.m"
+ "${CMAKE_CURRENT_SOURCE_DIR}/source/Objc2Io.m"
+ "${CMAKE_CURRENT_SOURCE_DIR}/source/ObjcSubclass.m"
+ "${CMAKE_CURRENT_SOURCE_DIR}/source/Runtime.m"
+)
+
+set(CMAKE_EXE_LINKER_FLAGS "-framework AppKit")
+
+# Now build the shared library
+add_library(IoObjcBridge SHARED ${SRCS})
+add_dependencies(IoObjcBridge iovmall Foundation IoBox)
+target_link_libraries(IoObjcBridge iovmall ${ObjcBridge_LIBRARY} IoBox /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit)
+
+# Install the addon to our global addons hierarchy.
+install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} DESTINATION lib/io/addons)
+install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/_build DESTINATION lib/io/addons/ObjcBridge)
View
20 addons/ObjcBridge/samples/BridgeTest/English.lproj/MainMenu.nib/classes.nib
@@ -1,20 +0,0 @@
-{
- IBClasses = (
- {
- ACTIONS = {convert = id; };
- CLASS = Converter;
- LANGUAGE = ObjC;
- OUTLETS = {input = id; output = id; };
- SUPERCLASS = NSObject;
- },
- {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; },
- {
- ACTIONS = {doSomething = id; };
- CLASS = Foobar;
- LANGUAGE = ObjC;
- OUTLETS = {controller = id; text = id; };
- SUPERCLASS = NSObject;
- }
- );
- IBVersion = 1;
-}
View
1,906 addons/ObjcBridge/samples/BridgeTest/English.lproj/MainMenu.nib/designable.nib
@@ -0,0 +1,1906 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00">
+ <data>
+ <int key="IBDocument.SystemTarget">1060</int>
+ <string key="IBDocument.SystemVersion">10K540</string>
+ <string key="IBDocument.InterfaceBuilderVersion">1306</string>
+ <string key="IBDocument.AppKitVersion">1038.36</string>
+ <string key="IBDocument.HIToolboxVersion">461.00</string>
+ <object class="NSMutableDictionary" key="IBDocument.PluginVersions">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="NS.object.0">1306</string>
+ </object>
+ <array key="IBDocument.IntegratedClassDependencies">
+ <string>NSScroller</string>
+ <string>NSMenuItem</string>
+ <string>NSMenu</string>
+ <string>NSScrollView</string>
+ <string>NSTextFieldCell</string>
+ <string>NSButtonCell</string>
+ <string>NSButton</string>
+ <string>NSCustomObject</string>
+ <string>NSTextView</string>
+ <string>NSView</string>
+ <string>NSWindowTemplate</string>
+ <string>NSTextField</string>
+ </array>
+ <array key="IBDocument.PluginDependencies">
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ </array>
+ <dictionary class="NSMutableDictionary" key="IBDocument.Metadata"/>
+ <array class="NSMutableArray" key="IBDocument.RootObjects" id="822777825">
+ <object class="NSCustomObject" id="980320382">
+ <object class="NSMutableString" key="NSClassName">
+ <characters key="NS.bytes">NSApplication</characters>
+ </object>
+ </object>
+ <object class="NSCustomObject" id="780358255">
+ <string key="NSClassName">FirstResponder</string>
+ </object>
+ <object class="NSCustomObject" id="862774939">
+ <string key="NSClassName">NSApplication</string>
+ </object>
+ <object class="NSWindowTemplate" id="102042239">
+ <int key="NSWindowStyleMask">3</int>
+ <int key="NSWindowBacking">2</int>
+ <string key="NSWindowRect">{{338, 495}, {318, 197}}</string>
+ <int key="NSWTFlags">1886912512</int>
+ <string key="NSWindowTitle">Converter</string>
+ <string key="NSWindowClass">NSWindow</string>
+ <object class="NSMutableString" key="NSViewClass">
+ <characters key="NS.bytes">View</characters>
+ </object>
+ <string key="NSWindowContentMinSize">{213, 107}</string>
+ <object class="NSView" key="NSWindowView" id="427330250">
+ <reference key="NSNextResponder"/>
+ <int key="NSvFlags">256</int>
+ <array class="NSMutableArray" key="NSSubviews">
+ <object class="NSTextField" id="795387114">
+ <reference key="NSNextResponder" ref="427330250"/>
+ <int key="NSvFlags">256</int>
+ <string key="NSFrame">{{95, 149}, {78, 22}}</string>
+ <reference key="NSSuperview" ref="427330250"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="402687801"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="783369329">
+ <int key="NSCellFlags">-1804468671</int>
+ <int key="NSCellFlags2">4195328</int>
+ <string key="NSContents"/>
+ <object class="NSFont" key="NSSupport" id="530267804">
+ <string key="NSName">LucidaGrande</string>
+ <double key="NSSize">13</double>
+ <int key="NSfFlags">1044</int>
+ </object>
+ <reference key="NSControlView" ref="795387114"/>
+ <bool key="NSDrawsBackground">YES</bool>
+ <object class="NSColor" key="NSBackgroundColor" id="360027083">
+ <int key="NSColorSpace">6</int>
+ <string key="NSCatalogName">System</string>
+ <string key="NSColorName">textBackgroundColor</string>
+ <object class="NSColor" key="NSColor" id="617394864">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MQA</bytes>
+ </object>
+ </object>
+ <object class="NSColor" key="NSTextColor" id="1048627021">
+ <int key="NSColorSpace">6</int>
+ <string key="NSCatalogName">System</string>
+ <string key="NSColorName">textColor</string>
+ <object class="NSColor" key="NSColor" id="577251841">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MAA</bytes>
+ </object>
+ </object>
+ </object>
+ </object>
+ <object class="NSButton" id="609598801">
+ <reference key="NSNextResponder" ref="427330250"/>
+ <int key="NSvFlags">256</int>
+ <string key="NSFrame">{{182, 127}, {90, 32}}</string>
+ <reference key="NSSuperview" ref="427330250"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="216685971"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSButtonCell" key="NSCell" id="335555477">
+ <int key="NSCellFlags">67239424</int>
+ <int key="NSCellFlags2">137887744</int>
+ <string key="NSContents">Convert</string>
+ <reference key="NSSupport" ref="530267804"/>
+ <reference key="NSControlView" ref="609598801"/>
+ <int key="NSButtonFlags">-2038284033</int>
+ <int key="NSButtonFlags2">1</int>
+ <object class="NSFont" key="NSAlternateImage" id="796237751">
+ <string key="NSName">Helvetica</string>
+ <double key="NSSize">13</double>
+ <int key="NSfFlags">16</int>
+ </object>
+ <object class="NSMutableString" key="NSAlternateContents">
+ <characters key="NS.bytes"/>
+ </object>
+ <object class="NSMutableString" key="NSKeyEquivalent">
+ <characters key="NS.bytes"/>
+ </object>
+ <int key="NSPeriodicDelay">200</int>
+ <int key="NSPeriodicInterval">25</int>
+ </object>
+ </object>
+ <object class="NSTextField" id="230988741">
+ <reference key="NSNextResponder" ref="427330250"/>
+ <int key="NSvFlags">256</int>
+ <string key="NSFrame">{{95, 119}, {78, 22}}</string>
+ <reference key="NSSuperview" ref="427330250"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="609598801"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="672630643">
+ <int key="NSCellFlags">-1804468671</int>
+ <int key="NSCellFlags2">4195328</int>
+ <string key="NSContents"/>
+ <reference key="NSSupport" ref="530267804"/>
+ <reference key="NSControlView" ref="230988741"/>
+ <bool key="NSDrawsBackground">YES</bool>
+ <reference key="NSBackgroundColor" ref="360027083"/>
+ <reference key="NSTextColor" ref="1048627021"/>
+ </object>
+ </object>
+ <object class="NSTextField" id="121870285">
+ <reference key="NSNextResponder" ref="427330250"/>
+ <int key="NSvFlags">256</int>
+ <string key="NSFrame">{{40, 151}, {50, 17}}</string>
+ <reference key="NSSuperview" ref="427330250"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="795387114"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="489983762">
+ <int key="NSCellFlags">67239424</int>
+ <int key="NSCellFlags2">71303168</int>
+ <string key="NSContents">Input:</string>
+ <reference key="NSSupport" ref="530267804"/>
+ <reference key="NSControlView" ref="121870285"/>
+ <object class="NSColor" key="NSBackgroundColor" id="912619890">
+ <int key="NSColorSpace">6</int>
+ <string key="NSCatalogName">System</string>
+ <string key="NSColorName">controlColor</string>
+ <object class="NSColor" key="NSColor" id="903953364">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MC42NjY2NjY2NjY3AA</bytes>
+ </object>
+ </object>
+ <object class="NSColor" key="NSTextColor" id="76016225">
+ <int key="NSColorSpace">6</int>
+ <string key="NSCatalogName">System</string>
+ <string key="NSColorName">controlTextColor</string>
+ <reference key="NSColor" ref="577251841"/>
+ </object>
+ </object>
+ </object>
+ <object class="NSTextField" id="402687801">
+ <reference key="NSNextResponder" ref="427330250"/>
+ <int key="NSvFlags">256</int>
+ <string key="NSFrame">{{17, 121}, {73, 17}}</string>
+ <reference key="NSSuperview" ref="427330250"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="230988741"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="378597936">
+ <int key="NSCellFlags">67239424</int>
+ <int key="NSCellFlags2">71303168</int>
+ <string key="NSContents">Output:</string>
+ <reference key="NSSupport" ref="530267804"/>
+ <reference key="NSControlView" ref="402687801"/>
+ <reference key="NSBackgroundColor" ref="912619890"/>
+ <reference key="NSTextColor" ref="76016225"/>
+ </object>
+ </object>
+ <object class="NSScrollView" id="216685971">
+ <reference key="NSNextResponder" ref="427330250"/>
+ <int key="NSvFlags">256</int>
+ <array class="NSMutableArray" key="NSSubviews">
+ <object class="NSClipView" id="1022689578">
+ <reference key="NSNextResponder" ref="216685971"/>
+ <int key="NSvFlags">2304</int>
+ <array class="NSMutableArray" key="NSSubviews">
+ <object class="NSTextView" id="764533086">
+ <reference key="NSNextResponder" ref="1022689578"/>
+ <int key="NSvFlags">274</int>
+ <set class="NSMutableSet" key="NSDragTypes">
+ <string>Apple HTML pasteboard type</string>
+ <string>Apple PDF pasteboard type</string>
+ <string>Apple PICT pasteboard type</string>
+ <string>Apple PNG pasteboard type</string>
+ <string>Apple URL pasteboard type</string>
+ <string>CorePasteboardFlavorType 0x6D6F6F76</string>
+ <string>NSColor pasteboard type</string>
+ <string>NSFilenamesPboardType</string>
+ <string>NSStringPboardType</string>
+ <string>NeXT Encapsulated PostScript v1.2 pasteboard type</string>
+ <string>NeXT RTFD pasteboard type</string>
+ <string>NeXT Rich Text Format v1.0 pasteboard type</string>
+ <string>NeXT TIFF v4.0 pasteboard type</string>
+ <string>NeXT font pasteboard type</string>
+ <string>NeXT ruler pasteboard type</string>
+ <string>WebURLsWithTitlesPboardType</string>
+ <string>public.url</string>
+ </set>
+ <string key="NSFrameSize">{114, 56}</string>
+ <reference key="NSSuperview" ref="1022689578"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="94236740"/>
+ <object class="NSTextContainer" key="NSTextContainer" id="932027767">
+ <object class="NSLayoutManager" key="NSLayoutManager">
+ <object class="NSTextStorage" key="NSTextStorage">
+ <object class="NSMutableString" key="NSString">
+ <characters key="NS.bytes"/>
+ </object>
+ <nil key="NSDelegate"/>
+ </object>
+ <array class="NSMutableArray" key="NSTextContainers">
+ <reference ref="932027767"/>
+ </array>
+ <int key="NSLMFlags">6</int>
+ <nil key="NSDelegate"/>
+ </object>
+ <reference key="NSTextView" ref="764533086"/>
+ <double key="NSWidth">114</double>
+ <int key="NSTCFlags">1</int>
+ </object>
+ <object class="NSTextViewSharedData" key="NSSharedData">
+ <int key="NSFlags">2919</int>
+ <int key="NSTextCheckingTypes">0</int>
+ <nil key="NSMarkedAttributes"/>
+ <reference key="NSBackgroundColor" ref="617394864"/>
+ <dictionary key="NSSelectedAttributes">
+ <object class="NSColor" key="NSBackgroundColor">
+ <int key="NSColorSpace">6</int>
+ <string key="NSCatalogName">System</string>
+ <string key="NSColorName">selectedTextBackgroundColor</string>
+ <reference key="NSColor" ref="903953364"/>
+ </object>
+ <object class="NSColor" key="NSColor">
+ <int key="NSColorSpace">6</int>
+ <string key="NSCatalogName">System</string>
+ <string key="NSColorName">selectedTextColor</string>
+ <reference key="NSColor" ref="577251841"/>
+ </object>
+ </dictionary>
+ <reference key="NSInsertionColor" ref="577251841"/>
+ <dictionary key="NSLinkAttributes">
+ <object class="NSColor" key="NSColor">
+ <int key="NSColorSpace">1</int>
+ <bytes key="NSRGB">MCAwIDEAA</bytes>
+ </object>
+ <object class="NSCursor" key="NSCursor">
+ <string key="NSHotSpot">{8, -8}</string>
+ <int key="NSCursorType">13</int>
+ </object>
+ <integer value="1" key="NSUnderline"/>
+ </dictionary>
+ <nil key="NSDefaultParagraphStyle"/>
+ </object>
+ <int key="NSTVFlags">6</int>
+ <string key="NSMaxSize">{160, 1e+07}</string>
+ <string key="NSMinize">{64, 56}</string>
+ <nil key="NSDelegate"/>
+ </object>
+ </array>
+ <string key="NSFrame">{{1, 1}, {114, 68}}</string>
+ <reference key="NSSuperview" ref="216685971"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="764533086"/>
+ <reference key="NSDocView" ref="764533086"/>
+ <object class="NSColor" key="NSBGColor">
+ <int key="NSColorSpace">6</int>
+ <string key="NSCatalogName">System</string>
+ <string key="NSColorName">controlBackgroundColor</string>
+ <reference key="NSColor" ref="903953364"/>
+ </object>
+ <object class="NSCursor" key="NSCursor">
+ <string key="NSHotSpot">{1, -1}</string>
+ <int key="NSCursorType">0</int>
+ </object>
+ <int key="NScvFlags">4</int>
+ </object>
+ <object class="NSScroller" id="94236740">
+ <reference key="NSNextResponder" ref="216685971"/>
+ <int key="NSvFlags">256</int>
+ <string key="NSFrame">{{115, 1}, {15, 68}}</string>
+ <reference key="NSSuperview" ref="216685971"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="114764763"/>
+ <reference key="NSTarget" ref="216685971"/>
+ <string key="NSAction">_doScroller:</string>
+ <double key="NSCurValue">1</double>
+ </object>
+ <object class="NSScroller" id="765653923">
+ <reference key="NSNextResponder" ref="216685971"/>
+ <int key="NSvFlags">-2147483392</int>
+ <string key="NSFrame">{{-100, -100}, {87, 18}}</string>
+ <reference key="NSSuperview" ref="216685971"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="1022689578"/>
+ <int key="NSsFlags">1</int>
+ <reference key="NSTarget" ref="216685971"/>
+ <string key="NSAction">_doScroller:</string>
+ <double key="NSCurValue">1</double>
+ <double key="NSPercent">0.94565218687057495</double>
+ </object>
+ </array>
+ <string key="NSFrame">{{42, 20}, {131, 70}}</string>
+ <reference key="NSSuperview" ref="427330250"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="765653923"/>
+ <int key="NSsFlags">18</int>
+ <reference key="NSVScroller" ref="94236740"/>
+ <reference key="NSHScroller" ref="765653923"/>
+ <reference key="NSContentView" ref="1022689578"/>
+ </object>
+ <object class="NSButton" id="114764763">
+ <reference key="NSNextResponder" ref="427330250"/>
+ <int key="NSvFlags">256</int>
+ <string key="NSFrame">{{182, 37}, {90, 32}}</string>
+ <reference key="NSSuperview" ref="427330250"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSButtonCell" key="NSCell" id="779074025">
+ <int key="NSCellFlags">67239424</int>
+ <int key="NSCellFlags2">137887744</int>
+ <string key="NSContents">Hello</string>
+ <reference key="NSSupport" ref="530267804"/>
+ <reference key="NSControlView" ref="114764763"/>
+ <int key="NSButtonFlags">-2038284033</int>
+ <int key="NSButtonFlags2">1</int>
+ <reference key="NSAlternateImage" ref="796237751"/>
+ <object class="NSMutableString" key="NSAlternateContents">
+ <characters key="NS.bytes"/>
+ </object>
+ <object class="NSMutableString" key="NSKeyEquivalent">
+ <characters key="NS.bytes"/>
+ </object>
+ <int key="NSPeriodicDelay">200</int>
+ <int key="NSPeriodicInterval">25</int>
+ </object>
+ </object>
+ </array>
+ <string key="NSFrame">{{7, 11}, {318, 197}}</string>
+ <reference key="NSSuperview"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="121870285"/>
+ </object>
+ <string key="NSScreenRect">{{0, 0}, {1920, 1178}}</string>
+ <string key="NSMinSize">{213, 129}</string>
+ <string key="NSMaxSize">{1e+13, 1e+13}</string>
+ </object>
+ <object class="NSMenu" id="36796338">
+ <string key="NSTitle">MainMenu</string>
+ <array class="NSMutableArray" key="NSMenuItems">
+ <object class="NSMenuItem" id="781666477">
+ <reference key="NSMenu" ref="36796338"/>
+ <string key="NSTitle">NewApplication</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <object class="NSCustomResource" key="NSOnImage" id="889481139">
+ <string key="NSClassName">NSImage</string>
+ <string key="NSResourceName">NSMenuCheckmark</string>
+ </object>
+ <object class="NSCustomResource" key="NSMixedImage" id="278406461">
+ <string key="NSClassName">NSImage</string>
+ <string key="NSResourceName">NSMenuMixedState</string>
+ </object>
+ <string key="NSAction">submenuAction:</string>
+ <object class="NSMenu" key="NSSubmenu" id="194799156">
+ <string key="NSTitle">NewApplication</string>
+ <array class="NSMutableArray" key="NSMenuItems">
+ <object class="NSMenuItem" id="135485686">
+ <reference key="NSMenu" ref="194799156"/>
+ <string key="NSTitle">About NewApplication</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="889481139"/>
+ <reference key="NSMixedImage" ref="278406461"/>
+ </object>
+ <object class="NSMenuItem" id="353139060">
+ <reference key="NSMenu" ref="194799156"/>
+ <bool key="NSIsDisabled">YES</bool>
+ <bool key="NSIsSeparator">YES</bool>
+ <string key="NSTitle"/>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="889481139"/>
+ <reference key="NSMixedImage" ref="278406461"/>
+ </object>
+ <object class="NSMenuItem" id="622538085">
+ <reference key="NSMenu" ref="194799156"/>
+ <string key="NSTitle">Preferences...</string>
+ <string key="NSKeyEquiv">,</string>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="889481139"/>
+ <reference key="NSMixedImage" ref="278406461"/>
+ </object>
+ <object class="NSMenuItem" id="795047634">
+ <reference key="NSMenu" ref="194799156"/>
+ <bool key="NSIsDisabled">YES</bool>
+ <bool key="NSIsSeparator">YES</bool>
+ <string key="NSTitle"/>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="889481139"/>
+ <reference key="NSMixedImage" ref="278406461"/>
+ </object>
+ <object class="NSMenuItem" id="543765351">
+ <reference key="NSMenu" ref="194799156"/>
+ <string key="NSTitle">Services</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="889481139"/>
+ <reference key="NSMixedImage" ref="278406461"/>
+ <string key="NSAction">submenuAction:</string>
+ <object class="NSMenu" key="NSSubmenu" id="440282890">
+ <object class="NSMutableString" key="NSTitle">
+ <characters key="NS.bytes">Services</characters>
+ </object>
+ <array class="NSMutableArray" key="NSMenuItems"/>
+ <string key="NSName">_NSServicesMenu</string>
+ </object>
+ </object>
+ <object class="NSMenuItem" id="616304718">
+ <reference key="NSMenu" ref="194799156"/>
+ <bool key="NSIsDisabled">YES</bool>
+ <bool key="NSIsSeparator">YES</bool>
+ <string key="NSTitle"/>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="889481139"/>
+ <reference key="NSMixedImage" ref="278406461"/>
+ </object>
+ <object class="NSMenuItem" id="14441385">
+ <reference key="NSMenu" ref="194799156"/>
+ <string key="NSTitle">Hide NewApplication</string>
+ <string key="NSKeyEquiv">h</string>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="889481139"/>
+ <reference key="NSMixedImage" ref="278406461"/>
+ </object>
+ <object class="NSMenuItem" id="929266137">
+ <reference key="NSMenu" ref="194799156"/>
+ <string key="NSTitle">Hide Others</string>
+ <string key="NSKeyEquiv">h</string>
+ <int key="NSKeyEquivModMask">1572864</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="889481139"/>
+ <reference key="NSMixedImage" ref="278406461"/>
+ </object>
+ <object class="NSMenuItem" id="1067510456">
+ <reference key="NSMenu" ref="194799156"/>
+ <string key="NSTitle">Show All</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="889481139"/>
+ <reference key="NSMixedImage" ref="278406461"/>
+ </object>
+ <object class="NSMenuItem" id="90078927">
+ <reference key="NSMenu" ref="194799156"/>
+ <bool key="NSIsDisabled">YES</bool>
+ <bool key="NSIsSeparator">YES</bool>
+ <string key="NSTitle"/>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="889481139"/>
+ <reference key="NSMixedImage" ref="278406461"/>
+ </object>
+ <object class="NSMenuItem" id="993948468">
+ <reference key="NSMenu" ref="194799156"/>
+ <string key="NSTitle">Quit NewApplication</string>
+ <string key="NSKeyEquiv">q</string>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="889481139"/>
+ <reference key="NSMixedImage" ref="278406461"/>
+ </object>
+ </array>
+ <string key="NSName">_NSAppleMenu</string>
+ </object>
+ </object>
+ <object class="NSMenuItem" id="860402603">
+ <reference key="NSMenu" ref="36796338"/>
+ <string key="NSTitle">File</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="889481139"/>
+ <reference key="NSMixedImage" ref="278406461"/>
+ <string key="NSAction">submenuAction:</string>
+ <object class="NSMenu" key="NSSubmenu" id="421616862">
+ <object class="NSMutableString" key="NSTitle">
+ <characters key="NS.bytes">File</characters>
+ </object>
+ <array class="NSMutableArray" key="NSMenuItems">
+ <object class="NSMenuItem" id="55932907">
+ <reference key="NSMenu" ref="421616862"/>
+ <string key="NSTitle">New</string>
+ <string key="NSKeyEquiv">n</string>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="889481139"/>
+ <reference key="NSMixedImage" ref="278406461"/>
+ </object>
+ <object class="NSMenuItem" id="824895094">
+ <reference key="NSMenu" ref="421616862"/>
+ <string key="NSTitle">Open...</string>
+ <string key="NSKeyEquiv">o</string>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="889481139"/>
+ <reference key="NSMixedImage" ref="278406461"/>
+ </object>
+ <object class="NSMenuItem" id="602627424">
+ <reference key="NSMenu" ref="421616862"/>
+ <string key="NSTitle">Open Recent</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="889481139"/>
+ <reference key="NSMixedImage" ref="278406461"/>
+ <string key="NSAction">submenuAction:</string>
+ <object class="NSMenu" key="NSSubmenu" id="1020388462">
+ <object class="NSMutableString" key="NSTitle">
+ <characters key="NS.bytes">Open Recent</characters>
+ </object>
+ <array class="NSMutableArray" key="NSMenuItems">
+ <object class="NSMenuItem" id="59470461">
+ <reference key="NSMenu" ref="1020388462"/>
+ <string key="NSTitle">Clear Menu</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="889481139"/>
+ <reference key="NSMixedImage" ref="278406461"/>
+ </object>
+ </array>
+ <string key="NSName">_NSRecentDocumentsMenu</string>
+ </object>
+ </object>
+ <object class="NSMenuItem" id="208466361">
+ <reference key="NSMenu" ref="421616862"/>
+ <bool key="NSIsDisabled">YES</bool>
+ <bool key="NSIsSeparator">YES</bool>
+ <string key="NSTitle"/>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="889481139"/>
+ <reference key="NSMixedImage" ref="278406461"/>
+ </object>
+ <object class="NSMenuItem" id="273052406">
+ <reference key="NSMenu" ref="421616862"/>
+ <string key="NSTitle">Close</string>
+ <string key="NSKeyEquiv">w</string>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="889481139"/>
+ <reference key="NSMixedImage" ref="278406461"/>
+ </object>
+ <object class="NSMenuItem" id="150709819">
+ <reference key="NSMenu" ref="421616862"/>
+ <string key="NSTitle">Save</string>
+ <string key="NSKeyEquiv">s</string>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="889481139"/>
+ <reference key="NSMixedImage" ref="278406461"/>
+ </object>
+ <object class="NSMenuItem" id="1037425097">
+ <reference key="NSMenu" ref="421616862"/>
+ <string key="NSTitle">Save As...</string>
+ <string key="NSKeyEquiv">S</string>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="889481139"/>
+ <reference key="NSMixedImage" ref="278406461"/>
+ </object>
+ <object class="NSMenuItem" id="481515770">
+ <reference key="NSMenu" ref="421616862"/>
+ <string key="NSTitle">Revert</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="889481139"/>
+ <reference key="NSMixedImage" ref="278406461"/>
+ </object>
+ <object class="NSMenuItem" id="676885408">
+ <reference key="NSMenu" ref="421616862"/>
+ <bool key="NSIsDisabled">YES</bool>
+ <bool key="NSIsSeparator">YES</bool>
+ <string key="NSTitle"/>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="889481139"/>
+ <reference key="NSMixedImage" ref="278406461"/>
+ </object>
+ <object class="NSMenuItem" id="403069541">
+ <reference key="NSMenu" ref="421616862"/>
+ <string key="NSTitle">Page Setup...</string>
+ <string key="NSKeyEquiv">P</string>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="889481139"/>
+ <reference key="NSMixedImage" ref="278406461"/>
+ </object>
+ <object class="NSMenuItem" id="1011343998">
+ <reference key="NSMenu" ref="421616862"/>
+ <string key="NSTitle">Print...</string>
+ <string key="NSKeyEquiv">p</string>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="889481139"/>
+ <reference key="NSMixedImage" ref="278406461"/>
+ </object>
+ </array>
+ </object>
+ </object>
+ <object class="NSMenuItem" id="688243037">
+ <reference key="NSMenu" ref="36796338"/>
+ <string key="NSTitle">Edit</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="889481139"/>
+ <reference key="NSMixedImage" ref="278406461"/>
+ <string key="NSAction">submenuAction:</string>
+ <object class="NSMenu" key="NSSubmenu" id="183834673">
+ <object class="NSMutableString" key="NSTitle">
+ <characters key="NS.bytes">Edit</characters>
+ </object>
+ <array class="NSMutableArray" key="NSMenuItems">
+ <object class="NSMenuItem" id="323747348">
+ <reference key="NSMenu" ref="183834673"/>
+ <string key="NSTitle">Undo</string>
+ <string key="NSKeyEquiv">z</string>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="889481139"/>
+ <reference key="NSMixedImage" ref="278406461"/>
+ </object>
+ <object class="NSMenuItem" id="897719997">
+ <reference key="NSMenu" ref="183834673"/>
+ <string key="NSTitle">Redo</string>
+ <string key="NSKeyEquiv">Z</string>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="889481139"/>
+ <reference key="NSMixedImage" ref="278406461"/>
+ </object>
+ <object class="NSMenuItem" id="382771857">
+ <reference key="NSMenu" ref="183834673"/>
+ <bool key="NSIsDisabled">YES</bool>
+ <bool key="NSIsSeparator">YES</bool>
+ <string key="NSTitle"/>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="889481139"/>
+ <reference key="NSMixedImage" ref="278406461"/>
+ </object>
+ <object class="NSMenuItem" id="620055401">
+ <reference key="NSMenu" ref="183834673"/>
+ <string key="NSTitle">Cut</string>
+ <string key="NSKeyEquiv">x</string>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="889481139"/>
+ <reference key="NSMixedImage" ref="278406461"/>
+ </object>
+ <object class="NSMenuItem" id="784170752">
+ <reference key="NSMenu" ref="183834673"/>
+ <string key="NSTitle">Copy</string>
+ <string key="NSKeyEquiv">c</string>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="889481139"/>
+ <reference key="NSMixedImage" ref="278406461"/>
+ </object>
+ <object class="NSMenuItem" id="631835249">
+ <reference key="NSMenu" ref="183834673"/>
+ <string key="NSTitle">Paste</string>
+ <string key="NSKeyEquiv">v</string>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="889481139"/>
+ <reference key="NSMixedImage" ref="278406461"/>
+ </object>
+ <object class="NSMenuItem" id="638946150">
+ <reference key="NSMenu" ref="183834673"/>
+ <string key="NSTitle">Delete</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="889481139"/>
+ <reference key="NSMixedImage" ref="278406461"/>
+ </object>
+ <object class="NSMenuItem" id="734819164">
+ <reference key="NSMenu" ref="183834673"/>
+ <string key="NSTitle">Select All</string>
+ <string key="NSKeyEquiv">a</string>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="889481139"/>
+ <reference key="NSMixedImage" ref="278406461"/>
+ </object>
+ <object class="NSMenuItem" id="351661426">
+ <reference key="NSMenu" ref="183834673"/>
+ <bool key="NSIsDisabled">YES</bool>
+ <bool key="NSIsSeparator">YES</bool>
+ <string key="NSTitle"/>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="889481139"/>
+ <reference key="NSMixedImage" ref="278406461"/>
+ </object>
+ <object class="NSMenuItem" id="701211815">
+ <reference key="NSMenu" ref="183834673"/>
+ <string key="NSTitle">Find</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="889481139"/>
+ <reference key="NSMixedImage" ref="278406461"/>
+ <string key="NSAction">submenuAction:</string>
+ <object class="NSMenu" key="NSSubmenu" id="848946112">
+ <object class="NSMutableString" key="NSTitle">
+ <characters key="NS.bytes">Find</characters>
+ </object>
+ <array class="NSMutableArray" key="NSMenuItems">
+ <object class="NSMenuItem" id="410837322">
+ <reference key="NSMenu" ref="848946112"/>
+ <string key="NSTitle">Find...</string>
+ <string key="NSKeyEquiv">f</string>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="889481139"/>
+ <reference key="NSMixedImage" ref="278406461"/>
+ </object>
+ <object class="NSMenuItem" id="1065812840">
+ <reference key="NSMenu" ref="848946112"/>
+ <string key="NSTitle">Find Next</string>
+ <string key="NSKeyEquiv">g</string>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="889481139"/>
+ <reference key="NSMixedImage" ref="278406461"/>
+ </object>
+ <object class="NSMenuItem" id="900820084">
+ <reference key="NSMenu" ref="848946112"/>
+ <string key="NSTitle">Find Previous</string>
+ <string key="NSKeyEquiv">d</string>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="889481139"/>
+ <reference key="NSMixedImage" ref="278406461"/>
+ </object>
+ <object class="NSMenuItem" id="83701914">
+ <reference key="NSMenu" ref="848946112"/>
+ <string key="NSTitle">Use Selection for Find</string>
+ <string key="NSKeyEquiv">e</string>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="889481139"/>
+ <reference key="NSMixedImage" ref="278406461"/>
+ </object>
+ <object class="NSMenuItem" id="687215904">
+ <reference key="NSMenu" ref="848946112"/>
+ <string key="NSTitle">Scroll to Selection</string>
+ <string key="NSKeyEquiv">j</string>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="889481139"/>
+ <reference key="NSMixedImage" ref="278406461"/>
+ </object>
+ </array>
+ </object>
+ </object>
+ <object class="NSMenuItem" id="484813096">
+ <reference key="NSMenu" ref="183834673"/>
+ <string key="NSTitle">Spelling</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="889481139"/>
+ <reference key="NSMixedImage" ref="278406461"/>
+ <string key="NSAction">submenuAction:</string>
+ <object class="NSMenu" key="NSSubmenu" id="563673284">
+ <string key="NSTitle">Spelling</string>
+ <array class="NSMutableArray" key="NSMenuItems">
+ <object class="NSMenuItem" id="457313092">
+ <reference key="NSMenu" ref="563673284"/>
+ <string key="NSTitle">Spelling...</string>
+ <string key="NSKeyEquiv">:</string>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="889481139"/>
+ <reference key="NSMixedImage" ref="278406461"/>
+ </object>
+ <object class="NSMenuItem" id="360540688">
+ <reference key="NSMenu" ref="563673284"/>
+ <string key="NSTitle">Check Spelling</string>
+ <string key="NSKeyEquiv">;</string>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="889481139"/>
+ <reference key="NSMixedImage" ref="278406461"/>
+ </object>
+ <object class="NSMenuItem" id="978966910">
+ <reference key="NSMenu" ref="563673284"/>
+ <string key="NSTitle">Check Spelling as You Type</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="889481139"/>
+ <reference key="NSMixedImage" ref="278406461"/>
+ </object>
+ </array>
+ </object>
+ </object>
+ </array>
+ </object>
+ </object>
+ <object class="NSMenuItem" id="427583937">
+ <reference key="NSMenu" ref="36796338"/>
+ <string key="NSTitle">Window</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="889481139"/>
+ <reference key="NSMixedImage" ref="278406461"/>
+ <string key="NSAction">submenuAction:</string>
+ <object class="NSMenu" key="NSSubmenu" id="586519477">
+ <object class="NSMutableString" key="NSTitle">
+ <characters key="NS.bytes">Window</characters>
+ </object>
+ <array class="NSMutableArray" key="NSMenuItems">
+ <object class="NSMenuItem" id="43045456">
+ <reference key="NSMenu" ref="586519477"/>
+ <string key="NSTitle">Minimize</string>
+ <string key="NSKeyEquiv">m</string>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="889481139"/>
+ <reference key="NSMixedImage" ref="278406461"/>
+ </object>
+ <object class="NSMenuItem" id="780607248">
+ <reference key="NSMenu" ref="586519477"/>
+ <bool key="NSIsDisabled">YES</bool>
+ <bool key="NSIsSeparator">YES</bool>
+ <string key="NSTitle"/>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="889481139"/>
+ <reference key="NSMixedImage" ref="278406461"/>
+ </object>
+ <object class="NSMenuItem" id="106444382">
+ <reference key="NSMenu" ref="586519477"/>
+ <string key="NSTitle">Bring All to Front</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="889481139"/>
+ <reference key="NSMixedImage" ref="278406461"/>
+ </object>
+ </array>
+ <string key="NSName">_NSWindowsMenu</string>
+ </object>
+ </object>
+ <object class="NSMenuItem" id="487053398">
+ <reference key="NSMenu" ref="36796338"/>
+ <string key="NSTitle">Help</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="889481139"/>
+ <reference key="NSMixedImage" ref="278406461"/>
+ <string key="NSAction">submenuAction:</string>
+ <object class="NSMenu" key="NSSubmenu" id="570589403">
+ <string key="NSTitle">Help</string>
+ <array class="NSMutableArray" key="NSMenuItems">
+ <object class="NSMenuItem" id="81329578">
+ <reference key="NSMenu" ref="570589403"/>
+ <string key="NSTitle">NewApplication Help</string>
+ <string key="NSKeyEquiv">?</string>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="889481139"/>
+ <reference key="NSMixedImage" ref="278406461"/>
+ </object>
+ </array>
+ </object>
+ </object>
+ </array>
+ <string key="NSName">_NSMainMenu</string>
+ </object>
+ <object class="NSCustomObject" id="326839950">
+ <string key="NSClassName">Converter</string>
+ </object>
+ <object class="NSCustomObject" id="219697045">
+ <string key="NSClassName">Foobar</string>
+ </object>
+ </array>
+ <object class="IBObjectContainer" key="IBDocument.Objects">
+ <array class="NSMutableArray" key="connectionRecords">
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">performMiniaturize:</string>
+ <reference key="source" ref="780358255"/>
+ <reference key="destination" ref="43045456"/>
+ </object>
+ <int key="connectionID">37</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">arrangeInFront:</string>
+ <reference key="source" ref="780358255"/>
+ <reference key="destination" ref="106444382"/>
+ </object>
+ <int key="connectionID">39</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">print:</string>
+ <reference key="source" ref="780358255"/>
+ <reference key="destination" ref="1011343998"/>
+ </object>
+ <int key="connectionID">86</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">runPageLayout:</string>
+ <reference key="source" ref="780358255"/>
+ <reference key="destination" ref="403069541"/>
+ </object>
+ <int key="connectionID">87</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">showHelp:</string>
+ <reference key="source" ref="780358255"/>
+ <reference key="destination" ref="81329578"/>
+ </object>
+ <int key="connectionID">122</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">clearRecentDocuments:</string>
+ <reference key="source" ref="780358255"/>
+ <reference key="destination" ref="59470461"/>
+ </object>
+ <int key="connectionID">127</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">terminate:</string>
+ <reference key="source" ref="980320382"/>
+ <reference key="destination" ref="993948468"/>
+ </object>
+ <int key="connectionID">139</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">orderFrontStandardAboutPanel:</string>
+ <reference key="source" ref="980320382"/>
+ <reference key="destination" ref="135485686"/>
+ </object>
+ <int key="connectionID">142</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">hideOtherApplications:</string>
+ <reference key="source" ref="980320382"/>
+ <reference key="destination" ref="929266137"/>
+ </object>
+ <int key="connectionID">146</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">hide:</string>
+ <reference key="source" ref="980320382"/>
+ <reference key="destination" ref="14441385"/>
+ </object>
+ <int key="connectionID">152</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">unhideAllApplications:</string>
+ <reference key="source" ref="980320382"/>
+ <reference key="destination" ref="1067510456"/>
+ </object>
+ <int key="connectionID">153</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">cut:</string>
+ <reference key="source" ref="780358255"/>
+ <reference key="destination" ref="620055401"/>
+ </object>
+ <int key="connectionID">175</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">paste:</string>
+ <reference key="source" ref="780358255"/>
+ <reference key="destination" ref="631835249"/>
+ </object>
+ <int key="connectionID">176</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">redo:</string>
+ <reference key="source" ref="780358255"/>
+ <reference key="destination" ref="897719997"/>
+ </object>
+ <int key="connectionID">178</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">selectAll:</string>
+ <reference key="source" ref="780358255"/>
+ <reference key="destination" ref="734819164"/>
+ </object>
+ <int key="connectionID">179</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">undo:</string>
+ <reference key="source" ref="780358255"/>
+ <reference key="destination" ref="323747348"/>
+ </object>
+ <int key="connectionID">180</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">copy:</string>
+ <reference key="source" ref="780358255"/>
+ <reference key="destination" ref="784170752"/>
+ </object>
+ <int key="connectionID">181</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">showGuessPanel:</string>
+ <reference key="source" ref="780358255"/>
+ <reference key="destination" ref="457313092"/>
+ </object>
+ <int key="connectionID">188</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">checkSpelling:</string>
+ <reference key="source" ref="780358255"/>
+ <reference key="destination" ref="360540688"/>
+ </object>
+ <int key="connectionID">190</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">toggleContinuousSpellChecking:</string>
+ <reference key="source" ref="780358255"/>
+ <reference key="destination" ref="978966910"/>
+ </object>
+ <int key="connectionID">192</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">performClose:</string>
+ <reference key="source" ref="780358255"/>
+ <reference key="destination" ref="273052406"/>
+ </object>
+ <int key="connectionID">193</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">delete:</string>
+ <reference key="source" ref="780358255"/>
+ <reference key="destination" ref="638946150"/>
+ </object>
+ <int key="connectionID">195</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">input</string>
+ <reference key="source" ref="326839950"/>
+ <reference key="destination" ref="795387114"/>
+ </object>
+ <int key="connectionID">203</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">output</string>
+ <reference key="source" ref="326839950"/>
+ <reference key="destination" ref="230988741"/>
+ </object>
+ <int key="connectionID">204</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">convert:</string>
+ <reference key="source" ref="326839950"/>
+ <reference key="destination" ref="609598801"/>
+ </object>
+ <int key="connectionID">205</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">controller</string>
+ <reference key="source" ref="219697045"/>
+ <reference key="destination" ref="326839950"/>
+ </object>
+ <int key="connectionID">207</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">text</string>
+ <reference key="source" ref="219697045"/>
+ <reference key="destination" ref="764533086"/>
+ </object>
+ <int key="connectionID">211</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">doSomething:</string>
+ <reference key="source" ref="219697045"/>
+ <reference key="destination" ref="114764763"/>
+ </object>
+ <int key="connectionID">213</int>
+ </object>
+ </array>
+ <object class="IBMutableOrderedSet" key="objectRecords">
+ <array key="orderedObjects">
+ <object class="IBObjectRecord">
+ <int key="objectID">0</int>
+ <array key="object" id="0"/>
+ <reference key="children" ref="822777825"/>
+ <nil key="parent"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">-2</int>
+ <reference key="object" ref="980320382"/>
+ <reference key="parent" ref="0"/>
+ <string key="objectName">File's Owner</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">-1</int>
+ <reference key="object" ref="780358255"/>
+ <reference key="parent" ref="0"/>
+ <string key="objectName">First Responder</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">21</int>
+ <reference key="object" ref="102042239"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="427330250"/>
+ </array>
+ <reference key="parent" ref="0"/>
+ <string key="objectName">Window</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">2</int>
+ <reference key="object" ref="427330250"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="795387114"/>
+ <reference ref="609598801"/>
+ <reference ref="230988741"/>
+ <reference ref="121870285"/>
+ <reference ref="402687801"/>
+ <reference ref="216685971"/>
+ <reference ref="114764763"/>
+ </array>
+ <reference key="parent" ref="102042239"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">197</int>
+ <reference key="object" ref="795387114"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="783369329"/>
+ </array>
+ <reference key="parent" ref="427330250"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">198</int>
+ <reference key="object" ref="609598801"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="335555477"/>
+ </array>
+ <reference key="parent" ref="427330250"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">199</int>
+ <reference key="object" ref="230988741"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="672630643"/>
+ </array>
+ <reference key="parent" ref="427330250"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">200</int>
+ <reference key="object" ref="121870285"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="489983762"/>
+ </array>
+ <reference key="parent" ref="427330250"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">201</int>
+ <reference key="object" ref="402687801"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="378597936"/>
+ </array>
+ <reference key="parent" ref="427330250"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">209</int>
+ <reference key="object" ref="216685971"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="764533086"/>
+ <reference ref="94236740"/>
+ <reference ref="765653923"/>
+ </array>
+ <reference key="parent" ref="427330250"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">210</int>
+ <reference key="object" ref="764533086"/>
+ <reference key="parent" ref="216685971"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">212</int>
+ <reference key="object" ref="114764763"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="779074025"/>
+ </array>
+ <reference key="parent" ref="427330250"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">29</int>
+ <reference key="object" ref="36796338"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="427583937"/>
+ <reference ref="781666477"/>
+ <reference ref="860402603"/>
+ <reference ref="487053398"/>
+ <reference ref="688243037"/>
+ </array>
+ <reference key="parent" ref="0"/>
+ <string key="objectName">MainMenu</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">19</int>
+ <reference key="object" ref="427583937"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="586519477"/>
+ </array>
+ <reference key="parent" ref="36796338"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">24</int>
+ <reference key="object" ref="586519477"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="106444382"/>
+ <reference ref="43045456"/>
+ <reference ref="780607248"/>
+ </array>
+ <reference key="parent" ref="427583937"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">5</int>
+ <reference key="object" ref="106444382"/>
+ <reference key="parent" ref="586519477"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">23</int>
+ <reference key="object" ref="43045456"/>
+ <reference key="parent" ref="586519477"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">92</int>
+ <reference key="object" ref="780607248"/>
+ <reference key="parent" ref="586519477"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">56</int>
+ <reference key="object" ref="781666477"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="194799156"/>
+ </array>
+ <reference key="parent" ref="36796338"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">57</int>
+ <reference key="object" ref="194799156"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="135485686"/>
+ <reference ref="622538085"/>
+ <reference ref="543765351"/>
+ <reference ref="14441385"/>
+ <reference ref="993948468"/>
+ <reference ref="795047634"/>
+ <reference ref="616304718"/>
+ <reference ref="929266137"/>
+ <reference ref="90078927"/>
+ <reference ref="1067510456"/>
+ <reference ref="353139060"/>
+ </array>
+ <reference key="parent" ref="781666477"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">58</int>
+ <reference key="object" ref="135485686"/>
+ <reference key="parent" ref="194799156"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">129</int>
+ <reference key="object" ref="622538085"/>
+ <reference key="parent" ref="194799156"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">131</int>
+ <reference key="object" ref="543765351"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="440282890"/>
+ </array>
+ <reference key="parent" ref="194799156"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">130</int>
+ <reference key="object" ref="440282890"/>
+ <reference key="parent" ref="543765351"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">134</int>
+ <reference key="object" ref="14441385"/>
+ <reference key="parent" ref="194799156"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">136</int>
+ <reference key="object" ref="993948468"/>
+ <reference key="parent" ref="194799156"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">143</int>
+ <reference key="object" ref="795047634"/>
+ <reference key="parent" ref="194799156"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">144</int>
+ <reference key="object" ref="616304718"/>
+ <reference key="parent" ref="194799156"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">145</int>
+ <reference key="object" ref="929266137"/>
+ <reference key="parent" ref="194799156"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">149</int>
+ <reference key="object" ref="90078927"/>
+ <reference key="parent" ref="194799156"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">150</int>
+ <reference key="object" ref="1067510456"/>
+ <reference key="parent" ref="194799156"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">196</int>
+ <reference key="object" ref="353139060"/>
+ <reference key="parent" ref="194799156"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">83</int>
+ <reference key="object" ref="860402603"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="421616862"/>
+ </array>
+ <reference key="parent" ref="36796338"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">81</int>
+ <reference key="object" ref="421616862"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="824895094"/>
+ <reference ref="273052406"/>
+ <reference ref="676885408"/>
+ <reference ref="150709819"/>
+ <reference ref="403069541"/>
+ <reference ref="1011343998"/>
+ <reference ref="208466361"/>
+ <reference ref="1037425097"/>
+ <reference ref="55932907"/>
+ <reference ref="481515770"/>
+ <reference ref="602627424"/>
+ </array>
+ <reference key="parent" ref="860402603"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">72</int>
+ <reference key="object" ref="824895094"/>
+ <reference key="parent" ref="421616862"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">73</int>
+ <reference key="object" ref="273052406"/>
+ <reference key="parent" ref="421616862"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">74</int>
+ <reference key="object" ref="676885408"/>
+ <reference key="parent" ref="421616862"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">75</int>
+ <reference key="object" ref="150709819"/>
+ <reference key="parent" ref="421616862"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">77</int>
+ <reference key="object" ref="403069541"/>
+ <reference key="parent" ref="421616862"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">78</int>
+ <reference key="object" ref="1011343998"/>
+ <reference key="parent" ref="421616862"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">79</int>
+ <reference key="object" ref="208466361"/>
+ <reference key="parent" ref="421616862"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">80</int>
+ <reference key="object" ref="1037425097"/>
+ <reference key="parent" ref="421616862"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">82</int>
+ <reference key="object" ref="55932907"/>
+ <reference key="parent" ref="421616862"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">112</int>
+ <reference key="object" ref="481515770"/>
+ <reference key="parent" ref="421616862"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">124</int>
+ <reference key="object" ref="602627424"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="1020388462"/>
+ </array>
+ <reference key="parent" ref="421616862"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">125</int>
+ <reference key="object" ref="1020388462"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="59470461"/>
+ </array>
+ <reference key="parent" ref="602627424"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">126</int>
+ <reference key="object" ref="59470461"/>
+ <reference key="parent" ref="1020388462"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">103</int>
+ <reference key="object" ref="487053398"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="570589403"/>
+ </array>
+ <reference key="parent" ref="36796338"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">106</int>
+ <reference key="object" ref="570589403"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="81329578"/>
+ </array>
+ <reference key="parent" ref="487053398"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">111</int>
+ <reference key="object" ref="81329578"/>
+ <reference key="parent" ref="570589403"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">163</int>
+ <reference key="object" ref="688243037"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="183834673"/>
+ </array>
+ <reference key="parent" ref="36796338"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">169</int>
+ <reference key="object" ref="183834673"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="382771857"/>
+ <reference ref="784170752"/>
+ <reference ref="323747348"/>
+ <reference ref="620055401"/>
+ <reference ref="638946150"/>
+ <reference ref="701211815"/>
+ <reference ref="631835249"/>
+ <reference ref="734819164"/>
+ <reference ref="897719997"/>
+ <reference ref="351661426"/>
+ <reference ref="484813096"/>
+ </array>
+ <reference key="parent" ref="688243037"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">156</int>
+ <reference key="object" ref="382771857"/>
+ <reference key="parent" ref="183834673"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">157</int>
+ <reference key="object" ref="784170752"/>
+ <reference key="parent" ref="183834673"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">158</int>
+ <reference key="object" ref="323747348"/>
+ <reference key="parent" ref="183834673"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">160</int>
+ <reference key="object" ref="620055401"/>
+ <reference key="parent" ref="183834673"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">164</int>
+ <reference key="object" ref="638946150"/>
+ <reference key="parent" ref="183834673"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">168</int>
+ <reference key="object" ref="701211815"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="848946112"/>
+ </array>
+ <reference key="parent" ref="183834673"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">159</int>
+ <reference key="object" ref="848946112"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="410837322"/>
+ <reference ref="687215904"/>
+ <reference ref="83701914"/>
+ <reference ref="900820084"/>
+ <reference ref="1065812840"/>
+ </array>
+ <reference key="parent" ref="701211815"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">154</int>
+ <reference key="object" ref="410837322"/>
+ <reference key="parent" ref="848946112"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">155</int>
+ <reference key="object" ref="687215904"/>
+ <reference key="parent" ref="848946112"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">161</int>
+ <reference key="object" ref="83701914"/>
+ <reference key="parent" ref="848946112"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">162</int>
+ <reference key="object" ref="900820084"/>
+ <reference key="parent" ref="848946112"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">167</int>
+ <reference key="object" ref="1065812840"/>
+ <reference key="parent" ref="848946112"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">171</int>
+ <reference key="object" ref="631835249"/>
+ <reference key="parent" ref="183834673"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">172</int>
+ <reference key="object" ref="734819164"/>
+ <reference key="parent" ref="183834673"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">173</int>
+ <reference key="object" ref="897719997"/>
+ <reference key="parent" ref="183834673"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">174</int>
+ <reference key="object" ref="351661426"/>
+ <reference key="parent" ref="183834673"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">184</int>
+ <reference key="object" ref="484813096"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="563673284"/>
+ </array>
+ <reference key="parent" ref="183834673"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">185</int>
+ <reference key="object" ref="563673284"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="457313092"/>
+ <reference ref="360540688"/>
+ <reference ref="978966910"/>
+ </array>
+ <reference key="parent" ref="484813096"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">187</int>
+ <reference key="object" ref="457313092"/>
+ <reference key="parent" ref="563673284"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">189</int>
+ <reference key="object" ref="360540688"/>
+ <reference key="parent" ref="563673284"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">191</int>
+ <reference key="object" ref="978966910"/>
+ <reference key="parent" ref="563673284"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">202</int>
+ <reference key="object" ref="326839950"/>
+ <reference key="parent" ref="0"/>
+ <string key="objectName">Converter</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">206</int>
+ <reference key="object" ref="219697045"/>
+ <reference key="parent" ref="0"/>
+ <string key="objectName">Foobar</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">215</int>
+ <reference key="object" ref="783369329"/>
+ <reference key="parent" ref="795387114"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">216</int>
+ <reference key="object" ref="335555477"/>
+ <reference key="parent" ref="609598801"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">217</int>
+ <reference key="object" ref="672630643"/>
+ <reference key="parent" ref="230988741"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">218</int>
+ <reference key="object" ref="489983762"/>
+ <reference key="parent" ref="121870285"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">219</int>
+ <reference key="object" ref="378597936"/>
+ <reference key="parent" ref="402687801"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">220</int>
+ <reference key="object" ref="779074025"/>
+ <reference key="parent" ref="114764763"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">221</int>
+ <reference key="object" ref="94236740"/>
+ <reference key="parent" ref="216685971"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">222</int>
+ <reference key="object" ref="765653923"/>
+ <reference key="parent" ref="216685971"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">-3</int>
+ <reference key="object" ref="862774939"/>
+ <reference key="parent" ref="0"/>
+ <string key="objectName">Application</string>
+ </object>
+ </array>
+ </object>
+ <dictionary class="NSMutableDictionary" key="flattenedProperties">
+ <string key="-1.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="103.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="103.ImportedFromIB2"/>
+ <string key="106.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="106.ImportedFromIB2"/>
+ <string key="111.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="111.ImportedFromIB2"/>
+ <string key="112.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="112.ImportedFromIB2"/>
+ <string key="124.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="124.ImportedFromIB2"/>
+ <string key="125.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="125.ImportedFromIB2"/>
+ <string key="126.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="126.ImportedFromIB2"/>
+ <string key="129.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="129.ImportedFromIB2"/>
+ <string key="130.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="130.ImportedFromIB2"/>
+ <string key="131.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="131.ImportedFromIB2"/>
+ <string key="134.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="134.ImportedFromIB2"/>
+ <string key="136.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="136.ImportedFromIB2"/>
+ <string key="143.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="143.ImportedFromIB2"/>
+ <string key="144.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="144.ImportedFromIB2"/>
+ <string key="145.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="145.ImportedFromIB2"/>
+ <string key="149.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="149.ImportedFromIB2"/>
+ <string key="150.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="150.ImportedFromIB2"/>
+ <string key="154.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="154.ImportedFromIB2"/>
+ <string key="155.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="155.ImportedFromIB2"/>
+ <string key="156.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="156.ImportedFromIB2"/>
+ <string key="157.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="157.ImportedFromIB2"/>
+ <string key="158.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="158.ImportedFromIB2"/>
+ <string key="159.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="159.ImportedFromIB2"/>
+ <string key="160.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="160.ImportedFromIB2"/>
+ <string key="161.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="161.ImportedFromIB2"/>
+ <string key="162.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="162.ImportedFromIB2"/>
+ <string key="163.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="163.ImportedFromIB2"/>
+ <string key="164.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="164.ImportedFromIB2"/>
+ <string key="167.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="167.ImportedFromIB2"/>
+ <string key="168.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="168.ImportedFromIB2"/>
+ <string key="169.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="169.ImportedFromIB2"/>
+ <string key="171.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="171.ImportedFromIB2"/>
+ <string key="172.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="172.ImportedFromIB2"/>
+ <string key="173.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="173.ImportedFromIB2"/>
+ <string key="174.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="174.ImportedFromIB2"/>
+ <string key="184.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="184.ImportedFromIB2"/>
+ <string key="185.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="185.ImportedFromIB2"/>
+ <string key="187.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="187.ImportedFromIB2"/>
+ <string key="189.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="189.ImportedFromIB2"/>
+ <string key="19.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="19.ImportedFromIB2"/>
+ <string key="191.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="191.ImportedFromIB2"/>
+ <string key="196.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="196.ImportedFromIB2"/>
+ <string key="197.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="197.ImportedFromIB2"/>
+ <string key="198.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="198.ImportedFromIB2"/>
+ <string key="199.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="199.ImportedFromIB2"/>
+ <string key="2.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="2.ImportedFromIB2"/>
+ <string key="200.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="200.ImportedFromIB2"/>
+ <string key="201.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="201.ImportedFromIB2"/>
+ <string key="202.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="202.ImportedFromIB2"/>
+ <string key="206.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="206.ImportedFromIB2"/>
+ <string key="209.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="209.ImportedFromIB2"/>
+ <string key="21.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="21.ImportedFromIB2"/>
+ <boolean value="YES" key="21.NSWindowTemplate.visibleAtLaunch"/>
+ <string key="210.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="210.ImportedFromIB2"/>
+ <string key="212.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="212.ImportedFromIB2"/>
+ <boolean value="YES" key="221.IBShouldRemoveOnLegacySave"/>
+ <boolean value="YES" key="222.IBShouldRemoveOnLegacySave"/>
+ <string key="23.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="23.ImportedFromIB2"/>
+ <string key="24.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="24.ImportedFromIB2"/>
+ <string key="29.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="29.ImportedFromIB2"/>
+ <string key="5.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="5.ImportedFromIB2"/>
+ <string key="56.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="56.ImportedFromIB2"/>
+ <string key="57.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="57.ImportedFromIB2"/>
+ <string key="58.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="58.ImportedFromIB2"/>
+ <string key="72.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="72.ImportedFromIB2"/>
+ <string key="73.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="73.ImportedFromIB2"/>
+ <string key="74.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="74.ImportedFromIB2"/>
+ <string key="75.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="75.ImportedFromIB2"/>
+ <string key="77.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="77.ImportedFromIB2"/>
+ <string key="78.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="78.ImportedFromIB2"/>
+ <string key="79.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="79.ImportedFromIB2"/>
+ <string key="80.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="80.ImportedFromIB2"/>
+ <string key="81.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="81.ImportedFromIB2"/>
+ <string key="82.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="82.ImportedFromIB2"/>
+ <string key="83.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="83.ImportedFromIB2"/>
+ <string key="92.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="92.ImportedFromIB2"/>
+ </dictionary>
+ <dictionary class="NSMutableDictionary" key="unlocalizedProperties"/>
+ <nil key="activeLocalization"/>
+ <dictionary class="NSMutableDictionary" key="localizations"/>
+ <nil key="sourceID"/>
+ <int key="maxID">222</int>
+ </object>
+ <object class="IBClassDescriber" key="IBDocument.Classes"/>
+ <int key="IBDocument.localizationMode">0</int>
+ <string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string>
+ <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencies">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
+ <integer value="1060" key="NS.object.0"/>
+ </object>
+ <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
+ <int key="IBDocument.defaultPropertyAccessControl">3</int>
+ <dictionary class="NSMutableDictionary" key="IBDocument.LastKnownImageSizes">
+ <string key="NSMenuCheckmark">{9, 8}</string>
+ <string key="NSMenuMixedState">{7, 2}</string>
+ </dictionary>
+ </data>
+</archive>
View
22 addons/ObjcBridge/samples/BridgeTest/English.lproj/MainMenu.nib/info.nib
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
- <key>IBDocumentLocation</key>
- <string>57 159 356 240 0 0 1600 1178 </string>
- <key>IBEditorPositions</key>
- <dict>
- <key>29</key>
- <string>49 424 318 44 0 0 1600 1178 </string>
- </dict>
- <key>IBFramework Version</key>
- <string>291.0</string>
- <key>IBOpenObjects</key>
- <array>
- <integer>21</integer>
- <integer>29</integer>
- </array>
- <key>IBSystem Version</key>
- <string>6I32</string>
-</dict>
-</plist>
View
BIN  addons/ObjcBridge/samples/BridgeTest/English.lproj/MainMenu.nib/keyedobjects.nib
Binary file not shown
View
BIN  addons/ObjcBridge/samples/BridgeTest/English.lproj/MainMenu.nib/objects.nib
Binary file not shown
View
20 addons/ObjcBridge/samples/BridgeTest/English.lproj/MainMenu~.nib/classes.nib
@@ -1,20 +0,0 @@
-{
- IBClasses = (
- {
- ACTIONS = {convert = id; };
- CLASS = Converter;
- LANGUAGE = ObjC;
- OUTLETS = {input = id; output = id; };
- SUPERCLASS = NSObject;
- },
- {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; },
- {
- ACTIONS = {doSomething = id; };
- CLASS = Foobar;
- LANGUAGE = ObjC;
- OUTLETS = {controller = id; text = id; };
- SUPERCLASS = NSObject;
- }
- );
- IBVersion = 1;
-}
View
22 addons/ObjcBridge/samples/BridgeTest/English.lproj/MainMenu~.nib/info.nib
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
- <key>IBDocumentLocation</key>
- <string>57 159 356 240 0 0 1600 1178 </string>
- <key>IBEditorPositions</key>
- <dict>
- <key>29</key>
- <string>125 407 318 44 0 0 1600 1178 </string>
- </dict>
- <key>IBFramework Version</key>
- <string>291.0</string>
- <key>IBOpenObjects</key>
- <array>
- <integer>21</integer>
- <integer>29</integer>
- </array>
- <key>IBSystem Version</key>
- <string>6I32</string>
-</dict>
-</plist>
View
BIN  addons/ObjcBridge/samples/BridgeTest/English.lproj/MainMenu~.nib/objects.nib
Binary file not shown
View
55 addons/ObjcBridge/source/Io2Objc.m
@@ -2,6 +2,8 @@
* All rights reserved. See _BSDLicense.txt.
*/
+#import <Foundation/Foundation.h>
+//#import <Foundation/NSObjCRuntime.h>
#include "Io2Objc.h"
#include "List.h"
#include "IoBlock.h"
@@ -75,7 +77,7 @@ void Io2Objc_free(Io2Objc *self)
id object = DATA(self)->object;
if (IoObjcBridge_sharedBridge()) IoObjcBridge_removeId_(DATA(self)->bridge, object);
//printf("Io2Objc_free %p that referenced a %s\n", (void *)object, [[object className] cString]);
- if (object != nil && (((Class)object)->info & CLS_META) != CLS_META)
+ if (object != nil && [object class] != object) // && (((Class)object)->info & CLS_META) != CLS_META)
[object autorelease];
objc_free(DATA(self)->returnBuffer);
objc_free(DATA(self));
@@ -94,7 +96,7 @@ void Io2Objc_setBridge(Io2Objc *self, void *bridge)
void Io2Objc_setObject(Io2Objc *self, void *object)
{
- if (object != nil && (((Class)object)->info & CLS_META) != CLS_META)
+ if (object != nil && ([(id)object class] != (id)object)) //&& (((Class)object)->info & CLS_META) != CLS_META)
DATA(self)->object = [(id)object retain];
else
DATA(self)->object = (id)object;
@@ -128,13 +130,13 @@ void Io2Objc_nullObjcBridge(Io2Objc *self)
// see if receiver can handle message -------------
BOOL respondsToSelector;
- if (object != nil && (((Class)object)->info & CLS_META) == CLS_META)
+ if (object != nil && [object class] == object) //(((Class)object)->info & CLS_META) == CLS_META)
{
- ((Class)object)->info ^= CLS_CLASS;
- ((Class)object)->info ^= CLS_META;
+ //((Class)object)->info ^= CLS_CLASS;
+ //((Class)object)->info ^= CLS_META;
respondsToSelector = [object respondsToSelector:selector];
- ((Class)object)->info ^= CLS_META;
- ((Class)object)->info ^= CLS_CLASS;
+ //((Class)object)->info ^= CLS_META;
+ //((Class)object)->info ^= CLS_CLASS;
}
else
respondsToSelector = [object respondsToSelector:selector];
@@ -153,7 +155,7 @@ void Io2Objc_nullObjcBridge(Io2Objc *self)
{
const char *cType = [methodSignature methodReturnType];
IoState_print_(IOSTATE, "Io -> Objc: %s (%s)",
- [[object className] cString],
+ [[object className] UTF8String],
IoObjcBridge_nameForTypeChar_(DATA(self)->bridge, *cType));
IoState_print_(IOSTATE, "%s(", methodName);
}
@@ -187,7 +189,7 @@ void Io2Objc_nullObjcBridge(Io2Objc *self)
NS_DURING
[invocation invoke];
NS_HANDLER
- IoState_error_(IOSTATE, m, "Io Io2Objc perform while sending '%s' %s - %s", methodName, [[localException name] cString], [[localException reason] cString]);
+ IoState_error_(IOSTATE, m, "Io Io2Objc perform while sending '%s' %s - %s", methodName, [[localException name] UTF8String], [[localException reason] UTF8String]);
NS_ENDHANDLER
}
@@ -229,7 +231,7 @@ void forwardInvocation(id self, SEL sel, NSInvocation *invocation)
IoSymbol *symbol = IoState_symbolWithCString_(IoObject_state(bridge), strcat(name, sel_getName([invocation selector])));
objc_free(name);
- for (class = self->isa ; class != nil ; class = class->super_class)
+ for (class = self->isa ; class != nil ; class = [class superclass]) // class->super_class)
{
Io2Objc *io2objc = PHash_at_(((IoObjcBridgeData *)DATA(bridge))->io2objcs, class);
@@ -256,7 +258,7 @@ void forwardInvocation(id self, SEL sel, NSInvocation *invocation)
}
return;
}
- IoState_error_(IoObject_state(bridge), message, "'%s' does not respond to message '%s'", [invocation target]->isa->name, CSTRING(symbol));
+ IoState_error_(IoObject_state(bridge), message, "'%s' does not respond to message '%s'", [[[invocation target] className] UTF8String], CSTRING(symbol));
}
BOOL respondsToSelector(id self, SEL sel, SEL selector)
@@ -281,16 +283,18 @@ BOOL respondsToSelector(id self, SEL sel, SEL selector)
NSMethodSignature *methodSignatureForSelector(id self, SEL sel, SEL selector)
{
- struct objc_method *method = class_getInstanceMethod(self->isa, selector);
+ Method method = class_getInstanceMethod(self->isa, selector);
+
if (method)
- return [NSMethodSignature signatureWithObjCTypes:method->method_types];
+ return [NSMethodSignature signatureWithObjCTypes:method_getTypeEncoding(method)]; //(method->method_types)];
else
return nil;
}
Io2Objc *Io2Objc_newSubclassNamed(Io2Objc *self, IoObject *locals, IoMessage *m)
{
- Class class = objc_makeClass(IoMessage_locals_cStringArgAt_(m, locals, 0), DATA(self)->object->isa->name, NO);
+/*
+ Class class = objc_makeClass(IoMessage_locals_cStringArgAt_(m, locals, 0), [[DATA(self)->object className] UTF8String], NO);
objc_addClass(class);
Io_class_addMethod(class, sel_getUid("forwardInvocation:"), "v12@0:4@8", (IMP)forwardInvocation, NO);
Io_class_addMethod(class, sel_getUid("forwardInvocation:"), "v12@0:4@8", (IMP)forwardInvocation, YES);
@@ -298,6 +302,9 @@ BOOL respondsToSelector(id self, SEL sel, SEL selector)
Io_class_addMethod(class, sel_getUid("methodSignatureForSelector:"), "@12@0:4:8", (IMP)methodSignatureForSelector, YES);
((IoObjcBridgeData *)DATA(DATA(self)->bridge))->allClasses = NULL;
return IoObjcBridge_proxyForId_(DATA(self)->bridge, class);
+ */
+ printf("Io2Objc_newSubclassNamed not supported\n");
+ return nil;
}
IoObject *Io2Objc_metaclass(Io2Objc *self, IoObject *locals, IoMessage *m)
@@ -307,6 +314,7 @@ BOOL respondsToSelector(id self, SEL sel, SEL selector)
IoObject *Io2Objc_setSlot(Io2Objc *self, IoObject *locals, IoMessage *m)
{
+/*
// char *name = IoMessage_locals_cStringArgAt_(m, locals, 0);
// if (*name == '"') *(++name + strlen(name) - 1) = 0;
// IoSymbol *slotName = IOSYMBOL(name);
@@ -321,14 +329,15 @@ BOOL respondsToSelector(id self, SEL sel, SEL selector)
if (argCount != expectedArgCount)
IoState_error_(IOSTATE, m, "Method '%s' is waiting for %i arguments, %i given\n", CSTRING(slotName), expectedArgCount, argCount);
Class class = DATA(self)->object;
- if ((class->info & CLS_CLASS) != CLS_CLASS && (class->info & CLS_META) != CLS_META)
- IoState_error_(IOSTATE, m, "You cannot add method '%s' to instance '%s'\n", CSTRING(slotName), [[class description] cString]);
- struct objc_method *method = class_getInstanceMethod(class, sel_getUid(CSTRING(slotName)));
+ // if ((class->info & CLS_CLASS) != CLS_CLASS && (class->info & CLS_META) != CLS_META)
+ // IoState_error_(IOSTATE, m, "You cannot add method '%s' to instance '%s'\n", CSTRING(slotName), [[class description] UTF8String]);
+ Method method = class_getInstanceMethod(class, sel_getUid(CSTRING(slotName)));
if (method)
{
- SEL selector = sel_get_typed_uid(CSTRING(slotName), method->method_types);
- if (!selector) selector = sel_register_typed_name(CSTRING(slotName), method->method_types);
- Io_class_addMethod(class, selector, method->method_types, __objc_get_forward_imp(selector), YES);
+ const char *types = method_getTypeEncoding(method);
+ SEL selector = sel_get_typed_uid(CSTRING(slotName), types); //method->method_types);
+ if (!selector) selector = sel_register_typed_name(CSTRING(slotName), types);
+ Io_class_addMethod(class, selector, types, __objc_get_forward_imp(selector), YES);
}
else
{
@@ -363,6 +372,10 @@ BOOL respondsToSelector(id self, SEL sel, SEL selector)
else
IoObject_inlineSetSlot_to_(self, slotName, slotValue);
return slotValue;
+ */
+
+ printf("Io2Objc_setSlot ERROR setSlot not supported\n");
+ return self;
}
IoObject *Io2Objc_updateSlot(Io2Objc *self, IoObject *locals, IoMessage *m)
@@ -404,7 +417,7 @@ BOOL respondsToSelector(id self, SEL sel, SEL selector)
{
IoMessage *message = List_at_(IOMESSAGEDATA(m)->args, 0);
Class save = DATA(self)->object->isa;
- DATA(self)->object->isa = save->super_class;
+ DATA(self)->object->isa = [save superclass]; // save->super_class;
IoObject *result = Io2Objc_perform(self, locals, message);
DATA(self)->object->isa = save;
return result;
View
5 addons/ObjcBridge/source/IoObjcBridge.h
@@ -363,11 +363,12 @@ char *IoObjcBridge_nameForTypeChar_(IoObjcBridge *self, char type);
- (void)layoutManagerDidInvalidateLayout:(NSLayoutManager *)sender;
//NSMenuDelegate
-- (BOOL)menu:(NSMenu *)menu updateItem:(NSMenuItem *)item atIndex:(int)index shouldCancel:(BOOL)shouldCancel;
+//- (BOOL)menu:(NSMenu *)menu updateItem:(NSMenuItem *)item atIndex:(int)index shouldCancel:(BOOL)shouldCancel;
- (BOOL)menuHasKeyEquivalent:(NSMenu *)menu forEvent:(NSEvent *)event target:(id *)target action:(SEL*)action;
- (void)menuNeedsUpdate:(NSMenu *)menu;
- (int)numberOfItemsInMenu:(NSMenu *)menu;
+/*
//NSMenuItem
- (SEL)action;
- (NSAttributedString *)attributedTitle;
@@ -422,7 +423,7 @@ char *IoObjcBridge_nameForTypeChar_(IoObjcBridge *self, char type);
//NSMenuValidation
- (BOOL)validateMenuItem:(id <NSMenuItem>)menuItem;
-
+*/
//NSNibAwaking
- (void)awakeFromNib;
View
34 addons/ObjcBridge/source/IoObjcBridge.m
@@ -248,7 +248,7 @@ BOOL IoObjcBridge_rawDebugOn(IoObjcBridge *self)
if (debug)
{
IoState_print_(IOSTATE, "Objc -> Io: ");
- printf(IoObject_name([[invocation target] ioValue]));
+ printf("%s", IoObject_name([[invocation target] ioValue]));
IoState_print_(IOSTATE, " (%s)", IoObjcBridge_nameForTypeChar_(self, *returnType));
IoState_print_(IOSTATE, "%s(", methodName);
}
@@ -295,25 +295,29 @@ void IoObjcBridge_addValue_(IoObjcBridge *self, IoObject *v, id obj)
const char *IoObjcBridge_selectorEncoding(IoObjcBridge *self, SEL selector)
{
- struct objc_method_description *description;
- description = [@protocol(AddressBook) descriptionForInstanceMethod:selector];
- if (description)
- return description->types;
- description = [@protocol(AppKit) descriptionForInstanceMethod:selector];
- if (description)
- return description->types;
- description = [@protocol(Foundation) descriptionForInstanceMethod:selector];
- if (description)
- return description->types;
+ struct objc_method_description description;
+
+ //description = [@protocol(AddressBook) descriptionForInstanceMethod:selector];
+ description = protocol_getMethodDescription(@protocol(AddressBook), selector, YES, YES);
+ if (description.name) return description.types;
+
+ //description = [@protocol(AppKit) descriptionForInstanceMethod:selector];
+ description = protocol_getMethodDescription(@protocol(AppKit), selector, YES, YES);
+ if (description.name) return description.types;
+
+// description = [@protocol(Foundation) descriptionForInstanceMethod:selector];
+ description = protocol_getMethodDescription(@protocol(Foundation), selector, YES, YES);
+ if (description.name) return description.types;
+
List *classes = IoObjcBridge_allClasses(self);
int i, max = List_size(classes);
for (i = 0; i < max; i++)
{
Class class = List_at_(classes, i);
- struct objc_method *method = class_getInstanceMethod(class, selector);
+ Method method = class_getInstanceMethod(class, selector);
if (!method) method = class_getClassMethod(class, selector);
if (method)
- return method->method_types;
+ return method_getTypeEncoding(method);
}
return NULL;
}
@@ -417,9 +421,9 @@ void IoObjcBridge_addValue_(IoObjcBridge *self, IoObject *v, id obj)
{
case '@':
if (ISMUTABLESEQ(value))
- DATA(self)->cValue.o = [NSMutableString stringWithCString:CSTRING(value)];
+ DATA(self)->cValue.o = [NSMutableString stringWithUTF8String:CSTRING(value)];
else if (ISSYMBOL(value))
- DATA(self)->cValue.o = [NSString stringWithCString:CSTRING(value)];
+ DATA(self)->cValue.o = [NSString stringWithUTF8String:CSTRING(value)];
else if (ISNUMBER(value))
DATA(self)->cValue.o = [NSNumber numberWithInt:IoNumber_asInt(value)];
else if (ISIO2OBJC(value))
View
2  addons/ObjcBridge/source/IoObjcBridgeInit.m
@@ -5,7 +5,7 @@
#include "IoState.h"
#include "IoObjcBridge.h"
#include "Io2Objc.h"
-
+
void IoObjcBridgeInit(IoObject *context)
{
IoState *self = IoObject_state(context);
View
9 addons/ObjcBridge/source/ObjcSubclass.m